CPROM: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (add cat:nescartdb)
(s/KB/KiB/g; link to kevtris's notes; explain why the 7404 was needed)
Line 5: Line 5:


== Overview ==
== Overview ==
* PRG ROM size: 32 KB (DIP-28 standard pinout)
* PRG ROM size: 32 KiB (DIP-28 standard pinout)
* PRG ROM bank size: Not bankswitched
* PRG ROM bank size: Not bankswitched
* PRG RAM: None
* PRG RAM: None
* CHR capacity: 16 KB RAM [[Category:Mappers with CHR RAM]]
* CHR capacity: 16 KiB RAM [[Category:Mappers with CHR RAM]] (in two [[6264 static ram|8KiB RAMs]])
* CHR bank size: 4 KB
* CHR bank size: 4 KiB
* Nametable [[mirroring]]: Vertical
* Nametable [[mirroring]]: Vertical
* Subject to [[bus conflict]]s: Yes [[Category:Mappers with bus conflicts]]
* Subject to [[bus conflict]]s: Yes [[Category:Mappers with bus conflicts]]


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


== Registers ==
== Registers ==
Line 23: Line 23:
  xxxx xxCC
  xxxx xxCC
         ||
         ||
         ++- Select 4 KB CHR RAM bank for PPU $1000-$1FFF
         ++- Select 4 KiB CHR RAM bank for PPU $1000-$1FFF


== Hardware ==
== Hardware ==
The CPROM board uses a [[74161|74HC161]] (4-bit latch), [[7404|74HC04]] (hex inverter), and [[7408|74HC08]] (quad 2-input AND gate).
The CPROM board uses a [[74161|74HC161]] (4-bit latch) and a [[7408|74HC08]] (quad 2-input AND gate), with a [[7404|74HC04]] (hex inverter) to unify the two RAMs.


== Disch's Notes ==
== Disch's Notes ==
Line 66: Line 66:
       |            { 0 }            |            $8000            |
       |            { 0 }            |            $8000            |
       +-------------------------------+-------------------------------+
       +-------------------------------+-------------------------------+
== See also ==
* [http://kevtris.org/mappers/nes_discrete/NES_CPROM.html Kevtris's notes]

Revision as of 04:36, 18 March 2013

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