INES Mapper 068: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎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 2'' for Famicom.
'''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; PPU $2000-$23FF).
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; PPU $2C00-$2FFF).
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: Mirroring ===
=== $E000-$EFFF: Nametable control ===
<pre>
<pre>
7654 3210
7654 3210
   |    |
   |    |
   |    +- Mirroring: 0 for vertical or 1 for horizontal
   |    +- 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>
Mirroring works the same way in both CIRAM and CHR ROM modes.
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