VRC7
From NESdev Wiki
Jump to navigationJump to search
VRC7
Company | Konami |
Games | 2 in NesCartDB |
Complexity | ASIC |
Boards | 352402, 353429 |
Pinout | VRC7 pinout |
PRG ROM capacity | 512K |
PRG ROM window | 8K |
PRG RAM capacity | 8K |
PRG RAM window | 8K |
CHR capacity | 256K |
CHR window | 1K |
Nametable mirroring | H, V, or 1, switchable |
Bus conflicts | No |
IRQ | Yes |
Audio | VRC7a only |
iNES mappers | 085 |
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 $8000-$9FFF: 8 KB switchable PRG ROM bank
- CPU $A000-$BFFF: 8 KB switchable PRG ROM bank
- CPU $C000-$DFFF: 8 KB switchable PRG ROM bank
- CPU $E000-$FFFF: 8 KB PRG ROM bank, fixed to the last bank
- CHR $0000-$03FF: 1 KB switchable CHR ROM bank
- CHR $0400-$07FF: 1 KB switchable CHR ROM bank
- CHR $0800-$0BFF: 1 KB switchable CHR ROM bank
- CHR $0C00-$0FFF: 1 KB switchable CHR ROM bank
- CHR $1000-$13FF: 1 KB switchable CHR ROM bank
- CHR $1400-$17FF: 1 KB switchable CHR ROM bank
- CHR $1800-$1BFF: 1 KB switchable CHR ROM bank
- CHR $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 ($x030, $x028), in the latter 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 address | 1KB 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
- Konami VRC-VII Chip Info by Kevin Horton.
- NES Mapper List by Disch
- Submapper test ROMs
- siliconpr0n VRC7 decapsulation photographs