Skip to main content
NESdev Wiki
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

VRC7

VRC7
CompanyKonami
Games2 in NesCartDB
ComplexityASIC
Boards352402, 353429
PinoutVRC7 pinout
PRG ROM capacity512K
PRG ROM window8Kx3 + 8K fixed
PRG RAM capacity8K
PRG RAM window8K fixed
CHR capacity256K
CHR window1Kx8
Nametable arrangementH, V, or 1, switchable
Bus conflictsNo
IRQYes
AudioVRC7a only
iNES mappers085

The Konami VRC7 is an ASIC mapper. It is assigned to iNES Mapper 085.

Example games:

  • Lagrange Point
  • Tiny Toon Adventures 2

See VRC7 pinout for chip pinout.

Banks

CPU

  • $6000-$7FFF: 8 KB PRG-RAM bank, fixed
  • $8000-$9FFF: 8 KB switchable PRG-ROM bank
  • $A000-$BFFF: 8 KB switchable PRG-ROM bank
  • $C000-$DFFF: 8 KB switchable PRG-ROM bank
  • $E000-$FFFF: 8 KB PRG-ROM bank, fixed to the last bank

PPU

  • $0000-$03FF: 1 KB switchable CHR-ROM bank
  • $0400-$07FF: 1 KB switchable CHR-ROM bank
  • $0800-$0BFF: 1 KB switchable CHR-ROM bank
  • $0C00-$0FFF: 1 KB switchable CHR-ROM bank
  • $1000-$13FF: 1 KB switchable CHR-ROM bank
  • $1400-$17FF: 1 KB switchable CHR-ROM bank
  • $1800-$1BFF: 1 KB switchable CHR-ROM bank
  • $1C00-$1FFF: 1 KB switchable CHR-ROM bank

If CHR-RAM is used instead of CHR-ROM, the banking feature is still functional.

Registers

There are two board variations:

  • VRC7b uses A3 to select registers ($x008), used in Tiny Toon Adventures (Submapper 1).
  • VRC7a uses A4 to select registers ($x010), used in Lagrange Point (Submapper 2).

Although A5 is wired for sound registers on both ($x028, $x030), in the former board the ceramic resonator necessary for the sound hardware to work is missing.

PRG Select 0 ($8000)

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

PRG Select 1 ($8010, $8008)

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

PRG Select 2 ($9000)

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

CHR Select 0…7 ($A000…$DFFF)

Write to CPU address1KB CHR bank affected
$A000$0000-$03FF
$A008 or $A010$0400-$07FF
$B000$0800-$0BFF
$B008 or $B010$0C00-$0FFF
$C000$1000-$13FF
$C008 or $C010$1400-$17FF
$D000$1800-$1BFF
$D008 or $D010$1C00-$1FFF

Mirroring Control ($E000)

7  bit  0
---------
RS.. ..MM
||     ||
||     ++- Mirroring (0: vertical; 1: horizontal;
||                        2: one-screen, lower bank; 3: one-screen, upper bank)
|+-------- Silence expansion sound if set
+--------- WRAM enable (1: enable WRAM, 0: protect)

IRQ Control ($E008 - $F010)

$E008, $E010:  IRQ Latch
       $F000:  IRQ Control
$F008, $F010:  IRQ Acknowledge

Many VRC mappers use the same IRQ system. For details on IRQ operation, see VRC IRQs.

Sound ($9010, $9030)

For details on sound information, see VRC7 audio.

See also

Edit this page on GitHub