INES Mapper 180

From NESdev Wiki
Revision as of 07:40, 9 May 2013 by Lidnariq (talk | contribs) (→‎Bank select ($8000-$FFFF): split disch's notes into its own section. Has bus conflicts. Mention lack of power-on guarantee)
Jump to navigationJump to search


INES Mapper 180 is used to represent a reconfiguration of the UNROM board used only for the game Crazy Climber. It is similar in principle to the more common UxROM configuration but uses AND logic (74HC08) instead of OR logic (74HC32), producing a fixed first bank at $8000 rather than a fixed last bank at $C000.

Because APU DMC is usually restricted to $C000-$FFFF, this behavior might be useful for games with a lot of recorded speech. But like BNROM and AxROM, this configuration requires the 6502's vectors to sit in the last few bytes of each bank.

Mapper 97 adds mapper-selectable 1sc/H/V mirroring (and changes the fixed bank).

Overview

  • PRG ROM size: 128 KB
  • PRG ROM bank size: 16 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

Banks

  • CPU $8000-$BFFF: 16 KB PRG ROM bank, fixed to the first bank
  • CPU $C000-$FFFF: 16 KB switchable PRG ROM bank

Registers

Bank select ($8000-$FFFF)

7  bit  0
---- ----
xxxx xPPP
      |||
      +++-- Select 16 KB PRG ROM bank for CPU $C000-$FFFF

Disch's notes

 ========================
 =  Mapper 180          =
 ========================
 
 Example Game:
 --------------------------
 Crazy Climber (J)
 
 
 Notes:
 ---------------------------
 This game uses a special input device (the crazy climber controller), so you'll need to emulate that in order
 to really test this mapper.
 
 
 Registers: (*** BUS CONFLICTS ***)
 --------------------------
 
   $8000-FFFF:  [.... .PPP]
     PRG Reg (16k @ $C000)
 
 
 PRG Setup:
 --------------------------
 
       $8000   $A000   $C000   $E000  
     +---------------+---------------+
     |     { 0 }     |     $8000     |
     +---------------+---------------+
 
 
 Powerup:
 --------------------------
 The register will probably contain 0 on cold powerup, but this is not guaranteed. The contents will be unchanged on reboot.