Skip to main content
NESdev Wiki
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

MMC3 with CHR ROM and CHR RAM

The following mappers used an uncommon combination: MMC3 with CHR ROM and CHR RAM.

Apart from Pinbot and High Speed, which used the Nintendo-made TQROM board, this combination is primarily used for games in the Chinese language using an MMC3-clone mapper, which need to mix logographic characters arbitrarily. No mapper other than MMC5 has CHR-ROM banks fine-grained enough to allow showing dialogue using Chinese characters with only CHR ROM without prerendering each sentence, and unlike Japanese, Chinese cannot use the common shortcut of using only phonetic characters. These games are thought to follow a similar strategy to Faxanadu and Super Bat Puncher, reserving some CHR RAM for software-rendered text boxes.

List of mappers

All MMC3-like iNES mappers known to be used with CHR RAM are listed below:

MapperFirst RAM bankSize of RAM
(1024-byte banks)
RAM mirrored?
00400 or 8*Yes
07482No
11964, 1928Yes
17608No
1911282Yes
19284No
19402No
19504No

* In iNES format, mapper 4 has CHR RAM only if CHR ROM is not present.

Behaviour

Because the default size is ignored, these mappers collapse into the following distinct behaviors. Some of these mappers differ only in the amount of CHR RAM that replaces CHR ROM. ROMs with the NES 2.0 header specify the size of CHR RAM separately.

004, 194, 195
CHR RAM starts at bank 0 and is mirrored only if there is no CHR ROM

074, 192
CHR RAM starts at bank 8 and is not mirrored

119
CHR A16 switches between CHR ROM and CHR RAM

176
$A001 bit 2 switches between CHR ROM and CHR RAM in the first 8 KiB

191
CHR A17 switches between CHR ROM and CHR RAM

Edit this page on GitHub