Difference between revisions of "ASCII-EX mapper"

From MSX Game Library

(Created page with "Here's a proposal for a mapper format operating with a 16-bit segment register and allowing ROMs of 512 MB (8 KB segment) or 1 GB (16 KB segment). The idea is to use the ASCI...")
 
Line 8: Line 8:
 
! Bank (16kB) !! Switching address !! Initial segment
 
! Bank (16kB) !! Switching address !! Initial segment
 
|-
 
|-
| 4000h~7FFFh (mirror: C000h~FFFFh) || Lower byte: 6000h (mirrors: 6001h~67FFh)<br/>{{RED|Higher byte: 8000h (mirror: 8001h~87FFh)}} || 0
+
| 4000h~7FFFh (mirror: C000h~FFFFh) || Lower byte: 6000h (mirrors: 6001h~67FFh)<br/>{{COLOR|blue|Higher byte: 8000h (mirror: 8001h~87FFh)}} || 0
 
|-
 
|-
| 8000h~BFFFh (mirror: 0000h~3FFFh) || Lower byte: 7000h (mirrors: 7001h~77FFh)<br/>{{RED|Higher byte: 9000h (mirror: 9001h~97FFh)}} || 0
+
| 8000h~BFFFh (mirror: 0000h~3FFFh) || Lower byte: 7000h (mirrors: 7001h~77FFh)<br/>{{COLOR|blue|Higher byte: 9000h (mirror: 9001h~97FFh)}} || 0
 
|}
 
|}
  
Line 18: Line 18:
 
! Bank (8kB) !! Switching address !! Initial segment
 
! Bank (8kB) !! Switching address !! Initial segment
 
|-
 
|-
| 4000h~5FFFh (mirror: C000h~DFFFh) || Lower byte: 6000h (mirrors: 6001h~67FFh)<br/>{{RED|Higher byte: 8000h (mirror: 8001h~87FFh)}} || 0
+
| 4000h~5FFFh (mirror: C000h~DFFFh) || Lower byte: 6000h (mirrors: 6001h~67FFh)<br/>{{COLOR|blue|Higher byte: 8000h (mirror: 8001h~87FFh)}} || 0
 
|-
 
|-
| 6000h~7FFFh (mirror: E000h~FFFFh) || Lower byte: 6800h (mirrors: 6801h~6FFFh)<br/>{{RED|Higher byte: 8800h (mirror: 8801h~8FFFh)}} || 0
+
| 6000h~7FFFh (mirror: E000h~FFFFh) || Lower byte: 6800h (mirrors: 6801h~6FFFh)<br/>{{COLOR|blue|Higher byte: 8800h (mirror: 8801h~8FFFh)}} || 0
 
|-
 
|-
| 8000h~9FFFh (mirror: 0000h~1FFFh) || Lower byte: 7000h (mirrors: 7001h~77FFh)<br/>{{RED|Higher byte: 9000h (mirror: 9001h~97FFh)}} || 0
+
| 8000h~9FFFh (mirror: 0000h~1FFFh) || Lower byte: 7000h (mirrors: 7001h~77FFh)<br/>{{COLOR|blue|Higher byte: 9000h (mirror: 9001h~97FFh)}} || 0
 
|-
 
|-
 
| A000h~BFFFh (mirror: 2000h~3FFFh) || Lower byte: 7800h (mirrors: 7801h~7FFFh)<br/>{{RED|Higher byte: 9800h (mirror: 9801h~9FFFh)}} || 0
 
| A000h~BFFFh (mirror: 2000h~3FFFh) || Lower byte: 7800h (mirrors: 7801h~7FFFh)<br/>{{RED|Higher byte: 9800h (mirror: 9801h~9FFFh)}} || 0
 
|}
 
|}

Revision as of 09:24, 12 July 2023

Here's a proposal for a mapper format operating with a 16-bit segment register and allowing ROMs of 512 MB (8 KB segment) or 1 GB (16 KB segment).

The idea is to use the ASCII8/16 mapper format as a basis and extend it using memory space unused by the original design (here we use the 8000h~9FFFh range).

MRC16 mapper

Bank (16kB) Switching address Initial segment
4000h~7FFFh (mirror: C000h~FFFFh) Lower byte: 6000h (mirrors: 6001h~67FFh)
Higher byte: 8000h (mirror: 8001h~87FFh)
0
8000h~BFFFh (mirror: 0000h~3FFFh) Lower byte: 7000h (mirrors: 7001h~77FFh)
Higher byte: 9000h (mirror: 9001h~97FFh)
0

MRC8 mapper

Bank (8kB) Switching address Initial segment
4000h~5FFFh (mirror: C000h~DFFFh) Lower byte: 6000h (mirrors: 6001h~67FFh)
Higher byte: 8000h (mirror: 8001h~87FFh)
0
6000h~7FFFh (mirror: E000h~FFFFh) Lower byte: 6800h (mirrors: 6801h~6FFFh)
Higher byte: 8800h (mirror: 8801h~8FFFh)
0
8000h~9FFFh (mirror: 0000h~1FFFh) Lower byte: 7000h (mirrors: 7001h~77FFh)
Higher byte: 9000h (mirror: 9001h~97FFh)
0
A000h~BFFFh (mirror: 2000h~3FFFh) Lower byte: 7800h (mirrors: 7801h~7FFFh)
Higher byte: 9800h (mirror: 9801h~9FFFh)
0