INES Mapper 228

From NESdev Wiki
Revision as of 19:19, 1 August 2012 by Lidnariq (talk | contribs) (cast aspersions on the supposed 16-bit ram)
Jump to navigationJump to search


iNES Mapper 228 represents the board used by Active Enterprises for Action 52 and Cheetahmen II.

Registers

Address           Data
FEDCBA98 76543210 76543210
1.MHHPPP PPS.CCCC ......CC
  |||||| ||| ||||       ||
  |||||| ||| ++++-------++- Select 8 KiB CHR ROM bank at PPU $0000
  |||||| ||+--------------- PRG bank size
  |||||| ||                 0: Put bank with bit 0 false in $8000 and
  |||||| ||                    bank with bit 0 true in $C000
  |||||| ||                 1: Put same 16 KiB bank in $8000 and $C000
  |||+++-++---------------- Select 16 KiB PRG ROM bank at CPU $8000
  |++---------------------- Select which 512 KiB PRG ROM chip to enable
  |                         (A52 uses 0, 1, and 3; bank 2 is open bus)
  +------------------------ 0: Vertical mirroring; 1: Horizontal mirroring

It is claimed that there are four 4-bit RAM locations at $4020-$4023, mirrored throughout $4020-$5FFF.

This 16-bit RAM (which would be a 74ls170 or 74ls670) is definitely not present on Action 52, per the image in NesCartDB. It is unknown whether Cheetahmen II has this IC; Nestopia does not implement it at all.


 Here are Disch's original notes:
 ========================
 =  Mapper 228          =
 ========================
 
 
 Example Games:
 --------------------------
 Action 52
 Cheetah Men II
 
 
 Notes:
 ---------------------------
 Cheetah Men II is infamous for how freaking terrible it is.  Action 52 is none better.  These games are SO
 bad, it's hilarious.
 
 Action 52's PRG size is weird (not a power of 2 value).  This is because there are 3 seperate 512k PRG chips.
 PRG Setup section will cover details.
 
 
 Powerup and Reset:
 ---------------------------
 Apparently the games expect $00 to be written to $8000 on powerup/reset.
 
 
 Registers:
 ---------------------------
 
   $4020-4023:  [.... RRRR]  RAM  (readable/writable)
                 (16 bits of RAM -- 4 bits in each of the 4 regs)
   $4024-5FFF:    mirrors $4020-4023
 
   $8000-FFFF:    [.... ..CC]   Low 2 bits of CHR
                A~[..MH HPPP PPO. CCCC]
 
     M = Mirroring (0=Vert, 1=Horz)
     H = PRG Chip Select
     P = PRG Page Select
     O = PRG Mode
     C = High 4 bits of CHR
 
 CHR Setup:
 ---------------------------
 
       $0000   $0400   $0800   $0C00   $1000   $1400   $1800   $1C00 
     +---------------------------------------------------------------+
     |                             $8000                             |
     +---------------------------------------------------------------+
 
 
 PRG Setup:
 ---------------------------
 
 'H' bits select the PRG chip.  Each chip is 512k in size.  Chip 2 does not exist, and when selected, will
 result in open bus.  The Action 52 .nes ROM file contains chips 0, 1, and 3:
 
 chip 0:  offset 0x000010
 chip 1:  offset 0x080010
 chip 2:  -- non existant --
 chip 3:  offset 0x100010
 
 'P' selects the PRG page on the currently selected chip.
 
                $8000   $A000   $C000   $E000  
              +-------------------------------+
 PRG Mode 0:  |            <$8000>            |
              +-------------------------------+
 PRG Mode 1:  |     $8000     |     $8000     |
              +---------------+---------------+