<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://f256wiki.wildbitscomputing.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gadget</id>
	<title>Foenix F256 / Wildbits/K2 Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://f256wiki.wildbitscomputing.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gadget"/>
	<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Special:Contributions/Gadget"/>
	<updated>2026-06-01T05:31:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=37827</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=37827"/>
		<updated>2024-12-28T01:52:15Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* Upgrading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Western Design Center W65C816 (aka 65C816, 65816, or just 816) is 16-bit upgrade to the 65c02.  By default, it starts up in emulation mode, which is compatible with a WDC 65C02 without the extended Rockwell instructions.  In emulation mode, all registers are 8 bits wide, the zero page is locked to $00xx, the stack is locked to $01xx, and the flags and interrupt vectors behave as expected for a 65c02.  Note that all of the the additional 816 instructions are actually usable in this mode!&lt;br /&gt;
&lt;br /&gt;
Switching to &amp;quot;native&amp;quot; mode, the S register becomes 16 bits wide, the A register can be switched between either 8 or 16 bits wide, X and Y (always together) can be switched between either 8 or 16 bits wide, and the zero page becomes a direct page which may be placed anywhere in the first 64k.  Additionally, the K registers sets the bank used for code, and the B register sets the bank used for extended and indexed extended addressing.  Note however, that with the standard FPGA load, the upper 8-bits of all 24-bit addresses are treated by the hardware as if they were set to zero.  Finally, interrupts vector to an entirely different set of vectors, making it possible for interrupts to function correctly in either mode.&lt;br /&gt;
&lt;br /&gt;
= Upgrading =&lt;br /&gt;
The 65c02 in the F256 may be upgraded to a 65816 with the following caveats:&lt;br /&gt;
* You must use a 3v 65C816SP part; slower models will not work.&lt;br /&gt;
* The 816 does not support the extended Rockwell 6502 instructions (BBS/BBR/SMB/RMB); these instructions must be avoided for software to maintain 816 compatibility.  Software using these instructions will not run correctly on a 65816.&lt;br /&gt;
&lt;br /&gt;
= Programming =&lt;br /&gt;
 &lt;br /&gt;
* The standard FPGA load ignores the upper 8-bits of all 24-bit transfers; you will still need to use the MMU to access more than 64k.&lt;br /&gt;
* If you are not booting to the stock MicroKernel, you will need to tell the FPGA that you have an 816 installed.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
      ; If this is a 65816, switch pin 3 from an input&lt;br /&gt;
      ; (for PHI0-out) to a 1 output (for ABORTB-in).&lt;br /&gt;
        .cpu    &amp;quot;65816&amp;quot;&lt;br /&gt;
        clc&lt;br /&gt;
        xce&lt;br /&gt;
        bcc     +&lt;br /&gt;
        sec&lt;br /&gt;
        xce&lt;br /&gt;
        stz     $1&lt;br /&gt;
        lda     #$03&lt;br /&gt;
        sta     $d6b0&lt;br /&gt;
+      .cpu    &amp;quot;w65c02&amp;quot;  &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you are experimenting with the F816e 24-bit 816 load for the Rev B Jr&#039;s FPGA, see the 24-bit wiki for more details: https://wiki.c256foenix.com/index.php?title=C256&lt;br /&gt;
&lt;br /&gt;
= Kernel Support =&lt;br /&gt;
* The [[MicroKernel]] does not support the 816 running in native mode.  You can still use the enhanced instructions in emulation mode, and you can temporarily switch to native mode while interrupts are disabled, but note that such software will not run correctly on standard 65c02 machines.&lt;br /&gt;
* The [[OpenFNXKernal]] endeavors to function correctly in both modes.&lt;br /&gt;
&lt;br /&gt;
= Historical Notes =&lt;br /&gt;
&lt;br /&gt;
Introduced in 1983, the W65C816 is an enhanced version of the WDC W65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. &lt;br /&gt;
&lt;br /&gt;
The 65C816 is a CPU option supported by the Foenix F256, that can be dropped-in, in place pf the default W65C02 processor supplied with the F256.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;65&amp;quot; in the part&#039;s designation comes from its 65C02 compatibility mode, and the &amp;quot;816&amp;quot; signifies that the MPU has selectable 8-bit and 16-bit register sizes. In addition to the availability of 16-bit registers, the W65C816 processor itself extends potential memory addressing to 24-bits, supporting up to 16 megabytes of random-access memory. It has an enhanced instruction set and a 16-bit stack pointer, as well as several new control signals for improved system hardware management.&lt;br /&gt;
&lt;br /&gt;
Despite allowing 24-bit addressing, a 65816 installed in a Foenix F256 still utilises the same 16-bit physical address space of the original W65C02 processor.&lt;br /&gt;
&lt;br /&gt;
At reset, the W65C816 starts in &amp;quot;emulation mode&amp;quot;, meaning it substantially behaves as a 65C02. In fact, a 65816 in default power-up &amp;quot;emulation mode&amp;quot; is cycle-accurate with the original MOS 6502 processor, whereas the W65C02 differs on some instructions.&lt;br /&gt;
&lt;br /&gt;
User programs can then switch the W65C816 to &amp;quot;native mode&amp;quot; with a two instruction sequence, causing it to enable all enhanced features, yet still maintain a substantial degree of backward compatibility with most 65C02 software. &lt;br /&gt;
&lt;br /&gt;
However, unlike the DIP40 version of the W65C02, which is more-or-less a pin-compatible replacement for its NMOS ancestor (excepting mostly pin 1 - Vss / VPB), the DIP40 W65C816 is not directly pin-compatible with any other 6502 family MPU.&lt;br /&gt;
&lt;br /&gt;
The W65C816 pin differences are mostly around the clock pins and some control pins.  Despite this, the W65C816 can be a drop-in replacement for the W65C02 on the Foenix F256 series. No FPGA upgrade is necessary when in emulation mode (#).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This point (noted from the main site F256K ordering page), needs more explanation by someone more knowledgable on F256 operation with a W65C816 processor installed.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=37821</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=37821"/>
		<updated>2024-12-28T01:48:12Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* Introduction */ Slightly more accurate working.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Western Design Center W65C816 (aka 65C816, 65816, or just 816) is 16-bit upgrade to the 65c02.  By default, it starts up in emulation mode, which is compatible with a WDC 65C02 without the extended Rockwell instructions.  In emulation mode, all registers are 8 bits wide, the zero page is locked to $00xx, the stack is locked to $01xx, and the flags and interrupt vectors behave as expected for a 65c02.  Note that all of the the additional 816 instructions are actually usable in this mode!&lt;br /&gt;
&lt;br /&gt;
Switching to &amp;quot;native&amp;quot; mode, the S register becomes 16 bits wide, the A register can be switched between either 8 or 16 bits wide, X and Y (always together) can be switched between either 8 or 16 bits wide, and the zero page becomes a direct page which may be placed anywhere in the first 64k.  Additionally, the K registers sets the bank used for code, and the B register sets the bank used for extended and indexed extended addressing.  Note however, that with the standard FPGA load, the upper 8-bits of all 24-bit addresses are treated by the hardware as if they were set to zero.  Finally, interrupts vector to an entirely different set of vectors, making it possible for interrupts to function correctly in either mode.&lt;br /&gt;
&lt;br /&gt;
= Upgrading =&lt;br /&gt;
The 65c02 in the F256 may be upgraded to a 65816 with the following caveats:&lt;br /&gt;
* You must use a 65C816SP part; slower models will not work.&lt;br /&gt;
* The 816 does not support the extended Rockwell 6502 instructions (BBS/BBR/SMB/RMB); these instructions must be avoided for software to maintain 816 compatibility.  Software using these instructions will not run correctly on a 65816.&lt;br /&gt;
&lt;br /&gt;
= Programming =&lt;br /&gt;
 &lt;br /&gt;
* The standard FPGA load ignores the upper 8-bits of all 24-bit transfers; you will still need to use the MMU to access more than 64k.&lt;br /&gt;
* If you are not booting to the stock MicroKernel, you will need to tell the FPGA that you have an 816 installed.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
      ; If this is a 65816, switch pin 3 from an input&lt;br /&gt;
      ; (for PHI0-out) to a 1 output (for ABORTB-in).&lt;br /&gt;
        .cpu    &amp;quot;65816&amp;quot;&lt;br /&gt;
        clc&lt;br /&gt;
        xce&lt;br /&gt;
        bcc     +&lt;br /&gt;
        sec&lt;br /&gt;
        xce&lt;br /&gt;
        stz     $1&lt;br /&gt;
        lda     #$03&lt;br /&gt;
        sta     $d6b0&lt;br /&gt;
+      .cpu    &amp;quot;w65c02&amp;quot;  &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you are experimenting with the F816e 24-bit 816 load for the Rev B Jr&#039;s FPGA, see the 24-bit wiki for more details: https://wiki.c256foenix.com/index.php?title=C256&lt;br /&gt;
&lt;br /&gt;
= Kernel Support =&lt;br /&gt;
* The [[MicroKernel]] does not support the 816 running in native mode.  You can still use the enhanced instructions in emulation mode, and you can temporarily switch to native mode while interrupts are disabled, but note that such software will not run correctly on standard 65c02 machines.&lt;br /&gt;
* The [[OpenFNXKernal]] endeavors to function correctly in both modes.&lt;br /&gt;
&lt;br /&gt;
= Historical Notes =&lt;br /&gt;
&lt;br /&gt;
Introduced in 1983, the W65C816 is an enhanced version of the WDC W65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. &lt;br /&gt;
&lt;br /&gt;
The 65C816 is a CPU option supported by the Foenix F256, that can be dropped-in, in place pf the default W65C02 processor supplied with the F256.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;65&amp;quot; in the part&#039;s designation comes from its 65C02 compatibility mode, and the &amp;quot;816&amp;quot; signifies that the MPU has selectable 8-bit and 16-bit register sizes. In addition to the availability of 16-bit registers, the W65C816 processor itself extends potential memory addressing to 24-bits, supporting up to 16 megabytes of random-access memory. It has an enhanced instruction set and a 16-bit stack pointer, as well as several new control signals for improved system hardware management.&lt;br /&gt;
&lt;br /&gt;
Despite allowing 24-bit addressing, a 65816 installed in a Foenix F256 still utilises the same 16-bit physical address space of the original W65C02 processor.&lt;br /&gt;
&lt;br /&gt;
At reset, the W65C816 starts in &amp;quot;emulation mode&amp;quot;, meaning it substantially behaves as a 65C02. In fact, a 65816 in default power-up &amp;quot;emulation mode&amp;quot; is cycle-accurate with the original MOS 6502 processor, whereas the W65C02 differs on some instructions.&lt;br /&gt;
&lt;br /&gt;
User programs can then switch the W65C816 to &amp;quot;native mode&amp;quot; with a two instruction sequence, causing it to enable all enhanced features, yet still maintain a substantial degree of backward compatibility with most 65C02 software. &lt;br /&gt;
&lt;br /&gt;
However, unlike the DIP40 version of the W65C02, which is more-or-less a pin-compatible replacement for its NMOS ancestor (excepting mostly pin 1 - Vss / VPB), the DIP40 W65C816 is not directly pin-compatible with any other 6502 family MPU.&lt;br /&gt;
&lt;br /&gt;
The W65C816 pin differences are mostly around the clock pins and some control pins.  Despite this, the W65C816 can be a drop-in replacement for the W65C02 on the Foenix F256 series. No FPGA upgrade is necessary when in emulation mode (#).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This point (noted from the main site F256K ordering page), needs more explanation by someone more knowledgable on F256 operation with a W65C816 processor installed.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=198</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=198"/>
		<updated>2024-01-14T20:49:16Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
* [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
* [[SuperBASIC Memory Map]]&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on Youtube:&lt;br /&gt;
** Full Playlist here: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR EMWhite&#039;s Intro Series - Full Playlist].&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Software_Development&amp;diff=193</id>
		<title>Template:Main2/Software Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Software_Development&amp;diff=193"/>
		<updated>2024-01-14T20:42:08Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Breaking SB into its own page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Software Development&#039;&#039;&#039;&lt;br /&gt;
* [[SuperBASIC]]&lt;br /&gt;
* [[C Development]]&lt;br /&gt;
* [[Assembly Code Development]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=HOWTO&amp;diff=172</id>
		<title>HOWTO</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=HOWTO&amp;diff=172"/>
		<updated>2023-12-27T06:38:45Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Moved the wifi link here.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Wifi|Set up wifi.]]&lt;br /&gt;
* [[wget_from_pc|Fetch files from your PC using wget.]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=171</id>
		<title>Template:Main2/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=171"/>
		<updated>2023-12-27T06:37:51Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Moving &amp;#039;wifi&amp;#039; to the HOWTO section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Getting Started&#039;&#039;&#039;&lt;br /&gt;
* [[Product Specifications]]&lt;br /&gt;
* [[Getting Started]]&lt;br /&gt;
* [[Manuals]]&lt;br /&gt;
* [[Software]]&lt;br /&gt;
* [[Emulation]]&lt;br /&gt;
* [[HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Wget_from_pc&amp;diff=170</id>
		<title>Wget from pc</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Wget_from_pc&amp;diff=170"/>
		<updated>2023-12-27T06:33:39Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Copied content from @Mu0n&amp;#039;s post to the Discord&amp;#039;s networking technical forum.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Serving files w/ Python from your modern computer; getting to them with a F256 with wget&lt;br /&gt;
; by @Mu0N&lt;br /&gt;
&lt;br /&gt;
Assuming you&#039;ve installed Python3 on your modern computer, just go to the folder you want to share across your LAN with:&lt;br /&gt;
&lt;br /&gt;
:python -m server.http {portnumber} &lt;br /&gt;
&lt;br /&gt;
(suggestion: portnumber=8000)&lt;br /&gt;
and then, with your Feather equipped F256K or F256Jr, assuming you have wget.pgz ([https://github.com/ghackwrench/F256_wget github]) in your SD card&lt;br /&gt;
&lt;br /&gt;
:/- wget.pgz http://{modern_pc_ip}:{portnumber}/{file_you_want}&lt;br /&gt;
&lt;br /&gt;
example, if you wanted to share mycoolprogram.bas from your modern machine at address 192.168.0.44 using port 8000, you&#039;d do:&lt;br /&gt;
&lt;br /&gt;
:python -m server.http 8000&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
:/- wget.pgz http://192.16.0.44:8000/mycoolprogram.bas&lt;br /&gt;
&lt;br /&gt;
Pro: avoids the wear and tear of ejecting/inserting the SD card back and forth between machines, easy to set up&lt;br /&gt;
&lt;br /&gt;
Cons: lots of typing for every file that you want, but some simplications are on the way with future revisions of wget!&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=HOWTO&amp;diff=169</id>
		<title>HOWTO</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=HOWTO&amp;diff=169"/>
		<updated>2023-12-27T06:29:21Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Created page with &amp;quot;* Fetch files from your PC using wget.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[wget_from_pc|Fetch files from your PC using wget.]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=168</id>
		<title>Template:Main2/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=168"/>
		<updated>2023-12-27T06:27:56Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Create a section for short &amp;quot;howto&amp;quot; pages.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Getting Started&#039;&#039;&#039;&lt;br /&gt;
* [[Product Specifications]]&lt;br /&gt;
* [[Getting Started]]&lt;br /&gt;
* [[Manuals]]&lt;br /&gt;
* [[Software]]&lt;br /&gt;
* [[Emulation]]&lt;br /&gt;
* [[Wifi]]&lt;br /&gt;
* [[HOWTO]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=166</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=166"/>
		<updated>2023-12-27T02:46:41Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* CPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview and Comparison ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!F256Jr&lt;br /&gt;
!F256K&lt;br /&gt;
|-&lt;br /&gt;
|CPU&lt;br /&gt;
|WDC 65C02&lt;br /&gt;
WDC 65816S&lt;br /&gt;
FNX 6809&lt;br /&gt;
|WDC 65C02&lt;br /&gt;
WDC 65816S&lt;br /&gt;
FNX 6809&lt;br /&gt;
|-&lt;br /&gt;
|RAM&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K RAM expansion module available&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K RAM expansion module available&lt;br /&gt;
|-&lt;br /&gt;
|Flash&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K Flash Modules&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K Flash Modules&lt;br /&gt;
|-&lt;br /&gt;
|Graphic Chip&lt;br /&gt;
|TinyVicky&lt;br /&gt;
|TinyVicky&lt;br /&gt;
|-&lt;br /&gt;
|Audio&lt;br /&gt;
|2 x PSG (Sn76489)&lt;br /&gt;
2 x SID socket&lt;br /&gt;
|2 x PSG&lt;br /&gt;
2 x SID hardware emulation on board&lt;br /&gt;
OPL3&lt;br /&gt;
CODEC&lt;br /&gt;
|-&lt;br /&gt;
|Connections&lt;br /&gt;
|1 x DVI (digital &amp;amp; analog)&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&lt;br /&gt;
1 x Commodore syle IEC Port&lt;br /&gt;
1 x Headphone 3,5&lt;br /&gt;
1 x RCA Line Out&lt;br /&gt;
2 x Serial Port Pin-Header&lt;br /&gt;
1 x Mni USB Debug Port&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&lt;br /&gt;
1 x SD Card Slot&lt;br /&gt;
2 x Joystick Atari style Pin-Header&lt;br /&gt;
1 x PIN-Header onboard for SNES/NES Joystick Connector Box&lt;br /&gt;
1 x RAM Expansion Slot (on Top)&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&lt;br /&gt;
|1 x DVI (digital &amp;amp; analog)&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&lt;br /&gt;
1 x Commodore syle IEC Port&lt;br /&gt;
1 x Headphone 3,5&lt;br /&gt;
1 x RCA Line Out&lt;br /&gt;
1 x Serial Port DB9M / 1 x Serial Pin Header&lt;br /&gt;
1 x Mni USB Debug Port&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&lt;br /&gt;
1 x SD Card Slot&lt;br /&gt;
2 x Joystick Atari style DB9 Connector&lt;br /&gt;
1 x Mini-DIN9 for SNES/NES Joystick Connector Box&lt;br /&gt;
1 x RAM Expansion Slot (on Top)&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
&lt;br /&gt;
===== CPU =====&lt;br /&gt;
The basic setup of all F256 is the [https://westerndesigncenter.com/ Western Design Center] &#039;&#039;&#039;65C02&#039;&#039;&#039;, a slightly enhanced CMOS version of the very popular 6502 CPUs. The main difference to the 6502 in the 1970s and 1980s is the faster clock speed and the lower power consumption.&lt;br /&gt;
&lt;br /&gt;
The 65C02 can also be replaced with a [[Template:Main2/65816_Processor|65816]] as a drop in replacement.  &#039;&#039;&#039;Note, however, that while the 65c02 includes the additional Rockwell instructions (BBS/BBR, RMB/SMB), the 65816 does NOT.  Therefore, these instructions should be avoided to ensure compatibility with F256 machines using the 65816.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the F256, the CPU is always clocked at 6,29 MHz (6,293,750 Hz to be exact, derived from 25.175 MHz / 4 as discussed on [https://discord.com/channels/691915291721990194/1054250056703815680/1177306520925524018 Discord]).&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=165</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=165"/>
		<updated>2023-12-27T02:46:11Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* CPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview and Comparison ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!F256Jr&lt;br /&gt;
!F256K&lt;br /&gt;
|-&lt;br /&gt;
|CPU&lt;br /&gt;
|WDC 65C02&lt;br /&gt;
WDC 65816S&lt;br /&gt;
FNX 6809&lt;br /&gt;
|WDC 65C02&lt;br /&gt;
WDC 65816S&lt;br /&gt;
FNX 6809&lt;br /&gt;
|-&lt;br /&gt;
|RAM&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K RAM expansion module available&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K RAM expansion module available&lt;br /&gt;
|-&lt;br /&gt;
|Flash&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K Flash Modules&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K Flash Modules&lt;br /&gt;
|-&lt;br /&gt;
|Graphic Chip&lt;br /&gt;
|TinyVicky&lt;br /&gt;
|TinyVicky&lt;br /&gt;
|-&lt;br /&gt;
|Audio&lt;br /&gt;
|2 x PSG (Sn76489)&lt;br /&gt;
2 x SID socket&lt;br /&gt;
|2 x PSG&lt;br /&gt;
2 x SID hardware emulation on board&lt;br /&gt;
OPL3&lt;br /&gt;
CODEC&lt;br /&gt;
|-&lt;br /&gt;
|Connections&lt;br /&gt;
|1 x DVI (digital &amp;amp; analog)&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&lt;br /&gt;
1 x Commodore syle IEC Port&lt;br /&gt;
1 x Headphone 3,5&lt;br /&gt;
1 x RCA Line Out&lt;br /&gt;
2 x Serial Port Pin-Header&lt;br /&gt;
1 x Mni USB Debug Port&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&lt;br /&gt;
1 x SD Card Slot&lt;br /&gt;
2 x Joystick Atari style Pin-Header&lt;br /&gt;
1 x PIN-Header onboard for SNES/NES Joystick Connector Box&lt;br /&gt;
1 x RAM Expansion Slot (on Top)&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&lt;br /&gt;
|1 x DVI (digital &amp;amp; analog)&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&lt;br /&gt;
1 x Commodore syle IEC Port&lt;br /&gt;
1 x Headphone 3,5&lt;br /&gt;
1 x RCA Line Out&lt;br /&gt;
1 x Serial Port DB9M / 1 x Serial Pin Header&lt;br /&gt;
1 x Mni USB Debug Port&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&lt;br /&gt;
1 x SD Card Slot&lt;br /&gt;
2 x Joystick Atari style DB9 Connector&lt;br /&gt;
1 x Mini-DIN9 for SNES/NES Joystick Connector Box&lt;br /&gt;
1 x RAM Expansion Slot (on Top)&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
&lt;br /&gt;
===== CPU =====&lt;br /&gt;
The basic setup of all F256 is the [https://westerndesigncenter.com/ Western Design Center] &#039;&#039;&#039;65C02&#039;&#039;&#039;, a slightly enhanced CMOS version of the very popular 6502 CPUs. The main difference to the 6502 in the 1970s and 1980s is the faster clock speed and the lower power consumption.&lt;br /&gt;
&lt;br /&gt;
The 65C02 can also be replaced with a [[Template:Main2/65816_Processor|65816]] as a drop in replacement.  &#039;&#039;&#039;Note, however, that while the 65c02 includes the additional Rockwell instructions (BBS/BBR, RMB/SMB), the 65816 does NOT.  Therefore, these instructions should be avoided to ensure compatibility with F256 machines using the [[Template:Main2/65816_Processor|65816]].&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the F256, the CPU is always clocked at 6,29 MHz (6,293,750 Hz to be exact, derived from 25.175 MHz / 4 as discussed on [https://discord.com/channels/691915291721990194/1054250056703815680/1177306520925524018 Discord]).&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=164</id>
		<title>Kernels</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=164"/>
		<updated>2023-12-26T23:34:23Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; [[MicroKernel]]&lt;br /&gt;
: The primary kernel for the F256 machines is the TinyCore [[MicroKernel]].  This is an event based, near real-time kernel for the 65c02 and the [[Template:Main2/65816 Processor|65816]] in emulation mode (native mode is NOT support).&lt;br /&gt;
&lt;br /&gt;
; [[OpenFNXKernal]]&lt;br /&gt;
: Users interested in a more traditional CBM style &#039;kernal&#039; may further install the [[OpenFNXKernal]] in flash along side the [[MicroKernel]] (just like any other flashed application).  The code in the repo implements the basic drivers, and provides an additional kernel call for SD Card I/O, but doesn&#039;t yet include a screen editor or a unified I/O layer.  It is, however, enough to run CBM BASIC.  The initial code was published for those asking for a community developed replacement for the original OpenKERNAL which no longer runs on the F256 due to extensive FPGA changes.  To date, however, no one has actually contributed anything back to the project.  @EMWhite has greatly enhanced the code, but has not yet published his work.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=163</id>
		<title>Kernels</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=163"/>
		<updated>2023-12-26T23:01:57Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; [[MicroKernel]]&lt;br /&gt;
: The primary kernel for the F256 machines is the TinyCore [[MicroKernel]].  This is an event based, near real-time kernel for the 65c02 and the [[Template:Main2/65816_Processor|65816]] in emulation mode (native mode is NOT support).&lt;br /&gt;
&lt;br /&gt;
; [[OpenFNXKernal]]&lt;br /&gt;
: Users interested in a more traditional CBM style &#039;kernal&#039; may further install the [[OpenFNXKernal]] in flash along side the [[MicroKernel]] (just like any other flashed application).  The code in the repo implements the basic drivers, and provides an additional kernel call for SD Card I/O, but doesn&#039;t yet include a screen editor or a unified I/O layer.  It is, however, enough to run CBM BASIC.  The initial code was published for people asking for a community developed replacement for the original OpenKERNAL which no longer runs on the F256 due to extensive FPGA changes.  To date, however, no one has actually contributed anything back to the project.  @EMWhite has greatly enhanced the code, but has not yet published his work.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=162</id>
		<title>Kernels</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=162"/>
		<updated>2023-12-26T23:01:32Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; [[MicroKernel]]&lt;br /&gt;
: The primary kernel for the F256 machines is the TinyCore [[MicroKernel]].  This is an event based, near real-time kernel for the 65c02 and the [[Template:Main2/65816_Processor|65816]] in emulation mode (native mode is NOT support).&lt;br /&gt;
&lt;br /&gt;
; [[OpenFNXKernal]]&lt;br /&gt;
: Users interested in a more traditional CBM style &#039;kernal&#039; may further install the [[OpenFNXKernal]] in flash along side the [[MicroKernel]] (just like any other flashed application).  The code in the repo implements the basic drivers, and provides an additional kernel call for SD Card I/O, but doesn&#039;t yet include a screen editor or a unified I/O layer.  It is, however, enough to run CBM BASIC.  The initial code was published for people asking for a community created replacement for the original OpenKERNAL which no longer runs on the F256 due to extensive FPGA changes.  To date, however, no one has actually contributed anything back to the project.  @EMWhite has greatly enhanced the code, but has not yet published his work.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=161</id>
		<title>Kernels</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=161"/>
		<updated>2023-12-26T22:57:42Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; [[MicroKernel]]&lt;br /&gt;
: The primary kernel for the F256 machines is the TinyCore [[MicroKernel]].  This is an event based, near real-time kernel for the 65c02 and the [[Template:Main2/65816_Processor|65816]] in emulation mode (native mode is NOT support).&lt;br /&gt;
&lt;br /&gt;
; [[OpenFNXKernal]]&lt;br /&gt;
: Users interested in a more traditional CBM style &#039;kernal&#039; may further install the [[OpenFNXKernal]] in flash along side the [[MicroKernel]] (just like any other flashed application).  The code in the repo implements the basic drivers, and provides an additional kernel call for SD Card I/O, but doesn&#039;t yet include a screen editor or a unified I/O layer.  It is, however, enough to run CBM BASIC.  The initial code was published for people asking for a community owned replacement for the original OpenKERNAL which no longer runs on the F256 due to extensive FPGA changes.  To date, however, no one has actually contributed anything back to the project.  @EMWhite has greatly enhanced the code, but has not yet published his work.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=160</id>
		<title>Kernels</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Kernels&amp;diff=160"/>
		<updated>2023-12-26T22:47:44Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Created page with &amp;quot;; MicroKernel : The primary kernel for the F256 machines is the TinyCore MicroKernel.  This is an event based, near real-time kernel for the 65c02 and the 65816 in emulation mode (native mode is NOT support).  ; OpenFNXKernal : Users interested in a more traditional CBM style &amp;#039;kernal&amp;#039; may further install the OpenFNXKernal in flash along side the MicroKernel (just like any other flashed application).  The code in the repo implements the basic drivers,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;; [[MicroKernel]]&lt;br /&gt;
: The primary kernel for the F256 machines is the TinyCore [[MicroKernel]].  This is an event based, near real-time kernel for the 65c02 and the 65816 in emulation mode (native mode is NOT support).&lt;br /&gt;
&lt;br /&gt;
; [[OpenFNXKernal]]&lt;br /&gt;
: Users interested in a more traditional CBM style &#039;kernal&#039; may further install the [[OpenFNXKernal]] in flash along side the [[MicroKernel]] (just like any other flashed application).  The code in the repo implements the basic drivers, and provides an additional kernel call for SD Card I/O, but doesn&#039;t yet include a screen editor or a unified I/O layer.  It is, however, enough to run CBM BASIC.  The initial code was published for people asking for a community owned replacement for the original OpenKERNAL which no longer runs on the F256 due to extensive FPGA changes.  To date, however, no one has actually contributed anything back to the project.  @EMWhite has greatly enhanced the code, but has not yet published his work.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Technical_Overview&amp;diff=159</id>
		<title>Template:Main2/Technical Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Technical_Overview&amp;diff=159"/>
		<updated>2023-12-26T22:36:54Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Add kernels link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Technical Overview&#039;&#039;&#039;&lt;br /&gt;
* [[Hardware]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
* [[File Formats]]&lt;br /&gt;
* [[Memory Management]]&lt;br /&gt;
* [[Kernels]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MicroKernel&amp;diff=158</id>
		<title>MicroKernel</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MicroKernel&amp;diff=158"/>
		<updated>2023-12-26T22:34:42Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Introduction to the MicroKernel with links to various projects.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The TinyCore MicroKernel [https://github.com/ghackwrench/F256_MicroKernel github] [https://github.com/FoenixRetro/f256-microkernel FoenixRetro fork] is the kernel that is shipped with the F256 machines.  It provides keyboard, mouse, and timer drivers, a SLIP/ICMP/UDP/TCP stack, and a unified file I/O system (IEC and SD) via an asynchronous (non-blocking) event-queue interface.  It does not include a tty driver, but it does provide calls for blasting arrays of characters to the screen as would typically be used by full-screen text applications. &lt;br /&gt;
&lt;br /&gt;
The MicroKernel is designed to provide background I/O for real-time games and applications; programs which don&#039;t want to deal with async I/O are, of course, free to just make calls and loop on the event queue until they complete.  &lt;br /&gt;
* The kernel&#039;s [https://github.com/ghackwrench/F256_MicroKernel/blob/master/docs/README.md README.md] contains extensive documentation. &lt;br /&gt;
* The [https://github.com/ghackwrench/F256_Jr_Kernel_DOS F256_Jr_Kernel_DOS] project contains cc65 bindings (cc65 folder) and assembler examples (dos) for nearly all of the calls.  &lt;br /&gt;
* The [https://github.com/ghackwrench/F256_example_tcp F256_example_tcp] project contains a minimal terminal program example which could be extended into a full-blown telnet program.  &lt;br /&gt;
* The [https://github.com/ghackwrench/F256_wget F256_wget] project includes a DNS client and a simple http client.&lt;br /&gt;
&lt;br /&gt;
The MicroKernel is not compatible with an 816 CPU running in native mode.  Emulation mode (the default) is fine :).&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=OpenFNXKernal&amp;diff=157</id>
		<title>OpenFNXKernal</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=OpenFNXKernal&amp;diff=157"/>
		<updated>2023-12-26T22:06:33Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Notes on the OpenFNXKernal.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;OpenFNXKernal [https://github.com/ghackwrench/OpenFNXKernal github] is a work-in-progress implementation of the C64 ABI for the F256.&lt;br /&gt;
It is a replacement for the original F256 build of OpenKernal [https://github.com/ghackwrench/OpenKERNAL github] which no longer runs due to massive changes in the FPGA since the initial F256 prototypes were released.  &lt;br /&gt;
&lt;br /&gt;
The OpenFNXKernal supports the original C64 kernal vectors and supports code running in either 6502 or 65816 mode.  It further uses the MMU to minimize its visible memory footprint to 512 bytes from $fe00-$ffff.  This is helpful if you want to use virtually all of the zero page for your own code, but it also means that you can&#039;t just dig data out of the kernel by magically knowing where to find the data in the C64&#039;s zero page.&lt;br /&gt;
&lt;br /&gt;
The repository above is basically a proof-of-concept.  It includes a sample DOS shell and will also run CBM Basic, but it doesn&#039;t yet include a full-screen editor.  Further, while it adds an additional kernel call for accessing the SD Card, it does not yet implement Commodore&#039;s unified I/O system.  Many people expressed a desire to have a simple, CBM like kernel option on the F256 and volunteered to help with the more pedestrian features, but to date, only @EMWhite has done so, and his improvements haven&#039;t yet been shared.&lt;br /&gt;
&lt;br /&gt;
The blocks of the OpenFNXKernal can be flashed and started with the command &#039;cbm&#039;.  Note, however, that, at preset, if you flash it for auto-start, the PS2 keyboard won&#039;t work b/c it will start up before the MicroKernel has finished initializing the ps2 devices.  Adding a one-second delay before disabling interrupts and pwning the machine should fix this problem.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/FNX6809_Processor&amp;diff=140</id>
		<title>Template:Main2/FNX6809 Processor</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/FNX6809_Processor&amp;diff=140"/>
		<updated>2023-12-21T20:46:45Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;FNX6809 Processor&#039;&#039;&#039;&lt;br /&gt;
* [[FNX6809 Overview]]&lt;br /&gt;
* [[OS-9]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Software_Development&amp;diff=139</id>
		<title>Template:Main2/Software Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Software_Development&amp;diff=139"/>
		<updated>2023-12-21T20:43:43Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Software Development&#039;&#039;&#039;&lt;br /&gt;
* [[Getting_Started#SuperBASIC|SuperBASIC]]&lt;br /&gt;
* [[C Development]]&lt;br /&gt;
* [[Assembly Code Development]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=138</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=138"/>
		<updated>2023-12-21T20:40:20Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* SD Card */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting Powered Up ==&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256K ===&lt;br /&gt;
&lt;br /&gt;
The F256K is powered via a standard 2.5mm DC Connector, which takes a centre-positive 12V 2A capable Power Supply.&lt;br /&gt;
&lt;br /&gt;
This type of power supply is quite common.  [https://www.amazon.com/Adapter-100-240V-Transformer-Charger-Security/dp/B091XSVV1Y Example 12V 2A capable power supply] (#)&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This specific power supply has not been verified (by the author) for use with the F256K.  Please update this page with verified options!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256Jr ===&lt;br /&gt;
&lt;br /&gt;
The F256Jr is supplied as a Mini-ITX form factor mainboard, with a standard 24 pin ATX power supply connector for power connectivity.&lt;br /&gt;
&lt;br /&gt;
Since the F256Jr needs relatively little power, compared to a mini-ATX PC, a popular DC 12V 24pin Pico ATX PSU works well and is a compact solution.&lt;br /&gt;
&lt;br /&gt;
* [https://www.amazon.com/dp/B08F57GKCL Pico PSU] - You power the Pico PSU via a 12V DC center-positive Power Supply source.&lt;br /&gt;
* [https://www.amazon.com/dp/B07MXXXBV8 12V DC center-positive A/C Adapter] - Commonly used to power the Pico PSU.&lt;br /&gt;
&lt;br /&gt;
== Getting programs onto the F256 ==&lt;br /&gt;
&lt;br /&gt;
=== SD Card === &lt;br /&gt;
&lt;br /&gt;
Both the F256K and F256JR have an SD card slot.  The device software to read the SD card is a bit touchy (it&#039;s inherited from the Commander X16 project) and doesn&#039;t work with all SD cards&lt;br /&gt;
&lt;br /&gt;
* Cards should support the V2 protocol (HC or XC); older cards that only support the V1 protocol (typically 2GB or less) won&#039;t work. By contrast, the kernels for the C256 machines generally only work with V1 cards.  Note that, in both cases, this is a software limitation -- all of the Foenix machines are electrically capable of using both kinds of cards.&lt;br /&gt;
* Cards *MUST* be formatted FAT32 -- **NOT: FAT, FAT12, FAT16, or exFAT**.   Note that while MacOS will read a FAT32 formatted card, the included disk utility won&#039;t format FAT32.  Windows 10/11 works fine, but make sure to force FAT32 (or use the command line: &amp;lt;code&amp;gt;format /FS:FAT32 H:&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Some folks have had luck formatting cards with the [https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/ Official SD Association formatter for Windows].&lt;br /&gt;
&lt;br /&gt;
=== Demos Archive ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/FoenixRetro/Documentation/blob/main/f256/archive Download the most recent demos archive] and expand it to the root of the flash card.&lt;br /&gt;
&lt;br /&gt;
=== Debug USB port ===&lt;br /&gt;
&lt;br /&gt;
* This is what most developers use as it&#039;s the most convenient.  Connect the debug USB port to your PC or Mac&lt;br /&gt;
&lt;br /&gt;
* You can use:&lt;br /&gt;
** [https://github.com/pweingar/FoenixMgr FoenixMgr] - works on Windows, Mac, Linux&lt;br /&gt;
*** A Python script to manage the Foenix series of retro style computers through their USB debug ports. This tool allows uploading files of various formats to system RAM, and displaying memory through various means.&lt;br /&gt;
&lt;br /&gt;
** [https://github.com/Trinity-11/FoenixIDE FoenixIDE] (Windows only)&lt;br /&gt;
*** Development and Debugging Suite for the C256 Foenix Family of Computers.&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
If you have the [[wifi]] configured, you can use [https://github.com/ghackwrench/F256_wget wget] to pull programs and data right off the web!&lt;br /&gt;
&lt;br /&gt;
== SuperBASIC ==&lt;br /&gt;
&lt;br /&gt;
The machine boots to SuperBASIC.  SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
&lt;br /&gt;
* Read the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on Youtube:&lt;br /&gt;
** Full Playlist here: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR EMWhite&#039;s Intro Series - Full Playlist].&lt;br /&gt;
** Part 1 can be viewed here:&lt;br /&gt;
&amp;lt;youtube&amp;gt;G_S2c_MsqYA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get started, you can type in a sample program at the command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10 for i=1 to 5&lt;br /&gt;
20 print &amp;quot;Hello world&amp;quot;&lt;br /&gt;
30 next&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SuperBASIC is similar to CBM (Microsoft) BASIC but has some differences.  For example, note in the sample above it&#039;s just &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; not &amp;lt;code&amp;gt;next i&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The first 15 or so pages of the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual] are quite instructive.  &lt;br /&gt;
&lt;br /&gt;
SuperBASIC is actually much more powerful and supports structured programming (procedures, blocks etc.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; - Run this to display directory of SD card&lt;br /&gt;
&lt;br /&gt;
Loading &amp;amp; running programs off of the SD card is similarly easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load &amp;quot;JrWordl.bas&amp;quot;&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to the C64, you can save time in loading programs from the &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; listing by using your cursor keys to go up to the entry, typing &amp;lt;code&amp;gt;load &amp;quot;&amp;lt;/code&amp;gt; (insert mode is active by default) etc.  You can use &amp;lt;code&amp;gt;CTRL+E&amp;lt;/code&amp;gt; to jump to the end of the line and use &amp;lt;code&amp;gt;CTRL+K&amp;lt;/code&amp;gt; to delete any text from the cursor to the end of the line.  Correctly place the closing &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; and hit &amp;lt;code&amp;gt;ENTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CTRL+C&amp;lt;/code&amp;gt; acts as a &amp;quot;break&amp;quot; command and stops any running SuperBASIC program or &amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Read built-in help/reference:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; : But &#039;&#039;&#039;NOTE&#039;&#039;&#039;, this erases BASIC memory!  Use Backspace key to go back in menus and to exit.&lt;br /&gt;
&lt;br /&gt;
Explore the included demo SuperBASIC programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JrWordl.bas&amp;lt;/code&amp;gt; || Wordle game, guess 5 letter word ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mandel.bas&amp;lt;/code&amp;gt; || Draws Mandlebrot set in graphics mode, takes between 2 and 3 hours || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rpg-demo.bas&amp;lt;/code&amp;gt; || UI sample that shows Zelda like RPG game.  Control the character with an Atari-joystick connected to JoyPort1 || @econtrerasd&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Problematic_Code.bas&amp;lt;/code&amp;gt; || Displays scrolling starfield ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;noelrl.bas&amp;lt;/code&amp;gt; || Simple integer BASIC bench mark from Noel&#039;s retro lab.  Completes &amp;lt; 3.5 seconds, compares very favourably to other retro systems! || [https://www.youtube.com/watch?v=H05hM_Guoqk Youtube]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;dance.bas&amp;lt;/code&amp;gt; || Animates sprite of dancer || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;luna.bas&amp;lt;/code&amp;gt; || Displays simple scene ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blink.bas&amp;lt;/code&amp;gt; || Blinks drive access light || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;piano.bas&amp;lt;/code&amp;gt; || Play some notes with the PSG || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Native Code ==&lt;br /&gt;
&lt;br /&gt;
* Binary programs for the F256 line are typically distributed as &amp;lt;code&amp;gt;pgx&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;pgz&amp;lt;/code&amp;gt; files (see [[File Formats]], they are like the &amp;lt;code&amp;gt;prg&amp;lt;/code&amp;gt; format in the C64 ecosystem).&lt;br /&gt;
&lt;br /&gt;
* SuperBASIC: Slash (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;) command will execute the named flash resident program, such as &amp;lt;code&amp;gt;/dos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; (SuperBASIC reference).&lt;br /&gt;
&lt;br /&gt;
* PGZ/X files can be run from SuperBASIC with &amp;lt;code&amp;gt;/- program.pgz&amp;lt;/code&amp;gt;, and from DOS with &amp;lt;code&amp;gt;- program.pgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; is also referred to as &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;, and is a chainloader that understands &amp;lt;code&amp;gt;pgx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pgz&amp;lt;/code&amp;gt; formats, so &amp;lt;code&amp;gt;/- program.pgz&amp;lt;/code&amp;gt; first hands over control to &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; which then loads the program and hands over control.&lt;br /&gt;
&lt;br /&gt;
* You will typically need to reset the machine to get back to SuperBASIC.&lt;br /&gt;
&lt;br /&gt;
* Switch to DOS with &amp;lt;code&amp;gt;/dos&amp;lt;/code&amp;gt; and back into BASIC once there with &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt;.  &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; display a list of available DOS commands.&lt;br /&gt;
&lt;br /&gt;
Try the included native demo programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source | &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wrtn0825-vcf.pgz&amp;lt;/code&amp;gt; || Which Rules the Night (game) || @beethead&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;matchit0825-vcf.pgz&amp;lt;/code&amp;gt; || Match It (game) || @beethead&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;balls.pgz&amp;lt;/code&amp;gt; || Demonstrates 280 multiplexed sprites || [https://github.com/FoenixRetro/demos/blob/main/README.md GitHub]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Resources ==&lt;br /&gt;
&lt;br /&gt;
=== This Wiki ===&lt;br /&gt;
&lt;br /&gt;
Explore all of the content of this Wiki, to expand your F256 series knowledge!&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
&lt;br /&gt;
The [https://discord.com/invite/aAEQXZHXgM Foenix Retro Systems Discord] is the primary place to get questions answered.&lt;br /&gt;
&lt;br /&gt;
Also, if you resolve your question, and you didn&#039;t find the answer here on the Wiki, &#039;&#039;&#039;&#039;&#039;please consider contributing to the Wiki&#039;&#039;&#039;&#039;&#039;, for the benefit of others with the same question!&lt;br /&gt;
&lt;br /&gt;
=== Foenix Retro Systems Newletter ===&lt;br /&gt;
&lt;br /&gt;
Read back issues [http://apps.emwhite.org/foenixmarketplace/ here] (also a great source for sample programs).   &lt;br /&gt;
&lt;br /&gt;
Issues starting at #4 cover the F256 line.  Issues 1-3 cover the previous version of the hardware (C256), although there are still many salient points.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=137</id>
		<title>Software for 6502</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=137"/>
		<updated>2023-12-21T20:34:41Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Add a link to the Getting_Started Demo_Archive anchor.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applications ==&lt;br /&gt;
&lt;br /&gt;
== Demos ==&lt;br /&gt;
* [[Getting_Started#Demos_Archive|Demo Archive]]&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
&lt;br /&gt;
== Utilities ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_wget wget]&lt;br /&gt;
&lt;br /&gt;
== Sample Code ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_Jr_Kernel_DOS cc65 example (c)]&lt;br /&gt;
;[https://github.com/ghackwrench/F256_example_tcp tcp example (assembler)]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Software_Development&amp;diff=136</id>
		<title>Template:Main2/Software Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Software_Development&amp;diff=136"/>
		<updated>2023-12-21T20:33:08Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Link SuperBASIC to the matching anchor in Getting Started.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Software Development&#039;&#039;&#039;&lt;br /&gt;
* [[Getting_Started#SuperBASIC|SuperBASIC]]&lt;br /&gt;
* [[C Development]]&lt;br /&gt;
* [[Assembly Code Development]]&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/65816_Processor&amp;diff=135</id>
		<title>Template:Main2/65816 Processor</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/65816_Processor&amp;diff=135"/>
		<updated>2023-12-21T20:22:21Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;W65C816 Processor&#039;&#039;&#039;&lt;br /&gt;
* [[65816 Overview]]&lt;br /&gt;
* [[65816 C Compilers]]&lt;br /&gt;
* [[65816 Assembly Tutorial]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_C_Compilers&amp;diff=134</id>
		<title>65816 C Compilers</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_C_Compilers&amp;diff=134"/>
		<updated>2023-12-21T20:21:45Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Links to compilers.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;[https://www.westerndesigncenter.com/wdc/tools.php WDC]&lt;br /&gt;
;[https://www.calypsi.cc/ Calypsi]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/65816_Processor&amp;diff=133</id>
		<title>Template:Main2/65816 Processor</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/65816_Processor&amp;diff=133"/>
		<updated>2023-12-21T20:18:45Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Added C Compilers link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;W65C816 Processor&#039;&#039;&#039;&lt;br /&gt;
* [[65816 Overview]]&lt;br /&gt;
* [[65816 Assembly Tutorial]]&lt;br /&gt;
* [[65816 C Compilers]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Assembly_Code_Development&amp;diff=132</id>
		<title>Assembly Code Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Assembly_Code_Development&amp;diff=132"/>
		<updated>2023-12-21T20:11:50Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Numerous assemblers are available for the 6502 family of CPUs.  Here are a few:&lt;br /&gt;
&lt;br /&gt;
;[[64tass]]&lt;br /&gt;
:64tass is the preferred assembler and includes the option to generate .pgz binaries.&lt;br /&gt;
&lt;br /&gt;
;[https://shop-pdp.net/ashtml/asxget.php as6502] &lt;br /&gt;
:as6502 is an older, more traditional Relocatable Macro Assembler.  It&#039;s part of an entire suite of 8-bit assemblers which all use the same linker.&lt;br /&gt;
&lt;br /&gt;
;[https://brutaldeluxe.fr/products/crossdevtools/merlin/ merlin32] &lt;br /&gt;
:Merlin32 is a modern version of the Merlin 8/16 Macro Assemblers.  Familiar to many Apple II programmers of the day, it also completely supports 65816, and runs on Mac, Windows, and Linux.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=131</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=131"/>
		<updated>2023-12-21T20:11:21Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* Programming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Western Design Center W65C816 (aka 65C816, 65816, or just 816) is 16-bit upgrade to the 65c02.  By default, it starts up in emulation mode, which is compatible with a WDC 65C02 without the extended Rockwell instructions.  In emulation mode, all registers are 8 bits wide, the zero page is locked to $00xx, the stack is locked to $01xx, and the flags and interrupt vectors behave as expected for a 65c02.  Note that all of the the additional 816 instructions are actually usable in this mode!&lt;br /&gt;
&lt;br /&gt;
Switching to &amp;quot;native&amp;quot; mode, the S register becomes 16 bits wide, the A register can be switched between either 8 or 16 bits wide, X and Y (always together) can be switched between either 8 or 16 bits wide, and the zero page becomes a direct page which may be placed anywhere in the first 64k.  Additionally, the K registers sets the bank used for code, and the B register sets the bank used for extended data transfers.  Note however, that with the standard FPGA load, the upper 8-bits of all 24-bit addresses are treated by the hardware as if they were set to zero.  Finally, interrupts vector to an entirely different set of vectors, making it possible for interrupts to function correctly in either mode.&lt;br /&gt;
&lt;br /&gt;
= Upgrading =&lt;br /&gt;
The 65c02 in the F256 may be upgraded to a 65816 with the following caveats:&lt;br /&gt;
* You must use a 65C816SP part; slower models will not work.&lt;br /&gt;
* The 816 does not support the extended Rockwell 6502 instructions (BBS/BBR/SMB/RMB); these instructions must be avoided for software to maintain 816 compatibility.  Software using these instructions will not run correctly on a 65816.&lt;br /&gt;
&lt;br /&gt;
= Programming =&lt;br /&gt;
 &lt;br /&gt;
* The standard FPGA load ignores the upper 8-bits of all 24-bit transfers; you will still need to use the MMU to access more than 64k.&lt;br /&gt;
* If you are not booting to the stock MicroKernel, you will need to tell the FPGA that you have an 816 installed.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
      ; If this is a 65816, switch pin 3 from an input&lt;br /&gt;
      ; (for PHI0-out) to a 1 output (for ABORTB-in).&lt;br /&gt;
        .cpu    &amp;quot;65816&amp;quot;&lt;br /&gt;
        clc&lt;br /&gt;
        xce&lt;br /&gt;
        bcc     +&lt;br /&gt;
        sec&lt;br /&gt;
        xce&lt;br /&gt;
        stz     $1&lt;br /&gt;
        lda     #$03&lt;br /&gt;
        sta     $d6b0&lt;br /&gt;
+      .cpu    &amp;quot;w65c02&amp;quot;  &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kernel Support =&lt;br /&gt;
* The [[MicroKernel]] does not support the 816 running in native mode.  You can still use the enhanced instructions in emulation mode, and you can temporarily switch to native mode while interrupts are disabled, but note that such software will not run correctly on standard 65c02 machines.&lt;br /&gt;
* The [[OpenFNXKernal]] endeavors to function correctly in both modes.&lt;br /&gt;
&lt;br /&gt;
= Historical Notes =&lt;br /&gt;
&lt;br /&gt;
Introduced in 1983, the W65C816 is an enhanced version of the WDC W65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. &lt;br /&gt;
&lt;br /&gt;
The 65C816 is a CPU option supported by the Foenix F256, that can be dropped-in, in place pf the default W65C02 processor supplied with the F256.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;65&amp;quot; in the part&#039;s designation comes from its 65C02 compatibility mode, and the &amp;quot;816&amp;quot; signifies that the MPU has selectable 8-bit and 16-bit register sizes. In addition to the availability of 16-bit registers, the W65C816 processor itself extends potential memory addressing to 24-bits, supporting up to 16 megabytes of random-access memory. It has an enhanced instruction set and a 16-bit stack pointer, as well as several new control signals for improved system hardware management.&lt;br /&gt;
&lt;br /&gt;
Despite allowing 24-bit addressing, a 65816 installed in a Foenix F256 still utilises the same 16-bit physical address space of the original W65C02 processor.&lt;br /&gt;
&lt;br /&gt;
At reset, the W65C816 starts in &amp;quot;emulation mode&amp;quot;, meaning it substantially behaves as a 65C02. In fact, a 65816 in default power-up &amp;quot;emulation mode&amp;quot; is cycle-accurate with the original MOS 6502 processor, whereas the W65C02 differs on some instructions.&lt;br /&gt;
&lt;br /&gt;
User programs can then switch the W65C816 to &amp;quot;native mode&amp;quot; with a two instruction sequence, causing it to enable all enhanced features, yet still maintain a substantial degree of backward compatibility with most 65C02 software. &lt;br /&gt;
&lt;br /&gt;
However, unlike the DIP40 version of the W65C02, which is more-or-less a pin-compatible replacement for its NMOS ancestor (excepting mostly pin 1 - Vss / VPB), the DIP40 W65C816 is not directly pin-compatible with any other 6502 family MPU.&lt;br /&gt;
&lt;br /&gt;
The W65C816 pin differences are mostly around the clock pins and some control pins.  Despite this, the W65C816 can be a drop-in replacement for the W65C02 on the Foenix F256 series. No FPGA upgrade is necessary when in emulation mode (#).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This point (noted from the main site F256K ordering page), needs more explanation by someone more knowledgable on F256 operation with a W65C816 processor installed.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=106</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=106"/>
		<updated>2023-12-21T06:26:32Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* Getting programs onto the F256 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Getting Powered Up ==&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256K ===&lt;br /&gt;
&lt;br /&gt;
The F256K is powered via a standard 2.5mm DC Connector, which takes a centre-positive 12V 2A capable Power Supply.&lt;br /&gt;
&lt;br /&gt;
This type of power supply is quite common.  [https://www.amazon.com/Adapter-100-240V-Transformer-Charger-Security/dp/B091XSVV1Y Example 12V 2A capable power supply] (#)&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This specific power supply has not been verified (by the author) for use with the F256K.  Please update this page with verified options!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Powering your F256Jr ===&lt;br /&gt;
&lt;br /&gt;
The F256Jr is supplied as a Mini-ITX form factor mainboard, with a standard 24 pin ATX power supply connector for power connectivity.&lt;br /&gt;
&lt;br /&gt;
Since the F256Jr needs relatively little power, compared to a mini-ATX PC, a popular DC 12V 24pin Pico ATX PSU works well and is a compact solution.&lt;br /&gt;
&lt;br /&gt;
* [https://www.amazon.com/dp/B08F57GKCL Pico PSU] - You power the Pico PSU via a 12V DC center-positive Power Supply source.&lt;br /&gt;
* [https://www.amazon.com/dp/B07MXXXBV8 12V DC center-positive A/C Adapter] - Commonly used to power the Pico PSU.&lt;br /&gt;
&lt;br /&gt;
== Getting programs onto the F256 ==&lt;br /&gt;
&lt;br /&gt;
=== SD Card === &lt;br /&gt;
&lt;br /&gt;
Both the F256K and F256JR have an SD card slot.  The device sofware to read the SD card is a bit touchy (it&#039;s inherited from the Commander X16 project) and doesn&#039;t work with all SD cards&lt;br /&gt;
&lt;br /&gt;
* Card should be &amp;quot;XC&amp;quot; type vs. &amp;quot;HC&amp;quot;.   Typically older cards in the 512MB-8GB range work pretty well, which is more than enough space anyways.  Very new cards that are very large tend not to work?&lt;br /&gt;
* Card *MUST* be formatted FAT32 -- **NOT: FAT, FAT12, FAT16, or exFAT**.   Note that while MacOS will read a FAT32 formatted card, the included disk utility won&#039;t format FAT32.  Windows 10/11 works fine, but make sure to force FAT32 (or use the command line: &amp;lt;code&amp;gt;format /FS:FAT32 H:&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Some folks have had luck formatting cards with the [https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/ Official SD Association formatter for Windows].&lt;br /&gt;
&lt;br /&gt;
=== Demos Archive ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/FoenixRetro/Documentation/blob/main/f256/archive Download the most recent demos archive] and expand it to the root of the flash card.&lt;br /&gt;
&lt;br /&gt;
=== Debug USB port ===&lt;br /&gt;
&lt;br /&gt;
* This is what most developers use as it&#039;s the most convenient.  Connect the debug USB port to your PC or Mac&lt;br /&gt;
&lt;br /&gt;
* You can use:&lt;br /&gt;
** [https://github.com/pweingar/FoenixMgr FoenixMgr] - works on Windows, Mac, Linux&lt;br /&gt;
*** A Python script to manage the Foenix series of retro style computers through their USB debug ports. This tool allows uploading files of various formats to system RAM, and displaying memory through various means.&lt;br /&gt;
&lt;br /&gt;
** [https://github.com/Trinity-11/FoenixIDE FoenixIDE] (Windows only)&lt;br /&gt;
*** Development and Debugging Suite for the C256 Foenix Family of Computers.&lt;br /&gt;
&lt;br /&gt;
=== wget ===&lt;br /&gt;
If you have the wifi configured, you can use [https://github.com/ghackwrench/F256_wget wget] to pull programs and data right off the web!&lt;br /&gt;
&lt;br /&gt;
== SuperBASIC ==&lt;br /&gt;
&lt;br /&gt;
The machine boots to SuperBASIC.  SuperBASIC is inspired by BBC BASIC but offers quite a bit more.&lt;br /&gt;
&lt;br /&gt;
* Read the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual].&lt;br /&gt;
&lt;br /&gt;
* Watch EMWhite&#039;s excellent intro series on Youtube:&lt;br /&gt;
** Full Playlist here: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR EMWhite&#039;s Intro Series - Full Playlist].&lt;br /&gt;
** Part 1 can be viewed here:&lt;br /&gt;
&amp;lt;youtube&amp;gt;G_S2c_MsqYA&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get started, you can type in a sample program at the command prompt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
10 for i=1 to 5&lt;br /&gt;
20 print &amp;quot;Hello world&amp;quot;&lt;br /&gt;
30 next&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SuperBASIC is similar to CBM (Microsoft) BASIC but has some differences.  For example, note in the sample above it&#039;s just &amp;lt;code&amp;gt;next&amp;lt;/code&amp;gt; not &amp;lt;code&amp;gt;next i&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The first 15 or so pages of the [https://github.com/FoenixRetro/f256-superbasic/blob/main/reference/source/f256jr_basic_ref.pdf SuperBASIC Reference Manual] are quite instructive.  &lt;br /&gt;
&lt;br /&gt;
SuperBASIC is actually much more powerful and supports structured programming (procedures, blocks etc.) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; - Run this to display directory of SD card&lt;br /&gt;
&lt;br /&gt;
Loading &amp;amp; running programs off of the SD card is similarly easy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
load &amp;quot;JrWordl.bas&amp;quot;&lt;br /&gt;
run&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to the C64, you can save time in loading programs from the &amp;lt;code&amp;gt;dir&amp;lt;/code&amp;gt; listing by using your cursor keys to go up to the entry, typing &amp;lt;code&amp;gt;load &amp;quot;&amp;lt;/code&amp;gt; (insert mode is active by default) etc.  You can use &amp;lt;code&amp;gt;CTRL+E&amp;lt;/code&amp;gt; to jump to the end of the line and use &amp;lt;code&amp;gt;CTRL+K&amp;lt;/code&amp;gt; to delete any text from the cursor to the end of the line.  Correctly place the closing &amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt; and hit &amp;lt;code&amp;gt;ENTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CTRL+C&amp;lt;/code&amp;gt; acts as a &amp;quot;break&amp;quot; command and stops any running SuperBASIC program or &amp;lt;code&amp;gt;LIST&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
Read built-in help/reference:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; : But &#039;&#039;&#039;NOTE&#039;&#039;&#039;, this erases BASIC memory!  Use Backspace key to go back in menus and to exit.&lt;br /&gt;
&lt;br /&gt;
Explore the included demo SuperBASIC programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;JrWordl.bas&amp;lt;/code&amp;gt; || Wordle game, guess 5 letter word ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;mandel.bas&amp;lt;/code&amp;gt; || Draws Mandlebrot set in graphics mode, takes between 2 and 3 hours || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;rpg-demo.bas&amp;lt;/code&amp;gt; || UI sample that shows Zelda like RPG game.  Control the character with an Atari-joystick connected to JoyPort1 || @econtrerasd&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;Problematic_Code.bas&amp;lt;/code&amp;gt; || Displays scrolling starfield ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;noelrl.bas&amp;lt;/code&amp;gt; || Simple integer BASIC bench mark from Noel&#039;s retro lab.  Completes &amp;lt; 3.5 seconds, compares very favourably to other retro systems! || [https://www.youtube.com/watch?v=H05hM_Guoqk Youtube]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;dance.bas&amp;lt;/code&amp;gt; || Animates sprite of dancer || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;luna.bas&amp;lt;/code&amp;gt; || Displays simple scene ||&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;blink.bas&amp;lt;/code&amp;gt; || Blinks drive access light || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;piano.bas&amp;lt;/code&amp;gt; || Play some notes with the PSG || [https://github.com/Mu0n/F256KbasicBASICdoodles @Mu0n]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Native Code ==&lt;br /&gt;
&lt;br /&gt;
* Binary programs for the F256 line are typically distributed as &amp;lt;code&amp;gt;pgx&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;pgz&amp;lt;/code&amp;gt; files (see [[File Formats]], they are like the &amp;lt;code&amp;gt;prg&amp;lt;/code&amp;gt; format in the C64 ecosystem).&lt;br /&gt;
&lt;br /&gt;
* SuperBASIC: Slash (&amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;) command will execute the named flash resident program, such as &amp;lt;code&amp;gt;/dos&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/help&amp;lt;/code&amp;gt; (SuperBASIC reference).&lt;br /&gt;
&lt;br /&gt;
* PGZ/X files can be run from SuperBASIC with &amp;lt;code&amp;gt;/- program.pgz&amp;lt;/code&amp;gt;, and from DOS with &amp;lt;code&amp;gt;- program.pgz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* The &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; is also referred to as &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;, and is a chainloader that understands &amp;lt;code&amp;gt;pgx&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pgz&amp;lt;/code&amp;gt; formats, so &amp;lt;code&amp;gt;/- program.pgz&amp;lt;/code&amp;gt; first hands over control to &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; which then loads the program and hands over control.&lt;br /&gt;
&lt;br /&gt;
* You will typically need to reset the machine to get back to SuperBASIC.&lt;br /&gt;
&lt;br /&gt;
* Switch to DOS with &amp;lt;code&amp;gt;/dos&amp;lt;/code&amp;gt; and back into BASIC once there with &amp;lt;code&amp;gt;basic&amp;lt;/code&amp;gt;.  &amp;lt;code&amp;gt;help&amp;lt;/code&amp;gt; display a list of available DOS commands.&lt;br /&gt;
&lt;br /&gt;
Try the included native demo programs:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Program !! Notes !! Source | &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wrtn0825-vcf.pgz&amp;lt;/code&amp;gt; || Which Rules the Night (game) || @beethead&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;matchit0825-vcf.pgz&amp;lt;/code&amp;gt; || Match It (game) || @beethead&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;balls.pgz&amp;lt;/code&amp;gt; || Demonstrates 280 multiplexed sprites || [https://github.com/FoenixRetro/demos/blob/main/README.md GitHub]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== More Resources ==&lt;br /&gt;
&lt;br /&gt;
=== This Wiki ===&lt;br /&gt;
&lt;br /&gt;
Explore all of the content of this Wiki, to expand your F256 series knowledge!&lt;br /&gt;
&lt;br /&gt;
=== Discord ===&lt;br /&gt;
&lt;br /&gt;
The [https://discord.com/invite/aAEQXZHXgM Foenix Retro Systems Discord] is the primary place to get questions answered.&lt;br /&gt;
&lt;br /&gt;
Also, if you resolve your question, and you didn&#039;t find the answer here on the Wiki, &#039;&#039;&#039;&#039;&#039;please consider contributing to the Wiki&#039;&#039;&#039;&#039;&#039;, for the benefit of others with the same question!&lt;br /&gt;
&lt;br /&gt;
=== Foenix Retro Systems Newletter ===&lt;br /&gt;
&lt;br /&gt;
Read back issues [http://apps.emwhite.org/foenixmarketplace/ here] (also a great source for sample programs).   &lt;br /&gt;
&lt;br /&gt;
Issues starting at #4 cover the F256 line.  Issues 1-3 cover the previous version of the hardware (C256), although there are still many salient points.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=105</id>
		<title>Software for 6502</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=105"/>
		<updated>2023-12-21T06:13:12Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applications ==&lt;br /&gt;
&lt;br /&gt;
== Demos ==&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
&lt;br /&gt;
== Utilities ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_wget wget]&lt;br /&gt;
&lt;br /&gt;
== Sample Code ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_Jr_Kernel_DOS cc65 example (c)]&lt;br /&gt;
;[https://github.com/ghackwrench/F256_example_tcp tcp example (assembler)]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=104</id>
		<title>Software for 6502</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=104"/>
		<updated>2023-12-21T06:12:20Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applications ==&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
&lt;br /&gt;
== Utilities ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_wget wget]&lt;br /&gt;
&lt;br /&gt;
== Sample Code ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_Jr_Kernel_DOS cc65 example (c)]&lt;br /&gt;
;[https://github.com/ghackwrench/F256_example_tcp tcp example (assembler)]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=103</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=103"/>
		<updated>2023-12-21T06:10:02Z</updated>

		<summary type="html">&lt;p&gt;Gadget: /* Upgrading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Western Design Center W65C816 (aka 65C816, 65816, or just 816) is 16-bit upgrade to the 65c02.  By default, it starts up in emulation mode, which is compatible with a WDC 65C02 without the extended Rockwell instructions.  In emulation mode, all registers are 8 bits wide, the zero page is locked to $00xx, the stack is locked to $01xx, and the flags and interrupt vectors behave as expected for a 65c02.  Note that all of the the additional 816 instructions are actually usable in this mode!&lt;br /&gt;
&lt;br /&gt;
Switching to &amp;quot;native&amp;quot; mode, the S register becomes 16 bits wide, the A register can be switched between either 8 or 16 bits wide, X and Y (always together) can be switched between either 8 or 16 bits wide, and the zero page becomes a direct page which may be placed anywhere in the first 64k.  Additionally, the K registers sets the bank used for code, and the B register sets the bank used for extended data transfers.  Note however, that with the standard FPGA load, the upper 8-bits of all 24-bit addresses are treated by the hardware as if they were set to zero.  Finally, interrupts vector to an entirely different set of vectors, making it possible for interrupts to function correctly in either mode.&lt;br /&gt;
&lt;br /&gt;
= Upgrading =&lt;br /&gt;
The 65c02 in the F256 may be upgraded to a 65816 with the following caveats:&lt;br /&gt;
* You must use a 65C816SP part; slower models will not work.&lt;br /&gt;
* The 816 does not support the extended Rockwell 6502 instructions (BBS/BBR/SMB/RMB); these instructions must be avoided for software to maintain 816 compatibility.  Software using these instructions will not run correctly on a 65816.&lt;br /&gt;
&lt;br /&gt;
= Programming =&lt;br /&gt;
 &lt;br /&gt;
* The stanfard FPGA load ignores the upper 8-bits of all 24-bit transfers; you will still need to use the MMU to access more than 64k.&lt;br /&gt;
* If you are not booting to the stock MicroKernel, you will need to tell the FPGA that you have an 816 installed.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
      ; If this is a 65816, switch pin 3 from an input&lt;br /&gt;
      ; (for PHI0-out) to a 1 output (for ABORTB-in).&lt;br /&gt;
        .cpu    &amp;quot;65816&amp;quot;&lt;br /&gt;
        clc&lt;br /&gt;
        xce&lt;br /&gt;
        bcc     +&lt;br /&gt;
        sec&lt;br /&gt;
        xce&lt;br /&gt;
        stz     $1&lt;br /&gt;
        lda     #$03&lt;br /&gt;
        sta     $d6b0&lt;br /&gt;
+      .cpu    &amp;quot;w65c02&amp;quot;  &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kernel Support =&lt;br /&gt;
* The [[MicroKernel]] does not support the 816 running in native mode.  You can still use the enhanced instructions in emulation mode, and you can temporarily switch to native mode while interrupts are disabled, but note that such software will not run correctly on standard 65c02 machines.&lt;br /&gt;
* The [[OpenFNXKernal]] endeavors to function correctly in both modes.&lt;br /&gt;
&lt;br /&gt;
= Historical Notes =&lt;br /&gt;
&lt;br /&gt;
Introduced in 1983, the W65C816 is an enhanced version of the WDC W65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. &lt;br /&gt;
&lt;br /&gt;
The 65C816 is a CPU option supported by the Foenix F256, that can be dropped-in, in place pf the default W65C02 processor supplied with the F256.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;65&amp;quot; in the part&#039;s designation comes from its 65C02 compatibility mode, and the &amp;quot;816&amp;quot; signifies that the MPU has selectable 8-bit and 16-bit register sizes. In addition to the availability of 16-bit registers, the W65C816 processor itself extends potential memory addressing to 24-bits, supporting up to 16 megabytes of random-access memory. It has an enhanced instruction set and a 16-bit stack pointer, as well as several new control signals for improved system hardware management.&lt;br /&gt;
&lt;br /&gt;
Despite allowing 24-bit addressing, a 65816 installed in a Foenix F256 still utilises the same 16-bit physical address space of the original W65C02 processor.&lt;br /&gt;
&lt;br /&gt;
At reset, the W65C816 starts in &amp;quot;emulation mode&amp;quot;, meaning it substantially behaves as a 65C02. In fact, a 65816 in default power-up &amp;quot;emulation mode&amp;quot; is cycle-accurate with the original MOS 6502 processor, whereas the W65C02 differs on some instructions.&lt;br /&gt;
&lt;br /&gt;
User programs can then switch the W65C816 to &amp;quot;native mode&amp;quot; with a two instruction sequence, causing it to enable all enhanced features, yet still maintain a substantial degree of backward compatibility with most 65C02 software. &lt;br /&gt;
&lt;br /&gt;
However, unlike the DIP40 version of the W65C02, which is more-or-less a pin-compatible replacement for its NMOS ancestor (excepting mostly pin 1 - Vss / VPB), the DIP40 W65C816 is not directly pin-compatible with any other 6502 family MPU.&lt;br /&gt;
&lt;br /&gt;
The W65C816 pin differences are mostly around the clock pins and some control pins.  Despite this, the W65C816 can be a drop-in replacement for the W65C02 on the Foenix F256 series. No FPGA upgrade is necessary when in emulation mode (#).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This point (noted from the main site F256K ordering page), needs more explanation by someone more knowledgable on F256 operation with a W65C816 processor installed.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=102</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=102"/>
		<updated>2023-12-21T06:07:56Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Added kernel notes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Western Design Center W65C816 (aka 65C816, 65816, or just 816) is 16-bit upgrade to the 65c02.  By default, it starts up in emulation mode, which is compatible with a WDC 65C02 without the extended Rockwell instructions.  In emulation mode, all registers are 8 bits wide, the zero page is locked to $00xx, the stack is locked to $01xx, and the flags and interrupt vectors behave as expected for a 65c02.  Note that all of the the additional 816 instructions are actually usable in this mode!&lt;br /&gt;
&lt;br /&gt;
Switching to &amp;quot;native&amp;quot; mode, the S register becomes 16 bits wide, the A register can be switched between either 8 or 16 bits wide, X and Y (always together) can be switched between either 8 or 16 bits wide, and the zero page becomes a direct page which may be placed anywhere in the first 64k.  Additionally, the K registers sets the bank used for code, and the B register sets the bank used for extended data transfers.  Note however, that with the standard FPGA load, the upper 8-bits of all 24-bit addresses are treated by the hardware as if they were set to zero.  Finally, interrupts vector to an entirely different set of vectors, making it possible for interrupts to function correctly in either mode.&lt;br /&gt;
&lt;br /&gt;
= Upgrading =&lt;br /&gt;
The 65c02 in the F256 map be upgraded to a 65816 with the following caveats:&lt;br /&gt;
* You must use a 65C816SP part; slower models will not work.&lt;br /&gt;
* The 816 does not support the extended Rockwell 6502 instructions (BBS/BBR/SMB/RMB); these instructions must be avoided for software to maintain 816 compatibility.  Software using these instructions will not run correctly on a 65816.&lt;br /&gt;
&lt;br /&gt;
= Programming =&lt;br /&gt;
 &lt;br /&gt;
* The stanfard FPGA load ignores the upper 8-bits of all 24-bit transfers; you will still need to use the MMU to access more than 64k.&lt;br /&gt;
* If you are not booting to the stock MicroKernel, you will need to tell the FPGA that you have an 816 installed.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
      ; If this is a 65816, switch pin 3 from an input&lt;br /&gt;
      ; (for PHI0-out) to a 1 output (for ABORTB-in).&lt;br /&gt;
        .cpu    &amp;quot;65816&amp;quot;&lt;br /&gt;
        clc&lt;br /&gt;
        xce&lt;br /&gt;
        bcc     +&lt;br /&gt;
        sec&lt;br /&gt;
        xce&lt;br /&gt;
        stz     $1&lt;br /&gt;
        lda     #$03&lt;br /&gt;
        sta     $d6b0&lt;br /&gt;
+      .cpu    &amp;quot;w65c02&amp;quot;  &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Kernel Support =&lt;br /&gt;
* The [[MicroKernel]] does not support the 816 running in native mode.  You can still use the enhanced instructions in emulation mode, and you can temporarily switch to native mode while interrupts are disabled, but note that such software will not run correctly on standard 65c02 machines.&lt;br /&gt;
* The [[OpenFNXKernal]] endeavors to function correctly in both modes.&lt;br /&gt;
&lt;br /&gt;
= Historical Notes =&lt;br /&gt;
&lt;br /&gt;
Introduced in 1983, the W65C816 is an enhanced version of the WDC W65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. &lt;br /&gt;
&lt;br /&gt;
The 65C816 is a CPU option supported by the Foenix F256, that can be dropped-in, in place pf the default W65C02 processor supplied with the F256.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;65&amp;quot; in the part&#039;s designation comes from its 65C02 compatibility mode, and the &amp;quot;816&amp;quot; signifies that the MPU has selectable 8-bit and 16-bit register sizes. In addition to the availability of 16-bit registers, the W65C816 processor itself extends potential memory addressing to 24-bits, supporting up to 16 megabytes of random-access memory. It has an enhanced instruction set and a 16-bit stack pointer, as well as several new control signals for improved system hardware management.&lt;br /&gt;
&lt;br /&gt;
Despite allowing 24-bit addressing, a 65816 installed in a Foenix F256 still utilises the same 16-bit physical address space of the original W65C02 processor.&lt;br /&gt;
&lt;br /&gt;
At reset, the W65C816 starts in &amp;quot;emulation mode&amp;quot;, meaning it substantially behaves as a 65C02. In fact, a 65816 in default power-up &amp;quot;emulation mode&amp;quot; is cycle-accurate with the original MOS 6502 processor, whereas the W65C02 differs on some instructions.&lt;br /&gt;
&lt;br /&gt;
User programs can then switch the W65C816 to &amp;quot;native mode&amp;quot; with a two instruction sequence, causing it to enable all enhanced features, yet still maintain a substantial degree of backward compatibility with most 65C02 software. &lt;br /&gt;
&lt;br /&gt;
However, unlike the DIP40 version of the W65C02, which is more-or-less a pin-compatible replacement for its NMOS ancestor (excepting mostly pin 1 - Vss / VPB), the DIP40 W65C816 is not directly pin-compatible with any other 6502 family MPU.&lt;br /&gt;
&lt;br /&gt;
The W65C816 pin differences are mostly around the clock pins and some control pins.  Despite this, the W65C816 can be a drop-in replacement for the W65C02 on the Foenix F256 series. No FPGA upgrade is necessary when in emulation mode (#).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This point (noted from the main site F256K ordering page), needs more explanation by someone more knowledgable on F256 operation with a W65C816 processor installed.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=101</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=101"/>
		<updated>2023-12-21T05:56:20Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Structured description of the 816 option.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
The Western Design Center W65C816 (aka 65C816, 65816, or just 816) is 16-bit upgrade to the 65c02.  By default, it starts up in emulation mode, which is compatible with a WDC 65C02 without the extended Rockwell instructions.  In emulation mode, all registers are 8 bits wide, the zero page is locked to $00xx, the stack is locked to $01xx, and the flags and interrupt vectors behave as expected for a 65c02.  Note that all of the the additional 816 instructions are actually usable in this mode!&lt;br /&gt;
&lt;br /&gt;
Switching to &amp;quot;native&amp;quot; mode, the S register becomes 16 bits wide, the A register can be switched between either 8 or 16 bits wide, X and Y (always together) can be switched between either 8 or 16 bits wide, and the zero page becomes a direct page which may be placed anywhere in the first 64k.  Additionally, the K registers sets the bank used for code, and the B register sets the bank used for extended data transfers.  Note however, that with the standard FPGA load, the upper 8-bits of all 24-bit addresses are treated by the hardware as if they were set to zero.  Finally, interrupts vector to an entirely different set of vectors, making it possible for interrupts to function correctly in either mode.&lt;br /&gt;
&lt;br /&gt;
= Upgrading =&lt;br /&gt;
The 65c02 in the F256 map be upgraded to a 65816 with the following caveats:&lt;br /&gt;
* You must use a 65C816SP part; slower models will not work.&lt;br /&gt;
* The 816 does not support the extended Rockwell 6502 instructions (BBS/BBR/SMB/RMB); these instructions must be avoided for software to maintain 816 compatibility.  Software using these instructions will not run correctly on a 65816.&lt;br /&gt;
&lt;br /&gt;
== Programming ==&lt;br /&gt;
 &lt;br /&gt;
* The stanfard FPGA load ignores the upper 8-bits of all 24-bit transfers; you will still need to use the MMU to access more than 64k.&lt;br /&gt;
* If you are not booting to the stock MicroKernel, you will need to tell the FPGA that you have an 816 installed.  &lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
      ; If this is a 65816, switch pin 3 from an input&lt;br /&gt;
      ; (for PHI0-out) to a 1 output (for ABORTB-in).&lt;br /&gt;
        .cpu    &amp;quot;65816&amp;quot;&lt;br /&gt;
        clc&lt;br /&gt;
        xce&lt;br /&gt;
        bcc     +&lt;br /&gt;
        sec&lt;br /&gt;
        xce&lt;br /&gt;
        stz     $1&lt;br /&gt;
        lda     #$03&lt;br /&gt;
        sta     $d6b0&lt;br /&gt;
+      .cpu    &amp;quot;w65c02&amp;quot;  &lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Historical Notes =&lt;br /&gt;
&lt;br /&gt;
Introduced in 1983, the W65C816 is an enhanced version of the WDC W65C02 8-bit MPU, itself a CMOS enhancement of the venerable MOS Technology 6502 NMOS MPU. &lt;br /&gt;
&lt;br /&gt;
The 65C816 is a CPU option supported by the Foenix F256, that can be dropped-in, in place pf the default W65C02 processor supplied with the F256.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;65&amp;quot; in the part&#039;s designation comes from its 65C02 compatibility mode, and the &amp;quot;816&amp;quot; signifies that the MPU has selectable 8-bit and 16-bit register sizes. In addition to the availability of 16-bit registers, the W65C816 processor itself extends potential memory addressing to 24-bits, supporting up to 16 megabytes of random-access memory. It has an enhanced instruction set and a 16-bit stack pointer, as well as several new control signals for improved system hardware management.&lt;br /&gt;
&lt;br /&gt;
Despite allowing 24-bit addressing, a 65816 installed in a Foenix F256 still utilises the same 16-bit physical address space of the original W65C02 processor.&lt;br /&gt;
&lt;br /&gt;
At reset, the W65C816 starts in &amp;quot;emulation mode&amp;quot;, meaning it substantially behaves as a 65C02. In fact, a 65816 in default power-up &amp;quot;emulation mode&amp;quot; is cycle-accurate with the original MOS 6502 processor, whereas the W65C02 differs on some instructions.&lt;br /&gt;
&lt;br /&gt;
User programs can then switch the W65C816 to &amp;quot;native mode&amp;quot; with a two instruction sequence, causing it to enable all enhanced features, yet still maintain a substantial degree of backward compatibility with most 65C02 software. &lt;br /&gt;
&lt;br /&gt;
However, unlike the DIP40 version of the W65C02, which is more-or-less a pin-compatible replacement for its NMOS ancestor (excepting mostly pin 1 - Vss / VPB), the DIP40 W65C816 is not directly pin-compatible with any other 6502 family MPU.&lt;br /&gt;
&lt;br /&gt;
The W65C816 pin differences are mostly around the clock pins and some control pins.  Despite this, the W65C816 can be a drop-in replacement for the W65C02 on the Foenix F256 series. No FPGA upgrade is necessary when in emulation mode (#).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(#) &#039;&#039;This point (noted from the main site F256K ordering page), needs more explanation by someone more knowledgable on F256 operation with a W65C816 processor installed.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=100</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=100"/>
		<updated>2023-12-21T05:20:05Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Added note about avoiding Rockwell instructions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Overview and Comparison ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!F256Jr&lt;br /&gt;
!F256K&lt;br /&gt;
|-&lt;br /&gt;
|CPU&lt;br /&gt;
|WDC 65C02&lt;br /&gt;
WDC 65816S&lt;br /&gt;
FNX 6809&lt;br /&gt;
|WDC 65C02&lt;br /&gt;
WDC 65816S&lt;br /&gt;
FNX 6809&lt;br /&gt;
|-&lt;br /&gt;
|RAM&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K RAM expansion module available&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K RAM expansion module available&lt;br /&gt;
|-&lt;br /&gt;
|Flash&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K Flash Modules&lt;br /&gt;
|512 KB&lt;br /&gt;
Optional 256K Flash Modules&lt;br /&gt;
|-&lt;br /&gt;
|Graphic Chip&lt;br /&gt;
|TinyVicky&lt;br /&gt;
|TinyVicky&lt;br /&gt;
|-&lt;br /&gt;
|Audio&lt;br /&gt;
|2 x PSG (Sn76489)&lt;br /&gt;
2 x SID socket&lt;br /&gt;
|2 x PSG&lt;br /&gt;
2 x SID hardware emulation on board&lt;br /&gt;
OPL3&lt;br /&gt;
CODEC&lt;br /&gt;
|-&lt;br /&gt;
|Connections&lt;br /&gt;
|1 x DVI (digital &amp;amp; analog)&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&lt;br /&gt;
1 x Commodore syle IEC Port&lt;br /&gt;
1 x Headphone 3,5&lt;br /&gt;
1 x RCA Line Out&lt;br /&gt;
2 x Serial Port Pin-Header&lt;br /&gt;
1 x Mni USB Debug Port&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&lt;br /&gt;
1 x SD Card Slot&lt;br /&gt;
2 x Joystick Atari style Pin-Header&lt;br /&gt;
1 x PIN-Header onboard for SNES/NES Joystick Connector Box&lt;br /&gt;
1 x RAM Expansion Slot (on Top)&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&lt;br /&gt;
|1 x DVI (digital &amp;amp; analog)&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&lt;br /&gt;
1 x Commodore syle IEC Port&lt;br /&gt;
1 x Headphone 3,5&lt;br /&gt;
1 x RCA Line Out&lt;br /&gt;
1 x Serial Port DB9M / 1 x Serial Pin Header&lt;br /&gt;
1 x Mni USB Debug Port&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&lt;br /&gt;
1 x SD Card Slot&lt;br /&gt;
2 x Joystick Atari style DB9 Connector&lt;br /&gt;
1 x Mini-DIN9 for SNES/NES Joystick Connector Box&lt;br /&gt;
1 x RAM Expansion Slot (on Top)&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Details ===&lt;br /&gt;
&lt;br /&gt;
===== CPU =====&lt;br /&gt;
The basic setup of all F256 is the [https://westerndesigncenter.com/ Western Design Center] &#039;&#039;&#039;65C02&#039;&#039;&#039;, a slightly enhanced CMOS version of the very popular 6502 CPUs. The main difference to the 6502 in the 1970s and 1980s is the faster clock speed and the lower power consumption.&lt;br /&gt;
&lt;br /&gt;
The 65C02 can also be replaced with a 65816 as a drop in replacement.  &#039;&#039;&#039;Note, however, that while the 65c02 includes the additional Rockwell instructions (BBS/BBR, RMB/SMB), the 65816 does NOT.  Therefore, these instructions should be avoided to ensure compatibility with F256 machines using the 65816.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the F256, the CPU is always clocked at 6,29 MHz (6,293,750 Hz to be exact, derived from 25.175 MHz / 4 as discussed on [https://discord.com/channels/691915291721990194/1054250056703815680/1177306520925524018 Discord]).&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=99</id>
		<title>Template:Main2/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=99"/>
		<updated>2023-12-21T05:10:22Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Minor reorder; removed the ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Getting Started&#039;&#039;&#039;&lt;br /&gt;
* [[Product Specifications]]&lt;br /&gt;
* [[Getting Started]]&lt;br /&gt;
* [[Manuals]]&lt;br /&gt;
* [[Software]]&lt;br /&gt;
* [[Emulation]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=98</id>
		<title>Software for 6502</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=98"/>
		<updated>2023-12-21T05:05:32Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Reordered for better readability.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applications ==&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
== Utilities ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_wget wget]&lt;br /&gt;
&lt;br /&gt;
== Sample Code ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_Jr_Kernel_DOS cc65 example (c)]&lt;br /&gt;
;[https://github.com/ghackwrench/F256_example_tcp tcp example (assembler)]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=97</id>
		<title>Software for 6502</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=97"/>
		<updated>2023-12-21T05:05:00Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Initial collection of links to existing projects.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Applications ==&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
== Utilities ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_wget wget]&lt;br /&gt;
&lt;br /&gt;
== Sample Code ==&lt;br /&gt;
;[https://github.com/ghackwrench/F256_example_tcp tcp example (assembler)]&lt;br /&gt;
;[https://github.com/ghackwrench/F256_Jr_Kernel_DOS cc65 example (c)]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=96</id>
		<title>Template:Main2/Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Getting_Started&amp;diff=96"/>
		<updated>2023-12-21T04:56:47Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Added a software link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Getting Started&#039;&#039;&#039;&lt;br /&gt;
* [[Product Specifications]]&lt;br /&gt;
* [[Getting Started]]&lt;br /&gt;
* [[Manuals]]&lt;br /&gt;
* [[Emulation]]&lt;br /&gt;
* [[Software]]&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=30</id>
		<title>64tass</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=30"/>
		<updated>2023-12-15T02:10:41Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MicroKernel, DOS, SuperBASIC, and many of the other Foenix tools have been written with 64tass; these projects may be found on the [https://github.com/FoenixRetro FoenixRetro github].&lt;br /&gt;
&lt;br /&gt;
The assembler may be downloaded from the following repositories:&lt;br /&gt;
:[https://sourceforge.net/projects/tass64/files/binaries/ sourceforge] &lt;br /&gt;
:[https://github.com/irmen/64tass github]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=29</id>
		<title>64tass</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=29"/>
		<updated>2023-12-15T02:10:26Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MicroKernel, DOS, SuperBASIC, and many of the other Foenix tools have been written with 64tass; these projects may be found on the [https://github.com/FoenixRetro FoenixRetro github].&lt;br /&gt;
&lt;br /&gt;
The assembler may be downloaded from the following repositories:&lt;br /&gt;
:[https://sourceforge.net/projects/tass64/files/binaries/ sourceforge] &lt;br /&gt;
:[https://github.com/irmen/64tass github].&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=28</id>
		<title>64tass</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=28"/>
		<updated>2023-12-15T02:08:24Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MicroKernel, DOS, SuperBASIC, and many of the other Foenix tools have been written with 64tass:&lt;br /&gt;
:[https://sourceforge.net/projects/tass64/files/binaries/ sourceforge] &lt;br /&gt;
:[https://github.com/irmen/64tass github].&lt;br /&gt;
&lt;br /&gt;
See the [https://github.com/FoenixRetro FoenixRetro] github for numerous example projects.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Cc65&amp;diff=27</id>
		<title>Cc65</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Cc65&amp;diff=27"/>
		<updated>2023-12-15T02:05:46Z</updated>

		<summary type="html">&lt;p&gt;Gadget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The cc65 compiler ([https://cc65.github.io/ cc65]) is capable of generating binaries for a wide variety of 6502 platforms.  &lt;br /&gt;
&lt;br /&gt;
There isn&#039;t &amp;quot;official&amp;quot; support for the F256 at this time, but the original [https://github.com/ghackwrench/F256_Jr_Kernel_DOS F256_Jr_Kernel_DOS] project contains library and config files for building both .bin and .pgz binaries for the F256.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=C_Development&amp;diff=26</id>
		<title>C Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=C_Development&amp;diff=26"/>
		<updated>2023-12-15T02:05:01Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Calypsi points to the official site for now; it should pointing to a topic page in the future.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C Development&#039;&#039;&#039;&lt;br /&gt;
* [[cc65]]&lt;br /&gt;
* [https://www.calypsi.cc/ Calypsi]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=25</id>
		<title>64tass</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=64tass&amp;diff=25"/>
		<updated>2023-12-15T02:01:07Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Initial 64tass page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MicroKernel, DOS, SuperBASIC, and many of the other Foenix tools have been written in 64tass:&lt;br /&gt;
:[https://sourceforge.net/projects/tass64/files/binaries/ sourceforge] &lt;br /&gt;
:[https://github.com/irmen/64tass github].&lt;br /&gt;
&lt;br /&gt;
See the [https://github.com/FoenixRetro FoenixRetro] github for numerous example projects.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Assembly_Code_Development&amp;diff=24</id>
		<title>Assembly Code Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Assembly_Code_Development&amp;diff=24"/>
		<updated>2023-12-15T01:53:24Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Initial list of assemblers.  Feel free to add more!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Numerous assemblers are available for the 6502 family of CPUs.  Here are a few:&lt;br /&gt;
&lt;br /&gt;
;[[64tass]] &lt;br /&gt;
:65tass is the preferred assembler and includes the option to general .pgz binaries.&lt;br /&gt;
&lt;br /&gt;
;[https://shop-pdp.net/ashtml/asxget.php as6502] &lt;br /&gt;
:as6502 is an older, more traditional Relocatable Macro Assembler.  It&#039;s part of an entire suite of 8-bit assemblers which all use the same linker.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Cc65&amp;diff=23</id>
		<title>Cc65</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Cc65&amp;diff=23"/>
		<updated>2023-12-15T01:41:16Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Initial description and links to cc65 config files for the F256.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The cc65 compiler ([https://cc65.github.io/ cc65]) is capable of generating binaries for a wide variety of 6502 platforms.  There isn&#039;t &amp;quot;official&amp;quot; support for the F256 at this time, but the original [https://github.com/ghackwrench/F256_Jr_Kernel_DOS F256_Jr_Kernel_DOS] project contains library and config files for building both .bin and .pgz binaries for the F256.&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=C_Development&amp;diff=22</id>
		<title>C Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=C_Development&amp;diff=22"/>
		<updated>2023-12-15T01:33:51Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Initial stubs for the cc65 and Calypsi compilers.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C Development&#039;&#039;&#039;&lt;br /&gt;
* [[cc65]]&lt;br /&gt;
* [[Calypsi]]&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=20</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=20"/>
		<updated>2023-12-14T20:27:51Z</updated>

		<summary type="html">&lt;p&gt;Gadget: Added a 65816 specific processor topic along side the FNX6809 links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;mainpage&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; __NOTOC__ __NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Welcome box --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0 0 15px 0; padding: 1px; border: 1px solid #CCCCCC;&amp;quot;&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin: 0; padding: 0; border: 0; background-color: #FCFCFC; color: #000000; border-collapse: collapse;&amp;quot;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; style=&amp;quot;vertical-align: top;&amp;quot;|&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 150%;&amp;quot;&amp;gt;Welcome to the Foenix Retro Systems&#039; F256x series Wiki&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 100%; margin-top: 0.7em; line-height: 130%;&amp;quot;&amp;gt;Dedicated to the WDC65C02/WDC65C816 or FNX6809 based F256x series.&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table --&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width: 100%; margin: 0; padding: 0; border: 0; border-collapse: collapse;&amp;quot;&lt;br /&gt;
| style=&amp;quot;padding: 0; width: 25%; vertical-align: top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- First column --&amp;gt;&lt;br /&gt;
{{NocatBox|subject=Getting Started|page=Main2/Getting_Started}}&lt;br /&gt;
{{NocatBox|subject=Technical Overview|page=Main2/Technical_Overview}}&lt;br /&gt;
{{NocatBox|subject=System Maintenance|page=Main2/System_Maintenance}}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;padding: 0 0 0 10px; width: 25%; vertical-align: top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Second column --&amp;gt;&lt;br /&gt;
{{NocatBox|subject=Software Development|page=Main2/Software_Development}}&lt;br /&gt;
{{NocatBox|subject=65816 Processor|page=Main2/65816_Processor}}&lt;br /&gt;
{{NocatBox|subject=FNX6809 Processor|page=Main2/FNX6809_Processor}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Gadget</name></author>
	</entry>
</feed>