Mapper

From WSdev Wiki
Jump to navigationJump to search

There are three documented memory-mapping chips used on the WonderSwan and Pocket Challenge V2:

All three provide this same common subset for memory banking:

Category Port Description Bits Type Notes
Extended bankswitching $C0 ROM Linear (EX) Bank 00BB bbbb RW8 Selects a 1MiB bank accessed via memory addresses 0x40000 - 0xFFFFF.

Note that only the top 768KiB of said bank can be read this way.

$C1 RAM Bank bbbb bbbb RW8 Selects a 64KiB bank accessed via memory addresses 0x10000 - 0x1FFFF.
$C2 ROM0 Bank bbbb bbbb RW8 Selects a 64KiB bank accessed via memory addresses 0x20000 - 0x2FFFF.
$C3 ROM1 Bank bbbb bbbb RW8 Selects a 64KiB bank accessed via memory addresses 0x30000 - 0x3FFFF.

Note that the number of bits in the Linear bank register depends on the mapper.

The "mono" WonderSwan expects that the register at $C3 will power up holding $FF.