INES Mapper 180: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (→‎Overview: R/W doesn't go to the ROM, there's no inverter, thus it has bus conflicts.)
(→‎Bank select ($8000-$FFFF): split disch's notes into its own section. Has bus conflicts. Mention lack of power-on guarantee)
Line 29: Line 29:
       +++-- Select 16 KB PRG ROM bank for CPU $C000-$FFFF
       +++-- Select 16 KB PRG ROM bank for CPU $C000-$FFFF


 
== Disch's notes ==
  Here are Disch's original notes:
   ========================
   ========================
   =  Mapper 180          =
   =  Mapper 180          =
Line 46: Line 45:
    
    
    
    
   Registers:
   Registers: (*** BUS CONFLICTS ***)
   --------------------------
   --------------------------
  Don't know whether or not this mapper suffers from bus conflicts.  Use caution!
    
    
     $8000-FFFF:  [.... .PPP]
     $8000-FFFF:  [.... .PPP]
Line 65: Line 63:
   Powerup:
   Powerup:
   --------------------------
   --------------------------
   Unsure whether or not the PRG reg is inited to anything specific on startup.  I don't think it is.
   The register will probably contain 0 on cold powerup, but this is not guaranteed. The contents will be unchanged on reboot.

Revision as of 07:40, 9 May 2013


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.