INES Mapper 003

From NESdev Wiki
Jump to navigationJump to search

CNROM and similar
Company Nintendo, others
Games 104 in NesCartDB
Boards CNROM "and similar"
PRG ROM capacity 16K or 32K
PRG ROM window n/a
PRG RAM capacity None
CHR capacity 32K (2M oversize version)
CHR window 8K
Nametable mirroring Fixed H or V
Bus conflicts Yes(CNROM, some others)
Audio One case
iNES mappers 003
iNES 003

iNES Mapper 003 is used to designate the CNROM board, and similar boards used by Bandai, Panesian, Sachen and others, generalized to support up to 256 banks (2048 KiB) of CHR ROM.

The CNROM-368 extension was proposed, allowing 46 KiB PRG ROM.

Example games:

  • Solomon's Key
  • Arkanoid
  • Arkista's Ring
  • Bump 'n' Jump
  • Cybernoid


  • PRG ROM size: 16 KiB or 32 KiB
  • PRG ROM bank size: Not bankswitched
  • PRG RAM: None
  • CHR capacity: Up to 2048 KiB ROM
  • CHR bank size: 8 KiB
  • Nametable mirroring: Fixed vertical or horizontal mirroring
  • Subject to bus conflicts: Yes (CNROM), but not all compatible boards have bus conflicts.


  • PPU $0000-$1FFF: 8 KB switchable CHR ROM bank


Bank select ($8000-$FFFF)

7  bit  0
---- ----
cccc ccCC
|||| ||||
++++-++++- Select 8 KB CHR ROM bank for PPU $0000-$1FFF

CNROM only implements the lowest 2 bits, capping it at 32 KiB CHR. Other boards may implement 4 or more bits for larger CHR.


The game Cybernoid seems to behave very strangely. It uses unprepared system RAM, and it actually relies on bus conflicts (AND written value with value read from address)! This bug manifests by CHR corruptions when the player changes the audio from sound effects to music playback.

Many mapper hacks can be spotten by relying on having no bus conflicts. For example, while the game Colorful Dragon (Unl) (Sachen) originally used INES Mapper 079, which has no bus conflicts, the commonly-available ROM image has been hacked for Mapper 3 without taking bus conflicts into account and will bank the wrong CHR if bus conflicts are emulated.

The Japanese version of Dance Aerobics adds a sound playback IC to CNROM. It adds a register mapped from $6000-$7FFF that can play one of eight voice recordings. However, the specifics of the compression are not yet known, and there is no standardized way to bundle audio data with iNES images.