VRC1: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (remove link to self-redirect)
(integrate disch notes into article)
Line 2: Line 2:
The Konami VRC1 is an [[:Category:ASIC mappers|ASIC]] [[MMC|mapper]]. The [[iNES]] format assigns '''mapper 75''' to VRC1.
The Konami VRC1 is an [[:Category:ASIC mappers|ASIC]] [[MMC|mapper]]. The [[iNES]] format assigns '''mapper 75''' to VRC1.


The VRC1 was used in several Famicom games released by Konami and Jaleco:
* Exciting Boxing
* Ganbare Goemon! Karakuri Douchuu
* Jajamaru Ninpouchou
* King Kong 2: Ikari no Megaton Punch
* Moero!! Junior Basket: Two on Two
* Tetsuwan Atom


__TOC__
__TOC__
Line 86: Line 93:
These bits combined with bit 2 of $9000 make a 5-bit CHR selection.
These bits combined with bit 2 of $9000 make a 5-bit CHR selection.


== Disch's Notes ==
==References==
  Here are Disch's original notes: 
* [http://www.romhacking.net/documents/362/ Disch's Mapper Notes]
  ========================
  =  Mapper 075          =
  ========================
 
 
  aka:
  --------------------------
  VRC1
 
 
  Example Games:
  --------------------------
  Tetsuwan Atom
  Ganbare Goemon! - Karakuri Douchuu
 
 
 
  Registers:
  --------------------------
 
  Range,Mask:  $8000-FFFF, $F000
 
    $8000:  [.... PPPP]  PRG Reg 0 (8k @ $8000)
    $A000:  [.... PPPP]   PRG Reg 1 (8k @ $A000)
    $C000:  [.... PPPP]  PRG Reg 2 (8k @ $C000)
 
    $9000:  [.... .BAM]  Mirroring, CHR reg high bits
      M = Mirroring (0=Vert, 1=Horz)
      A = High bit of CHR Reg 0
      B = High bit of CHR Reg 1
 
    $E000:  [.... CCCC]  Low 4 bits of CHR Reg 0 (4k @ $0000)
    $F000:  [.... CCCC]  Low 4 bits of CHR Reg 1 (4k @ $1000)
 
 
  PRG Setup:
  ---------------------------
        $8000  $A000  $C000  $E000 
      +-------+-------+-------+-------+
      | $8000 | $A000 | $C000 | { -1} |
      +-------+-------+-------+-------+
 
 
  CHR Setup:
  ---------------------------
 
    CHR regs are 5 bits wide.  The low 4 bits of each reg are set by $E000 and $F000, and the high bit is taken
  from the appropriate bits of $9000.
 
        $0000  $0400  $0800  $0C00  $1000  $1400  $1800  $1C00
      +-------------------------------+-------------------------------+
      |      $9000.1 + $E000        |      $9000.2 + $F000        |
      +-------------------------------+-------------------------------+

Revision as of 19:41, 14 April 2015

The Konami VRC1 is an ASIC mapper. The iNES format assigns mapper 75 to VRC1.

The VRC1 was used in several Famicom games released by Konami and Jaleco:

  • Exciting Boxing
  • Ganbare Goemon! Karakuri Douchuu
  • Jajamaru Ninpouchou
  • King Kong 2: Ikari no Megaton Punch
  • Moero!! Junior Basket: Two on Two
  • Tetsuwan Atom


Overview

  • PRG ROM size: Up to 128 KiB
  • PRG ROM bank size: 8 KiB
  • PRG RAM: None
  • CHR bank size: 4 KiB
  • CHR ROM size: Up to 128 KiB
  • Nametable mirroring: Controlled by mapper
  • Subject to bus conflicts: No

See VRC1 pinout for chip pinout.

Banks

  • CPU $8000-$9FFF: 8 KiB switchable PRG ROM bank
  • CPU $A000-$BFFF: 8 KiB switchable PRG ROM bank
  • CPU $C000-$DFFF: 8 KiB switchable PRG ROM bank
  • CPU $E000-$FFFF: 8 KiB PRG ROM bank, fixed to the last bank
  • PPU $0000-$0FFF: 4 KiB switchable CHR bank
  • PPU $1000-$1FFF: 4 KiB switchable CHR bank

Registers

PRG Select 0 ($8000-$8FFF)

7  bit  0
---------
.... PPPP
     ||||
     ++++- Select 8 KB PRG ROM at $8000

PRG Select 1 ($A000-$AFFF)

7  bit  0
---------
.... PPPP
     ||||
     ++++- Select 8 KB PRG ROM at $A000


PRG Select 2 ($C000-$CFFF)

7  bit  0
---------
.... PPPP
     ||||
     ++++- Select 8 KB PRG ROM at $C000


Mirroring Control, CHR bits ($9000-$9FFF)

7  bit  0
---------
.... .BAM
      |||
      ||+- Mirroring  (0: Vertical; 1: Horizontal)
      |+-- High Bit of 4 KB CHR bank at PPU $0000
      +--- High Bit of 4 KB CHR bank at PPU $1000

The mirroring bit is ignored if the cartridge is wired for 4-screen VRAM, as is typical for Vs. System games using the VRC1.

CHR Select 0 ($E000-$EFFF)

7  bit  0
---------
.... CCCC
     ||||
     ++++- Low 4 bits of 4 KB CHR bank at PPU $0000

These bits combined with bit 1 of $9000 make a 5-bit CHR selection.


CHR Select 1 ($F000-$FFFF)

7  bit  0
---------
.... CCCC
     ||||
     ++++- Low 4 bits of 4 KB CHR bank at PPU $1000

These bits combined with bit 2 of $9000 make a 5-bit CHR selection.

References