CPROM

From NESdev Wiki
Revision as of 04:36, 18 March 2013 by Lidnariq (talk | contribs) (s/KB/KiB/g; link to kevtris's notes; explain why the 7404 was needed)
Jump to navigationJump to search

NES-CPROM (no HVC-CPROM known) is a particular Nintendo cartridge board which uses discrete logic to provide up to four 4 KB banks of CHR RAM. The iNES format assigns mapper 13 to this board. Only Videomation, a paint program for NES, is known to use it.

Overview

  • PRG ROM size: 32 KiB (DIP-28 standard pinout)
  • PRG ROM bank size: Not bankswitched
  • PRG RAM: None
  • CHR capacity: 16 KiB RAM (in two 8KiB RAMs)
  • CHR bank size: 4 KiB
  • Nametable mirroring: Vertical
  • Subject to bus conflicts: Yes

Banks

  • PPU $0000-$0FFF: 4 KiB fixed CHR RAM bank (first page)
  • PPU $1000-$1FFF: 4 KiB swappable CHR RAM page

Registers

Bank select ($8000-$FFFF)

7  bit  0
---- ----
xxxx xxCC
       ||
       ++- Select 4 KiB CHR RAM bank for PPU $1000-$1FFF

Hardware

The CPROM board uses a 74HC161 (4-bit latch) and a 74HC08 (quad 2-input AND gate), with a 74HC04 (hex inverter) to unify the two RAMs.

Disch's Notes

 Here are Disch's original notes:
 ========================
 =  Mapper 013          =
 ========================
 
 
 aka:
 --------------------------
 CPROM
 
 
 Example Game:
 --------------------------
 Videomation
 
 
 Notes:
 --------------------------
 This mapper uses 16k of CHR-RAM.  CHR-RAM is swappable.
 It also has bus conflicts!
 
 
 
 Registers (**BUS CONFLICTS**):
 --------------------------
   $8000-FFFF:  [.... ..CC]
     C = Select 4k CHR (RAM) page @ $1000-1FFF
 
 
 
 CHR Setup:
 --------------------------
 
       $0000   $0400   $0800   $0C00   $1000   $1400   $1800   $1C00 
     +-------------------------------+-------------------------------+
     |             { 0 }             |             $8000             |
     +-------------------------------+-------------------------------+

See also