INES Mapper 003: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(NROM-368)
(add some clarification on bus conflicts to m003)
Line 35: Line 35:
   similar in function, but did not have bus conflicts are included.
   similar in function, but did not have bus conflicts are included.
    
    
   Additionally, CNROM's reg is only 2 bits wide... therefore it is capped at 32k CHR.
   Additionally, CNROM's reg is only 2 bits wide... therefore it is capped at 32KiB CHR. Extra bits are listed here for the Panesian boards.
 
  So to be "safe":
  - for homebrewing:  assume bus conflicts, do not exceed 32k CHR
  - for emudev:  assume no bus conflicts, use all 8 reg bits
    
    
   There is no PRG swapping.
   There is no PRG swapping.
 
   
 
The game Cybernoid seems to behave very strangely.  It uses unprepped system RAM... and it is as if it
  The game Cybernoid seems to behave very strangely.  It uses unprepped system RAM... and it is as if it
actually relies on bus conflicts (AND written value with value read from address)! Supposedly this bug
  actually relies on bus conflicts (AND written value with value read from address)!
manifests by CHR corruptions when the music changes.
 
The game "Colorful Dragon (Unl) (Sachen)" has glitched CHR if bus conflicts are emulated.
 
Emulators will probably have to use hashes to know which games to emulate bus conflicts on.

Revision as of 17:36, 24 June 2012


iNES Mapper 003 is used to designate the CNROM board and a very similar board used for Panesian games, generalized to support up to 255 banks (2040 KiB) of CHR ROM.

In May 2012, the CNROM-368 extension was proposed, allowing 46 KB PRG ROM.

 Here are Disch's original notes:
 ========================
 =  Mapper 003          =
 ========================
 
 aka
 --------------------------
 CNROM (and compatible)
 
 
 Example Games:
 --------------------------
 Solomon's Key
 Arkanoid
 Arkista's Ring
 Bump 'n' Jump
 Cybernoid
 
 
 Registers (**BUS CONFLICTS** sometimes):
 --------------------------
   $8000-FFFF:  [CCCC CCCC]
     CHR Reg (selects 8k @ $0000)
 
 
 Notes:
 ---------------------------
 CNROM has bus conflicts, however mapper 003 is meant to be CNROM and compatible.  So some mappers which were
 similar in function, but did not have bus conflicts are included.
 
 Additionally, CNROM's reg is only 2 bits wide... therefore it is capped at 32KiB CHR. Extra bits are listed here for the Panesian boards.
 
 There is no PRG swapping.
   

The game Cybernoid seems to behave very strangely. It uses unprepped system RAM... and it is as if it actually relies on bus conflicts (AND written value with value read from address)! Supposedly this bug manifests by CHR corruptions when the music changes.

The game "Colorful Dragon (Unl) (Sachen)" has glitched CHR if bus conflicts are emulated.

Emulators will probably have to use hashes to know which games to emulate bus conflicts on.