<?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=97.113.38.170</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=97.113.38.170"/>
	<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Special:Contributions/97.113.38.170"/>
	<updated>2026-04-16T02:12:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=382</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=382"/>
		<updated>2024-06-02T21:10:28Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: more URL formatting nonsense.&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;
* 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>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=381</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=381"/>
		<updated>2024-06-02T21:09:32Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: The C256 wiki link needs a different format.&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;
* 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: [C256|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>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=380</id>
		<title>65816 Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=65816_Overview&amp;diff=380"/>
		<updated>2024-06-02T21:08:34Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: Added link to the C256 wiki for users experimenting with the 816e FPGA load for the Jr.&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;
* 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: [[C256|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>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=355</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=355"/>
		<updated>2024-05-28T19:22:07Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: Fixed typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Overview and Comparison ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
F256Jr&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
F256K&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
F256K2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
CPU&lt;br /&gt;
|&lt;br /&gt;
WDC W65C02S&amp;lt;br/&amp;gt;&lt;br /&gt;
WDC W65C816S&amp;lt;br/&amp;gt;&lt;br /&gt;
Foenix FNX6809&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
WDC W65C02S&amp;lt;br/&amp;gt;&lt;br /&gt;
WDC W65C816S&amp;lt;br/&amp;gt;&lt;br /&gt;
Foenix FNX6809&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
WDC W65C816S&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (included in the FPGA)&amp;lt;br/&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
RAM&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB SRAM&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Flash&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K Flash Modules&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K Flash Modules&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K Flash Modules&amp;lt;br/&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Graphic Chip&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Audio&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (SN76489)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID socket&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID hardware emulation on board&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID hardware emulation on board&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Connections&lt;br /&gt;
|&lt;br /&gt;
1 x DVI (digital &amp;amp; analog)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Commodore syle IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Serial Port Pin-Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-USB Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x SD Card Slot&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Joystick Atari style Pin-Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PIN-Header onboard for SNES/NES Joystick Connector Box&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Memory Expansion Slot (on Top)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
1 x DVI (digital &amp;amp; analog)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Commodore syle IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Serial Port DB9M / 1 x Serial Pin Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-USB Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x SD Card Slot&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Joystick Atari style DB9 Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-DIN9 for SNES/NES Joystick Connector Box&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Memory Expansion Slot (on Top)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
1 x HDMI (digital &amp;amp; analog)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Commodore syle IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (available over USB)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-USB Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SD Card Slot (1x internal, 1x external)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Joystick Atari style Pin-Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PIN-Header onboard for SNES/NES Joystick Connector Box&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Memory Expansion Slot (on Top)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Wifi (Wiznet with external antenna connector)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Ethernet (Wiznet Ethernet)&amp;lt;br&amp;gt;&lt;br /&gt;
2 x MIDI (1x in, 1x out)&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware 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;
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;br /&gt;
&lt;br /&gt;
=== Memory Expansion Slot ===&lt;br /&gt;
The memory expansion slot, located on the top right (above the keyboard), is intended primarily for Memory Expansion.  It provides Address lines A0 - A17 (for addressing 256K), and active low Chip Select signal (CS_RAM) and Ouput Enable (OE) for the 256K Expansion address range $100000 - $13FFFF.&lt;br /&gt;
&lt;br /&gt;
Foenix produce a 256K RAM Expansion cartridge, based on the CY7C1010DV33-10VXI, a high speed (10ns) 2Mbit (256K × 8) 3.3V Parallel Static RAM device.&lt;br /&gt;
&lt;br /&gt;
The Expansion Slot itself, is based on a 36 pin PCI-Express x1 socket.  &lt;br /&gt;
&lt;br /&gt;
As the Expansion Slot also features pins for IRQ input, PHI2 clock output, and Reset (all signals which are unnecessary for a simple Memory interface), the Expansion Slot is also a candidate for other expansion purposes.&lt;br /&gt;
&lt;br /&gt;
==== Utilising the Expension Slot (for your own purposes) ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; All signals on the Expansion Port are 3.3V logic level, therefore it is important that no voltage exceeding 3.3V is ever presented on any Expansion Port pin, or &#039;&#039;&#039;you risk damage&#039;&#039;&#039; to your F256!&lt;br /&gt;
&lt;br /&gt;
If interfacing 5V TTL level devices to the Expansion Port, it is essential that level converters are used.&lt;br /&gt;
&lt;br /&gt;
As an example, if directly interfacing to the Expansion Port pins with 5V logic, then you could use the SN74LVC8T245 bi-directional level translator, with the DIR input controlled by the Port&#039;s R/Wn signal (for the D0 - D7 bi-directional data bus), and the OEn input controlled by the Port&#039;s OEn signal.  For the uni-directional Address and Control lines, the DIR input can be hardwired.&lt;br /&gt;
&lt;br /&gt;
Note that the SN74LVC8T245 is designed so that the control pins (DIR and OE) are referenced to Vcca (&#039;A&#039; side voltage supplied). Therefore, a common practice would be to use side A for the internal (3.3V) side of the voltage translation, such that DIR and OE can be directly controlled by the Expansion Port&#039;s 3.3V level R/Wn and OEn pins.  Side B (and Vccb) then being the 5V TTL level referenced (external facing) side.  &lt;br /&gt;
&lt;br /&gt;
As another example, if you were interfacing directly to a 3.3V peripheral chip (e.g. A W65C22 VIA powered by Vdd = 3.3V), but wanting to level translate to 5V TTL levels on the VIA&#039;s Port Pins, then an auto-direction level translator like the TI TXS010x series (TXS0108, TXS0104, TXS0101), might be more appropriate. &lt;br /&gt;
  &lt;br /&gt;
Note that on the TXS010x series the control pin (OE) is also referenced to Vcca (&#039;A&#039; side voltage supplied). With the TXS series, the &#039;A&#039; side is actually limited to a 1.4V - 3.6V range, so is inherently the 3.3V internal side.  Side &#039;B&#039; is 1.65V - 5.5V, so is used for the external 5V TTL level referenced (external facing) side.  So, if you&#039;re tying the active high OE pin of a TXS device (to permanently enable), it should be pulled to Vcca (not Vccb!). &lt;br /&gt;
&lt;br /&gt;
==== Expansion Slot pin-out ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Signal&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Side B&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Side A&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Signal&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A4&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B1&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A1&lt;br /&gt;
|&lt;br /&gt;
nRST&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B2&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A2&lt;br /&gt;
|&lt;br /&gt;
A5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A2&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A3&lt;br /&gt;
|&lt;br /&gt;
A6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A1&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B4&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A4&lt;br /&gt;
|&lt;br /&gt;
A7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A0&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B5&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A5&lt;br /&gt;
|&lt;br /&gt;
A8&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
CS_RAMn&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B6&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A6&lt;br /&gt;
|&lt;br /&gt;
OEn&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D0&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B7&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A7&lt;br /&gt;
|&lt;br /&gt;
D7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D1&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B8&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A8&lt;br /&gt;
|&lt;br /&gt;
D6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
3V3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B9&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A9&lt;br /&gt;
|&lt;br /&gt;
GND&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
GND&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B10&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A10&lt;br /&gt;
|&lt;br /&gt;
3V3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D2&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B11&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A11&lt;br /&gt;
|&lt;br /&gt;
D5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;; scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
Key Notch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B12&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A12&lt;br /&gt;
|&lt;br /&gt;
D4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
R/Wn&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B13&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A13&lt;br /&gt;
|&lt;br /&gt;
A9&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A17&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B14&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A14&lt;br /&gt;
|&lt;br /&gt;
A10&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A16&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B15&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A15&lt;br /&gt;
|&lt;br /&gt;
A11&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A15&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B16&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A16&lt;br /&gt;
|&lt;br /&gt;
A12&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A14&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B17&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A17&lt;br /&gt;
|&lt;br /&gt;
IRQn&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A13&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B18&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A18&lt;br /&gt;
|&lt;br /&gt;
PHI2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Expansion Slot - Signal Descriptions ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Signal&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Description&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
A0 - A17&lt;br /&gt;
|&lt;br /&gt;
Address Bus output (for addressing $100000 - $13FFFF Expansion space) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
D0 - D7&lt;br /&gt;
|&lt;br /&gt;
Data Bus (bi-directional) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
RSTn&lt;br /&gt;
|&lt;br /&gt;
Reset output (active low) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
CS_RAMn&lt;br /&gt;
|&lt;br /&gt;
Chip Select output for Address Range $100000 - $13FFFF (active low) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
OEn&lt;br /&gt;
|&lt;br /&gt;
Output Enable output for a Read from Address Range $100000 - $13FFFF (active low) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
3V3&lt;br /&gt;
|&lt;br /&gt;
3.3V Power output from the F256 (intended to power Expansion Interface only - &#039;&#039;&#039;Don&#039;t Exceed 500ma&#039;&#039;&#039;)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
GND&lt;br /&gt;
|&lt;br /&gt;
Digital Ground reference&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
R/Wn&lt;br /&gt;
|&lt;br /&gt;
Read/Write ouput (Read = high / Write = low)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
IRQn&lt;br /&gt;
|&lt;br /&gt;
Interrupt Request input - Internal pull-up and non-shared (compatible with open-drain or totem-pole driven) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
PHI2&lt;br /&gt;
|&lt;br /&gt;
Phase 2 - Clock Output&lt;/div&gt;</summary>
		<author><name>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=354</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=354"/>
		<updated>2024-05-27T19:38:47Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: Added initial F256k2 specs to the hardware comparison table. - gadget.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Hardware Overview and Comparison ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
F256Jr&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
F256K&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
F256K2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
CPU&lt;br /&gt;
|&lt;br /&gt;
WDC W65C02S&amp;lt;br/&amp;gt;&lt;br /&gt;
WDC W65C816S&amp;lt;br/&amp;gt;&lt;br /&gt;
Foenix FNX6809&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
WDC W65C02S&amp;lt;br/&amp;gt;&lt;br /&gt;
WDC W65C816S&amp;lt;br/&amp;gt;&lt;br /&gt;
Foenix FNX6809&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
WDC W65C816S&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (included in the FPGA)&amp;lt;br/&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
RAM&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB SRAM&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB SRAM&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Flash&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K Flash Modules&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K Flash Modules&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
512 KB&amp;lt;br/&amp;gt;&lt;br /&gt;
Optional 256K Flash Modules&amp;lt;br/&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Graphic Chip&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Audio&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (SN76489)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID socket&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID hardware emulation on board&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID hardware emulation on board&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br&amp;gt;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Connections&lt;br /&gt;
|&lt;br /&gt;
1 x DVI (digital &amp;amp; analog)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Commodore syle IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Serial Port Pin-Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-USB Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x SD Card Slot&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Joystick Atari style Pin-Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PIN-Header onboard for SNES/NES Joystick Connector Box&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Memory Expansion Slot (on Top)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
1 x DVI (digital &amp;amp; analog)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Commodore syle IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Serial Port DB9M / 1 x Serial Pin Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-USB Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x SD Card Slot&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Joystick Atari style DB9 Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-DIN9 for SNES/NES Joystick Connector Box&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Memory Expansion Slot (on Top)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Wifi Module ESP32 Feather (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
1 x HDMI (digital &amp;amp; analog)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Commodore syle IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (available over USB)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Mini-USB Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 12V / 2A, 2,5mm Barrel Connector&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SD Card Slot (1x internal, 1x external)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x Joystick Atari style Pin-Header&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PIN-Header onboard for SNES/NES Joystick Connector Box&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Memory Expansion Slot (on Top)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x JTAG Port for system updates (on bottom)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Wifi (Wiznet with external antenna connector)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Real Time Clock Battery CR2032 (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Ethernet (Wiznet Ethernet)&amp;lt;br&amp;gt;&lt;br /&gt;
2 x MIDI (1x in, 1x out)&amp;lt;br&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hardware 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;
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;br /&gt;
&lt;br /&gt;
=== Memory Expansion Slot ===&lt;br /&gt;
The memory expansion slot, located on the top right (above the keyboard), is intended primarily for Memory Expansion.  It provides Address lines A0 - A17 (for addressing 256K), and active low Chip Select signal (CS_RAM) and Ouput Enable (OE) for the 256K Expansion address range $100000 - $13FFFF.&lt;br /&gt;
&lt;br /&gt;
Foenix produce a 256K RAM Expansion cartridge, based on the CY7C1010DV33-10VXI, a high speed (10ns) 2Mbit (256K × 8) 3.3V Parallel Static RAM device.&lt;br /&gt;
&lt;br /&gt;
The Expansion Slot itself, is based on a 36 pin PCI-Express x1 socket.  &lt;br /&gt;
&lt;br /&gt;
As the Expansion Slot also features pins for IRQ input, PHI2 clock output, and Reset (all signals which are unnecessary for a simple Memory interface), the Expansion Slot is also a candidate for other expansion purposes.&lt;br /&gt;
&lt;br /&gt;
==== Utilising the Expension Slot (for your own purposes) ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warning:&#039;&#039;&#039; All signals on the Expansion Port are 3.3V logic level, therefore it is important that no voltage exceeding 3.3V is ever presented on any Expansion Port pin, or &#039;&#039;&#039;you risk damage&#039;&#039;&#039; to your F256!&lt;br /&gt;
&lt;br /&gt;
If interfacing 5V TTL level devices to the Expansion Port, it is essential that level converters are used.&lt;br /&gt;
&lt;br /&gt;
As an example, if directly interfacing to the Expansion Port pins with 5V logic, then you could use the SN74LVC8T245 bi-directional level translator, with the DIR input controlled by the Port&#039;s R/Wn signal (for the D0 - D7 bi-directional data bus), and the OEn input controlled by the Port&#039;s OEn signal.  For the uni-directional Address and Control lines, the DIR input can be hardwired.&lt;br /&gt;
&lt;br /&gt;
Note that the SN74LVC8T245 is designed so that the control pins (DIR and OE) are referenced to Vcca (&#039;A&#039; side voltage supplied). Therefore, a common practice would be to use side A for the internal (3.3V) side of the voltage translation, such that DIR and OE can be directly controlled by the Expansion Port&#039;s 3.3V level R/Wn and OEn pins.  Side B (and Vccb) then being the 5V TTL level referenced (external facing) side.  &lt;br /&gt;
&lt;br /&gt;
As another example, if you were interfacing directly to a 3.3V peripheral chip (e.g. A W65C22 VIA powered by Vdd = 3.3V), but wanting to level translate to 5V TTL levels on the VIA&#039;s Port Pins, then an auto-direction level translator like the TI TXS010x series (TXS0108, TXS0104, TXS0101), might be more appropriate. &lt;br /&gt;
  &lt;br /&gt;
Note that on the TXS010x series the control pin (OE) is also referenced to Vcca (&#039;A&#039; side voltage supplied). With the TXS series, the &#039;A&#039; side is actually limited to a 1.4V - 3.6V range, so is inherently the 3.3V internal side.  Side &#039;B&#039; is 1.65V - 5.5V, so is used for the external 5V TTL level referenced (external facing) side.  So, if you&#039;re tying the active high OE pin of a TXS device (to permanently enable), it should be pulled to Vcca (not Vccb!). &lt;br /&gt;
&lt;br /&gt;
==== Expansion Slot pin-out ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Signal&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Side B&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Side A&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Signal&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A4&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B1&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A1&lt;br /&gt;
|&lt;br /&gt;
nRST&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B2&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A2&lt;br /&gt;
|&lt;br /&gt;
A5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A2&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A3&lt;br /&gt;
|&lt;br /&gt;
A6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A1&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B4&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A4&lt;br /&gt;
|&lt;br /&gt;
A7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A0&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B5&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A5&lt;br /&gt;
|&lt;br /&gt;
A8&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
CS_RAMn&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B6&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A6&lt;br /&gt;
|&lt;br /&gt;
OEn&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D0&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B7&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A7&lt;br /&gt;
|&lt;br /&gt;
D7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D1&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B8&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A8&lt;br /&gt;
|&lt;br /&gt;
D6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
3V3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B9&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A9&lt;br /&gt;
|&lt;br /&gt;
GND&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
GND&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B10&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A10&lt;br /&gt;
|&lt;br /&gt;
3V3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D2&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B11&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A11&lt;br /&gt;
|&lt;br /&gt;
D5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
! colspan=&amp;quot;4&amp;quot;; scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
Key Notch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
D3&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B12&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A12&lt;br /&gt;
|&lt;br /&gt;
D4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
R/Wn&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B13&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A13&lt;br /&gt;
|&lt;br /&gt;
A9&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A17&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B14&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A14&lt;br /&gt;
|&lt;br /&gt;
A10&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A16&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B15&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A15&lt;br /&gt;
|&lt;br /&gt;
A11&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A15&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B16&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A16&lt;br /&gt;
|&lt;br /&gt;
A12&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A14&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B17&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A17&lt;br /&gt;
|&lt;br /&gt;
IRQn&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot; &lt;br /&gt;
| &lt;br /&gt;
A13&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
B18&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:center;&amp;quot; |&lt;br /&gt;
A18&lt;br /&gt;
|&lt;br /&gt;
PHI2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Expansion Slot - Signal Descriptions ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;; style=&amp;quot;text-align:left;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Signal&lt;br /&gt;
! scope=&amp;quot;row&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
Description&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
A0 - A17&lt;br /&gt;
|&lt;br /&gt;
Address Bus output (for addressing $100000 - $13FFFF Expansion space) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
D0 - D7&lt;br /&gt;
|&lt;br /&gt;
Data Bus (bi-directional) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
RSTn&lt;br /&gt;
|&lt;br /&gt;
Reset output (active low) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
CS_RAMn&lt;br /&gt;
|&lt;br /&gt;
Chip Select output for Address Range $100000 - $13FFFF (active low) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
OEn&lt;br /&gt;
|&lt;br /&gt;
Output Enable output for a Read from Address Range $100000 - $13FFFF (active low) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
3V3&lt;br /&gt;
|&lt;br /&gt;
3.3V Power output from the F256 (intended to power Expansion Interface only - &#039;&#039;&#039;Don&#039;t Exceed 500ma&#039;&#039;&#039;)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
GND&lt;br /&gt;
|&lt;br /&gt;
Digital Ground reference&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
R/Wn&lt;br /&gt;
|&lt;br /&gt;
Read/Write ouput (Read = high / Write = low)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
IRQn&lt;br /&gt;
|&lt;br /&gt;
Interrupt Request input - Internal pull-up and non-shared (compatible with open-drain or totem-pole driven) &lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;; style=&amp;quot;text-align:left;&amp;quot; |&lt;br /&gt;
PHI2&lt;br /&gt;
|&lt;br /&gt;
Phase 2 - Clock Output&lt;/div&gt;</summary>
		<author><name>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Software_for_6502&amp;diff=206</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=206"/>
		<updated>2024-01-17T06:57:10Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: /* Utilities */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Note that when an hex address is given, it&#039;s meant to instruct as to which address to bload or to send (ie foenixmgr python script) the program (ie a .bin file) to before running it.&lt;br /&gt;
&lt;br /&gt;
Many download links are posts in the main [https://discord.gg/9vjUEGgcUS Foenix Retro Systems discord server] which will require you to join in order to get to them.&lt;br /&gt;
&lt;br /&gt;
A [[Getting Started#Demos Archive|Demo Archive]] was put together in September 2023 to get ready to show to youtubers, some of these are linked once more, in this page.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s also the Foenix Marketplace website maintained by EMWhite with its own collection of articles and software http://apps.emwhite.org/foenixmarketplace/.  &lt;br /&gt;
&lt;br /&gt;
== Applications ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|F256-GraphicToolkit&lt;br /&gt;
|Sprite editor, Tilemap editor, Font editor + misc tools&lt;br /&gt;
|econtrerasd&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/econtrerasd/F256-GraphicToolkit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Demos ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|balls&lt;br /&gt;
|Draw a good quantity of multiplexed sprites, fast. Balls bouncing around&lt;br /&gt;
|celton&lt;br /&gt;
|pgz&lt;br /&gt;
|https://github.com/FoenixRetro/demos/blob/main/MultiplexedSprites.md&lt;br /&gt;
|-&lt;br /&gt;
|F256 Mandelbrot&lt;br /&gt;
|Draws Mandelbrot set fast (5 mins) using coprocessor math&lt;br /&gt;
|mgr42&lt;br /&gt;
|uses basic loader&lt;br /&gt;
|https://github.com/rmsk2/F256_Mandelbrot&lt;br /&gt;
|-&lt;br /&gt;
|F256ShowCase&lt;br /&gt;
|Shows sliding tiling graphics, moves with joystick&lt;br /&gt;
|eriktier&lt;br /&gt;
|$0000&lt;br /&gt;
|https://github.com/pig-games/F256Showcase&lt;br /&gt;
|-&lt;br /&gt;
|fnxmas23 &lt;br /&gt;
|PSG mod music, scrolling text, sound effects, must see demo!&lt;br /&gt;
|dwsJason and digarok&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discordapp.com/channels/691915291721990194/934618943400837130/1188633998663098398 if you have Dec23 FPGA load or newer&lt;br /&gt;
https://discordapp.com/channels/691915291721990194/934618943400837130/1188633118194794527 if you have an older FPGA load&lt;br /&gt;
|-&lt;br /&gt;
|foenixmas23&lt;br /&gt;
|Xmas 2023 demo with SID music from the classic 1983 C64 xmas demo&lt;br /&gt;
|EMWhite&lt;br /&gt;
|uses basic loader&lt;br /&gt;
|http://apps.emwhite.org/shared-files/815/?foenixmas23.zip&lt;br /&gt;
|-&lt;br /&gt;
|livingworlds&lt;br /&gt;
|Living Worlds, a port of a color cycling by Mark Ferrari, ported here on the F256 by haydenkale&lt;br /&gt;
|haydenkale&lt;br /&gt;
|$0000&lt;br /&gt;
|https://github.com/clandrew/livingworlds/tree/e4532e0d530b76ccb90368fdf5ad10bfa2deeb12&lt;br /&gt;
|-&lt;br /&gt;
|mandel&lt;br /&gt;
|Will draw a mandelbrot set in 3 hours, more useful as a stability test than a useful fractal program&lt;br /&gt;
|Mu0n&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/Mu0n/F256KbasicBASICdoodles?tab=readme-ov-file#fractal&lt;br /&gt;
|-&lt;br /&gt;
|wormhole&lt;br /&gt;
|Shows a fast wireframe animation of a wormhole&lt;br /&gt;
|haydenkale&lt;br /&gt;
|pgz or bin at $0000&lt;br /&gt;
|https://github.com/clandrew/wormhole?tab=readme-ov-file&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Games ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|Bombsweeper&lt;br /&gt;
|Bomb sweeper port&lt;br /&gt;
|beethead&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discord.com/channels/691915291721990194/855689509520932885/1196352934083035156&lt;br /&gt;
|-&lt;br /&gt;
|Cosmic&lt;br /&gt;
|Shoot &#039;em up&lt;br /&gt;
|beethead&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discordapp.com/channels/691915291721990194/1054250238308790342/1175982979537969214&lt;br /&gt;
|-&lt;br /&gt;
|F256 two to the power of eleven&lt;br /&gt;
|Port of the puzzle game of 2048&lt;br /&gt;
|mgr42&lt;br /&gt;
|$2500&lt;br /&gt;
|https://github.com/rmsk2/F256_2048&amp;lt;nowiki/&amp;gt;https://discordapp.com/channels/691915291721990194/1054250238308790342/1195738663565402112&lt;br /&gt;
|-&lt;br /&gt;
|Jr Wördl&lt;br /&gt;
|port of Wordle&lt;br /&gt;
|AgeAgeEye&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/ageageeye/Superbasic-F256Jr-examples&lt;br /&gt;
|-&lt;br /&gt;
|Ski-Jr&lt;br /&gt;
|Ski game downhill&lt;br /&gt;
|digarok&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/digarok/superbasic-traveler/blob/main/ski-jr.bas&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Music ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|EdInHisLib&lt;br /&gt;
|SID+OPL3 simultaneously&lt;br /&gt;
|beethead, ported from xantax&lt;br /&gt;
|pgz&lt;br /&gt;
|F256 port: https://discordapp.com/channels/691915291721990194/1054249926521016392/1184413356598231120&lt;br /&gt;
original: &amp;lt;nowiki&amp;gt;https://csdb.dk/release/?id=170898&amp;lt;/nowiki&amp;gt;. Not 100% accurate but close.&lt;br /&gt;
|-&lt;br /&gt;
|jrtracker&lt;br /&gt;
|Tracker based in basic and uses the PSG&lt;br /&gt;
|contrerasd&lt;br /&gt;
|basic&lt;br /&gt;
|https://ptb.discord.com/channels/691915291721990194/1008139105386889346/1188292876984143983&lt;br /&gt;
|-&lt;br /&gt;
|modo&lt;br /&gt;
|MOD player using the PSG&lt;br /&gt;
|dwsJason and digarok&lt;br /&gt;
|pgz&lt;br /&gt;
|https://discordapp.com/channels/691915291721990194/855689509520932885/1190723114661859429&lt;br /&gt;
|-&lt;br /&gt;
|piano&lt;br /&gt;
|Plays some PSG notes with the keyboard&lt;br /&gt;
|Mu0n&lt;br /&gt;
|basic&lt;br /&gt;
|https://github.com/Mu0n/F256KbasicBASICdoodles?tab=readme-ov-file#pulse-sound-generator-piano&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Utilities ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|wget&lt;br /&gt;
|fetches a file from a http address if you have a network connection active&lt;br /&gt;
|gadget&lt;br /&gt;
|pgz/flash&lt;br /&gt;
|https://github.com/ghackwrench/F256_wget&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Sample Code ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Program&lt;br /&gt;
!Description&lt;br /&gt;
!Author&lt;br /&gt;
!Notes on running&lt;br /&gt;
!Link&lt;br /&gt;
|-&lt;br /&gt;
|cc65 example&lt;br /&gt;
|c example code&lt;br /&gt;
|gadget&lt;br /&gt;
|read github&lt;br /&gt;
|https://github.com/ghackwrench/F256_Jr_Kernel_DOS&lt;br /&gt;
|-&lt;br /&gt;
|digarok basic stuff&lt;br /&gt;
|Lots of basic examples&lt;br /&gt;
|digarok&lt;br /&gt;
|read github&lt;br /&gt;
|https://github.com/digarok/superbasic-traveler/tree/main&lt;br /&gt;
|-&lt;br /&gt;
|Mu0n&#039;s F256K basic doodles&lt;br /&gt;
|Some basic examples&lt;br /&gt;
|Mu0n&lt;br /&gt;
|read github&lt;br /&gt;
|https://github.com/Mu0n/F256KbasicBASICdoodles&lt;br /&gt;
|-&lt;br /&gt;
|tcp example&lt;br /&gt;
|connects to a server and gets typed in text echoed back to you&lt;br /&gt;
|gadget&lt;br /&gt;
|$2000&lt;br /&gt;
|https://github.com/ghackwrench/F256_example_tcp&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=200</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=200"/>
		<updated>2024-01-14T20:50:53Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: /* SuperBASIC */&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>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=199</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=199"/>
		<updated>2024-01-14T20:50:27Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: &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: [https://www.youtube.com/playlist?list=PLeHjTvk7NPiSqGz4REMH-S4hjYpLS2YNR Full Playlist].&lt;/div&gt;</summary>
		<author><name>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC_Memory_Map&amp;diff=197</id>
		<title>SuperBASIC Memory Map</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC_Memory_Map&amp;diff=197"/>
		<updated>2024-01-14T20:47:46Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: Memory map, moved from Getting Started.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Memory Map under BASIC ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Caption text&lt;br /&gt;
|-&lt;br /&gt;
! Initial Address !! End Address !! Description !! Bytes&lt;br /&gt;
|-&lt;br /&gt;
| $0000|| -|| MMU Control Register || 1&lt;br /&gt;
|-&lt;br /&gt;
| $0001|| -|| I/O Control Register || 1&lt;br /&gt;
|-&lt;br /&gt;
| $0002|| $0007|| Free Zero Page Addresses || 6&lt;br /&gt;
|-&lt;br /&gt;
| $0008|| $000F|| MMU Control Addresses || 8&lt;br /&gt;
|-&lt;br /&gt;
| $0010|| $002F|| Free Zero Page Addresses || 32&lt;br /&gt;
|-&lt;br /&gt;
| $0030|| $003F|| Used Zero Page Addresses for (xx),Y Addressing || 16&lt;br /&gt;
|-&lt;br /&gt;
| $0040|| $0041 || Current Address on screen of start of line || 2&lt;br /&gt;
|-&lt;br /&gt;
| $0042|| $004F|| Avaliable Zero Page Addresses || 14&lt;br /&gt;
|-&lt;br /&gt;
| $0050|| $00AF|| Number / Floating Point Stack for 16 numbers || 96 &lt;br /&gt;
|-&lt;br /&gt;
| $00B0||$00EF|| Available Zero Page || 64&lt;br /&gt;
|-&lt;br /&gt;
| $00F0|| $00FF|| Kernel Arguments in Zero Page || 16&lt;br /&gt;
|-&lt;br /&gt;
| $0100|| $01FF|| Hardware Stack of 6502 || 256&lt;br /&gt;
|-&lt;br /&gt;
| $0200|| $0228|| Basic mini-Kernel memory || 40&lt;br /&gt;
|-&lt;br /&gt;
| $0229|| $03FF|| Available Low Memory | Also used by Sound Command in BASIC || 470&lt;br /&gt;
|-&lt;br /&gt;
| $0400|| $041F|| Control Storage first 8 bytes control syntax highlighting || 32&lt;br /&gt;
|-&lt;br /&gt;
| $0420|| $0814|| Memory Storage || 1012&lt;br /&gt;
|-&lt;br /&gt;
| $0814|| $0FFF|| Available Low Memory || 2027&lt;br /&gt;
|-&lt;br /&gt;
| $1000|| $1FFF|| SuperBASIC Identifier Tables, allocated memory, string vars, stack || 4kb&lt;br /&gt;
|-&lt;br /&gt;
| $2000|| $77FF|| SuperBASIC Program Tokenized Code (grows Upward) || 22kb&lt;br /&gt;
|-&lt;br /&gt;
| $7800|| $7FFF|| Top 2k of SuperBASIC Program tokenize code or used for ML routines in low memory || 2kb&lt;br /&gt;
|-&lt;br /&gt;
| $8000|| $BFFF|| SUPERBASIC CODE || 16kb&lt;br /&gt;
|-&lt;br /&gt;
| $C000|| $DFFF|| I/O Memory Pages / Underlying Kernel Code (Selectable with I/O control Register)|| 8kb&lt;br /&gt;
|-&lt;br /&gt;
| $E000|| $FFEF|| KERNEL CODE || 8176&lt;br /&gt;
|-&lt;br /&gt;
| $FFF0|| $FFFF|| Reset Vectors and NMI / IRQ / BRK Vectors || 16&lt;br /&gt;
|-&lt;br /&gt;
| $01:0000|| $02:2BFF|| Default Memory used by BASIC bitmap graphics || 75kb&lt;br /&gt;
|-&lt;br /&gt;
| $02:2C00|| $02:7FFF|| Available High Memory || 21kb&lt;br /&gt;
|-&lt;br /&gt;
| $02:8000|| $02:F000|| Available High Memory | Used for BASIC Cross Development w/PC or MAC|| 32k&lt;br /&gt;
|-&lt;br /&gt;
| $03:0000|| $03:7FFF|| Used for Sprite Data in BASIC || 32kb&lt;br /&gt;
|-&lt;br /&gt;
| $03:8000|| $03:FFFF|| Available High Memory | Unless not running from Flash, Used for ROM Images|| 32k&lt;br /&gt;
|-&lt;br /&gt;
| $04:0000|| $07:DFFF|| Available High Memory || 248kb&lt;br /&gt;
|-&lt;br /&gt;
| $07:E000|| $07:FFFF|| Available High Memory | Being considered to be Reserved for Environmental Variables || 8Kb&lt;br /&gt;
|-&lt;br /&gt;
| $10:0000|| $13:FFFF|| Cartridge Expanded Memory (addresable only by CPU) || 256kb&lt;br /&gt;
|-&lt;br /&gt;
| $14:0000|| $1F:FFFF|| Future Expansions? || 768kb&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>97.113.38.170</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=196</id>
		<title>SuperBASIC</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=SuperBASIC&amp;diff=196"/>
		<updated>2024-01-14T20:46:56Z</updated>

		<summary type="html">&lt;p&gt;97.113.38.170: Initial stand-alone SB page.&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>97.113.38.170</name></author>
	</entry>
</feed>