VRC6: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
m (add links to mapper number pages) |
(→Mirroring Control ($B003): Easy part first) |
||
Line 41: | Line 41: | ||
7 bit 0 | 7 bit 0 | ||
--------- | --------- | ||
. | W.DD MMDD | ||
| || |||| | |||
| ++-||++- PPU addressing mode; write 0x20 here until better described | |||
| ++--- [[Mirroring]] (0: vertical; 1: horizontal; | |||
| 2: one-screen, lower bank; 3: one-screen, upper bank;) | |||
+--------- PRG RAM enable | |||
=== CHR Select 0…7 ($Dxxx, $Exxx) === | === CHR Select 0…7 ($Dxxx, $Exxx) === |
Revision as of 20:18, 27 October 2013
The Konami's VRC6 ASIC mapper comes in two variants. The register descriptions given here are as they exist in Akumajou Densetsu (iNES Mapper 024). The A0 and A1 lines are switched in Madara and Esper Dream 2 (iNES Mapper 026), so for those games, adjustments will need to be made ($x001 becomes $x002 and vice versa).
Overview
- PRG ROM size: Up to 256 KB
- PRG ROM bank size: 16 KB at $8000, 8 KB at $C000
- PRG RAM: Up to 8 KB
- CHR capacity: Up to 256 KB ROM
- CHR bank size: 1 KB
- Nametable mirroring: Controlled by mapper
- Subject to bus conflicts: No
See VRC6 pinout for chip pinout.
Registers
Only address lines 0, 1, and 12-15 are used for registers, therefore mirrors can be found by ANDing the address with $F003 ($DE6A mirrors $D002)
16k PRG Select ($8000-$8003)
7 bit 0 --------- .... PPPP |||| ++++- Select 16 KB PRG ROM at $8000
8k PRG Select ($C000-$C003)
7 bit 0 --------- ...P PPPP | |||| +-++++- Select 8 KB PRG ROM at $C000
Mirroring Control ($B003)
7 bit 0 --------- W.DD MMDD | || |||| | ++-||++- PPU addressing mode; write 0x20 here until better described | ++--- Mirroring (0: vertical; 1: horizontal; | 2: one-screen, lower bank; 3: one-screen, upper bank;) +--------- PRG RAM enable
CHR Select 0…7 ($Dxxx, $Exxx)
Write to CPU address | 1KB CHR bank affected |
---|---|
$D000 | $0000-$03FF |
$D001 | $0400-$07FF |
$D002 | $0800-$0BFF |
$D003 | $0C00-$0FFF |
$E000 | $1000-$13FF |
$E001 | $1400-$17FF |
$E002 | $1800-$1BFF |
$E003 | $1C00-$1FFF |
IRQ control ($F00x)
$F000: IRQ Latch $F001: IRQ Control $F002: IRQ Acknowledge
Many VRC mappers use the same IRQ system. For details on IRQ operation, see VRC IRQs.
Sound ($900x, $A00x, $B000-$B002)
For details on sound information, see VRC6 audio.