INES Mapper 068: Difference between revisions
(clarify nametable registers - $C000 overrides the lower nametable and $D000 overrides the upper nametable, then mirroring gets done accordingly) |
(→Registers: Good clarification, but I still find it worth mentioning that the lower and upper nametables always show up in these two respective areas of PPU address space) |
||
Line 13: | Line 13: | ||
Map a 2 KiB CHR ROM bank into PPU $1800. | Map a 2 KiB CHR ROM bank into PPU $1800. | ||
=== $C000-$CFFF: Nametable register 0 === | === $C000-$CFFF: Nametable register 0 === | ||
Map a 1 KiB CHR ROM bank in place of the lower nametable (CIRAM $000-$3FF). | Map a 1 KiB CHR ROM bank in place of the lower nametable (CIRAM $000-$3FF; PPU $2000-$23FF). | ||
Only D6-D0 are used; D7 is ignored and treated as 1, so nametables must be in the last 128 KiB of CHR ROM. | Only D6-D0 are used; D7 is ignored and treated as 1, so nametables must be in the last 128 KiB of CHR ROM. | ||
=== $D000-$DFFF: Nametable register 1 === | === $D000-$DFFF: Nametable register 1 === | ||
Map a 1 KiB CHR ROM bank in place of the upper nametable (CIRAM $400-$7FF). | Map a 1 KiB CHR ROM bank in place of the upper nametable (CIRAM $400-$7FF; PPU $2C00-$2FFF). | ||
Only D6-D0 are used; D7 is ignored and treated as 1. | Only D6-D0 are used; D7 is ignored and treated as 1. | ||
=== $E000-$EFFF: Mirroring === | === $E000-$EFFF: Mirroring === |
Revision as of 17:58, 27 February 2011
iNES Mapper 068 is a mapper used by After Burner 2 for Famicom. It has the unusual ability to map CHR ROM into the part of the PPU's address space used for nametables.
Registers
$8000-$8FFF: CHR bank at $0000
Map a 2 KiB CHR ROM bank into PPU $0000.
$9000-$9FFF: CHR bank at $0800
Map a 2 KiB CHR ROM bank into PPU $0800.
$A000-$AFFF: CHR bank at $1000
Map a 2 KiB CHR ROM bank into PPU $1000.
$B000-$BFFF: CHR bank at $1800
Map a 2 KiB CHR ROM bank into PPU $1800.
$C000-$CFFF: Nametable register 0
Map a 1 KiB CHR ROM bank in place of the lower nametable (CIRAM $000-$3FF; PPU $2000-$23FF). Only D6-D0 are used; D7 is ignored and treated as 1, so nametables must be in the last 128 KiB of CHR ROM.
$D000-$DFFF: Nametable register 1
Map a 1 KiB CHR ROM bank in place of the upper nametable (CIRAM $400-$7FF; PPU $2C00-$2FFF). Only D6-D0 are used; D7 is ignored and treated as 1.
$E000-$EFFF: Mirroring
7654 3210 | | | +- Mirroring: 0 for vertical or 1 for horizontal +------ Chip select for PPU $2000-$2FFF (nametables): 0 for CIRAM or 1 for CHR ROM
Mirroring works the same way in both CIRAM and CHR ROM modes.
$F000-$FFFF: PRG bank at $8000
PRG bank switching works much like iNES Mapper 002. Writes map a 16 KiB PRG bank into $8000-$BFFF, leaving $C000-$FFFF fixed to the last 16 KiB in the PRG ROM.
References
- [362]mapper_docs.zip by Disch