INES Mapper 068: Difference between revisions
(→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) |
(CHR ROM is split into two chips) |
||
Line 1: | Line 1: | ||
'''iNES Mapper 068''' is a mapper used by ''After Burner | '''iNES Mapper 068''' is a mapper used by ''After Burner''. | ||
It has the unusual ability to map CHR ROM into the part of the PPU's address space used for nametables. | It has the unusual ability to map CHR ROM into the part of the PPU's address space used for nametables. | ||
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). | ||
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). | ||
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: | === $E000-$EFFF: Nametable control === | ||
<pre> | <pre> | ||
7654 3210 | 7654 3210 | ||
| | | | | | ||
| +- Mirroring: | | +- Mirroring | ||
| 0: vertical (0101); 1: horizontal (0011); | |||
| 2: 1-screen (0000); 3: 1-screen (1111) | |||
+------ Chip select for PPU $2000-$2FFF (nametables): | +------ Chip select for PPU $2000-$2FFF (nametables): | ||
0 for CIRAM or 1 for CHR ROM | 0 for CIRAM or 1 for CHR ROM | ||
</pre> | </pre> | ||
Nametable [[mirroring]] works the same way in both CIRAM and CHR ROM modes. | |||
Not all documents mention the single screen mirroring mode; its behavior should be verified against an authentic cartridge. | |||
=== $F000-$FFFF: PRG bank at $8000 === | === $F000-$FFFF: PRG bank at $8000 === | ||
PRG bank switching works much like [[iNES Mapper 002]]. | 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. | Writes map a 16 KiB PRG bank into $8000-$BFFF, leaving $C000-$FFFF fixed to the last 16 KiB in the PRG ROM. | ||
== Hardware == | |||
Boards using this mapper usually have CHR ROM split into two chips. | |||
== References == | == References == | ||
*[362]mapper_docs.zip by Disch | *[362]mapper_docs.zip by Disch | ||
*[http://nesdev.parodius.com/sunsoft.txt Goroh's Sunsoft mapper doc] | |||
[[category:iNES Mappers]] | [[category:iNES Mappers]] |
Revision as of 15:20, 28 February 2011
iNES Mapper 068 is a mapper used by After Burner. 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). 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). Only D6-D0 are used; D7 is ignored and treated as 1.
$E000-$EFFF: Nametable control
7654 3210 | | | +- Mirroring | 0: vertical (0101); 1: horizontal (0011); | 2: 1-screen (0000); 3: 1-screen (1111) +------ Chip select for PPU $2000-$2FFF (nametables): 0 for CIRAM or 1 for CHR ROM
Nametable mirroring works the same way in both CIRAM and CHR ROM modes. Not all documents mention the single screen mirroring mode; its behavior should be verified against an authentic cartridge.
$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.
Hardware
Boards using this mapper usually have CHR ROM split into two chips.
References
- [362]mapper_docs.zip by Disch
- Goroh's Sunsoft mapper doc