<?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=Foenix</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=Foenix"/>
	<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Special:Contributions/Foenix"/>
	<updated>2026-04-16T17:36:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=38246</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=38246"/>
		<updated>2025-10-09T23:32:46Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Protected &amp;quot;Main Page&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&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=How To|page=Main2/How_To}}&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=Utility Software|page=Main2/UtilitiesPage}}&lt;br /&gt;
{{NocatBox|subject=W65C816 Processor|page=Main2/65816_Processor}}&lt;br /&gt;
{{NocatBox|subject=FNX6809 Processor|page=Main2/FNX6809_Processor}}&lt;br /&gt;
{{NocatBox|subject=Game Development|page=Main2/Game_Development}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=38244</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=38244"/>
		<updated>2025-10-09T23:30:27Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Removed protection from &amp;quot;Main Page&amp;quot;&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=How To|page=Main2/How_To}}&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=Utility Software|page=Main2/UtilitiesPage}}&lt;br /&gt;
{{NocatBox|subject=W65C816 Processor|page=Main2/65816_Processor}}&lt;br /&gt;
{{NocatBox|subject=FNX6809 Processor|page=Main2/FNX6809_Processor}}&lt;br /&gt;
{{NocatBox|subject=Game Development|page=Main2/Game_Development}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Use_the_Core2x&amp;diff=38181</id>
		<title>Use the Core2x</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Use_the_Core2x&amp;diff=38181"/>
		<updated>2025-08-07T20:10:28Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Put in place link to a Linode Bucket to download the PDF File&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New Features Documentation for the Core2x for K2 and Jr2&lt;br /&gt;
&lt;br /&gt;
[https://256-foenix.us-east-1.linodeobjects.com/F256K2x_Cores%2FCore2x_ShortFormSpec_Aug7th.pdf Core2x_ShortForm_Documentation]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Use_the_Core2x&amp;diff=38161</id>
		<title>Use the Core2x</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Use_the_Core2x&amp;diff=38161"/>
		<updated>2025-07-12T08:37:25Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Introduction to the new page describing the feature of the Core2x for K2 and Jr2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;New Features Documentation for the Core2x for K2 and Jr2&lt;br /&gt;
&lt;br /&gt;
CPU @ 12Mhz&lt;br /&gt;
&lt;br /&gt;
SRAM Bus @ 16bits Wide&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bit Definition $0000&lt;br /&gt;
&lt;br /&gt;
Bit Definition $0001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Memory Text Mode&lt;br /&gt;
&lt;br /&gt;
Line Drawing&lt;br /&gt;
&lt;br /&gt;
DMA Modes&lt;br /&gt;
&lt;br /&gt;
Floating-Point Module&lt;br /&gt;
&lt;br /&gt;
Sprites Expansion&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/How_To&amp;diff=38160</id>
		<title>Template:Main2/How To</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/How_To&amp;diff=38160"/>
		<updated>2025-07-11T07:22:54Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Add a new page to describe the functionality of the Core2x&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;How To Program these Devices&#039;&#039;&#039;&lt;br /&gt;
* [[Use the CODEC]]&lt;br /&gt;
* [[Use the K2 LCD]]&lt;br /&gt;
* [[Use the LEDs]]&lt;br /&gt;
* [[Use the PS/2 Mouse]]&lt;br /&gt;
* [[Use the PSG]]&lt;br /&gt;
* [[Use the Sam2695 Dream MIDI chip]]&lt;br /&gt;
* [[Use the SNES/NES controllers]]&lt;br /&gt;
* [[Use the VS1053b chip]]&lt;br /&gt;
* [[Use the Core2x]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Use_Core2x&amp;diff=38159</id>
		<title>Use Core2x</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Use_Core2x&amp;diff=38159"/>
		<updated>2025-07-11T07:17:36Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Created page with &amp;quot;== How to use the New Core2x ==  The Codec chip is a way to mix and match audio signals together for their single audio output (headphones, RCA jacks).  Its datasheet can be found in the goodies github repo: https://github.com/Mu0n/F256MiscGoodies/blob/main/datasheets/WM8776_v4.1-532420.pdf  === Codec Registers ===  {| class=&amp;quot;wikitable&amp;quot; ! Address !! R/W !! B7 !! B6 !! B5 !! B4 !! B3 !! B2 !! B1 !! B0 !! Purpose |- | 0xD620 || W|| D7|| D6|| D5|| D4|| D3|| D2|| D1|| D0|| C...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How to use the New Core2x ==&lt;br /&gt;
&lt;br /&gt;
The Codec chip is a way to mix and match audio signals together for their single audio output (headphones, RCA jacks).&lt;br /&gt;
&lt;br /&gt;
Its datasheet can be found in the goodies github repo: https://github.com/Mu0n/F256MiscGoodies/blob/main/datasheets/WM8776_v4.1-532420.pdf&lt;br /&gt;
&lt;br /&gt;
=== Codec Registers ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Address !! R/W !! B7 !! B6 !! B5 !! B4 !! B3 !! B2 !! B1 !! B0 !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| 0xD620 || W|| D7|| D6|| D5|| D4|| D3|| D2|| D1|| D0|| Command Low&lt;br /&gt;
|-&lt;br /&gt;
| 0xD621 || W || R6|| R5|| R4|| R3|| R2|| R1|| R0|| D8|| Command High&lt;br /&gt;
|-&lt;br /&gt;
| 0xD622 || R|| X|| X|| X|| X|| X|| X|| X|| Busy|| Status&lt;br /&gt;
|-&lt;br /&gt;
| 0xD622 || W|| X|| X|| X|| X|| X|| X|| X|| Start|| Control&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== How to enable (unmute) every sound device ===&lt;br /&gt;
&lt;br /&gt;
* Loop-read 0xD622 and wait until bit0 is set to 1&lt;br /&gt;
* Send 0x1F to Command Low at 0xD620&lt;br /&gt;
* Send 0x2A to Command High at 0xD621&lt;br /&gt;
* Loop-read 0xD622 and wait until bit0 is set to 1&lt;br /&gt;
&lt;br /&gt;
=== Audio input devices on the various machines ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! CODEC inputs !! F256Jr !! F256K !! F256K2 !! F256Jr2&lt;br /&gt;
|-&lt;br /&gt;
| AIN1|| SID|| SID|| SAM2695 MIDI|| SAM2695 MIDI&lt;br /&gt;
|-&lt;br /&gt;
| AIN2|| Line in onboard header || OPL3|| MIDI wavetable|| &lt;br /&gt;
|-&lt;br /&gt;
| AIN3|| || || PWM|| PWM&lt;br /&gt;
|-&lt;br /&gt;
| AIN4|| || || VS1053b|| VS1053b&lt;br /&gt;
|-&lt;br /&gt;
| AIN5|| || Line in onboard header|| Line in onboard header|| Line in onboard header&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38136</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38136"/>
		<updated>2025-06-25T09:23:05Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* MID codes for machine identification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 is unused for this process.&lt;br /&gt;
&lt;br /&gt;
Bit 7 has been dedicated for the 2x CPU speed cores. When set, it indicates the CPU runs at 12 MHz.&lt;br /&gt;
&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;
!Bit7&lt;br /&gt;
!Bit6&lt;br /&gt;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;(0x82) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. MMU &amp;amp; Ext (816 Only) with 2x speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;(0x22) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;(0xA2) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with MMU &amp;amp; Ext (816 Only) 2x Speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11 (0x91)&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with MMU &amp;amp; Ext x2 CPU Core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12 (0x92)&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with MMU &amp;amp; Ext (816 Only) x2 CPU&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0x18&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;68000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;F256K2 with 68K Core (FA2560K2) $$$&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38135</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38135"/>
		<updated>2025-06-25T08:37:02Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* MID codes for machine identification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 is unused for this process.&lt;br /&gt;
&lt;br /&gt;
Bit 7 has been dedicated for the 2x CPU speed cores. When set, it indicates the CPU runs at 12 MHz.&lt;br /&gt;
&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;
!Bit7&lt;br /&gt;
!Bit6&lt;br /&gt;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;(0x82) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. MMU &amp;amp; Ext (816 Only) with 2x speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;(0x22) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;(0xA2) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with MMU &amp;amp; Ext (816 Only) 2x Speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0x18&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;68000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;F256K2 with 68K Core (FA2560K2) $$$&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38134</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38134"/>
		<updated>2025-06-25T08:35:56Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* MID codes for machine identification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 is unused for this process.&lt;br /&gt;
&lt;br /&gt;
Bit 7 has been dedicated for the 2x CPU speed cores. When set, it indicates the CPU runs at 12 MHz.&lt;br /&gt;
&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;
!Bit7&lt;br /&gt;
!Bit6&lt;br /&gt;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;(0x82) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. Classic MMU &amp;amp; Ext with 2x speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;(0x22) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;(0xA2) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816) 2x Speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0x18&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;68000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;F256K2 with 68K Core (FA2560K2) $$$&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38133</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38133"/>
		<updated>2025-06-25T08:32:33Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* MID codes for machine identification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 is unused for this process.&lt;br /&gt;
&lt;br /&gt;
Bit 7 has been dedicated for the 2x CPU speed cores. When set, it indicates the CPU runs at 12 MHz.&lt;br /&gt;
&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;
!Bit7&lt;br /&gt;
!Bit6&lt;br /&gt;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;(0x82) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. Classic MMU &amp;amp; Ext with 2x speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;(0x22) 0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0x18&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;68000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;F256K2 with 68K Core (FA2560K2) $$$&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38131</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=38131"/>
		<updated>2025-06-22T07:59:27Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* MID codes for machine identification */ Update the Jr Entry for the new 12Mhz 816 Core&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 is unused for this process.&lt;br /&gt;
&lt;br /&gt;
Bit 7 has been dedicated for the 2x CPU speed cores. When set, it indicates the CPU runs at 12 MHz.&lt;br /&gt;
&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;
!Bit7&lt;br /&gt;
!Bit6&lt;br /&gt;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. Classic MMU &amp;amp; Ext with 2x speed&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0x18&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;68000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;F256K2 with 68K Core (FA2560K2) $$$&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
| -&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=37989</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=37989"/>
		<updated>2025-03-07T00:18:57Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 to 7 are unused for this process.&lt;br /&gt;
&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;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0x18&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;68000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;F256K2 with 68K Core (FA2560K2) $$$&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=37988</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=37988"/>
		<updated>2025-03-07T00:18:32Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 to 7 are unused for this process.&lt;br /&gt;
&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;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;1&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;0x18&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;&#039;&#039;68000&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;F256K2 with 68K Core (FA2560K2) $$$&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=37987</id>
		<title>MID codes for machine identification</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=MID_codes_for_machine_identification&amp;diff=37987"/>
		<updated>2025-03-07T00:17:21Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Introduction of a new MID (an upcoming core)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MID codes for machine identification ==&lt;br /&gt;
These are useful in order to support the different machines within the F256 class of machines, as they don&#039;t have the exact same devices, sound options and whatnot. For a detailed list of what is supposed to be available, read on this page [[Hardware| on hardware details]].  &lt;br /&gt;
Additionally, the specific FPGA core that is currently running will affect the following ID that is found in this table. For completeness, other computers from the Foenix Retro Systems are included, but they are not otherwise covered in this wiki you&#039;re currently reading. The current wiki tries to cover the F256Jr., F256K, F256 Jr.Jr. and F256K2. For all other computers mentioned in this table, you can refer to the older wiki found at [[https://wiki.c256foenix.com/index.php?title=Main_Page | wiki.c256foenix.com]].&lt;br /&gt;
&lt;br /&gt;
To get one of the following Machine ID, check the read-only register address of 0xD6A7 and check bits from 0 to 4. Initially, a 0x1F mask was applied to the value read from 0xD6A7.&lt;br /&gt;
&lt;br /&gt;
However, bit 5 was recently added to account for some cores of the Jr.2 so that they are different from the equivalent of the original Jr. Bits 6 to 7 are unused for this process.&lt;br /&gt;
&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;
!Bit5&lt;br /&gt;
!Bit4&lt;br /&gt;
!Bit3&lt;br /&gt;
!Bit2&lt;br /&gt;
!Bit1&lt;br /&gt;
!Bit0&lt;br /&gt;
!Hex using 0x1F mask&lt;br /&gt;
!CPU&lt;br /&gt;
!Machine&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x00&lt;br /&gt;
|65816&lt;br /&gt;
|C256 FMX&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x01&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. with classic mmu&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr. extended memory map&#039;&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x02&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with classic mmu (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x03&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with extended memory map (65816)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x1A&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256 Jr.Jr. with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x04&lt;br /&gt;
|65816&lt;br /&gt;
|Gen X&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x05&lt;br /&gt;
|65816&lt;br /&gt;
|C256 U+ (4M SRAM)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x06&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x07&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x08&lt;br /&gt;
|68xx0xx&lt;br /&gt;
|A2560 X (GenX 32Bits Side)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x09&lt;br /&gt;
|68EC000&lt;br /&gt;
|A2560 U+&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0A&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 M (launch in 2025)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0B&lt;br /&gt;
|68040RC25V&lt;br /&gt;
|A2560 K (classic)&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x0C&lt;br /&gt;
|68040FE33V&lt;br /&gt;
|A2560 K40&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x0D&lt;br /&gt;
|68LC060&lt;br /&gt;
|A2560 K60&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0x0E&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x0F&lt;br /&gt;
|&lt;br /&gt;
|Undefined&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x10&lt;br /&gt;
|65816&lt;br /&gt;
|F256P (future portable?)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x11&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816/6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with classic mmu map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x13&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6502/65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;65816&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with extended map&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x15&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;0x16&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;6809&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;F256K2 with 6809 core&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0x17&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|0x18&lt;br /&gt;
|68K&lt;br /&gt;
|F256K2 with 68K Core (FA2560K2) $$$&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|1 &lt;br /&gt;
|1&lt;br /&gt;
|0&lt;br /&gt;
|0&lt;br /&gt;
|1&lt;br /&gt;
|0x19&lt;br /&gt;
|&lt;br /&gt;
|Reserved&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
=== Additional registers for machine information ===&lt;br /&gt;
&lt;br /&gt;
Note that these are all read-only registers.&lt;br /&gt;
&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;
!Address&lt;br /&gt;
!Name&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A8&lt;br /&gt;
|PCBID0&lt;br /&gt;
|ASCII character 0: &amp;quot;B&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6A9&lt;br /&gt;
|PCBID1&lt;br /&gt;
|ASCII character 0: &amp;quot;0&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AA&lt;br /&gt;
|CHSV0&lt;br /&gt;
|TinyVicky subversion in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AB&lt;br /&gt;
|CHSV1&lt;br /&gt;
|TinyVicky subversion in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AC&lt;br /&gt;
|CHV0&lt;br /&gt;
|TinyVicky version in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AD&lt;br /&gt;
|CHV1&lt;br /&gt;
|TinyVicky version in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AE&lt;br /&gt;
|CHN0&lt;br /&gt;
|TinyVicky number in BCD (low)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6AF&lt;br /&gt;
|CHN1&lt;br /&gt;
|TinyVicky number in BCD (high)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EB&lt;br /&gt;
|PCBMA&lt;br /&gt;
|PCB Major Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EC&lt;br /&gt;
|PCBMB&lt;br /&gt;
|PCB Minor Rev (ASCII)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6ED&lt;br /&gt;
|PCBD&lt;br /&gt;
|PCB Day (BCD - Binary Coded Decimal)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EE&lt;br /&gt;
|PCBM&lt;br /&gt;
|PCB Month (BCD)&lt;br /&gt;
|-&lt;br /&gt;
|0xD6EF&lt;br /&gt;
|PCBY&lt;br /&gt;
|PCB Year (BCD)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Special case of the F256K2 optical keyboard with a small LCD screen ===&lt;br /&gt;
&lt;br /&gt;
Since the machine can lock up if you try to access the case-embedded LCD screen found (so far) only on the F256K2 with an optical keyboard, you must test a special bit in order to find whether it is an older style mechanical keyboard, or the newer style optical keyboard. &lt;br /&gt;
All K2 at release in 2025 and on have them, so for those, testing the machine MID code would be enough.&lt;br /&gt;
However, there are K2b boards released in late 2024 which were meant to give early access to the K2 machines, but they were meant to be temporarily used in the older F256K cases that have mechanical keyboards. Therefore, this following test must be performed to avoid locking up a machine that would attempt to access a non-present case embedded LCD. &lt;br /&gt;
&lt;br /&gt;
Poll address 0xDDC1 and test bit 1 (second to last least significant bit). &lt;br /&gt;
&lt;br /&gt;
If bit1 is set to 1 (ie 0bxxxxxx1x), the keyboard is mechanical and the embedded LCD is not available. &lt;br /&gt;
&lt;br /&gt;
If bit1 is cleared to 0 (ie 0bxxxxxx0x), the keyboard is optical and the embedded LCD is available.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37900</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37900"/>
		<updated>2025-01-14T12:32:39Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!&lt;br /&gt;
F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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;
onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2MB SRAM (1Mx16) On Board (could be limited by Core)&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;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|&lt;br /&gt;
512 KB Per Context (4x Contexts)&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 II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1x OPL3 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt;&lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt; &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt; &lt;br /&gt;
VS1053b&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 Micro HDMI (Digital TMDS)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 Wifi (Wiznet with external antenna connector)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Real Time Clock Battery CR1225 (internal)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37897</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37897"/>
		<updated>2025-01-13T22:05:56Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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;
onboard TQFP – WDC W65C816 CPU&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;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2MB SRAM (1Mx16) On Board (could be limited by Core)&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;&lt;br /&gt;
Optional 256K RAM expansion module available&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|&lt;br /&gt;
512 KB Per Context (4x Contexts)&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 II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1x OPL3 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt;&lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt; &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt; &lt;br /&gt;
VS1053b&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 Micro HDMI (Digital TMDS)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37896</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37896"/>
		<updated>2025-01-13T22:04:13Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|&lt;br /&gt;
512 KB Per Context (4x Contexts)&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 II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1x OPL3 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt;&lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt; &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt; &lt;br /&gt;
VS1053b&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 Micro HDMI (Digital TMDS)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37895</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37895"/>
		<updated>2025-01-13T22:03:25Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|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 Per Context (4x Contexts)&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 II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1x OPL3 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt;&lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt; &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt; &lt;br /&gt;
VS1053b&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 Micro HDMI (Digital TMDS)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37894</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37894"/>
		<updated>2025-01-13T22:02:50Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|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 Per Context (4x Contexts)&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;
|TinyVicky II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1x OPL3 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt;&lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt; &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt; &lt;br /&gt;
VS1053b&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 Micro HDMI (Digital TMDS)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37893</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37893"/>
		<updated>2025-01-13T22:00:53Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|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 Per Context (4x Contexts)&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;
|TinyVicky II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&lt;br /&gt;
2x SID (FPGA Emulation)&lt;br /&gt;
&lt;br /&gt;
OPL3 (FPGA Emulation)&lt;br /&gt;
&lt;br /&gt;
CODEC&lt;br /&gt;
&lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt; &lt;br /&gt;
VS1053b&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 Micro HDMI (Digital TMDS)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37892</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37892"/>
		<updated>2025-01-13T22:00:03Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br/&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|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 Per Context (4x Contexts)&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;
|TinyVicky II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&lt;br /&gt;
2x SID (FPGA Emulation)&lt;br /&gt;
&lt;br /&gt;
OPL3 (FPGA Emulation)&lt;br /&gt;
&lt;br /&gt;
CODEC&lt;br /&gt;
&lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br/&amp;gt; &lt;br /&gt;
VS1053b&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;
|1 x Micro HDMI (Digital TMDS)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37891</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37891"/>
		<updated>2025-01-13T21:57:54Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br /&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|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 Per Context (4x Contexts)&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;
|TinyVicky II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&lt;br /&gt;
2x SID (FPGA Emulation)&lt;br /&gt;
&lt;br /&gt;
OPL3 (FPGA Emulation)&lt;br /&gt;
&lt;br /&gt;
CODEC&lt;br /&gt;
&lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;2 x SID (FPGA Emulation)&amp;lt;br /&amp;gt;&lt;br /&gt;
OPL3  (FPGA Emulation)&amp;lt;br /&amp;gt;&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&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;
|1 x Micro HDMI (Digital TMDS)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37890</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37890"/>
		<updated>2025-01-13T21:57:22Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br /&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|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 Per Context (4x Contexts)&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;
|TinyVicky II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&lt;br /&gt;
2x SID (FPGA Emulation)&lt;br /&gt;
&lt;br /&gt;
OPL3 (FPGA Emulation)&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;2 x SID (FPGA Emulation)&amp;lt;br /&amp;gt;&lt;br /&gt;
OPL3  (FPGA Emulation)&amp;lt;br /&amp;gt;&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&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;
|1 x Micro HDMI (Digital TMDS)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37889</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=37889"/>
		<updated>2025-01-13T21:56:27Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Updating the JrJr Spec sheet&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;
!F256Jr the 2nd (&amp;quot;Jr.Jr.&amp;quot;)&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;
|onboard TQFP – WDC W65C816 CPU&amp;lt;br /&amp;gt;&lt;br /&gt;
Motorola 6809 (optional FPGA configuration)&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 (included in the FPGA)&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;
|2MB SRAM (1Mx16) On Board (could be limited by Core)&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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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;
|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 Per Context (4x Contexts)&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;
|TinyVicky II&lt;br /&gt;
|&lt;br /&gt;
TinyVicky&lt;br /&gt;
|&lt;br /&gt;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&lt;br /&gt;
2x SID (FPGA Emulation)&lt;br /&gt;
OPL3 (FPGA Emulation)&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;2 x SID (FPGA Emulation)&amp;lt;br /&amp;gt;&lt;br /&gt;
OPL3  (FPGA Emulation)&amp;lt;br /&amp;gt;&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br /&amp;gt;&lt;br /&gt;
SAM2695&amp;lt;br /&amp;gt; &lt;br /&gt;
VS1053b&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;
|1 x Micro HDMI (Digital TMDS)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x PS2 (Mouse / External Keyboard)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x RCA Line Out (3.5mm)&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x virtual Serial Port (USB-C (1 of 4 Channel))&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) Debug Port&amp;lt;br /&amp;gt;&lt;br /&gt;
1 x Power 5V through USB-C&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 Through the Expansion Connector&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 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;
2 x MIDI (1x in, 1x out) through the Expansion Connector&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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== PS/2 Wiring Diagram for F256Jr ===&lt;br /&gt;
[[File:F256 Jr PS2 Wiring Diagram.png|left|thumb|PS/2 Wiring Diagram for F256Jr]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Emulation&amp;diff=37812</id>
		<title>Emulation</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Emulation&amp;diff=37812"/>
		<updated>2024-12-28T01:17:51Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== &#039;&#039;&#039;FoenixIDE&#039;&#039;&#039; ===&lt;br /&gt;
The FoenixIDE provides emulation of various Foenix Retro Systems including,&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!System&lt;br /&gt;
!Descripton&lt;br /&gt;
|-&lt;br /&gt;
|F256K(816)&lt;br /&gt;
|The F256K computer with integrated keyboard and WDC65C816 processor.&lt;br /&gt;
|-&lt;br /&gt;
|F256K&lt;br /&gt;
|The F256K computer with integrated keyboard and WDC65C02 processor.&lt;br /&gt;
|-&lt;br /&gt;
|Jr(816)&lt;br /&gt;
|The F256 Jr. computer with a WDC65C816 processor.&lt;br /&gt;
|-&lt;br /&gt;
|Jr&lt;br /&gt;
|The F256 Jr. computer with a WDC65C02 processor.&lt;br /&gt;
|-&lt;br /&gt;
|U+&lt;br /&gt;
|The C256 Foenix U+ (4Meg RAM Config) - Legacy&lt;br /&gt;
|-&lt;br /&gt;
|U&lt;br /&gt;
|The C256 Foenix U (2Meg RAM Config) - Legacy&lt;br /&gt;
|-&lt;br /&gt;
|C&lt;br /&gt;
|The C256 Foenix FMX - Legacy&lt;br /&gt;
|-&lt;br /&gt;
|B&lt;br /&gt;
|The C256 Foenix (original) - Legacy&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===  &#039;&#039;&#039;Installation&#039;&#039;&#039; ===&lt;br /&gt;
The current Windows installation file (FoenixIDE.Setup.msi) and source code can be found here, &lt;br /&gt;
&#039;&#039;&#039;https://github.com/Trinity-11/FoenixIDE/releases&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just a test for Captcha system&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Use_the_VS1053b_chip&amp;diff=539</id>
		<title>Use the VS1053b chip</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Use_the_VS1053b_chip&amp;diff=539"/>
		<updated>2024-11-14T11:29:00Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Try to make things a bit cleater&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Massive cleanup has to be done, code has to be tried.&lt;br /&gt;
Here&#039;s an info dump straight from discord&lt;br /&gt;
&lt;br /&gt;
normally, let&#039;s assume we begin with a playback of a MP3, you read the file and you will need to dump like a 2K in before it tells you to stop. But, the FIFO inside the FPGA is also 2K, so in theory before things get ugly, you can upload in the MP3 playback system 2K+2K bytes, which ought to be enough to get it going. Now, if you monitor the FPGA FIFO info when empty you can put more in. Normally, after the VS1053 queue is full, it only need 32 bytes at the time and the FPGA takes care of that. Now, basically need to make sure the FPGA FIFO is topped off. Now, when come to end, you will need to fill extra bytes with 00 to empty the VS1053 Fifo and then the tune will end.&lt;br /&gt;
&lt;br /&gt;
Now, the tricky parts is when one needs to stop the sound, there is also a process of filling the FIFO with 00 to cleanse the MP3 pipe. The specs talks about that.&lt;br /&gt;
&lt;br /&gt;
This is as far as I went, now, I believe that if someone wants to play oggs and shit like that the controller need to be updated with new code since there are some issues in the latest tape out of the chip because remember people this is a DSP that actually can be programmed. There is actually an app note on how to use it to come out with Histogramic data (VUE bar app, with small LCD? anybody picking up on that? LOL) for one&#039;s pleasure&lt;br /&gt;
&lt;br /&gt;
This is in a nutshell the process to playback stuff.&lt;br /&gt;
Here is the Register File Details for the VS1053 interface:&lt;br /&gt;
&lt;br /&gt;
$D700..$D707&lt;br /&gt;
&lt;br /&gt;
    case( CPU_A_i[2:0] )&lt;br /&gt;
        3&#039;b000: begin CPU_D_o = {Busy, VS1053B_Registers[0][6:0]}; end &lt;br /&gt;
        3&#039;b001: begin CPU_D_o = VS1053B_Registers[1]; end &lt;br /&gt;
        3&#039;b010: begin CPU_D_o = VS1053B_Command_Read[7:0]; end &lt;br /&gt;
        3&#039;b011: begin CPU_D_o = VS1053B_Command_Read[15:8]; end &lt;br /&gt;
        3&#039;b100: begin CPU_D_o = Data_FIFO_Count[7:0]; end&lt;br /&gt;
        3&#039;b101: begin CPU_D_o = {VS1053B_FIFO_Empty, VS1053B_FIFO_Full, 3&#039;b000, Data_FIFO_Count[10:8]}; end&lt;br /&gt;
        3&#039;b110: begin CPU_D_o = 8&#039;h00; end &lt;br /&gt;
        3&#039;b111: begin CPU_D_o = 8&#039;h00; end&lt;br /&gt;
    endcase&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VS1053B_Registers[0] - Bit Fields: ($D700..$D703)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[0] 1: Start Transfer&lt;br /&gt;
&lt;br /&gt;
[1] 1: Read Register, 0: Write Register&lt;br /&gt;
&lt;br /&gt;
[7] 1: SPI Transfer in Progress [Busy]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VS1053B_Registers[1]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
[3:0]  Register to Address&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VS1053B_Registers[2] Data Access Low&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VS1053B_Registers[3] Data Access Hi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are 2 Accessible Area for the VS1053&lt;br /&gt;
The Control/Register Section with 16bits wide Data and 16 Addresses (See specs)&lt;br /&gt;
The Other is the Data(Stream) Port, there is no Address and it is 8bits&lt;br /&gt;
&lt;br /&gt;
When one wants to control the chip, one need to setup the address and data (for write) and address for read, one needs to setup the direction and when everything is ready, one needs to trigger the transaction.&lt;br /&gt;
When one needs to write file data for playback, one needs only to write data to FIFO port @ $D704 and monitor FIFO @ $D705/$D706 &lt;br /&gt;
Here is a piece of code, not the best, prolly not the most kosher either, but that ought to get you started.&lt;br /&gt;
I am simply playing back a very tiny sound effect (small enough to fit in the memory so not much to play back)&lt;br /&gt;
&lt;br /&gt;
MP3_Playing: &lt;br /&gt;
&lt;br /&gt;
                lda #$42&lt;br /&gt;
                sta $d702   ; Set the Stream mode&lt;br /&gt;
                lda #$48&lt;br /&gt;
                sta $d703&lt;br /&gt;
                lda #$21    ; Start Transaction&lt;br /&gt;
                sta $d700&lt;br /&gt;
                lda #$20    ; Return to Zero&lt;br /&gt;
                sta $d700 &lt;br /&gt;
&lt;br /&gt;
;                lda #$00&lt;br /&gt;
;                sta $d702&lt;br /&gt;
;                sta $d703&lt;br /&gt;
;                lda #$23    ; Go read the Command Register&lt;br /&gt;
;                sta $d700 &lt;br /&gt;
;                lda $d702 &lt;br /&gt;
;                lda $d703&lt;br /&gt;
&lt;br /&gt;
                ldx #$00&lt;br /&gt;
VS_Pause:                &lt;br /&gt;
                inx &lt;br /&gt;
                cpx #$80&lt;br /&gt;
                bne VS_Pause&lt;br /&gt;
&lt;br /&gt;
                lda #$80&lt;br /&gt;
                sta $00     ; Let&#039;s enable the MMU Edit, keep the MMU 00 in play&lt;br /&gt;
                lda #$08    ; Bring about the first 8K &lt;br /&gt;
                sta $0D     ; It starts @ $08 == page 0&lt;br /&gt;
&lt;br /&gt;
                setaxl &lt;br /&gt;
&lt;br /&gt;
                ldx #$0000&lt;br /&gt;
                ldy #$0000&lt;br /&gt;
; Go Fill the FIFO&lt;br /&gt;
                setas&lt;br /&gt;
MP3_Fill_FIFO:  ;lda @l MP3_Music,x &lt;br /&gt;
                lda $A000,x&lt;br /&gt;
                sta VS1053_STREAM_DATA      ; THere is 2K FIFO&lt;br /&gt;
                inx &lt;br /&gt;
                iny &lt;br /&gt;
                cpy #$0800                  ; Fill 2K&lt;br /&gt;
                bne MP3_Fill_FIFO&lt;br /&gt;
&lt;br /&gt;
MP3_Fill_FIFO_Wait:&lt;br /&gt;
                ldy #$0000&lt;br /&gt;
                lda VS1053_FIFO_COUNT_HI    ; Load High Portion is monitor for &lt;br /&gt;
                and #$80&lt;br /&gt;
                cmp #$80&lt;br /&gt;
                bne MP3_Fill_FIFO_Wait&lt;br /&gt;
&lt;br /&gt;
                cpx #$2000&lt;br /&gt;
                bne MP3_Fill_FIFO&lt;br /&gt;
                ldx #$0000&lt;br /&gt;
&lt;br /&gt;
                lda $0D&lt;br /&gt;
                inc A&lt;br /&gt;
                sta $0D &lt;br /&gt;
                cmp #$0c &lt;br /&gt;
                bne MP3_Fill_FIFO&lt;br /&gt;
&lt;br /&gt;
                lda #$05&lt;br /&gt;
                sta $0D&lt;br /&gt;
MP3_We_are_Done:&lt;br /&gt;
                setaxs &lt;br /&gt;
                rts&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256K2&amp;diff=509</id>
		<title>Template:Specs/F256K2</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256K2&amp;diff=509"/>
		<updated>2024-10-25T04:05:46Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:F256K2 - Specs - OneSheeter RevB1.png|thumb|center|Spec Sheet for the F256K2]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=File:F256K2_-_Specs_-_OneSheeter_RevB1.png&amp;diff=508</id>
		<title>File:F256K2 - Specs - OneSheeter RevB1.png</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=File:F256K2_-_Specs_-_OneSheeter_RevB1.png&amp;diff=508"/>
		<updated>2024-10-25T04:05:21Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;One Sheet Spec For the F256K2&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256JR2&amp;diff=507</id>
		<title>Template:Specs/F256JR2</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256JR2&amp;diff=507"/>
		<updated>2024-10-25T04:01:53Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:F256JR2 - Specs - OneSheeter RevA.png|thumb|center|F256Jr.Jr. Spec Sheets]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256JR2&amp;diff=506</id>
		<title>Template:Specs/F256JR2</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256JR2&amp;diff=506"/>
		<updated>2024-10-25T04:00:48Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Created page with &amp;quot;F256Jr.Jr. Spec Sheets&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:F256JR2 - Specs - OneSheeter RevA.png|thumb|F256Jr.Jr. Spec Sheets]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=File:F256JR2_-_Specs_-_OneSheeter_RevA.png&amp;diff=505</id>
		<title>File:F256JR2 - Specs - OneSheeter RevA.png</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=File:F256JR2_-_Specs_-_OneSheeter_RevA.png&amp;diff=505"/>
		<updated>2024-10-25T04:00:24Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;One Sheet Specifications for the Jr.Jr.&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Product_Specifications&amp;diff=504</id>
		<title>Product Specifications</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Product_Specifications&amp;diff=504"/>
		<updated>2024-10-25T03:56:37Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Adding the Jr.Jr. In the lineup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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=F256 Jr.|page=Specs/F256Jr }}&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=F256K|page=Specs/F256K}}&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;!-- Third column --&amp;gt;&lt;br /&gt;
{{NocatBox|subject=F256K2|page=Specs/F256K2}}&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;!-- Fourth column --&amp;gt;&lt;br /&gt;
{{NocatBox|subject=F256JR2|page=Specs/F256JR2}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=CartFlasher&amp;diff=458</id>
		<title>CartFlasher</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=CartFlasher&amp;diff=458"/>
		<updated>2024-08-28T04:07:09Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Created page with &amp;quot;https://discord.com/channels/691915291721990194/1054250056703815680/1228540690691260416&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://discord.com/channels/691915291721990194/1054250056703815680/1228540690691260416&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/UtilitiesPage&amp;diff=457</id>
		<title>Template:Main2/UtilitiesPage</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/UtilitiesPage&amp;diff=457"/>
		<updated>2024-08-28T04:04:31Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Utility Software&#039;&#039;&#039;&lt;br /&gt;
*  [[F/Manager|f/Manager]]&lt;br /&gt;
*  [[CartFlasher| Cartridge Flasher]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=441</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=441"/>
		<updated>2024-08-05T09:04:18Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&amp;lt;br/&amp;gt;&lt;br /&gt;
128 MB DRAM (DDR3 (64Mx16)&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 Per Context (4x Contexts)&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;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695 &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 TMDS)&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 style IEC Port&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x Headphone 3.5mm&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 (USB-C (1 of 4 Channel))&amp;lt;br/&amp;gt;&lt;br /&gt;
1 x USB-C (1 of 4 Channel) 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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=440</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=440"/>
		<updated>2024-08-05T09:01:55Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&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 Per Context (4x Contexts)&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;
Vicky &amp;quot;The Fourth&amp;quot;&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 (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID sockets (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3 (Real)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC&amp;lt;br/&amp;gt;&lt;br /&gt;
|2 x PSG (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
2 x SID (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
OPL3  (FPGA Emulation)&amp;lt;br/&amp;gt;&lt;br /&gt;
CODEC, &lt;br /&gt;
PWM&amp;lt;br/&amp;gt;&lt;br /&gt;
SAM2695 &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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=439</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=439"/>
		<updated>2024-08-05T08:59:34Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Hardware Overview and Comparison */ Updating details in the F256K2 column. Fix 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;
2MB SRAM (1Mx16) On Board (could be limited by Core)&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 Per Context (4x Contexts)&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;
Vicky &amp;quot;The Fourth&amp;quot;&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&lt;br /&gt;
&lt;br /&gt;
PWM&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 (1 Button + Analog)&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 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) (optional)&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 Output 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;
==== Utilizing the Expansion 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>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=415</id>
		<title>Getting Started</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Getting_Started&amp;diff=415"/>
		<updated>2024-06-21T19:33:35Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Discord */ Invite links depracted&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;
The board itself has no power switch. If you do not have a Mini-ITX case, a pin header on the board can be bridged by a jumper and thereby used instead of a proper power switch as a stop gap solution. In this picture https://wiki.c256foenix.com/images/6/64/Pinout_Jr_December_7th_Trans.png  the pin header in question is shown in the lower right and is labeled with &#039;&#039;PW ON SPST Switch&#039;&#039;.&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**.   &lt;br /&gt;
* Formatting with 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;
* Formatting with MacOS will only work using the &amp;lt;code&amp;gt;diskutil&amp;lt;/code&amp;gt; command line utility. An example usage looks like this: &amp;lt;code&amp;gt;sudo diskutil eraseDisk FAT32 [DiskName] MBRFormat /dev/[DiskNumber]&amp;lt;/code&amp;gt;.  You can use &amp;lt;code&amp;gt;diskutil list&amp;lt;/code&amp;gt; to get the disk number for the SD Card.&lt;br /&gt;
* Formatting and partitioning SD cards with Linux can be done using the &amp;lt;code&amp;gt;gnome-disk-utility&amp;lt;/code&amp;gt; (known simply as &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt;) and is installed on most mainstream distributions of Linux. &amp;lt;u&amp;gt;Disks&amp;lt;/u&amp;gt; will access all the drives on the computer so be sure you have the SD card selected when editing. [https://wiki.gnome.org/Apps/Disks Gnome/Disks wiki]&lt;br /&gt;
* FAT32 only supports a maximum partition size of 32Gb, on larger cards you will need to create multiple partitions -- however, only the first is recognized by DOS.&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;
=== Running PGZ Files ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/- &amp;quot;file.pgz&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== More Resources ===&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.gg/mUfNc3dQZj 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>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256K2&amp;diff=353</id>
		<title>Template:Specs/F256K2</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256K2&amp;diff=353"/>
		<updated>2024-05-26T06:32:07Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:F256K2L - Specs - OneSheeter.png|thumb|center|F256K2_OneSheeter_Specification]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256K2&amp;diff=352</id>
		<title>Template:Specs/F256K2</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Specs/F256K2&amp;diff=352"/>
		<updated>2024-05-26T06:27:18Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Add F256K2 Specs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:F256K2L - Specs - OneSheeter.png|thumb|F256K2_OneSheeter_Specification]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=File:F256K2L_-_Specs_-_OneSheeter.png&amp;diff=351</id>
		<title>File:F256K2L - Specs - OneSheeter.png</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=File:F256K2L_-_Specs_-_OneSheeter.png&amp;diff=351"/>
		<updated>2024-05-26T06:26:56Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Upcoming F256K2 General Specification&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Product_Specifications&amp;diff=347</id>
		<title>Product Specifications</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Product_Specifications&amp;diff=347"/>
		<updated>2024-05-13T00:14:37Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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=F256 Jr.|page=Specs/F256Jr }}&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=F256K|page=Specs/F256K}}&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;!-- Third column --&amp;gt;&lt;br /&gt;
{{NocatBox|subject=F256K2|page=Specs/F256K2}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=248</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=248"/>
		<updated>2024-02-03T01:35:58Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line has three file formats, each with slightly different properties and use cases. Additionally, pure binary files are often used by developers. The machine will be in a slightly different state, depending on how the program was started. We will cover this in the following sections.&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
The binary file format is not a format as such. It is an image that is loaded directly into the F256&#039;s memory by a utility program running on the PC or Mac, and the F256 is then reset. Such an image must include properly initialized interrupt vectors, especially the RESET vector.&lt;br /&gt;
&lt;br /&gt;
Running such an image requires knowledge of its starting address and a properly configured USB connection between the PC or Mac and the F256. Also, a jumper on the F256 Jr. motherboard must be moved to the &amp;quot;Boot-to-RAM&amp;quot; position. This is not necessary on the F256K.&lt;br /&gt;
&lt;br /&gt;
Binary images should only be used by the developer while developing, as it is a very user-unfriendly method of distributing software, requiring tethering to a PC or Mac.&lt;br /&gt;
&lt;br /&gt;
== KUP - Kernel User Program ==&lt;br /&gt;
KUPs are very simple and can contain 40 KiB code/data when run from flash, or 32 KiB when run from disk. Contained in their header is an entry point address, and the slot number of where they should be mapped into, the first possible slot being #1 ($2000).&lt;br /&gt;
&lt;br /&gt;
DOS expands on the KUP header defined by the MicroKernel in a backwards compatible way.&lt;br /&gt;
&lt;br /&gt;
The header is very simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Byte  0    signature: $F2&lt;br /&gt;
Byte  1    signature: $56&lt;br /&gt;
Byte  2    the size of program in 8k blocks&lt;br /&gt;
Byte  3    the starting slot of the program (i.e. where to map it)&lt;br /&gt;
Bytes 4-5  the start address of the program&lt;br /&gt;
Byte  6    header structure version (indicates version of header, current 0 or 1)&lt;br /&gt;
Bytes 7-9  reserved&lt;br /&gt;
Bytes 10-?  zero-terminated name of the program.&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the arguments. (in version &amp;gt;= 1)&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the program&#039;s function. (in version &amp;gt;= 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of a header block definition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        EXEC  = __STARTUP_LOAD__&lt;br /&gt;
        SLOT  = __STARTUP_LOAD__ &amp;gt;&amp;gt; 13&lt;br /&gt;
        COUNT = __END_LOAD__ &amp;gt;&amp;gt; 13   ; Assumes code starts at $2000.&lt;br /&gt;
&lt;br /&gt;
        .byte   $f2,$56     ; signature&lt;br /&gt;
        .byte   &amp;lt;COUNT      ; block count&lt;br /&gt;
        .byte   &amp;lt;SLOT       ; start slot&lt;br /&gt;
        .word   EXEC        ; exec addr&lt;br /&gt;
        .byte   1                 ; CHANGED, structure version&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .asciiz &amp;quot;cwrite&amp;quot;     ; name&lt;br /&gt;
        .asciiz &amp;quot;  &amp;quot;  &lt;br /&gt;
        .asciiz &amp;quot;App to program the Flash Cartridge&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
        .segment    &amp;quot;END&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MicroKernel ignores the &amp;quot;argument&amp;quot; and &amp;quot;function&amp;quot; header entries. These are printed by DOS&#039; &amp;lt;code&amp;gt;lsf&amp;lt;/code&amp;gt; command, and only if the header version is greater or equal to 1.&lt;br /&gt;
&lt;br /&gt;
When instructed to start a named KUP, the kernel will search through memory to find a match. First the expansion memory is searched, this could be either RAM or ROM. Then the on-board flash memory is searched. If DIP switch #1 is in the &amp;quot;on&amp;quot; position, the kernel will search memory banks 1-5 before the expansion blocks.&lt;br /&gt;
&lt;br /&gt;
This sequence is also performed when the kernel starts up, for instance when the machine is reset or is first powered on.&lt;br /&gt;
&lt;br /&gt;
Testing a KUP is therefore as easy as uploading it to a block of memory, and is an excellent choice for testing a program that interacts with the kernel. Though you should remember that this program will stay in memory as long as the machine is powered on, and may also survive a short power cut. Such a program should therefore, when testing, destroy its own header by overwriting the first two bytes with some values that are not the magic signature, to avoid being started again and again.&lt;br /&gt;
&lt;br /&gt;
A KUP residing in flash does not &amp;quot;return&amp;quot; in the common sense of the word. If it has to terminate, it can either reset the machine, or use `RunNamed` to start another KUP.&lt;br /&gt;
&lt;br /&gt;
On the other hand, when running a KUP from disk, it is able to return to DOS in a controlled manner. Distributing software intended to be run from disk as KUP is usually discouraged, as the program can only be started from DOS and not from SuperBASIC. It can, however, be appropriate for small utility programs mostly intended for maintenance tasks and so forth. When distributing software, you should prefer using one of the PGX or PGZ formats.&lt;br /&gt;
&lt;br /&gt;
A KUP loaded from disk may exit back to DOS by issuing an RTS instruction. Additionally, the carry may be set if the machine should be reset, or carry clear to continue running DOS. Be aware that you must leave the MMU configuration in the state you found it for this to work properly. You should also keep away from the $0200-$07FF range completely.&lt;br /&gt;
&lt;br /&gt;
When a KUP is started from flash, LUT #3 slots 0-5 is mapped to RAM banks 0-5, *except* where the KUP&#039;s header specifies where into should be mapped.&lt;br /&gt;
&lt;br /&gt;
A KUP started from disk has LUT #3 slots 0-4 mapped to RAM, some of which will be the program itself.&lt;br /&gt;
&lt;br /&gt;
In both cases the kernel is intact and available for use straight away.&lt;br /&gt;
&lt;br /&gt;
== PGX ==&lt;br /&gt;
This format is a simple, single segment executable, which can be loaded as low as $0200. A PGX is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; treats PGX and PGZ in exactly the same way, and information on how PGZ is handled also applies to PGX.&lt;br /&gt;
&lt;br /&gt;
PGX is similar in scale to MS-DOS’s COM format, or the Commodore PRG format. It consists of a single segment of data to be loaded to&lt;br /&gt;
a specific address, where that address is also the starting address.&lt;br /&gt;
&lt;br /&gt;
PGX starts with a header to identify the file and the starting address:&lt;br /&gt;
&lt;br /&gt;
* The first three bytes are the ASCII codes for “PGX”.&lt;br /&gt;
* The fourth byte is the CPU and version identification byte. Bits 0 through 3 represent the CPU code, and bits 4 through 7 represent the version of PGX supported. At the moment, there is just version 0. The CPU code can be 1 for the WDC65816, or 3 for the 65c02.&lt;br /&gt;
* The next four bytes (that is, bytes 4 through 7) are the address of the destination, in little-endian format (least significant byte first). This address is both the address of the location in which to load the first byte of the data and is also the starting address for the file.&lt;br /&gt;
&lt;br /&gt;
All bytes after the header are the contents of the file to be loaded into memory.&lt;br /&gt;
&lt;br /&gt;
== PGZ ==&lt;br /&gt;
This is a more advanced multi-segment executable. It can be loaded as low as $0200. It is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; loads a program, the program must not load itself into RAM banks 6 &amp;amp; 7, as these are used by the kernel, and the kernel is doing the actual loading. If the program does not need the kernel, it may of course utilize these banks once it is running. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; is otherwise able to load code and data into anywhere in physical memory.&lt;br /&gt;
&lt;br /&gt;
When the program starts, the state of the MMU LUTs is very similar to when a KUP starts. LUT #3 is active and slots 0-4 are mapped to RAM banks 0-4. The program&#039;s entry point must be in this region. Slots 6 and 7 are mapped to the kernel, which is intact and usable right away. Slot 5 is currently undefined.&lt;br /&gt;
&lt;br /&gt;
Testing a PGZ can be done by using FoenixMgr and the &amp;lt;code&amp;gt;xdev&amp;lt;/code&amp;gt; firmware component. It can of course also be copied to a disk or SD card, and manually run it on the machine.&lt;br /&gt;
&lt;br /&gt;
A PGZ cannot &amp;quot;return&amp;quot; to another program, it can either start a KUP (if the kernel is intact) or reset the machine.&lt;br /&gt;
&lt;br /&gt;
The first byte of the file is a file signature and also a version tag. If the first byte is an upper case Z, the file is a 24-bit PGZ file (i.e. all addresses and sizes specified in the file are 24-bits). If the file is a lower case Z, the file is a 32-bit PGZ file (all address and sizes are 32-bits in&lt;br /&gt;
length). Note that all addresses and sizes are in little endian format (that is, least significant&lt;br /&gt;
byte first).&lt;br /&gt;
&lt;br /&gt;
After the initial byte, the remainder of the PGZ file consists of segments, one after the other. Each segment consists of two or three fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|address||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The target address for this segment&lt;br /&gt;
|-&lt;br /&gt;
|size||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The number of bytes in the data field&lt;br /&gt;
|-&lt;br /&gt;
|data||&#039;&#039;&#039;size&#039;&#039;&#039; bytes||The data to be loaded (optional)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For a particular segment, if the size field is 0, there will be no bytes in the data field, and the segment specifies the starting address of the entire program. At least one such segment must be present in the PGZ file for it to be executable. If more than one is present, the last one will&lt;br /&gt;
be the one used to specify the starting address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&#039;&#039;Original Information Source:&#039;&#039; https://github.com/FoenixRetro/Documentation/blob/main/f256/programming-file-formats.md&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PGZ (more details) ==&lt;br /&gt;
&lt;br /&gt;
(More Complete Explanation ) - To be Re-Edited to form only one clear explanation of what the PGZ file format does. (This is the explanation coming from wiki.c256foenix.com)&lt;br /&gt;
&lt;br /&gt;
PGZ is a multi-segment file format that can load data into multiple areas in memory. The format is derived from binary format used by Western Design Center&#039;s C compiler.&lt;br /&gt;
&lt;br /&gt;
* The first byte of the PGZ format is the ASCII code for &amp;quot;Z&amp;quot;. This serves as the file type signature.&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;* Big &amp;quot;Z&amp;quot; = 24bits Addresse Pointers and Sizes. Small &amp;quot;z&amp;quot; = 32bits Addresse Pointers and Sizes.&amp;lt;/span&amp;gt;&lt;br /&gt;
* Next comes any number of segments, each following right after the previous segment with no separator. Each segment has the following format:&lt;br /&gt;
** Three bytes of address, in little endian format. This is the starting address for writing the data of the segment.&lt;br /&gt;
** Three bytes indicating the size of the segment, in little endian format.&lt;br /&gt;
** The bytes of data in the segment (same number of bytes as specified in the size).&lt;br /&gt;
* If final segment has a size of $000000 and no data bytes, then address specifies the starting address of the executable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Segment !! Offset !! Count !! Example !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| N/A || 0 || 1 || &amp;quot;Z&amp;quot; || Signature&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 1 || 1 || 3 || $010000 || Address of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 3 || $000009 || Size of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || ... || ... || Data of Segment #1&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 2 || 16 || 3 || $020000 || Address of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 3 || $000008 || Size of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 22 || ... || ... || Data of Segment #2&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 3 || 30 || 3 || $010000 || Starting address&lt;br /&gt;
|-&lt;br /&gt;
| 33 || 3 || $000000 || 0 to indicate start address&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=247</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=247"/>
		<updated>2024-02-03T01:35:00Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* PGZ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line has three file formats, each with slightly different properties and use cases. Additionally, pure binary files are often used by developers. The machine will be in a slightly different state, depending on how the program was started. We will cover this in the following sections.&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
The binary file format is not a format as such. It is an image that is loaded directly into the F256&#039;s memory by a utility program running on the PC or Mac, and the F256 is then reset. Such an image must include properly initialized interrupt vectors, especially the RESET vector.&lt;br /&gt;
&lt;br /&gt;
Running such an image requires knowledge of its starting address and a properly configured USB connection between the PC or Mac and the F256. Also, a jumper on the F256 Jr. motherboard must be moved to the &amp;quot;Boot-to-RAM&amp;quot; position. This is not necessary on the F256K.&lt;br /&gt;
&lt;br /&gt;
Binary images should only be used by the developer while developing, as it is a very user-unfriendly method of distributing software, requiring tethering to a PC or Mac.&lt;br /&gt;
&lt;br /&gt;
== KUP - Kernel User Program ==&lt;br /&gt;
KUPs are very simple and can contain 40 KiB code/data when run from flash, or 32 KiB when run from disk. Contained in their header is an entry point address, and the slot number of where they should be mapped into, the first possible slot being #1 ($2000).&lt;br /&gt;
&lt;br /&gt;
DOS expands on the KUP header defined by the MicroKernel in a backwards compatible way.&lt;br /&gt;
&lt;br /&gt;
The header is very simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Byte  0    signature: $F2&lt;br /&gt;
Byte  1    signature: $56&lt;br /&gt;
Byte  2    the size of program in 8k blocks&lt;br /&gt;
Byte  3    the starting slot of the program (i.e. where to map it)&lt;br /&gt;
Bytes 4-5  the start address of the program&lt;br /&gt;
Byte  6    header structure version (indicates version of header, current 0 or 1)&lt;br /&gt;
Bytes 7-9  reserved&lt;br /&gt;
Bytes 10-?  zero-terminated name of the program.&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the arguments. (in version &amp;gt;= 1)&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the program&#039;s function. (in version &amp;gt;= 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of a header block definition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        EXEC  = __STARTUP_LOAD__&lt;br /&gt;
        SLOT  = __STARTUP_LOAD__ &amp;gt;&amp;gt; 13&lt;br /&gt;
        COUNT = __END_LOAD__ &amp;gt;&amp;gt; 13   ; Assumes code starts at $2000.&lt;br /&gt;
&lt;br /&gt;
        .byte   $f2,$56     ; signature&lt;br /&gt;
        .byte   &amp;lt;COUNT      ; block count&lt;br /&gt;
        .byte   &amp;lt;SLOT       ; start slot&lt;br /&gt;
        .word   EXEC        ; exec addr&lt;br /&gt;
        .byte   1                 ; CHANGED, structure version&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .asciiz &amp;quot;cwrite&amp;quot;     ; name&lt;br /&gt;
        .asciiz &amp;quot;  &amp;quot;  &lt;br /&gt;
        .asciiz &amp;quot;App to program the Flash Cartridge&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
        .segment    &amp;quot;END&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MicroKernel ignores the &amp;quot;argument&amp;quot; and &amp;quot;function&amp;quot; header entries. These are printed by DOS&#039; &amp;lt;code&amp;gt;lsf&amp;lt;/code&amp;gt; command, and only if the header version is greater or equal to 1.&lt;br /&gt;
&lt;br /&gt;
When instructed to start a named KUP, the kernel will search through memory to find a match. First the expansion memory is searched, this could be either RAM or ROM. Then the on-board flash memory is searched. If DIP switch #1 is in the &amp;quot;on&amp;quot; position, the kernel will search memory banks 1-5 before the expansion blocks.&lt;br /&gt;
&lt;br /&gt;
This sequence is also performed when the kernel starts up, for instance when the machine is reset or is first powered on.&lt;br /&gt;
&lt;br /&gt;
Testing a KUP is therefore as easy as uploading it to a block of memory, and is an excellent choice for testing a program that interacts with the kernel. Though you should remember that this program will stay in memory as long as the machine is powered on, and may also survive a short power cut. Such a program should therefore, when testing, destroy its own header by overwriting the first two bytes with some values that are not the magic signature, to avoid being started again and again.&lt;br /&gt;
&lt;br /&gt;
A KUP residing in flash does not &amp;quot;return&amp;quot; in the common sense of the word. If it has to terminate, it can either reset the machine, or use `RunNamed` to start another KUP.&lt;br /&gt;
&lt;br /&gt;
On the other hand, when running a KUP from disk, it is able to return to DOS in a controlled manner. Distributing software intended to be run from disk as KUP is usually discouraged, as the program can only be started from DOS and not from SuperBASIC. It can, however, be appropriate for small utility programs mostly intended for maintenance tasks and so forth. When distributing software, you should prefer using one of the PGX or PGZ formats.&lt;br /&gt;
&lt;br /&gt;
A KUP loaded from disk may exit back to DOS by issuing an RTS instruction. Additionally, the carry may be set if the machine should be reset, or carry clear to continue running DOS. Be aware that you must leave the MMU configuration in the state you found it for this to work properly. You should also keep away from the $0200-$07FF range completely.&lt;br /&gt;
&lt;br /&gt;
When a KUP is started from flash, LUT #3 slots 0-5 is mapped to RAM banks 0-5, *except* where the KUP&#039;s header specifies where into should be mapped.&lt;br /&gt;
&lt;br /&gt;
A KUP started from disk has LUT #3 slots 0-4 mapped to RAM, some of which will be the program itself.&lt;br /&gt;
&lt;br /&gt;
In both cases the kernel is intact and available for use straight away.&lt;br /&gt;
&lt;br /&gt;
== PGX ==&lt;br /&gt;
This format is a simple, single segment executable, which can be loaded as low as $0200. A PGX is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; treats PGX and PGZ in exactly the same way, and information on how PGZ is handled also applies to PGX.&lt;br /&gt;
&lt;br /&gt;
PGX is similar in scale to MS-DOS’s COM format, or the Commodore PRG format. It consists of a single segment of data to be loaded to&lt;br /&gt;
a specific address, where that address is also the starting address.&lt;br /&gt;
&lt;br /&gt;
PGX starts with a header to identify the file and the starting address:&lt;br /&gt;
&lt;br /&gt;
* The first three bytes are the ASCII codes for “PGX”.&lt;br /&gt;
* The fourth byte is the CPU and version identification byte. Bits 0 through 3 represent the CPU code, and bits 4 through 7 represent the version of PGX supported. At the moment, there is just version 0. The CPU code can be 1 for the WDC65816, or 3 for the 65c02.&lt;br /&gt;
* The next four bytes (that is, bytes 4 through 7) are the address of the destination, in little-endian format (least significant byte first). This address is both the address of the location in which to load the first byte of the data and is also the starting address for the file.&lt;br /&gt;
&lt;br /&gt;
All bytes after the header are the contents of the file to be loaded into memory.&lt;br /&gt;
&lt;br /&gt;
== PGZ ==&lt;br /&gt;
This is a more advanced multi-segment executable. It can be loaded as low as $0200. It is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; loads a program, the program must not load itself into RAM banks 6 &amp;amp; 7, as these are used by the kernel, and the kernel is doing the actual loading. If the program does not need the kernel, it may of course utilize these banks once it is running. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; is otherwise able to load code and data into anywhere in physical memory.&lt;br /&gt;
&lt;br /&gt;
When the program starts, the state of the MMU LUTs is very similar to when a KUP starts. LUT #3 is active and slots 0-4 are mapped to RAM banks 0-4. The program&#039;s entry point must be in this region. Slots 6 and 7 are mapped to the kernel, which is intact and usable right away. Slot 5 is currently undefined.&lt;br /&gt;
&lt;br /&gt;
Testing a PGZ can be done by using FoenixMgr and the &amp;lt;code&amp;gt;xdev&amp;lt;/code&amp;gt; firmware component. It can of course also be copied to a disk or SD card, and manually run it on the machine.&lt;br /&gt;
&lt;br /&gt;
A PGZ cannot &amp;quot;return&amp;quot; to another program, it can either start a KUP (if the kernel is intact) or reset the machine.&lt;br /&gt;
&lt;br /&gt;
The first byte of the file is a file signature and also a version tag. If the first byte is an upper case Z, the file is a 24-bit PGZ file (i.e. all addresses and sizes specified in the file are 24-bits). If the file is a lower case Z, the file is a 32-bit PGZ file (all address and sizes are 32-bits in&lt;br /&gt;
length). Note that all addresses and sizes are in little endian format (that is, least significant&lt;br /&gt;
byte first).&lt;br /&gt;
&lt;br /&gt;
After the initial byte, the remainder of the PGZ file consists of segments, one after the other. Each segment consists of two or three fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|address||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The target address for this segment&lt;br /&gt;
|-&lt;br /&gt;
|size||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The number of bytes in the data field&lt;br /&gt;
|-&lt;br /&gt;
|data||&#039;&#039;&#039;size&#039;&#039;&#039; bytes||The data to be loaded (optional)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For a particular segment, if the size field is 0, there will be no bytes in the data field, and the segment specifies the starting address of the entire program. At least one such segment must be present in the PGZ file for it to be executable. If more than one is present, the last one will&lt;br /&gt;
be the one used to specify the starting address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&#039;&#039;Original Information Source:&#039;&#039; https://github.com/FoenixRetro/Documentation/blob/main/f256/programming-file-formats.md&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== PGZ ==&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
(More Complete Explanation ) - To be Re-Edited to form only one clear explanation of what the PGZ file format does. (This is the explanation coming from wiki.c256foenix.com)&lt;br /&gt;
&lt;br /&gt;
PGZ is a multi-segment file format that can load data into multiple areas in memory. The format is derived from binary format used by Western Design Center&#039;s C compiler.&lt;br /&gt;
&lt;br /&gt;
* The first byte of the PGZ format is the ASCII code for &amp;quot;Z&amp;quot;. This serves as the file type signature.&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;* Big &amp;quot;Z&amp;quot; = 24bits Addresse Pointers and Sizes. Small &amp;quot;z&amp;quot; = 32bits Addresse Pointers and Sizes.&amp;lt;/span&amp;gt;&lt;br /&gt;
* Next comes any number of segments, each following right after the previous segment with no separator. Each segment has the following format:&lt;br /&gt;
** Three bytes of address, in little endian format. This is the starting address for writing the data of the segment.&lt;br /&gt;
** Three bytes indicating the size of the segment, in little endian format.&lt;br /&gt;
** The bytes of data in the segment (same number of bytes as specified in the size).&lt;br /&gt;
* If final segment has a size of $000000 and no data bytes, then address specifies the starting address of the executable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Segment !! Offset !! Count !! Example !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| N/A || 0 || 1 || &amp;quot;Z&amp;quot; || Signature&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 1 || 1 || 3 || $010000 || Address of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 3 || $000009 || Size of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || ... || ... || Data of Segment #1&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 2 || 16 || 3 || $020000 || Address of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 3 || $000008 || Size of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 22 || ... || ... || Data of Segment #2&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 3 || 30 || 3 || $010000 || Starting address&lt;br /&gt;
|-&lt;br /&gt;
| 33 || 3 || $000000 || 0 to indicate start address&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=246</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=246"/>
		<updated>2024-02-03T01:34:33Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* PGZ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line has three file formats, each with slightly different properties and use cases. Additionally, pure binary files are often used by developers. The machine will be in a slightly different state, depending on how the program was started. We will cover this in the following sections.&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
The binary file format is not a format as such. It is an image that is loaded directly into the F256&#039;s memory by a utility program running on the PC or Mac, and the F256 is then reset. Such an image must include properly initialized interrupt vectors, especially the RESET vector.&lt;br /&gt;
&lt;br /&gt;
Running such an image requires knowledge of its starting address and a properly configured USB connection between the PC or Mac and the F256. Also, a jumper on the F256 Jr. motherboard must be moved to the &amp;quot;Boot-to-RAM&amp;quot; position. This is not necessary on the F256K.&lt;br /&gt;
&lt;br /&gt;
Binary images should only be used by the developer while developing, as it is a very user-unfriendly method of distributing software, requiring tethering to a PC or Mac.&lt;br /&gt;
&lt;br /&gt;
== KUP - Kernel User Program ==&lt;br /&gt;
KUPs are very simple and can contain 40 KiB code/data when run from flash, or 32 KiB when run from disk. Contained in their header is an entry point address, and the slot number of where they should be mapped into, the first possible slot being #1 ($2000).&lt;br /&gt;
&lt;br /&gt;
DOS expands on the KUP header defined by the MicroKernel in a backwards compatible way.&lt;br /&gt;
&lt;br /&gt;
The header is very simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Byte  0    signature: $F2&lt;br /&gt;
Byte  1    signature: $56&lt;br /&gt;
Byte  2    the size of program in 8k blocks&lt;br /&gt;
Byte  3    the starting slot of the program (i.e. where to map it)&lt;br /&gt;
Bytes 4-5  the start address of the program&lt;br /&gt;
Byte  6    header structure version (indicates version of header, current 0 or 1)&lt;br /&gt;
Bytes 7-9  reserved&lt;br /&gt;
Bytes 10-?  zero-terminated name of the program.&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the arguments. (in version &amp;gt;= 1)&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the program&#039;s function. (in version &amp;gt;= 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of a header block definition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        EXEC  = __STARTUP_LOAD__&lt;br /&gt;
        SLOT  = __STARTUP_LOAD__ &amp;gt;&amp;gt; 13&lt;br /&gt;
        COUNT = __END_LOAD__ &amp;gt;&amp;gt; 13   ; Assumes code starts at $2000.&lt;br /&gt;
&lt;br /&gt;
        .byte   $f2,$56     ; signature&lt;br /&gt;
        .byte   &amp;lt;COUNT      ; block count&lt;br /&gt;
        .byte   &amp;lt;SLOT       ; start slot&lt;br /&gt;
        .word   EXEC        ; exec addr&lt;br /&gt;
        .byte   1                 ; CHANGED, structure version&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .asciiz &amp;quot;cwrite&amp;quot;     ; name&lt;br /&gt;
        .asciiz &amp;quot;  &amp;quot;  &lt;br /&gt;
        .asciiz &amp;quot;App to program the Flash Cartridge&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
        .segment    &amp;quot;END&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MicroKernel ignores the &amp;quot;argument&amp;quot; and &amp;quot;function&amp;quot; header entries. These are printed by DOS&#039; &amp;lt;code&amp;gt;lsf&amp;lt;/code&amp;gt; command, and only if the header version is greater or equal to 1.&lt;br /&gt;
&lt;br /&gt;
When instructed to start a named KUP, the kernel will search through memory to find a match. First the expansion memory is searched, this could be either RAM or ROM. Then the on-board flash memory is searched. If DIP switch #1 is in the &amp;quot;on&amp;quot; position, the kernel will search memory banks 1-5 before the expansion blocks.&lt;br /&gt;
&lt;br /&gt;
This sequence is also performed when the kernel starts up, for instance when the machine is reset or is first powered on.&lt;br /&gt;
&lt;br /&gt;
Testing a KUP is therefore as easy as uploading it to a block of memory, and is an excellent choice for testing a program that interacts with the kernel. Though you should remember that this program will stay in memory as long as the machine is powered on, and may also survive a short power cut. Such a program should therefore, when testing, destroy its own header by overwriting the first two bytes with some values that are not the magic signature, to avoid being started again and again.&lt;br /&gt;
&lt;br /&gt;
A KUP residing in flash does not &amp;quot;return&amp;quot; in the common sense of the word. If it has to terminate, it can either reset the machine, or use `RunNamed` to start another KUP.&lt;br /&gt;
&lt;br /&gt;
On the other hand, when running a KUP from disk, it is able to return to DOS in a controlled manner. Distributing software intended to be run from disk as KUP is usually discouraged, as the program can only be started from DOS and not from SuperBASIC. It can, however, be appropriate for small utility programs mostly intended for maintenance tasks and so forth. When distributing software, you should prefer using one of the PGX or PGZ formats.&lt;br /&gt;
&lt;br /&gt;
A KUP loaded from disk may exit back to DOS by issuing an RTS instruction. Additionally, the carry may be set if the machine should be reset, or carry clear to continue running DOS. Be aware that you must leave the MMU configuration in the state you found it for this to work properly. You should also keep away from the $0200-$07FF range completely.&lt;br /&gt;
&lt;br /&gt;
When a KUP is started from flash, LUT #3 slots 0-5 is mapped to RAM banks 0-5, *except* where the KUP&#039;s header specifies where into should be mapped.&lt;br /&gt;
&lt;br /&gt;
A KUP started from disk has LUT #3 slots 0-4 mapped to RAM, some of which will be the program itself.&lt;br /&gt;
&lt;br /&gt;
In both cases the kernel is intact and available for use straight away.&lt;br /&gt;
&lt;br /&gt;
== PGX ==&lt;br /&gt;
This format is a simple, single segment executable, which can be loaded as low as $0200. A PGX is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; treats PGX and PGZ in exactly the same way, and information on how PGZ is handled also applies to PGX.&lt;br /&gt;
&lt;br /&gt;
PGX is similar in scale to MS-DOS’s COM format, or the Commodore PRG format. It consists of a single segment of data to be loaded to&lt;br /&gt;
a specific address, where that address is also the starting address.&lt;br /&gt;
&lt;br /&gt;
PGX starts with a header to identify the file and the starting address:&lt;br /&gt;
&lt;br /&gt;
* The first three bytes are the ASCII codes for “PGX”.&lt;br /&gt;
* The fourth byte is the CPU and version identification byte. Bits 0 through 3 represent the CPU code, and bits 4 through 7 represent the version of PGX supported. At the moment, there is just version 0. The CPU code can be 1 for the WDC65816, or 3 for the 65c02.&lt;br /&gt;
* The next four bytes (that is, bytes 4 through 7) are the address of the destination, in little-endian format (least significant byte first). This address is both the address of the location in which to load the first byte of the data and is also the starting address for the file.&lt;br /&gt;
&lt;br /&gt;
All bytes after the header are the contents of the file to be loaded into memory.&lt;br /&gt;
&lt;br /&gt;
== PGZ ==&lt;br /&gt;
This is a more advanced multi-segment executable. It can be loaded as low as $0200. It is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; loads a program, the program must not load itself into RAM banks 6 &amp;amp; 7, as these are used by the kernel, and the kernel is doing the actual loading. If the program does not need the kernel, it may of course utilize these banks once it is running. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; is otherwise able to load code and data into anywhere in physical memory.&lt;br /&gt;
&lt;br /&gt;
When the program starts, the state of the MMU LUTs is very similar to when a KUP starts. LUT #3 is active and slots 0-4 are mapped to RAM banks 0-4. The program&#039;s entry point must be in this region. Slots 6 and 7 are mapped to the kernel, which is intact and usable right away. Slot 5 is currently undefined.&lt;br /&gt;
&lt;br /&gt;
Testing a PGZ can be done by using FoenixMgr and the &amp;lt;code&amp;gt;xdev&amp;lt;/code&amp;gt; firmware component. It can of course also be copied to a disk or SD card, and manually run it on the machine.&lt;br /&gt;
&lt;br /&gt;
A PGZ cannot &amp;quot;return&amp;quot; to another program, it can either start a KUP (if the kernel is intact) or reset the machine.&lt;br /&gt;
&lt;br /&gt;
The first byte of the file is a file signature and also a version tag. If the first byte is an upper case Z, the file is a 24-bit PGZ file (i.e. all addresses and sizes specified in the file are 24-bits). If the file is a lower case Z, the file is a 32-bit PGZ file (all address and sizes are 32-bits in&lt;br /&gt;
length). Note that all addresses and sizes are in little endian format (that is, least significant&lt;br /&gt;
byte first).&lt;br /&gt;
&lt;br /&gt;
After the initial byte, the remainder of the PGZ file consists of segments, one after the other. Each segment consists of two or three fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|address||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The target address for this segment&lt;br /&gt;
|-&lt;br /&gt;
|size||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The number of bytes in the data field&lt;br /&gt;
|-&lt;br /&gt;
|data||&#039;&#039;&#039;size&#039;&#039;&#039; bytes||The data to be loaded (optional)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For a particular segment, if the size field is 0, there will be no bytes in the data field, and the segment specifies the starting address of the entire program. At least one such segment must be present in the PGZ file for it to be executable. If more than one is present, the last one will&lt;br /&gt;
be the one used to specify the starting address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&#039;&#039;Original Information Source:&#039;&#039; https://github.com/FoenixRetro/Documentation/blob/main/f256/programming-file-formats.md&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;== PGZ (better explanation) ==&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
(More Complete Explanation ) - To be Re-Edited to form only one clear explanation of what the PGZ file format does. (This is the explanation coming from wiki.c256foenix.com)&lt;br /&gt;
&lt;br /&gt;
PGZ is a multi-segment file format that can load data into multiple areas in memory. The format is derived from binary format used by Western Design Center&#039;s C compiler.&lt;br /&gt;
&lt;br /&gt;
* The first byte of the PGZ format is the ASCII code for &amp;quot;Z&amp;quot;. This serves as the file type signature.&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;* Big &amp;quot;Z&amp;quot; = 24bits Addresse Pointers and Sizes. Small &amp;quot;z&amp;quot; = 32bits Addresse Pointers and Sizes.&amp;lt;/span&amp;gt;&lt;br /&gt;
* Next comes any number of segments, each following right after the previous segment with no separator. Each segment has the following format:&lt;br /&gt;
** Three bytes of address, in little endian format. This is the starting address for writing the data of the segment.&lt;br /&gt;
** Three bytes indicating the size of the segment, in little endian format.&lt;br /&gt;
** The bytes of data in the segment (same number of bytes as specified in the size).&lt;br /&gt;
* If final segment has a size of $000000 and no data bytes, then address specifies the starting address of the executable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Segment !! Offset !! Count !! Example !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| N/A || 0 || 1 || &amp;quot;Z&amp;quot; || Signature&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 1 || 1 || 3 || $010000 || Address of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 3 || $000009 || Size of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || ... || ... || Data of Segment #1&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 2 || 16 || 3 || $020000 || Address of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 3 || $000008 || Size of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 22 || ... || ... || Data of Segment #2&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 3 || 30 || 3 || $010000 || Starting address&lt;br /&gt;
|-&lt;br /&gt;
| 33 || 3 || $000000 || 0 to indicate start address&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=245</id>
		<title>File Formats</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=File_Formats&amp;diff=245"/>
		<updated>2024-02-03T01:33:52Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* PGZ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line has three file formats, each with slightly different properties and use cases. Additionally, pure binary files are often used by developers. The machine will be in a slightly different state, depending on how the program was started. We will cover this in the following sections.&lt;br /&gt;
&lt;br /&gt;
== Binary ==&lt;br /&gt;
The binary file format is not a format as such. It is an image that is loaded directly into the F256&#039;s memory by a utility program running on the PC or Mac, and the F256 is then reset. Such an image must include properly initialized interrupt vectors, especially the RESET vector.&lt;br /&gt;
&lt;br /&gt;
Running such an image requires knowledge of its starting address and a properly configured USB connection between the PC or Mac and the F256. Also, a jumper on the F256 Jr. motherboard must be moved to the &amp;quot;Boot-to-RAM&amp;quot; position. This is not necessary on the F256K.&lt;br /&gt;
&lt;br /&gt;
Binary images should only be used by the developer while developing, as it is a very user-unfriendly method of distributing software, requiring tethering to a PC or Mac.&lt;br /&gt;
&lt;br /&gt;
== KUP - Kernel User Program ==&lt;br /&gt;
KUPs are very simple and can contain 40 KiB code/data when run from flash, or 32 KiB when run from disk. Contained in their header is an entry point address, and the slot number of where they should be mapped into, the first possible slot being #1 ($2000).&lt;br /&gt;
&lt;br /&gt;
DOS expands on the KUP header defined by the MicroKernel in a backwards compatible way.&lt;br /&gt;
&lt;br /&gt;
The header is very simple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Byte  0    signature: $F2&lt;br /&gt;
Byte  1    signature: $56&lt;br /&gt;
Byte  2    the size of program in 8k blocks&lt;br /&gt;
Byte  3    the starting slot of the program (i.e. where to map it)&lt;br /&gt;
Bytes 4-5  the start address of the program&lt;br /&gt;
Byte  6    header structure version (indicates version of header, current 0 or 1)&lt;br /&gt;
Bytes 7-9  reserved&lt;br /&gt;
Bytes 10-?  zero-terminated name of the program.&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the arguments. (in version &amp;gt;= 1)&lt;br /&gt;
Bytes ?-?  zero-terminated string describing the program&#039;s function. (in version &amp;gt;= 1)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example of a header block definition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        EXEC  = __STARTUP_LOAD__&lt;br /&gt;
        SLOT  = __STARTUP_LOAD__ &amp;gt;&amp;gt; 13&lt;br /&gt;
        COUNT = __END_LOAD__ &amp;gt;&amp;gt; 13   ; Assumes code starts at $2000.&lt;br /&gt;
&lt;br /&gt;
        .byte   $f2,$56     ; signature&lt;br /&gt;
        .byte   &amp;lt;COUNT      ; block count&lt;br /&gt;
        .byte   &amp;lt;SLOT       ; start slot&lt;br /&gt;
        .word   EXEC        ; exec addr&lt;br /&gt;
        .byte   1                 ; CHANGED, structure version&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .byte   0                 ; reserved&lt;br /&gt;
        .asciiz &amp;quot;cwrite&amp;quot;     ; name&lt;br /&gt;
        .asciiz &amp;quot;  &amp;quot;  &lt;br /&gt;
        .asciiz &amp;quot;App to program the Flash Cartridge&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
        .segment    &amp;quot;END&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The MicroKernel ignores the &amp;quot;argument&amp;quot; and &amp;quot;function&amp;quot; header entries. These are printed by DOS&#039; &amp;lt;code&amp;gt;lsf&amp;lt;/code&amp;gt; command, and only if the header version is greater or equal to 1.&lt;br /&gt;
&lt;br /&gt;
When instructed to start a named KUP, the kernel will search through memory to find a match. First the expansion memory is searched, this could be either RAM or ROM. Then the on-board flash memory is searched. If DIP switch #1 is in the &amp;quot;on&amp;quot; position, the kernel will search memory banks 1-5 before the expansion blocks.&lt;br /&gt;
&lt;br /&gt;
This sequence is also performed when the kernel starts up, for instance when the machine is reset or is first powered on.&lt;br /&gt;
&lt;br /&gt;
Testing a KUP is therefore as easy as uploading it to a block of memory, and is an excellent choice for testing a program that interacts with the kernel. Though you should remember that this program will stay in memory as long as the machine is powered on, and may also survive a short power cut. Such a program should therefore, when testing, destroy its own header by overwriting the first two bytes with some values that are not the magic signature, to avoid being started again and again.&lt;br /&gt;
&lt;br /&gt;
A KUP residing in flash does not &amp;quot;return&amp;quot; in the common sense of the word. If it has to terminate, it can either reset the machine, or use `RunNamed` to start another KUP.&lt;br /&gt;
&lt;br /&gt;
On the other hand, when running a KUP from disk, it is able to return to DOS in a controlled manner. Distributing software intended to be run from disk as KUP is usually discouraged, as the program can only be started from DOS and not from SuperBASIC. It can, however, be appropriate for small utility programs mostly intended for maintenance tasks and so forth. When distributing software, you should prefer using one of the PGX or PGZ formats.&lt;br /&gt;
&lt;br /&gt;
A KUP loaded from disk may exit back to DOS by issuing an RTS instruction. Additionally, the carry may be set if the machine should be reset, or carry clear to continue running DOS. Be aware that you must leave the MMU configuration in the state you found it for this to work properly. You should also keep away from the $0200-$07FF range completely.&lt;br /&gt;
&lt;br /&gt;
When a KUP is started from flash, LUT #3 slots 0-5 is mapped to RAM banks 0-5, *except* where the KUP&#039;s header specifies where into should be mapped.&lt;br /&gt;
&lt;br /&gt;
A KUP started from disk has LUT #3 slots 0-4 mapped to RAM, some of which will be the program itself.&lt;br /&gt;
&lt;br /&gt;
In both cases the kernel is intact and available for use straight away.&lt;br /&gt;
&lt;br /&gt;
== PGX ==&lt;br /&gt;
This format is a simple, single segment executable, which can be loaded as low as $0200. A PGX is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; treats PGX and PGZ in exactly the same way, and information on how PGZ is handled also applies to PGX.&lt;br /&gt;
&lt;br /&gt;
PGX is similar in scale to MS-DOS’s COM format, or the Commodore PRG format. It consists of a single segment of data to be loaded to&lt;br /&gt;
a specific address, where that address is also the starting address.&lt;br /&gt;
&lt;br /&gt;
PGX starts with a header to identify the file and the starting address:&lt;br /&gt;
&lt;br /&gt;
* The first three bytes are the ASCII codes for “PGX”.&lt;br /&gt;
* The fourth byte is the CPU and version identification byte. Bits 0 through 3 represent the CPU code, and bits 4 through 7 represent the version of PGX supported. At the moment, there is just version 0. The CPU code can be 1 for the WDC65816, or 3 for the 65c02.&lt;br /&gt;
* The next four bytes (that is, bytes 4 through 7) are the address of the destination, in little-endian format (least significant byte first). This address is both the address of the location in which to load the first byte of the data and is also the starting address for the file.&lt;br /&gt;
&lt;br /&gt;
All bytes after the header are the contents of the file to be loaded into memory.&lt;br /&gt;
&lt;br /&gt;
== PGZ ==&lt;br /&gt;
This is a more advanced multi-segment executable. It can be loaded as low as $0200. It is loaded using &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; loads a program, the program must not load itself into RAM banks 6 &amp;amp; 7, as these are used by the kernel, and the kernel is doing the actual loading. If the program does not need the kernel, it may of course utilize these banks once it is running. &amp;lt;code&amp;gt;pexec&amp;lt;/code&amp;gt; is otherwise able to load code and data into anywhere in physical memory.&lt;br /&gt;
&lt;br /&gt;
When the program starts, the state of the MMU LUTs is very similar to when a KUP starts. LUT #3 is active and slots 0-4 are mapped to RAM banks 0-4. The program&#039;s entry point must be in this region. Slots 6 and 7 are mapped to the kernel, which is intact and usable right away. Slot 5 is currently undefined.&lt;br /&gt;
&lt;br /&gt;
Testing a PGZ can be done by using FoenixMgr and the &amp;lt;code&amp;gt;xdev&amp;lt;/code&amp;gt; firmware component. It can of course also be copied to a disk or SD card, and manually run it on the machine.&lt;br /&gt;
&lt;br /&gt;
A PGZ cannot &amp;quot;return&amp;quot; to another program, it can either start a KUP (if the kernel is intact) or reset the machine.&lt;br /&gt;
&lt;br /&gt;
The first byte of the file is a file signature and also a version tag. If the first byte is an upper case Z, the file is a 24-bit PGZ file (i.e. all addresses and sizes specified in the file are 24-bits). If the file is a lower case Z, the file is a 32-bit PGZ file (all address and sizes are 32-bits in&lt;br /&gt;
length). Note that all addresses and sizes are in little endian format (that is, least significant&lt;br /&gt;
byte first).&lt;br /&gt;
&lt;br /&gt;
After the initial byte, the remainder of the PGZ file consists of segments, one after the other. Each segment consists of two or three fields:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field!!Size!!Description&lt;br /&gt;
|-&lt;br /&gt;
|address||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The target address for this segment&lt;br /&gt;
|-&lt;br /&gt;
|size||3 (&#039;&#039;&#039;Z&#039;&#039;&#039;) or 4 (&#039;&#039;&#039;z&#039;&#039;&#039;) bytes||The number of bytes in the data field&lt;br /&gt;
|-&lt;br /&gt;
|data||&#039;&#039;&#039;size&#039;&#039;&#039; bytes||The data to be loaded (optional)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For a particular segment, if the size field is 0, there will be no bytes in the data field, and the segment specifies the starting address of the entire program. At least one such segment must be present in the PGZ file for it to be executable. If more than one is present, the last one will&lt;br /&gt;
be the one used to specify the starting address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&#039;&#039;Original Information Source:&#039;&#039; https://github.com/FoenixRetro/Documentation/blob/main/f256/programming-file-formats.md&lt;br /&gt;
&lt;br /&gt;
== PGZ == (More Complete Explanation ) - To be Re-Edited to form only one clear explanation of what the PGZ file format does. (This is the explanation coming from wiki.c256foenix.com)&lt;br /&gt;
&lt;br /&gt;
PGZ is a multi-segment file format that can load data into multiple areas in memory. The format is derived from binary format used by Western Design Center&#039;s C compiler.&lt;br /&gt;
&lt;br /&gt;
* The first byte of the PGZ format is the ASCII code for &amp;quot;Z&amp;quot;. This serves as the file type signature.&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;* Big &amp;quot;Z&amp;quot; = 24bits Addresse Pointers and Sizes. Small &amp;quot;z&amp;quot; = 32bits Addresse Pointers and Sizes.&amp;lt;/span&amp;gt;&lt;br /&gt;
* Next comes any number of segments, each following right after the previous segment with no separator. Each segment has the following format:&lt;br /&gt;
** Three bytes of address, in little endian format. This is the starting address for writing the data of the segment.&lt;br /&gt;
** Three bytes indicating the size of the segment, in little endian format.&lt;br /&gt;
** The bytes of data in the segment (same number of bytes as specified in the size).&lt;br /&gt;
* If final segment has a size of $000000 and no data bytes, then address specifies the starting address of the executable.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Segment !! Offset !! Count !! Example !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| N/A || 0 || 1 || &amp;quot;Z&amp;quot; || Signature&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 1 || 1 || 3 || $010000 || Address of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 3 || $000009 || Size of segment #1&lt;br /&gt;
|-&lt;br /&gt;
| 7 || ... || ... || Data of Segment #1&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| 2 || 16 || 3 || $020000 || Address of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 19 || 3 || $000008 || Size of segment #2&lt;br /&gt;
|-&lt;br /&gt;
| 22 || ... || ... || Data of Segment #2&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| 3 || 30 || 3 || $010000 || Starting address&lt;br /&gt;
|-&lt;br /&gt;
| 33 || 3 || $000000 || 0 to indicate start address&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Tools_%26_Scripts&amp;diff=210</id>
		<title>Tools &amp; Scripts</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Tools_%26_Scripts&amp;diff=210"/>
		<updated>2024-01-21T00:15:28Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Page creation to assemble the tools &amp;amp; scripts to create Sprite and Tilemaps&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== F256 Machines Game Development Tools ==&lt;br /&gt;
&lt;br /&gt;
=== Sprite Creation Tools &amp;amp; Scripts ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Tool !! Link &lt;br /&gt;
! --- !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| Aseprite&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| https://www.aseprite.org/&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; |Aseprite can be used to create sprites animation or Tiles Sets.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Scripts ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Tile Creation Tools &amp;amp; Scripts ===&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Game_Development&amp;diff=209</id>
		<title>Template:Main2/Game Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Game_Development&amp;diff=209"/>
		<updated>2024-01-21T00:04:47Z</updated>

		<summary type="html">&lt;p&gt;Foenix: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Game Development&amp;#039;&amp;#039;&amp;#039; * Tools &amp;amp; Scripts&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Game Development&#039;&#039;&#039;&lt;br /&gt;
* [[Tools &amp;amp; Scripts]]&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=208</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Main_Page&amp;diff=208"/>
		<updated>2024-01-21T00:02:02Z</updated>

		<summary type="html">&lt;p&gt;Foenix: &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=W65C816 Processor|page=Main2/65816_Processor}}&lt;br /&gt;
{{NocatBox|subject=FNX6809 Processor|page=Main2/FNX6809_Processor}}&lt;br /&gt;
{{NocatBox|subject=Game Development|page=Main2/Game_Development}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=FPGA_Releases&amp;diff=175</id>
		<title>FPGA Releases</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=FPGA_Releases&amp;diff=175"/>
		<updated>2023-12-31T10:34:09Z</updated>

		<summary type="html">&lt;p&gt;Foenix: /* Current F256Jr Release */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== F256K FPGA Releases ==&lt;br /&gt;
&lt;br /&gt;
=== Current F256K Release ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Series !! Version &lt;br /&gt;
!Code!! Date !! Download !! Release Notes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| F256K&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| Release Candidate 14&lt;br /&gt;
|00140000 B0&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; | 23-Dec-2023 &lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; | [https://ptb.discord.com/channels/691915291721990194/1054250189675843736/1188628633502359602 F256K_WBh_Dec23rd_RevB0x_RC14_0000.jic]&lt;br /&gt;
|Fixes a problem with the tiles; needed to be shifted by one towards the left.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Previous F256K Releases ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Series !! Version &lt;br /&gt;
!Code!! Date !! Download !! Release Notes&lt;br /&gt;
|-&lt;br /&gt;
|F256K&lt;br /&gt;
|Release Candidate 13&lt;br /&gt;
|00130000 B0&lt;br /&gt;
|09-Dec-2023&lt;br /&gt;
|[https://cdn.discordapp.com/attachments/1054250189675843736/1182993744044249149/F256K_WBh_Dec9th_RevB0x_RC13_0000.jic F256K_WBh_Dec9th_RevB0x_RC13_0000.jic]&lt;br /&gt;
|&lt;br /&gt;
* Fixes a problem with Interrupt from timer0 that was working on the Jr.&lt;br /&gt;
* Resolves a discrepancy between the F256Jr interrupt block and the F256K.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| F256K&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| Release Candidate 12&lt;br /&gt;
|00120011 B0&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; | 19-Nov-2023 &lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| [https://cdn.discordapp.com/attachments/1054250189675843736/1175965530000212048/F256K_WBh_Nov19th_RevB0x_RC12_0011.jic F256K_WBh_Nov19th_RevB0x_RC12_0011.jic]&lt;br /&gt;
| &lt;br /&gt;
Corrects the issue with no-response from command $20 &amp;amp; $21 (not being processed in the early parser).&lt;br /&gt;
The Jr doesn&#039;t have the issue.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== F256Jr FPGA Releases ==&lt;br /&gt;
&lt;br /&gt;
=== Current F256Jr Release ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Series !! Version &lt;br /&gt;
!Code!! Date !! Download !! Release Notes&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| F256Jr&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| Release Candidate 18&lt;br /&gt;
|00180100 B0&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; | 23-Dec-2023 &lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| [https://cdn.discordapp.com/attachments/1010352563406770217/1188629310081347584/F256M_Wbh_Dec23rd_2023_RC18_0100.jic?ex=659b384f&amp;amp;is=6588c34f&amp;amp;hm=e38627d1334595c2bae737ba996c398b5d748a979624b79005cb720664453111&amp;amp; F256M_Wbh_Dec23rd_2023_RC18_0100.jic]&lt;br /&gt;
|Fixes a problem with the tiles; needed to be shifted by one towards the left. (0100 = Serial RAM/Flash Select)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Previous F256Jr Releases ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Series !! Version &lt;br /&gt;
!Code!! Date !! Download !! Release Notes&lt;br /&gt;
|-&lt;br /&gt;
|F256Jr&lt;br /&gt;
|Release Candidate 17&lt;br /&gt;
|?&lt;br /&gt;
|18-Nov-2023&lt;br /&gt;
|[https://cdn.discordapp.com/attachments/1010352563406770217/1175321652859523123/F256M_Wbh_Nov18th_2023_RC17_0100.jic F256M_Wbh_Nov18th_2023_RC17_0100.jic]&lt;br /&gt;
|In light of decision to dump the big ticket items and the accessories from the store...&lt;br /&gt;
* Removed the very SPI core introduced yesterday to drive the FNXNET51 module.&lt;br /&gt;
* Removed the DP memory for the MMU and replace it back with simple Registers, which means that when you reset the system, the MMU, Page0 will be reset back to the way it was. However, the caveat is that if you change between RAM to FLASH MMU default value, you need to do a reset, either a debug reset or General Reset because the MMU is now only 32bytes in Size, so, 4 pages of 8 values.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| F256Jr&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| Release Candidate 16&lt;br /&gt;
|?&lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot; | 17-Nov-2023 &lt;br /&gt;
| style=&amp;quot;white-space:nowrap;&amp;quot;| [https://cdn.discordapp.com/attachments/1010352563406770217/1174998797991022632/F256M_WBh_Nov17th_2023_RC16_0111.jic F256M_WBh_Nov17th_2023_RC16_0111.jic]&lt;br /&gt;
| &lt;br /&gt;
* No Write Allowed when Debug Port writes in the MMU Memory Zone&lt;br /&gt;
* Incorporation of a new SPI Controller to interface with the FNXNET51 module using the NES/SNES MiniDin9 Connector&lt;br /&gt;
* ReSync of the Debug Generated RDY to stop the CPU. (untested)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FPGA Upgrade Guide ==&lt;br /&gt;
&lt;br /&gt;
If you haven’t upgraded FPGAs before, below are some great videos to guide you.&lt;br /&gt;
&lt;br /&gt;
You will need to download Quartus Prime Lite 18.1 Edition, since you are going to target a EP4CE15 FPGA (Cyclone 4).&lt;br /&gt;
&lt;br /&gt;
Do not update to the latest version of Quartus Prime Lite, as the latest version doesn’t support that family of FPGA anymore and the software is very big.&lt;br /&gt;
&lt;br /&gt;
Also, one might want to download only the &amp;quot;Intel® Quartus® Prime Programmer and Tools&amp;quot; as opposed to download the whole software by clicking on &amp;quot;Additional Software&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[https://www.intel.com/content/www/us/en/software-kit/665990/intel-quartus-prime-lite-edition-design-software-version-18-1-for-windows.html Intel Quartus Prime Lite Edition 18.1 for  Windows]&lt;br /&gt;
&lt;br /&gt;
[https://www.intel.com/content/www/us/en/software-kit/665988/intel-quartus-prime-lite-edition-design-software-version-18-1-for-linux.html Intel Quartus Prime Lite Edition 18.1 for Linux]&lt;br /&gt;
&lt;br /&gt;
=== Video Guide ===&lt;br /&gt;
&lt;br /&gt;
Note that the below Video Guide applies to both the F256K &amp;amp; F256Jr, despite it just being titled F256K.&lt;br /&gt;
&lt;br /&gt;
==== How to Upgrade the F256K FPGA (and F256Jr) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;U7bq7t_qjxg&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Suggested USB Blaster ===&lt;br /&gt;
&lt;br /&gt;
Earth People Technology&lt;br /&gt;
[https://www.amazon.ca/JTAG-Blaster-Intel-Altera-Programmer/dp/B07BZMSZ3G/ref=sr_1_3?crid=WWV8P0OHVCE3&amp;amp;keywords=altera+usb+blaster&amp;amp;qid=1688067039&amp;amp;sprefix=altera+usb+blaster%2Caps%2C113&amp;amp;sr=8-3]&lt;br /&gt;
[https://earthpeopletechnology.com/?wpsc-product=ept-2232h-sp-s1]&lt;br /&gt;
&lt;br /&gt;
Terasic USB Blaster (low cost version)&lt;br /&gt;
[https://www.digikey.ca/en/products/detail/terasic-inc/P0302/2003484]&lt;br /&gt;
[https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&amp;amp;CategoryNo=&amp;amp;No=46#contents]&lt;br /&gt;
&lt;br /&gt;
Chinese Knockoff (please avoid if possible)&lt;/div&gt;</summary>
		<author><name>Foenix</name></author>
	</entry>
</feed>