<?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=Marnuba</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=Marnuba"/>
	<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Special:Contributions/Marnuba"/>
	<updated>2026-04-15T21:46:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=154</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=154"/>
		<updated>2023-12-24T11:04:53Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: /* Memory Management Unit (MMU) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 512 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, it is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, 4 Memory Management Units (MMU) are provided, that translate the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, each MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only one MMU is active at any one time. To select the active MMU, the lower two bits of address $0001 are used.&lt;br /&gt;
&lt;br /&gt;
Editing of MMUs is also controlled by $0001: Bits 4 and 5 determine which MMU is to be edited, while bit 7 has to be set to 1 to enable editing.&lt;br /&gt;
When editing is enable, the block number of a physical memory area can be written to the slot register address to map that area to the address in CPU address space. If editing is not enabled (bit 7 of $0001 is 0), the slot register addresses act as ordinary memory with no side effect.&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
The following table shows which block number has to be written into a slot register to make the each 8 KB block of memory available to the CPU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: none; background: none;&amp;quot;&lt;br /&gt;
! colspan=2 scope=col| RAM&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Flash&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Extension&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:FFFF||$40||$08:0000 - $08:1FFF||$80||$10:0000 - $10:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF||$41||$08:2000 - $08:3FFF||$81||$10:2000 - $10:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF||$42||$08:4000 - $08:5FFF||$82||$10:4000 - $10:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF||$43||$08:6000 - $08:7FFF||$83||$10:6000 - $10:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF||$44||$08:8000 - $08:9FFF||$84||$10:8000 - $10:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF||$45||$08:A000 - $08:BFFF||$85||$10:A000 - $10:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF||$46||$08:C000 - $08:DFFF||$86||$10:C000 - $10:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF||$47||$08:E000 - $08:FFFF||$87||$10:E000 - $10:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF||$48||$09:0000 - $09:1FFF||$88||$11:0000 - $11:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF||$49||$09:2000 - $09:3FFF||$89||$11:2000 - $11:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF||$4A||$09:4000 - $09:5FFF||$8A||$11:4000 - $11:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF||$4B||$09:6000 - $09:7FFF||$8B||$11:6000 - $11:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF||$4C||$09:8000 - $09:9FFF||$8C||$11:8000 - $11:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF||$4D||$09:A000 - $09:BFFF||$8D||$11:A000 - $11:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF||$4E||$09:C000 - $09:DFFF||$8E||$11:C000 - $11:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF||$4F||$09:E000 - $09:FFFF||$8F||$11:E000 - $11:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF||$50||$0A:0000 - $0A:1FFF||$90||$12:0000 - $12:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF||$51||$0A:2000 - $0A:3FFF||$91||$12:2000 - $12:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF||$52||$0A:4000 - $0A:5FFF||$92||$12:4000 - $12:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF||$53||$0A:6000 - $0A:7FFF||$93||$12:6000 - $12:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF||$54||$0A:8000 - $0A:9FFF||$94||$12:8000 - $12:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF||$55||$0A:A000 - $0A:BFFF||$95||$12:A000 - $12:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF||$56||$0A:C000 - $0A:DFFF||$96||$12:C000 - $12:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF||$57||$0A:E000 - $0A:FFFF||$97||$12:E000 - $12:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF||$58||$0B:0000 - $0B:1FFF||$98||$13:0000 - $13:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF||$59||$0B:2000 - $0B:3FFF||$99||$13:2000 - $13:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF||$5A||$0B:4000 - $0B:5FFF||$9A||$13:4000 - $13:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF||$5B||$0B:6000 - $0B:7FFF||$9B||$13:6000 - $13:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF||$5C||$0B:8000 - $0B:9FFF||$9C||$13:8000 - $13:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF||$5D||$0B:A000 - $0B:BFFF||$9D||$13:A000 - $13:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF||$5E||$0B:C000 - $0B:DFFF||$9E||$13:C000 - $13:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF||$5F||$0B:E000 - $0B:FFFF||$9F||$13:E000 - $13:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF||$60||$0C:0000 - $0C:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF||$61||$0C:2000 - $0C:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF||$62||$0C:4000 - $0C:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF||$63||$0C:6000 - $0C:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF||$64||$0C:8000 - $0C:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF||$65||$0C:A000 - $0C:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF||$66||$0C:C000 - $0C:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF||$67||$0C:E000 - $0C:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF||$68||$0D:0000 - $0D:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF||$69||$0D:2000 - $0D:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF||$6A||$0D:4000 - $0D:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF||$6B||$0D:6000 - $0D:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF||$6C||$0D:8000 - $0D:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF||$6D||$0D:A000 - $0D:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF||$6E||$0D:C000 - $0D:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF||$6F||$0D:E000 - $0D:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF||$70||$0E:0000 - $0E:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF||$71||$0E:2000 - $0E:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF||$72||$0E:4000 - $0E:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF||$73||$0E:6000 - $0E:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF||$74||$0E:8000 - $0E:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF||$75||$0E:A000 - $0E:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF||$76||$0E:C000 - $0E:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF||$77||$0E:E000 - $0E:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF||$78||$0F:0000 - $0F:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF||$79||$0F:2000 - $0F:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF||$7A||$0F:4000 - $0F:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF||$7B||$0F:6000 - $0F:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF||$7C||$0F:8000 - $0F:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF||$7D||$0F:A000 - $0F:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF||$7E||$0F:C000 - $0F:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$07:E000 - $07:FFFF||$7F||$0F:E000 - $0F:FFFF	&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=153</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=153"/>
		<updated>2023-12-24T11:01:30Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: /* Memory Management Unit (MMU) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 512 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, it is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, 4 Memory Management Units (MMU) are provided, that translate the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, each MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Only one MMU is active at any one time. To select the active MMU, the lower two bits of address $0001 are used.&lt;br /&gt;
&lt;br /&gt;
Editing of MMUs is also controlled by $0001: Bits 4 and 5 determine which MMU is to be edited, while bit 7 has to be set to 1 to enable editing.&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
The following table shows which block number has to be written into a slot register to make the each 8 KB block of memory available to the CPU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: none; background: none;&amp;quot;&lt;br /&gt;
! colspan=2 scope=col| RAM&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Flash&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Extension&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:FFFF||$40||$08:0000 - $08:1FFF||$80||$10:0000 - $10:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF||$41||$08:2000 - $08:3FFF||$81||$10:2000 - $10:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF||$42||$08:4000 - $08:5FFF||$82||$10:4000 - $10:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF||$43||$08:6000 - $08:7FFF||$83||$10:6000 - $10:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF||$44||$08:8000 - $08:9FFF||$84||$10:8000 - $10:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF||$45||$08:A000 - $08:BFFF||$85||$10:A000 - $10:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF||$46||$08:C000 - $08:DFFF||$86||$10:C000 - $10:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF||$47||$08:E000 - $08:FFFF||$87||$10:E000 - $10:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF||$48||$09:0000 - $09:1FFF||$88||$11:0000 - $11:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF||$49||$09:2000 - $09:3FFF||$89||$11:2000 - $11:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF||$4A||$09:4000 - $09:5FFF||$8A||$11:4000 - $11:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF||$4B||$09:6000 - $09:7FFF||$8B||$11:6000 - $11:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF||$4C||$09:8000 - $09:9FFF||$8C||$11:8000 - $11:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF||$4D||$09:A000 - $09:BFFF||$8D||$11:A000 - $11:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF||$4E||$09:C000 - $09:DFFF||$8E||$11:C000 - $11:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF||$4F||$09:E000 - $09:FFFF||$8F||$11:E000 - $11:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF||$50||$0A:0000 - $0A:1FFF||$90||$12:0000 - $12:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF||$51||$0A:2000 - $0A:3FFF||$91||$12:2000 - $12:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF||$52||$0A:4000 - $0A:5FFF||$92||$12:4000 - $12:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF||$53||$0A:6000 - $0A:7FFF||$93||$12:6000 - $12:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF||$54||$0A:8000 - $0A:9FFF||$94||$12:8000 - $12:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF||$55||$0A:A000 - $0A:BFFF||$95||$12:A000 - $12:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF||$56||$0A:C000 - $0A:DFFF||$96||$12:C000 - $12:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF||$57||$0A:E000 - $0A:FFFF||$97||$12:E000 - $12:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF||$58||$0B:0000 - $0B:1FFF||$98||$13:0000 - $13:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF||$59||$0B:2000 - $0B:3FFF||$99||$13:2000 - $13:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF||$5A||$0B:4000 - $0B:5FFF||$9A||$13:4000 - $13:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF||$5B||$0B:6000 - $0B:7FFF||$9B||$13:6000 - $13:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF||$5C||$0B:8000 - $0B:9FFF||$9C||$13:8000 - $13:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF||$5D||$0B:A000 - $0B:BFFF||$9D||$13:A000 - $13:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF||$5E||$0B:C000 - $0B:DFFF||$9E||$13:C000 - $13:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF||$5F||$0B:E000 - $0B:FFFF||$9F||$13:E000 - $13:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF||$60||$0C:0000 - $0C:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF||$61||$0C:2000 - $0C:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF||$62||$0C:4000 - $0C:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF||$63||$0C:6000 - $0C:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF||$64||$0C:8000 - $0C:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF||$65||$0C:A000 - $0C:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF||$66||$0C:C000 - $0C:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF||$67||$0C:E000 - $0C:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF||$68||$0D:0000 - $0D:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF||$69||$0D:2000 - $0D:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF||$6A||$0D:4000 - $0D:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF||$6B||$0D:6000 - $0D:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF||$6C||$0D:8000 - $0D:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF||$6D||$0D:A000 - $0D:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF||$6E||$0D:C000 - $0D:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF||$6F||$0D:E000 - $0D:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF||$70||$0E:0000 - $0E:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF||$71||$0E:2000 - $0E:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF||$72||$0E:4000 - $0E:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF||$73||$0E:6000 - $0E:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF||$74||$0E:8000 - $0E:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF||$75||$0E:A000 - $0E:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF||$76||$0E:C000 - $0E:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF||$77||$0E:E000 - $0E:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF||$78||$0F:0000 - $0F:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF||$79||$0F:2000 - $0F:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF||$7A||$0F:4000 - $0F:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF||$7B||$0F:6000 - $0F:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF||$7C||$0F:8000 - $0F:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF||$7D||$0F:A000 - $0F:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF||$7E||$0F:C000 - $0F:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$07:E000 - $07:FFFF||$7F||$0F:E000 - $0F:FFFF	&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=152</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=152"/>
		<updated>2023-12-23T16:18:21Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: /* Memory Management Unit (MMU) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 512 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, it is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
The following table shows which block number has to be written into a slot register to make the each 8 KB block of memory available to the CPU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: none; background: none;&amp;quot;&lt;br /&gt;
! colspan=2 scope=col| RAM&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Flash&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Extension&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:FFFF||$40||$08:0000 - $08:1FFF||$80||$10:0000 - $10:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF||$41||$08:2000 - $08:3FFF||$81||$10:2000 - $10:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF||$42||$08:4000 - $08:5FFF||$82||$10:4000 - $10:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF||$43||$08:6000 - $08:7FFF||$83||$10:6000 - $10:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF||$44||$08:8000 - $08:9FFF||$84||$10:8000 - $10:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF||$45||$08:A000 - $08:BFFF||$85||$10:A000 - $10:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF||$46||$08:C000 - $08:DFFF||$86||$10:C000 - $10:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF||$47||$08:E000 - $08:FFFF||$87||$10:E000 - $10:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF||$48||$09:0000 - $09:1FFF||$88||$11:0000 - $11:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF||$49||$09:2000 - $09:3FFF||$89||$11:2000 - $11:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF||$4A||$09:4000 - $09:5FFF||$8A||$11:4000 - $11:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF||$4B||$09:6000 - $09:7FFF||$8B||$11:6000 - $11:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF||$4C||$09:8000 - $09:9FFF||$8C||$11:8000 - $11:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF||$4D||$09:A000 - $09:BFFF||$8D||$11:A000 - $11:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF||$4E||$09:C000 - $09:DFFF||$8E||$11:C000 - $11:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF||$4F||$09:E000 - $09:FFFF||$8F||$11:E000 - $11:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF||$50||$0A:0000 - $0A:1FFF||$90||$12:0000 - $12:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF||$51||$0A:2000 - $0A:3FFF||$91||$12:2000 - $12:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF||$52||$0A:4000 - $0A:5FFF||$92||$12:4000 - $12:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF||$53||$0A:6000 - $0A:7FFF||$93||$12:6000 - $12:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF||$54||$0A:8000 - $0A:9FFF||$94||$12:8000 - $12:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF||$55||$0A:A000 - $0A:BFFF||$95||$12:A000 - $12:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF||$56||$0A:C000 - $0A:DFFF||$96||$12:C000 - $12:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF||$57||$0A:E000 - $0A:FFFF||$97||$12:E000 - $12:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF||$58||$0B:0000 - $0B:1FFF||$98||$13:0000 - $13:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF||$59||$0B:2000 - $0B:3FFF||$99||$13:2000 - $13:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF||$5A||$0B:4000 - $0B:5FFF||$9A||$13:4000 - $13:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF||$5B||$0B:6000 - $0B:7FFF||$9B||$13:6000 - $13:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF||$5C||$0B:8000 - $0B:9FFF||$9C||$13:8000 - $13:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF||$5D||$0B:A000 - $0B:BFFF||$9D||$13:A000 - $13:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF||$5E||$0B:C000 - $0B:DFFF||$9E||$13:C000 - $13:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF||$5F||$0B:E000 - $0B:FFFF||$9F||$13:E000 - $13:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF||$60||$0C:0000 - $0C:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF||$61||$0C:2000 - $0C:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF||$62||$0C:4000 - $0C:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF||$63||$0C:6000 - $0C:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF||$64||$0C:8000 - $0C:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF||$65||$0C:A000 - $0C:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF||$66||$0C:C000 - $0C:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF||$67||$0C:E000 - $0C:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF||$68||$0D:0000 - $0D:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF||$69||$0D:2000 - $0D:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF||$6A||$0D:4000 - $0D:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF||$6B||$0D:6000 - $0D:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF||$6C||$0D:8000 - $0D:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF||$6D||$0D:A000 - $0D:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF||$6E||$0D:C000 - $0D:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF||$6F||$0D:E000 - $0D:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF||$70||$0E:0000 - $0E:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF||$71||$0E:2000 - $0E:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF||$72||$0E:4000 - $0E:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF||$73||$0E:6000 - $0E:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF||$74||$0E:8000 - $0E:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF||$75||$0E:A000 - $0E:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF||$76||$0E:C000 - $0E:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF||$77||$0E:E000 - $0E:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF||$78||$0F:0000 - $0F:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF||$79||$0F:2000 - $0F:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF||$7A||$0F:4000 - $0F:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF||$7B||$0F:6000 - $0F:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF||$7C||$0F:8000 - $0F:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF||$7D||$0F:A000 - $0F:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF||$7E||$0F:C000 - $0F:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$07:E000 - $07:FFFF||$7F||$0F:E000 - $0F:FFFF	&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=151</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=151"/>
		<updated>2023-12-23T16:17:23Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 512 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, this is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
The following table shows which block number has to be written into a slot register to make the each 8 KB block of memory available to the CPU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: none; background: none;&amp;quot;&lt;br /&gt;
! colspan=2 scope=col| RAM&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Flash&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Extension&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:FFFF||$40||$08:0000 - $08:1FFF||$80||$10:0000 - $10:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF||$41||$08:2000 - $08:3FFF||$81||$10:2000 - $10:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF||$42||$08:4000 - $08:5FFF||$82||$10:4000 - $10:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF||$43||$08:6000 - $08:7FFF||$83||$10:6000 - $10:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF||$44||$08:8000 - $08:9FFF||$84||$10:8000 - $10:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF||$45||$08:A000 - $08:BFFF||$85||$10:A000 - $10:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF||$46||$08:C000 - $08:DFFF||$86||$10:C000 - $10:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF||$47||$08:E000 - $08:FFFF||$87||$10:E000 - $10:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF||$48||$09:0000 - $09:1FFF||$88||$11:0000 - $11:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF||$49||$09:2000 - $09:3FFF||$89||$11:2000 - $11:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF||$4A||$09:4000 - $09:5FFF||$8A||$11:4000 - $11:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF||$4B||$09:6000 - $09:7FFF||$8B||$11:6000 - $11:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF||$4C||$09:8000 - $09:9FFF||$8C||$11:8000 - $11:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF||$4D||$09:A000 - $09:BFFF||$8D||$11:A000 - $11:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF||$4E||$09:C000 - $09:DFFF||$8E||$11:C000 - $11:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF||$4F||$09:E000 - $09:FFFF||$8F||$11:E000 - $11:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF||$50||$0A:0000 - $0A:1FFF||$90||$12:0000 - $12:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF||$51||$0A:2000 - $0A:3FFF||$91||$12:2000 - $12:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF||$52||$0A:4000 - $0A:5FFF||$92||$12:4000 - $12:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF||$53||$0A:6000 - $0A:7FFF||$93||$12:6000 - $12:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF||$54||$0A:8000 - $0A:9FFF||$94||$12:8000 - $12:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF||$55||$0A:A000 - $0A:BFFF||$95||$12:A000 - $12:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF||$56||$0A:C000 - $0A:DFFF||$96||$12:C000 - $12:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF||$57||$0A:E000 - $0A:FFFF||$97||$12:E000 - $12:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF||$58||$0B:0000 - $0B:1FFF||$98||$13:0000 - $13:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF||$59||$0B:2000 - $0B:3FFF||$99||$13:2000 - $13:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF||$5A||$0B:4000 - $0B:5FFF||$9A||$13:4000 - $13:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF||$5B||$0B:6000 - $0B:7FFF||$9B||$13:6000 - $13:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF||$5C||$0B:8000 - $0B:9FFF||$9C||$13:8000 - $13:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF||$5D||$0B:A000 - $0B:BFFF||$9D||$13:A000 - $13:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF||$5E||$0B:C000 - $0B:DFFF||$9E||$13:C000 - $13:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF||$5F||$0B:E000 - $0B:FFFF||$9F||$13:E000 - $13:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF||$60||$0C:0000 - $0C:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF||$61||$0C:2000 - $0C:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF||$62||$0C:4000 - $0C:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF||$63||$0C:6000 - $0C:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF||$64||$0C:8000 - $0C:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF||$65||$0C:A000 - $0C:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF||$66||$0C:C000 - $0C:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF||$67||$0C:E000 - $0C:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF||$68||$0D:0000 - $0D:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF||$69||$0D:2000 - $0D:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF||$6A||$0D:4000 - $0D:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF||$6B||$0D:6000 - $0D:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF||$6C||$0D:8000 - $0D:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF||$6D||$0D:A000 - $0D:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF||$6E||$0D:C000 - $0D:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF||$6F||$0D:E000 - $0D:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF||$70||$0E:0000 - $0E:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF||$71||$0E:2000 - $0E:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF||$72||$0E:4000 - $0E:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF||$73||$0E:6000 - $0E:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF||$74||$0E:8000 - $0E:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF||$75||$0E:A000 - $0E:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF||$76||$0E:C000 - $0E:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF||$77||$0E:E000 - $0E:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF||$78||$0F:0000 - $0F:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF||$79||$0F:2000 - $0F:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF||$7A||$0F:4000 - $0F:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF||$7B||$0F:6000 - $0F:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF||$7C||$0F:8000 - $0F:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF||$7D||$0F:A000 - $0F:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF||$7E||$0F:C000 - $0F:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$07:E000 - $07:FFFF||$7F||$0F:E000 - $0F:FFFF	&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Technical_Overview&amp;diff=150</id>
		<title>Template:Main2/Technical Overview</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Template:Main2/Technical_Overview&amp;diff=150"/>
		<updated>2023-12-23T16:12:50Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: added memory management page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Technical Overview&#039;&#039;&#039;&lt;br /&gt;
* [[Hardware]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
* [[File Formats]]&lt;br /&gt;
* [[Memory Management]]&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=149</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=149"/>
		<updated>2023-12-23T16:09:10Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: /* Memory Block Tables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, this is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
The following table shows which block number has to be written into a slot register to make the each 8 KB block of memory available to the CPU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: none; background: none;&amp;quot;&lt;br /&gt;
! colspan=2 scope=col| RAM&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Flash&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Extension&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:FFFF||$40||$08:0000 - $08:1FFF||$80||$10:0000 - $10:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF||$41||$08:2000 - $08:3FFF||$81||$10:2000 - $10:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF||$42||$08:4000 - $08:5FFF||$82||$10:4000 - $10:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF||$43||$08:6000 - $08:7FFF||$83||$10:6000 - $10:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF||$44||$08:8000 - $08:9FFF||$84||$10:8000 - $10:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF||$45||$08:A000 - $08:BFFF||$85||$10:A000 - $10:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF||$46||$08:C000 - $08:DFFF||$86||$10:C000 - $10:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF||$47||$08:E000 - $08:FFFF||$87||$10:E000 - $10:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF||$48||$09:0000 - $09:1FFF||$88||$11:0000 - $11:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF||$49||$09:2000 - $09:3FFF||$89||$11:2000 - $11:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF||$4A||$09:4000 - $09:5FFF||$8A||$11:4000 - $11:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF||$4B||$09:6000 - $09:7FFF||$8B||$11:6000 - $11:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF||$4C||$09:8000 - $09:9FFF||$8C||$11:8000 - $11:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF||$4D||$09:A000 - $09:BFFF||$8D||$11:A000 - $11:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF||$4E||$09:C000 - $09:DFFF||$8E||$11:C000 - $11:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF||$4F||$09:E000 - $09:FFFF||$8F||$11:E000 - $11:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF||$50||$0A:0000 - $0A:1FFF||$90||$12:0000 - $12:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF||$51||$0A:2000 - $0A:3FFF||$91||$12:2000 - $12:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF||$52||$0A:4000 - $0A:5FFF||$92||$12:4000 - $12:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF||$53||$0A:6000 - $0A:7FFF||$93||$12:6000 - $12:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF||$54||$0A:8000 - $0A:9FFF||$94||$12:8000 - $12:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF||$55||$0A:A000 - $0A:BFFF||$95||$12:A000 - $12:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF||$56||$0A:C000 - $0A:DFFF||$96||$12:C000 - $12:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF||$57||$0A:E000 - $0A:FFFF||$97||$12:E000 - $12:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF||$58||$0B:0000 - $0B:1FFF||$98||$13:0000 - $13:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF||$59||$0B:2000 - $0B:3FFF||$99||$13:2000 - $13:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF||$5A||$0B:4000 - $0B:5FFF||$9A||$13:4000 - $13:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF||$5B||$0B:6000 - $0B:7FFF||$9B||$13:6000 - $13:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF||$5C||$0B:8000 - $0B:9FFF||$9C||$13:8000 - $13:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF||$5D||$0B:A000 - $0B:BFFF||$9D||$13:A000 - $13:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF||$5E||$0B:C000 - $0B:DFFF||$9E||$13:C000 - $13:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF||$5F||$0B:E000 - $0B:FFFF||$9F||$13:E000 - $13:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF||$60||$0C:0000 - $0C:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF||$61||$0C:2000 - $0C:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF||$62||$0C:4000 - $0C:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF||$63||$0C:6000 - $0C:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF||$64||$0C:8000 - $0C:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF||$65||$0C:A000 - $0C:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF||$66||$0C:C000 - $0C:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF||$67||$0C:E000 - $0C:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF||$68||$0D:0000 - $0D:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF||$69||$0D:2000 - $0D:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF||$6A||$0D:4000 - $0D:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF||$6B||$0D:6000 - $0D:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF||$6C||$0D:8000 - $0D:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF||$6D||$0D:A000 - $0D:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF||$6E||$0D:C000 - $0D:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF||$6F||$0D:E000 - $0D:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF||$70||$0E:0000 - $0E:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF||$71||$0E:2000 - $0E:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF||$72||$0E:4000 - $0E:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF||$73||$0E:6000 - $0E:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF||$74||$0E:8000 - $0E:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF||$75||$0E:A000 - $0E:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF||$76||$0E:C000 - $0E:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF||$77||$0E:E000 - $0E:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF||$78||$0F:0000 - $0F:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF||$79||$0F:2000 - $0F:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF||$7A||$0F:4000 - $0F:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF||$7B||$0F:6000 - $0F:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF||$7C||$0F:8000 - $0F:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF||$7D||$0F:A000 - $0F:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF||$7E||$0F:C000 - $0F:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$07:E000 - $07:FFFF||$7F||$0F:E000 - $0F:FFFF	&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=148</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=148"/>
		<updated>2023-12-23T16:06:06Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: /* Memory Block Tables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, this is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: none; background: none;&amp;quot;&lt;br /&gt;
! colspan=2 scope=col| RAM&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Flash&lt;br /&gt;
| rowspan=66 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! colspan=2 scope=col| Extension&lt;br /&gt;
|-&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:FFFF||$40||$08:0000 - $08:1FFF||$80||$10:0000 - $10:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF||$41||$08:2000 - $08:3FFF||$81||$10:2000 - $10:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF||$42||$08:4000 - $08:5FFF||$82||$10:4000 - $10:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF||$43||$08:6000 - $08:7FFF||$83||$10:6000 - $10:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF||$44||$08:8000 - $08:9FFF||$84||$10:8000 - $10:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF||$45||$08:A000 - $08:BFFF||$85||$10:A000 - $10:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF||$46||$08:C000 - $08:DFFF||$86||$10:C000 - $10:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF||$47||$08:E000 - $08:FFFF||$87||$10:E000 - $10:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF||$48||$09:0000 - $09:1FFF||$88||$11:0000 - $11:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF||$49||$09:2000 - $09:3FFF||$89||$11:2000 - $11:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF||$4A||$09:4000 - $09:5FFF||$8A||$11:4000 - $11:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF||$4B||$09:6000 - $09:7FFF||$8B||$11:6000 - $11:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF||$4C||$09:8000 - $09:9FFF||$8C||$11:8000 - $11:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF||$4D||$09:A000 - $09:BFFF||$8D||$11:A000 - $11:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF||$4E||$09:C000 - $09:DFFF||$8E||$11:C000 - $11:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF||$4F||$09:E000 - $09:FFFF||$8F||$11:E000 - $11:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF||$50||$0A:0000 - $0A:1FFF||$90||$12:0000 - $12:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF||$51||$0A:2000 - $0A:3FFF||$91||$12:2000 - $12:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF||$52||$0A:4000 - $0A:5FFF||$92||$12:4000 - $12:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF||$53||$0A:6000 - $0A:7FFF||$93||$12:6000 - $12:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF||$54||$0A:8000 - $0A:9FFF||$94||$12:8000 - $12:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF||$55||$0A:A000 - $0A:BFFF||$95||$12:A000 - $12:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF||$56||$0A:C000 - $0A:DFFF||$96||$12:C000 - $12:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF||$57||$0A:E000 - $0A:FFFF||$97||$12:E000 - $12:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF||$58||$0B:0000 - $0B:1FFF||$98||$13:0000 - $13:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF||$59||$0B:2000 - $0B:3FFF||$99||$13:2000 - $13:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF||$5A||$0B:4000 - $0B:5FFF||$9A||$13:4000 - $13:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF||$5B||$0B:6000 - $0B:7FFF||$9B||$13:6000 - $13:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF||$5C||$0B:8000 - $0B:9FFF||$9C||$13:8000 - $13:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF||$5D||$0B:A000 - $0B:BFFF||$9D||$13:A000 - $13:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF||$5E||$0B:C000 - $0B:DFFF||$9E||$13:C000 - $13:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF||$5F||$0B:E000 - $0B:FFFF||$9F||$13:E000 - $13:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF||$60||$0C:0000 - $0C:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF||$61||$0C:2000 - $0C:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF||$62||$0C:4000 - $0C:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF||$63||$0C:6000 - $0C:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF||$64||$0C:8000 - $0C:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF||$65||$0C:A000 - $0C:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF||$66||$0C:C000 - $0C:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF||$67||$0C:E000 - $0C:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF||$68||$0D:0000 - $0D:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF||$69||$0D:2000 - $0D:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF||$6A||$0D:4000 - $0D:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF||$6B||$0D:6000 - $0D:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF||$6C||$0D:8000 - $0D:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF||$6D||$0D:A000 - $0D:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF||$6E||$0D:C000 - $0D:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF||$6F||$0D:E000 - $0D:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF||$70||$0E:0000 - $0E:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF||$71||$0E:2000 - $0E:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF||$72||$0E:4000 - $0E:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF||$73||$0E:6000 - $0E:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF||$74||$0E:8000 - $0E:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF||$75||$0E:A000 - $0E:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF||$76||$0E:C000 - $0E:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF||$77||$0E:E000 - $0E:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF||$78||$0F:0000 - $0F:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF||$79||$0F:2000 - $0F:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF||$7A||$0F:4000 - $0F:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF||$7B||$0F:6000 - $0F:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF||$7C||$0F:8000 - $0F:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF||$7D||$0F:A000 - $0F:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF||$7E||$0F:C000 - $0F:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$07:E000 - $07:FFFF||$7F||$0F:E000 - $0F:FFFF	&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=147</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=147"/>
		<updated>2023-12-23T15:58:10Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: /* Memory Block Tables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, this is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: none; background: none;&amp;quot;&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
| rowspan=65 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
| rowspan=65 style=&amp;quot;border: none; background: none;&amp;quot; |&lt;br /&gt;
! scope=col | Block Number&lt;br /&gt;
! scope=col | Physical Address&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:FFFF||$40||$08:0000 - $08:1FFF||$80||$10:0000 - $10:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF||$41||$08:2000 - $08:3FFF||$81||$10:2000 - $10:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF||$42||$08:4000 - $08:5FFF||$82||$10:4000 - $10:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF||$43||$08:6000 - $08:7FFF||$83||$10:6000 - $10:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF||$44||$08:8000 - $08:9FFF||$84||$10:8000 - $10:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF||$45||$08:A000 - $08:BFFF||$85||$10:A000 - $10:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF||$46||$08:C000 - $08:DFFF||$86||$10:C000 - $10:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF||$47||$08:E000 - $08:FFFF||$87||$10:E000 - $10:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF||$48||$09:0000 - $09:1FFF||$88||$11:0000 - $11:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF||$49||$09:2000 - $09:3FFF||$89||$11:2000 - $11:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF||$4A||$09:4000 - $09:5FFF||$8A||$11:4000 - $11:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF||$4B||$09:6000 - $09:7FFF||$8B||$11:6000 - $11:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF||$4C||$09:8000 - $09:9FFF||$8C||$11:8000 - $11:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF||$4D||$09:A000 - $09:BFFF||$8D||$11:A000 - $11:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF||$4E||$09:C000 - $09:DFFF||$8E||$11:C000 - $11:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF||$4F||$09:E000 - $09:FFFF||$8F||$11:E000 - $11:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF||$50||$0A:0000 - $0A:1FFF||$90||$12:0000 - $12:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF||$51||$0A:2000 - $0A:3FFF||$91||$12:2000 - $12:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF||$52||$0A:4000 - $0A:5FFF||$92||$12:4000 - $12:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF||$53||$0A:6000 - $0A:7FFF||$93||$12:6000 - $12:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF||$54||$0A:8000 - $0A:9FFF||$94||$12:8000 - $12:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF||$55||$0A:A000 - $0A:BFFF||$95||$12:A000 - $12:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF||$56||$0A:C000 - $0A:DFFF||$96||$12:C000 - $12:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF||$57||$0A:E000 - $0A:FFFF||$97||$12:E000 - $12:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF||$58||$0B:0000 - $0B:1FFF||$98||$13:0000 - $13:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF||$59||$0B:2000 - $0B:3FFF||$99||$13:2000 - $13:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF||$5A||$0B:4000 - $0B:5FFF||$9A||$13:4000 - $13:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF||$5B||$0B:6000 - $0B:7FFF||$9B||$13:6000 - $13:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF||$5C||$0B:8000 - $0B:9FFF||$9C||$13:8000 - $13:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF||$5D||$0B:A000 - $0B:BFFF||$9D||$13:A000 - $13:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF||$5E||$0B:C000 - $0B:DFFF||$9E||$13:C000 - $13:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF||$5F||$0B:E000 - $0B:FFFF||$9F||$13:E000 - $13:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF||$60||$0C:0000 - $0C:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF||$61||$0C:2000 - $0C:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF||$62||$0C:4000 - $0C:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF||$63||$0C:6000 - $0C:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF||$64||$0C:8000 - $0C:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF||$65||$0C:A000 - $0C:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF||$66||$0C:C000 - $0C:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF||$67||$0C:E000 - $0C:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF||$68||$0D:0000 - $0D:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF||$69||$0D:2000 - $0D:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF||$6A||$0D:4000 - $0D:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF||$6B||$0D:6000 - $0D:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF||$6C||$0D:8000 - $0D:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF||$6D||$0D:A000 - $0D:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF||$6E||$0D:C000 - $0D:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF||$6F||$0D:E000 - $0D:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF||$70||$0E:0000 - $0E:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF||$71||$0E:2000 - $0E:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF||$72||$0E:4000 - $0E:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF||$73||$0E:6000 - $0E:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF||$74||$0E:8000 - $0E:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF||$75||$0E:A000 - $0E:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF||$76||$0E:C000 - $0E:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF||$77||$0E:E000 - $0E:FFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF||$78||$0F:0000 - $0F:1FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF||$79||$0F:2000 - $0F:3FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF||$7A||$0F:4000 - $0F:5FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF||$7B||$0F:6000 - $0F:7FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF||$7C||$0F:8000 - $0F:9FFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF||$7D||$0F:A000 - $0F:BFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF||$7E||$0F:C000 - $0F:DFFF	&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$07:E000 - $07:FFFF||$7F||$0F:E000 - $0F:FFFF	&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=146</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=146"/>
		<updated>2023-12-23T15:27:03Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: /* RAM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, this is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ RAM Block Table&lt;br /&gt;
!Block Number!!CPU Address Space&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$0$7:E000 - $07:FFFF&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=145</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=145"/>
		<updated>2023-12-23T15:24:48Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, this is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Tables ===&lt;br /&gt;
&lt;br /&gt;
==== RAM ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Block Number!!CPU Address Space&lt;br /&gt;
|-&lt;br /&gt;
|$00||$00:0000 - $00:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$01||$00:2000 - $00:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$02||$00:4000 - $00:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$03||$00:6000 - $00:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$04||$00:8000 - $00:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$05||$00:A000 - $00:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$06||$00:C000 - $00:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$07||$00:E000 - $00:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$08||$01:0000 - $01:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$09||$01:2000 - $01:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0A||$01:4000 - $01:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0B||$01:6000 - $01:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0C||$01:8000 - $01:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$0D||$01:A000 - $01:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0E||$01:C000 - $01:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$0F||$01:E000 - $01:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$10||$02:0000 - $02:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$11||$02:2000 - $02:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$12||$02:4000 - $02:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$13||$02:6000 - $02:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$14||$02:8000 - $02:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$15||$02:A000 - $02:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$16||$02:C000 - $02:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$17||$02:E000 - $02:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$18||$03:0000 - $03:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$19||$03:2000 - $03:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1A||$03:4000 - $03:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1B||$03:6000 - $03:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1C||$03:8000 - $03:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$1D||$03:A000 - $03:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1E||$03:C000 - $03:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$1F||$03:E000 - $03:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$20||$04:0000 - $04:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$21||$04:2000 - $04:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$22||$04:4000 - $04:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$23||$04:6000 - $04:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$24||$04:8000 - $04:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$25||$04:A000 - $04:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$26||$04:C000 - $04:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$27||$04:E000 - $04:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$28||$05:0000 - $05:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$29||$05:2000 - $05:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2A||$05:4000 - $05:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2B||$05:6000 - $05:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2C||$05:8000 - $05:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$2D||$05:A000 - $05:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$2E||$05:C000 - $05:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$2F||$05:E000 - $05:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$30||$06:0000 - $06:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$31||$06:2000 - $06:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$32||$06:4000 - $06:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$33||$06:6000 - $06:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$34||$06:8000 - $06:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$35||$06:A000 - $06:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$36||$06:C000 - $06:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$37||$06:E000 - $06:FFFF&lt;br /&gt;
|-&lt;br /&gt;
|$38||$07:0000 - $07:1FFF&lt;br /&gt;
|-&lt;br /&gt;
|$39||$07:2000 - $07:3FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3A||$07:4000 - $07:5FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3B||$07:6000 - $07:7FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3C||$07:8000 - $07:9FFF&lt;br /&gt;
|-&lt;br /&gt;
|$3D||$07:A000 - $07:BFFF&lt;br /&gt;
|-&lt;br /&gt;
|$3E||$07:C000 - $07:DFFF&lt;br /&gt;
|-&lt;br /&gt;
|$3F||$0$7:E000 - $07:FFFF&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=144</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=144"/>
		<updated>2023-12-23T15:16:58Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Memory Management Unit (MMU) ===&lt;br /&gt;
&lt;br /&gt;
While the address bus is generally 21 bits wide, the CPU address bus of the 65c02 and the FNX6809 is only 16 bits wide. Even though the 65816 does have a 24 bit wide address bus, this is currently not used. However, this might change with a future update.&lt;br /&gt;
&lt;br /&gt;
To allow the addressing of the whole address space, a Memory Management Unit (MMU) is provided, that translates the CPU logical address space to physical addresses.&lt;br /&gt;
&lt;br /&gt;
To achieve this, the MMU has 8 &amp;lt;em&amp;gt;slots&amp;lt;/em&amp;gt;, each representing an 8 KB block of the CPU addressable memory space.&lt;br /&gt;
&lt;br /&gt;
The physical address space is also divided into 8 KB blocks, dividing the available 2 MB into 256 blocks.&lt;br /&gt;
&lt;br /&gt;
To &amp;lt;em&amp;gt;map&amp;lt;/em&amp;gt; a block of physical addresses into CPU address space, the block number is written into the according slot register of the MMU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Slot!!CPU Address Space!!Slot Register Address&lt;br /&gt;
|-&lt;br /&gt;
|0||$0000 - $1FFF|| $0008&lt;br /&gt;
|-&lt;br /&gt;
|1||$2000 - $3FFF|| $0009&lt;br /&gt;
|-&lt;br /&gt;
|2||$4000 - $5FFF|| $000A&lt;br /&gt;
|-&lt;br /&gt;
|3||$6000 - $7FFF|| $000B&lt;br /&gt;
|-&lt;br /&gt;
|4||$8000 - $9FFF|| $000C&lt;br /&gt;
|-&lt;br /&gt;
|5||$A000 - $BFFF|| $000D&lt;br /&gt;
|-&lt;br /&gt;
|6||$C000 - $DFFF|| $000E&lt;br /&gt;
|-&lt;br /&gt;
|7||$E000 - $FFFF|| $000F&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Memory Block Table ===&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=143</id>
		<title>Memory Management</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Memory_Management&amp;diff=143"/>
		<updated>2023-12-23T14:54:07Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: Created page with &amp;quot;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the Expansion Port.  === Physical Memory Layout ===  The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.  {| class=&amp;quot;wikitable&amp;quot; !Address!!Purpose |- |$00:0000 - $07:FFFF||RAM  |- |$80:0000 - $0F:FFFF||Flash |- |$10:0000 - $13:FFFF||Expansion Memory |- |$14:0000 - $1F:FFFF||Reserved |}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The F256 line comes with 512 KB of RAM and 256 KB of flash memory. Up to 256 KB additional Memory, either RAM or Flash, can be added through the [[Expansion Port]].&lt;br /&gt;
&lt;br /&gt;
=== Physical Memory Layout ===&lt;br /&gt;
&lt;br /&gt;
The address bus is 21 bits wide, allowing a total of 2&amp;lt;sup&amp;gt;21&amp;lt;/sup&amp;gt; = 2 MB to be addressed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Address!!Purpose&lt;br /&gt;
|-&lt;br /&gt;
|$00:0000 - $07:FFFF||RAM &lt;br /&gt;
|-&lt;br /&gt;
|$80:0000 - $0F:FFFF||Flash&lt;br /&gt;
|-&lt;br /&gt;
|$10:0000 - $13:FFFF||Expansion Memory&lt;br /&gt;
|-&lt;br /&gt;
|$14:0000 - $1F:FFFF||Reserved&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=79</id>
		<title>Hardware</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Hardware&amp;diff=79"/>
		<updated>2023-12-17T10:13:27Z</updated>

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

		<summary type="html">&lt;p&gt;Marnuba: Added a note about specialized Foenix switches in 64tass.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The MicroKernel, DOS, SuperBASIC, and many of the other Foenix tools have been written with 64tass; these projects may be found on the [https://github.com/FoenixRetro FoenixRetro github].&lt;br /&gt;
&lt;br /&gt;
The assembler may be downloaded from the following repositories:&lt;br /&gt;
:[https://sourceforge.net/projects/tass64/files/binaries/ sourceforge] &lt;br /&gt;
:[https://github.com/irmen/64tass github]&lt;br /&gt;
Starting with version 1.59.3120, 64tass supports some of the Foenix [[File Formats]],   namely PGX via the &amp;lt;code&amp;gt;--c256pgx&amp;lt;/code&amp;gt; switch and PGZ via the &amp;lt;code&amp;gt;--c256pgz&amp;lt;/code&amp;gt; switch.&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=Llvm-mos&amp;diff=68</id>
		<title>Llvm-mos</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=Llvm-mos&amp;diff=68"/>
		<updated>2023-12-16T09:22:22Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: Created page with &amp;quot;The [https://llvm-mos.org/wiki/Welcome llvm-mos] project is a suite of development tools aimed at 65xx processors. It comes with optimizing C and C++ compilers that are mostly compatible with the C99 and C++11 standards, allowing for modern programming styles.  Foenix support is currently not integrated into the main repository (see discussion at the official [https://github.com/llvm-mos/llvm-mos-sdk/issues/263 llvm-mos GitHub]), but there is [https://github.com/llvm-mos...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The [https://llvm-mos.org/wiki/Welcome llvm-mos] project is a suite of development tools aimed at 65xx processors. It comes with optimizing C and C++ compilers that are mostly compatible with the C99 and C++11 standards, allowing for modern programming styles.&lt;br /&gt;
&lt;br /&gt;
Foenix support is currently not integrated into the main repository (see discussion at the official [https://github.com/llvm-mos/llvm-mos-sdk/issues/263 llvm-mos GitHub]), but there is [https://github.com/llvm-mos/llvm-mos-sdk/issues/263 fork] available with basic support for the F256K.&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
	<entry>
		<id>https://f256wiki.wildbitscomputing.com/index.php?title=C_Development&amp;diff=67</id>
		<title>C Development</title>
		<link rel="alternate" type="text/html" href="https://f256wiki.wildbitscomputing.com/index.php?title=C_Development&amp;diff=67"/>
		<updated>2023-12-16T09:09:37Z</updated>

		<summary type="html">&lt;p&gt;Marnuba: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;C Development&#039;&#039;&#039;&lt;br /&gt;
* [[cc65]]&lt;br /&gt;
* [https://www.calypsi.cc/ Calypsi]&lt;br /&gt;
* [[llvm-mos]]&lt;/div&gt;</summary>
		<author><name>Marnuba</name></author>
	</entry>
</feed>