Nintendo NES-001 User Guide - Page 37
Appendix D, Memory Mapper Functions - support
View all Nintendo NES-001 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 37 highlights
Appendix D Memory Mapper Functions The information in this section is based on [6] with additional information about MMC1 from [46]. D.1 UNROM Switch Address $8000-$FFFF Data 16 KB PRG-ROM bank number to load into $8000. On reset, the first PRG-ROM bank is loaded into $8000 and the last PRG-ROM bank is loaded into $C000. Switching is only allowed for the bank at $8000, the one at $C000 is permanently assigned to that location. Since this mapper has no support for VROM, games using it have 8 KB of VRAM at $0000 in PPU memory. D.2 CNROM Switch Address $8000-$FFFF Data 8 KB CHR-ROM bank number to load into PPU memory at $0000. With this mapper, PRG-ROM functions the same as with NROM (no mapper), so games with only one 16 KB bank of PRG-ROM will load it into both $8000 and $C000, those with two will load one into $8000 and the other into $C000. On reset, the first 8 KB VROM bank is loaded into PPU $0000. D.3 MMC1 Address $8000-$9FFF Data Register 0: $A000-$BFFF • Bit 0 - Selects mirroring between horizontal (0) and vertical (1). • Bit 1 - Set to 0 to cause single screen mirroring. • Bit 2 - If 0, PRG-ROM swapped at $C000. If 1, PRG-ROM swapped at $8000. • Bit 3 - If 0, swap 32 KB of PRG-ROM at $8000. If 1, swap 16 KB at the address specified by bit 2. • Bit 4 - If the cartridge has VROM, 0 indicates swapping 8 KB of VROM at PPU $0000, 1 indicates swapping two 4 KB VROM pages at PPU $0000 and $1000. On 1024 KB cartridges this bit specifies whether to use 256 KB selection register 1. • Bit 7 - Set to 1 to reset register. Register 1: • Bits 0-3 - VROM bank number to load into PPU $0000. Based on bit 4 of register 0, this will either be 8 KB bank n, or 4 KB banks n and (n + 1) where n is the value of bits 0-3. • Bit 4 - 256 KB selection register 0. Stores the low bit of 256 KB PRGROM selection in 1024 KB cartridges with bit 4 of register 0 set, otherwise 0 indicates swapping from first 256 KB of PRG-ROM, 1 indicates swapping from third 256 KB of PRG-ROM. In 512 KB cartridges, 0 indicates swapping from first 256 KB of PRG-ROM, 1 indicates swapping from second 256 KB of PRG-ROM. 37