VRC7: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
No edit summary |
(Undo revision 22101 by PizzerLover123 (talk) this really doesn't belong here) Tag: Undo |
||
(9 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Mappers with CHR RAM]][[Category:Mappers with cycle IRQs]] | [[Category:Mappers with CHR RAM]][[Category:Mappers with cycle IRQs]][[Category:NES 2.0 mappers with submappers]] | ||
{{Infobox_iNES_mapper | {{Infobox_iNES_mapper | ||
|name=VRC7 | |name=VRC7 | ||
Line 7: | Line 7: | ||
|complexity=ASIC | |complexity=ASIC | ||
|boards=352402, 353429 | |boards=352402, 353429 | ||
|pinout=VRC7 pinout | |||
|prgmax=512K | |prgmax=512K | ||
|prgpage=8K | |prgpage=8Kx3 + 8K fixed | ||
|wrammax=8K | |wrammax=8K | ||
|wrampage=8K | |wrampage=8K fixed | ||
|chrmax=256K | |chrmax=256K | ||
|chrpage= | |chrpage=1Kx8 | ||
|mirroring=H, V, or 1, switchable | |mirroring=H, V, or 1, switchable | ||
|busconflicts=No | |busconflicts=No | ||
Line 30: | Line 31: | ||
== Banks == | == 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. | If CHR-RAM is used instead of CHR-ROM, the banking feature is still functional. | ||
Line 49: | Line 53: | ||
There are two board variations: | 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 ($ | 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) === | === PRG Select 0 ($8000) === | ||
Line 128: | Line 132: | ||
*[http://nesdev.org/vrcvii.txt Konami VRC-VII Chip Info] by Kevin Horton. | *[http://nesdev.org/vrcvii.txt Konami VRC-VII Chip Info] by Kevin Horton. | ||
*[http://www.romhacking.net/documents/362/ NES Mapper List] by Disch | *[http://www.romhacking.net/documents/362/ NES Mapper List] by Disch | ||
*[https://forums.nesdev.org/viewtopic.php?f=3&t=17573#p223145 Submapper test ROMs] | |||
*[https://siliconpr0n.org/archive/doku.php?id=digshadow:konami:vrc_vii_053982 siliconpr0n VRC7 decapsulation photographs] |
Latest revision as of 11:36, 6 October 2024
VRC7
Company | Konami |
Games | 2 in NesCartDB |
Complexity | ASIC |
Boards | 352402, 353429 |
Pinout | VRC7 pinout |
PRG ROM capacity | 512K |
PRG ROM window | 8Kx3 + 8K fixed |
PRG RAM capacity | 8K |
PRG RAM window | 8K fixed |
CHR capacity | 256K |
CHR window | 1Kx8 |
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
- $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 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