The MAXI-IJ0N-20 (that's a zero in IJ0N, not the letter "O" like you used) is probably just some kind of "special spin-off" of the official PCB called
SHVC-1J0N. I mention "special spin-off" because the
MAXI-xxxx boards are labelled such on snescentral.
Either way, the mode 21 memory map is the same:
download/file.php?id=732&mode=viewMode 21 supports up to 32mbit (4,194,304 bytes) worth of addressing space, located linearly within banks $c0-ff (64 banks). Math: 64 * 65536 (available bytes per bank) = 4,194,304 bytes.
The upper half (i.e. $8000-ffff) of banks $c0-ff is also mirrored within the same address region ($8000-ffff) in banks $00-3f and $80-bf; the mirroring is mainly used for the 65816 vectors (ABORT/COP/BRK/IRQ/NMI) in bank $00, and for fastrom (banks $80-ff). So to be clear:
Byte at $c0:8000 is mirrored at $00:8000 and $80:8000
Byte at $c1:8000 is mirrored at $01:8000 and $81:8000
...
Byte at $ff:8000 is mirrored at $3f:8000 and $bf:8000.
If there's something special with the MAXI-xxxx boards, there's one guy here who can shed some light on it: byuu! And I say that because
he's dumped one of these carts before (specifically WWF WrestleMania - The Arcade Game for NTSC, a.k.a. SNS-AWVE-0). There are a handful of carts which are MAXI-1J0N-based though.
Also, just want to point this out (not being critical but this can often confuse people). Quoting with relevant bits highlighted:
Quote:
MAXI-1JON-20 (Mortal Kombat III) [HIGHROM or MODE 21] [ROM 32 Mbit only]
...
but I does not understand, because in that location rom only supports addressing 32 Mbytes (can be used only from 8000 - FFFF)
32mbits != 32mbytes. Let's do the math for the mode 21 addressing ranges once again:
Code:
Banks $c0-ff, ranges $0000-ffff = 64 banks, 65536 bytes per range = 64*65536 = 4,194,304 bytes
Banks $00-3f, ranges $8000-ffff = 64 banks, 32768 bytes per range = 64*32768 = 2,097,152 bytes (mirrored area)
Banks $80-bf, ranges $8000-ffff = 64 banks, 32768 bytes per range = 64*32768 = 2,097,152 bytes (mirrored area)
And a quick megabit-to-byte-to-megabyte conversion chart:
Code:
32mbits = 4,194,304 bytes = 4MBytes
24mbits = 3,145,728 bytes = 3MBytes
16mbits = 2,097,152 bytes = 2MBytes
8mbits = 1,048,576 bytes = 1MBytes
4mbits = 524,288 bytes = 0.5MBytes