INES Mapper 153: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(NES 2.0 could have prevented this)
(link Bandai FCG)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Category:iNES Mappers]]
[[Category:iNES Mappers|153]][[Category:Mappers with cycle IRQs|153]][[Category:Mappers with CHR RAM|153]]
'''iNES Mapper 153''' represents a [[Bandai FCG board]].  
iNES Mapper 153 is used for a [[Bandai FCG]] board with an [[Bandai LZ93D50 pinout|LZ93D50 ASIC]] and 8192 bytes of battery-backed WRAM. These 8192 bytes must be denoted as PRG-NVRAM in the [[NES 2.0]] header using byte value $70. Only one game, ''Famicom Jump II: Saikyou no 7-nin'', uses this mapper.  


This mapper was apparently added by Xodnizel for FCEU to describe a mapper 16 with SRAM in place of EEPROM and an extra control bit for banking. Ideally, an emulator ''could'' distinguish the SRAM board from the EEPROM board by looking at nonvolatile RAM size in the [[NES 2.0]] header, but some emulator authors have been late to implement NES 2.0.
=Banks=
* CPU $6000-$7FFF: 8 KiB battery-backed WRAM
* CPU $8000-$BFFF: 16 KiB switchable PRG-ROM bank
* CPU $C000-$FFFF: 16 KiB PRG ROM bank, fixed to the last bank
* PPU $0000-$1FFF: 8 KiB unbanked CHR-RAM


* Famicom Jump 2 (J)  
=Registers=
** Header and bootgod seem to usually indicate mapper 16.
==Outer PRG-ROM Bank Select ($8000-$8003 write)==
** FCEUX and nestopia force the use of mapper 153
Mask: $800F
7  bit  0
---- ----
xxxx xxxP
        |
        +-- Select 256 KiB outer PRG-ROM bank at CPU $8000-$FFFF
 
* The same value must be written to all four registers, or the outer PRG-ROM bank would be switched as the PPU is rendering.
* Because the ASIC's PA12 and PA13 inputs are grounded, only registers $8000-$8003 instead of $8000-$8007 are relevant.
* No CHR banking is available.
 
==Inner PRG-ROM Bank Select ($8008 write)==
==Nametable Mirroring Type Select ($8009 write)==
==IRQ Control ($800A write)==
==IRQ Latch ($800B-$800C write)==
These four registers function the same way as on [[INES Mapper 016]], submapper 5.
 
==PRG-RAM Control ($800D write)==
Mask: $800F
7  bit  0
---- ----
..E. ....
  |
  +-------- PRG-RAM Chip Enable (1=Enable)
=Note=
When booting with WRAM filled with zeroes, ''Famicom Jump II'' will freeze with a black screen. Simply soft-resetting the console will then always run the game properly unless WRAM is zeroed out again.

Latest revision as of 18:47, 25 September 2018

iNES Mapper 153 is used for a Bandai FCG board with an LZ93D50 ASIC and 8192 bytes of battery-backed WRAM. These 8192 bytes must be denoted as PRG-NVRAM in the NES 2.0 header using byte value $70. Only one game, Famicom Jump II: Saikyou no 7-nin, uses this mapper.

Banks

  • CPU $6000-$7FFF: 8 KiB battery-backed WRAM
  • CPU $8000-$BFFF: 16 KiB switchable PRG-ROM bank
  • CPU $C000-$FFFF: 16 KiB PRG ROM bank, fixed to the last bank
  • PPU $0000-$1FFF: 8 KiB unbanked CHR-RAM

Registers

Outer PRG-ROM Bank Select ($8000-$8003 write)

Mask: $800F

7  bit  0
---- ----
xxxx xxxP
        |
        +-- Select 256 KiB outer PRG-ROM bank at CPU $8000-$FFFF
  • The same value must be written to all four registers, or the outer PRG-ROM bank would be switched as the PPU is rendering.
  • Because the ASIC's PA12 and PA13 inputs are grounded, only registers $8000-$8003 instead of $8000-$8007 are relevant.
  • No CHR banking is available.

Inner PRG-ROM Bank Select ($8008 write)

Nametable Mirroring Type Select ($8009 write)

IRQ Control ($800A write)

IRQ Latch ($800B-$800C write)

These four registers function the same way as on INES Mapper 016, submapper 5.

PRG-RAM Control ($800D write)

Mask: $800F

7  bit  0
---- ----
..E. ....
  |
  +-------- PRG-RAM Chip Enable (1=Enable)

Note

When booting with WRAM filled with zeroes, Famicom Jump II will freeze with a black screen. Simply soft-resetting the console will then always run the game properly unless WRAM is zeroed out again.