INES Mapper 003: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (add cat:cnrom-like)
(rebuilding disch notes page into common wiki style)
Line 1: Line 1:
{{DEFAULTSORT:003}}[[Category:iNES Mappers]][[Category:in NesCartDB]][[Category:CNROM-like mappers]]
{{DEFAULTSORT:003}}[[Category:iNES Mappers]][[Category:in NesCartDB]][[Category:CNROM-like mappers]]


'''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.
'''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 255 banks (2048 KiB) of CHR ROM.


In May 2012, the [[NROM-368|CNROM-368]] extension was proposed, allowing 46 KiB PRG ROM.
The [[NROM-368|CNROM-368]] extension was proposed, allowing 46 KiB PRG ROM.


  Here are Disch's original notes:
Example games:
  ========================
* ''Solomon's Key''
  =  Mapper 003          =
* ''Arkanoid''
  ========================
* ''Arkista's Ring''
 
* ''Bump 'n' Jump''
  aka
* ''Cybernoid''
  --------------------------
 
  CNROM (and compatible)
==Overview==
 
* PRG ROM size: 16 KiB or 32 KiB
 
* PRG ROM bank size: Not bankswitched
  Example Games:
* PRG RAM: None
  --------------------------
* CHR capacity: Up to 2048 KiB ROM
  Solomon's Key
* CHR bank size: 8 KiB
  Arkanoid
* Nametable [[mirroring]]: Fixed vertical or horizontal mirroring
  Arkista's Ring
* Subject to [[bus conflict]]s: Yes (CNROM), but not all compatible boards have bus conflicts. [[Category:Mappers with bus conflicts]]
  Bump 'n' Jump
 
  Cybernoid
==Banks==
 
* PPU $0000-$1FFF: 8 KB switchable CHR ROM bank
 
 
  Registers (**BUS CONFLICTS** sometimes):
==Registers==
  --------------------------
=== Bank select ($8000-$FFFF) ===
    $8000-FFFF: [CCCC CCCC]
7  bit  0
      CHR Reg (selects 8k @ $0000)
---- ----
 
CCCC CCCC
 
|||| ||||
  Notes:
++++-++++- Select 8 KB CHR ROM bank for PPU $0000-$1FFF
  ---------------------------
 
  CNROM has bus conflicts, however mapper 003 is meant to be CNROM and compatible.  So some mappers which were
CNROM only implements the lowest 2 bits, capping it at 32 KiB CHR. Other boards may implement 4 or more bits for larger CHR.
  similar in function, but did not have bus conflicts are included.
 
 
==Notes==    
  Additionally, CNROM's reg is only 2 bits wide... therefore it is capped at 32 KiB CHR. Extra bits are listed here for the Panesian boards.
The game ''Cybernoid'' seems to behave very strangely. It uses unprepared system RAM, and it is as if it
 
   There is no PRG swapping.
   
The game Cybernoid seems to behave very strangely. It uses unprepared 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)! Supposedly this bug  
manifests by CHR corruptions when the music changes.
manifests by CHR corruptions when the music changes.


The game "Colorful Dragon (Unl) (Sachen)" has glitched CHR if bus conflicts are emulated.
The game ''Colorful Dragon (Unl) (Sachen)'' relies on having no bus conflicts; it will bank the wrong CHR if bus conflicts are emulated.


Emulators will probably have to use hashes to know which games requires bus conflicts enabled.
==References==
* [http://www.romhacking.net/documents/362/ Disch's Mapper Notes]

Revision as of 21:31, 18 April 2015


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 255 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

Overview

  • 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.

Banks

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

Registers

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.

Notes

The game Cybernoid seems to behave very strangely. It uses unprepared 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) relies on having no bus conflicts; it will bank the wrong CHR if bus conflicts are emulated.

References