INES Mapper 034: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(see also submapper page)
(reducing disch notes, create brief summary for the two boards this mapper implements)
Line 1: Line 1:
[[Category:iNES Mappers|034]]
{{DEFAULTSORT:034}}[[Category:iNES Mappers]][[Category:Mappers with CHR RAM]][[Category:Mappers with bus conflicts]]


[[iNES Mapper 034]] is used to designate both the [[BNROM]] '''and''' [[NINA-001]] boards.
[[iNES Mapper 034]] is used to designate both the [[BNROM]] '''and''' [[NINA-001]] boards. These two boards are unrelated, but have unfortunately been grouped into the same mapper.


Emulator authors are suggested to distinguish between these two by checking the number of CHR banks present - BNROM should be used when there is 0 to 8 KiB of CHR, and NINA-001 should be used otherwise.
Emulator authors are suggested to distinguish between these two by checking the number of CHR banks present - BNROM should be used when there is 0 to 8 KiB of CHR, and NINA-001 should be used otherwise.
The [[NES 2.0]] header with a [[NES 2.0 submappers#iNES Mapper 034|submapper]] can be used to force use of NINA-001 behavior even with 8 KiB of CHR ROM or CHR RAM.
The [[NES 2.0]] header with a [[NES 2.0 submappers#iNES Mapper 034|submapper]] can be used to force use of NINA-001 behavior even with 8 KiB of CHR ROM or CHR RAM.


  Here are Disch's original notes: 
== BNROM ==
  ========================
See: [[BNROM]]
  =  Mapper 034          =
 
  ========================
* PRG ROM size: 128 KB (mapper implementations may support up to 512 KB or 8 MB)
 
* PRG ROM bank size: 32 KB
  aka
* PRG RAM: None
  --------------------------
* CHR capacity: 8 KB RAM
  BxROM
* CHR bank size: Not bankswitched
  NINA-001
* Nametable [[mirroring]]: Solder pads select vertical or horizontal mirroring
 
* Subject to [[bus conflict]]s: Yes
 
 
  Example Games:
Games:
  --------------------------
* ''Deadly Towers'' (''Mashou'')
  Darkseed              (BxROM)
* ''Darkseed''
  Mashou                 (BxROM)
 
  Impossible Mission 2  (NINA-001)
Registers:
 
              7  bit  0
 
              ---------
  Notes:
  $8000-FFFF: .... ..PP - Select 32 KB PRG ROM bank
  --------------------------
 
  How these two seperate and completely imcompatible mappers got assigned the same mapper number is a mystery.
Emulators commonly support either a 4-bit or 8-bit register, enabling up to 512 KB or 8 MB PRG ROM.
  BxROM and NINA-001 are both assigned mapper 034, however they both work totally differently. There is no
This variant may be referred to as '''BxROM'''.
  reliable way to tell the difference between the two apart from a CRC or Hash check.
 
 
== NINA-001 ==
 
See: [[NINA-001]]
  =================================
 
  BxROM
* PRG ROM size: 64 KB
  =================================
* PRG ROM bank size: 32 KB
 
* PRG RAM: 8 KB, not battery backed
  BxROM has bus conflicts... however this mapper also covers some BxROM compatible boards that do
* CHR ROM capacity: 32 KB ROM
  not suffer from bus conflicts.
* CHR bank size: 4 KB
 
* Nametable [[mirroring]]: hardwired to horizontal mirroring
 
* Subject to [[bus conflict]]s: No
  Registers (**BUS CONFLICTS** sometimes):
 
  --------------------------
Games:
    $8000-FFFF: Select 32k PRG @ $8000
* ''Impossible Mission 2''
 
 
  Note on a real BxROM, only the low 2 bits are used (PRG capped at 128k).  But since this is BxROM and
Registers::
  compatible, emus should use all 8 bits
         7  bit 0
 
        ---------
 
   $7FFD: .... ...P - Select 32 KB PRG ROM bank
 
  $7FFE: .... CCCC - Select 4 KB CHR bank at $0000
  PRG Setup:
  $7FFF: .... CCCC - Select 4 KB CHR bank at $1000
  --------------------------
 
         $8000  $A000  $C000  $E000  
      +-------------------------------+
      |            $8000            |
      +-------------------------------+
 
    
 
  =================================
  NINA-001
  =================================
 
  Registers:
  --------------------------
    $7FFD:   Select 32k PRG @ $8000
    $7FFE:   Select 4k CHR @ $0000
    $7FFF:   Select 4k CHR @ $1000
 
  I'm not sure whether or not WRAM can also exist at $6000-7FFF
 
 
  PRG Setup:
  --------------------------
 
        $8000  $A000  $C000  $E000 
      +-------------------------------+
      |            $7FFD            |
      +-------------------------------+
 
  CHR Setup:
  --------------------------
 
        $0000  $0400  $0800  $0C00  $1000   $1400  $1800  $1C00
      +-------------------------------+-------------------------------+
      |            $7FFE            |            $7FFF            |
      +-------------------------------+-------------------------------+

Revision as of 15:31, 17 March 2014


iNES Mapper 034 is used to designate both the BNROM and NINA-001 boards. These two boards are unrelated, but have unfortunately been grouped into the same mapper.

Emulator authors are suggested to distinguish between these two by checking the number of CHR banks present - BNROM should be used when there is 0 to 8 KiB of CHR, and NINA-001 should be used otherwise. The NES 2.0 header with a submapper can be used to force use of NINA-001 behavior even with 8 KiB of CHR ROM or CHR RAM.

BNROM

See: BNROM

  • PRG ROM size: 128 KB (mapper implementations may support up to 512 KB or 8 MB)
  • PRG ROM bank size: 32 KB
  • PRG RAM: None
  • CHR capacity: 8 KB RAM
  • CHR bank size: Not bankswitched
  • Nametable mirroring: Solder pads select vertical or horizontal mirroring
  • Subject to bus conflicts: Yes

Games:

  • Deadly Towers (Mashou)
  • Darkseed

Registers:

             7  bit  0
             ---------
 $8000-FFFF: .... ..PP - Select 32 KB PRG ROM bank

Emulators commonly support either a 4-bit or 8-bit register, enabling up to 512 KB or 8 MB PRG ROM. This variant may be referred to as BxROM.

NINA-001

See: NINA-001

  • PRG ROM size: 64 KB
  • PRG ROM bank size: 32 KB
  • PRG RAM: 8 KB, not battery backed
  • CHR ROM capacity: 32 KB ROM
  • CHR bank size: 4 KB
  • Nametable mirroring: hardwired to horizontal mirroring
  • Subject to bus conflicts: No

Games:

  • Impossible Mission 2

Registers::

        7  bit  0
        ---------
 $7FFD: .... ...P - Select 32 KB PRG ROM bank
 $7FFE: .... CCCC - Select 4 KB CHR bank at $0000
 $7FFF: .... CCCC - Select 4 KB CHR bank at $1000