GxROM: Difference between revisions
m (remove link to self-redirect) |
(continuing) |
||
Line 2: | Line 2: | ||
The designation '''GxROM''' refers to Nintendo cartridge boards labeled NES-GNROM and NES-MHROM (and their [[Famicom|HVC]] counterparts), which use discrete logic to provide up to four 32 KB banks of PRG ROM and up to four 8 KB banks of CHR ROM. The [[iNES]] format assigns '''mapper 66''' to these boards. | The designation '''GxROM''' refers to Nintendo cartridge boards labeled NES-GNROM and NES-MHROM (and their [[Famicom|HVC]] counterparts), which use discrete logic to provide up to four 32 KB banks of PRG ROM and up to four 8 KB banks of CHR ROM. The [[iNES]] format assigns '''mapper 66''' to these boards. | ||
==Board Types== | |||
The following GxROM boards are known to exist: | The following GxROM boards are known to exist: | ||
{| class="tabular" | {| class="tabular" | ||
! Board || PRG ROM || CHR | ! Board || PRG ROM || CHR | ||
|- | |- | ||
|GNROM || 128 KB || | |GNROM || 128 KB || 32 KB ROM | ||
|- | |- | ||
|MHROM || 64 KB || | |MHROM || 64 KB || 16, 32 KB ROM | ||
|} | |} | ||
Revision as of 23:36, 10 March 2015
The designation GxROM refers to Nintendo cartridge boards labeled NES-GNROM and NES-MHROM (and their HVC counterparts), which use discrete logic to provide up to four 32 KB banks of PRG ROM and up to four 8 KB banks of CHR ROM. The iNES format assigns mapper 66 to these boards.
Board Types
The following GxROM boards are known to exist:
Board | PRG ROM | CHR |
---|---|---|
GNROM | 128 KB | 32 KB ROM |
MHROM | 64 KB | 16, 32 KB ROM |
Overview
- PRG ROM size: Up to 128 KB
- PRG ROM bank size: 32 KB
- PRG RAM: None
- CHR capacity: Up to 32 KB ROM
- CHR bank size: 8 KB
- Nametable mirroring: Solder pads select vertical or horizontal mirroring
- Subject to bus conflicts: Yes
Banks
- CPU $8000-$FFFF: 32 KB switchable PRG ROM bank
- PPU $0000-$1FFF: 8 KB switchable CHR ROM bank
Registers
Bank select ($8000-$FFFF)
7 bit 0 ---- ---- xxPP xxCC || || || ++- Select 8 KB CHR ROM bank for PPU $0000-$1FFF ++------ Select 32 KB PRG ROM bank for CPU $8000-$FFFF
Bits 5 is not used on MHROM, which supports only 64 KB PRG.
Solder pad config
- Horizontal mirroring : 'H' disconnected, 'V' connected.
- Vertical mirroring : 'H' connected, 'V' disconnected.
Hardware
The GNROM board contains a 74HC161 binary counter used as a quad D latch (4-bit register) to select the current PRG and CHR banks. MHROM, on the other hand, was often a glop-top, as it was used for pack-in games, such as the Super Mario Bros./Duck Hunt multicart, and needed to be very inexpensive to produce in huge quantities.
Variants
Placing the bank register in $6000-$7FFF instead of $8000-$FFFF gives mapper 140. The Color Dreams board leaves the port at $8000-$FFFF, swaps the nibbles, expands CHR by two bits, and adds two bits for charge pump control.
Theoretically the bank select register could be implemented with a 74HC377 octal D latch, allowing up to 512 KB of PRG ROM and 128 KB of CHR ROM. There are a large number of other variants on GNROM, where the bits or the writeable address were moved around.
Disch's Notes
Here are Disch's original notes: ======================== = Mapper 066 = ======================== aka -------------------------- GxROM and compatible Example Games: -------------------------- Doraemon Dragon Power Gumshoe Thunder & Lightning Super Mario Bros. + Duck Hunt Notes: --------------------------- I do not know whether or not this mapper suffers from bus conflicts. Use caution! This mapper is INFAMOUS for having bad headers. Probably 80% or more of these ROMs floating around out there have the wrong mirroring mode set in the header. Some games are marked as mapper 066 that are really mapper 140. See mapper 140 for info. Registers: -------------------------- $8000-FFFF: [..PP ..CC] P = Selects 32k PRG @ $8000 C = Selects 8k CHR @ $0000