Regular mappers 90/209/211: Used by all single-game releases, as well as the 1998 Super 45-in-1 multicart (JY-120A, Mapper 90). Register $D003:
Code: Select all
7654 3210
---- ----
M.BC CPPC
| || |||+- Select 256 KiB outer CHR-ROM bank if M==0
| || |++-- Select 512/1024 KiB outer PRG-ROM bank
| |+-+---- Select 512/1024 KiB outer CHR-ROM bank
| +------- CHR Banking Mode
| 0=Use outer 256 KiB CHR-ROM bank, masking off the regular CHR bank registers' bits ($9000-$AFFF) that select 256 KiB+ bank numbers
| 1=Do not use outer 256 KiB CHR-ROM bank; use the regular CHR bank registers' bits ($9000-$AFFF) unmasked
+--------- MMC2/4 Mode (effective in 4 KiB CHR banking mode, ignored otherwise)
0=Do not automatically change CHR banks
1=Automatically change CHR banks when encountering CHR tiles $FD and $FE (same as Nintendo MMC2/4)
Variation 1: Used by the 1997 Super HIK 4-in-1 multicart (JY-052), which has 512 KiB each of PRG-ROM and CHR-ROM. A single bit in register D003 selects both PRG and CHR outer banks:
Code: Select all
7654 3210
---- ----
.... ...C
+- Select 256 KiB outer PRG-ROM bank
+- Select 256 KiB outer CHR-ROM bank
Variation 2: Used the 1997 Super HIK 21-in-1 multicart (JY-105), which has 1 MiB each of PRG-ROM and CHR-ROM, and the 1998 Super HIK 5-in-1 multicart (JY-114), also 1 MiB each of PRG/CHR. Like regular mappers 90/209/211, except that the outer PRG-ROM bank is 256 KiB in size, and Extended Mirroring is selected differently. Register $D003:
Code: Select all
7654 3210
---- ----
.... CPPC
|||+- Select 256 KiB outer CHR-ROM bank
|++-- Select 256/512 KiB outer PRG-ROM bank
+---- Select 512 KiB outer CHR-ROM bank
The 1997 Super HIK 4-in-1 multicart (Variation 1) is already in GoodNES 3.23b, tagged as Mapper 90, and to my knowledge does not run in any emulator other than Nestopia Plus which identifies it by CRC. The others were dumped by CaH4e3, who permits release of them once they're emulated. I can assign two submappers of mapper 209 (not 90 since Extended Mirroring is selectable) and write one of those dreaded test ROMs, or assign two entirely new NES 2.0 mapper numbers in the 256-511 range. Which one is preferred?