AxROM: Difference between revisions
Rainwarrior (talk | contribs) m (linking Rare) |
(→Various notes: link to mapper 7 in bootgod's db) |
||
Line 44: | Line 44: | ||
== Various notes == | == Various notes == | ||
On the AOROM board, special mask ROMs with an additional positive CE on pin 2 (which is connected to PRG R/W) can be used to prevent bus conflicts without an additional chip. It seems that only | On the AOROM board, special mask ROMs with an additional positive CE on pin 2 (which is connected to PRG R/W) can be used to prevent bus conflicts without an additional chip. Some 128 KB games were made with AOROM to save the cost of a 74HC02. It seems that only ''Double Dare'' and ''Wheel of Fortune'' employ this trick noticeably--that is, if emulated with bus conflicts enabled, the games will glitch. [http://bootgod.dyndns.org:7777/search.php?keywords=7&kwtype=pcb The list of AxROM games in NesCartDB] lacks quality coverage of the PCB backs for the AOROM games, so it is hard to determine yet which games may be wired this way. | ||
It is likely that every retail AOROM game could be emulated correctly without emulating bus conflicts. | It is likely that every retail AOROM game could be emulated correctly without emulating bus conflicts. | ||
== Variants == | == Variants == |
Revision as of 17:49, 6 October 2012
The generic designation AxROM refers to Nintendo cartridge boards NES-AMROM, NES-ANROM, NES-AN1ROM, NES-AOROM, their HVC counterparts, and clone boards. Most games developed by Rare Ltd. used an AxROM series board. The iNES format assigns mapper 7 to AxROM.
The following AxROM boards are known to exist:
Board | PRG ROM | Bus conflicts |
---|---|---|
AMROM | 128 KB | Yes |
ANROM | 128 KB | No |
AN1ROM | 64 KB | No |
AOROM | 128, 256 KB | Yes (by default) |
Overview
- PRG ROM size: up to 256 KB
- PRG ROM bank size: 32 KB
- PRG RAM: None
- CHR capacity: 8 KB RAM
- CHR bank size: Not bankswitched
- Nametable mirroring: Single-screen, mapper-selectable
- Subject to bus conflicts: AMROM/AOROM only
Banks
- CPU $8000-$FFFF: 32 KB switchable PRG ROM bank
Solder pad config
No solder pad config is needed on the AxROM board family.
Registers
Bank select ($8000-$FFFF)
7 bit 0 ---- ---- xxxM xPPP | ||| | +++- Select 32 KB PRG ROM bank for CPU $8000-$FFFF +------ Select 1 KB VRAM page for all 4 nametables
Hardware
The AxROM boards contain a 74HC161 binary counter used as a quad D latch (4-bit register). The ANROM and AN1ROM boards also contains a 74HC02 which is used to disable the PRG ROM during writes, thus avoiding bus conflicts.
Various notes
On the AOROM board, special mask ROMs with an additional positive CE on pin 2 (which is connected to PRG R/W) can be used to prevent bus conflicts without an additional chip. Some 128 KB games were made with AOROM to save the cost of a 74HC02. It seems that only Double Dare and Wheel of Fortune employ this trick noticeably--that is, if emulated with bus conflicts enabled, the games will glitch. The list of AxROM games in NesCartDB lacks quality coverage of the PCB backs for the AOROM games, so it is hard to determine yet which games may be wired this way.
It is likely that every retail AOROM game could be emulated correctly without emulating bus conflicts.
Variants
The only difference between AMROM and BNROM is the mirroring configuration.
In theory, it would be possible to implement the bank select register with a 74HC377 octal D latch, allowing up to 512 kilobytes of PRG ROM, but no Rare game used this much memory.
Disch's Notes
Here are Disch's original notes: ======================== = Mapper 007 = ======================== aka -------------------------- AxROM Example Games: -------------------------- Battletoads Time Lord Marble Madness Notes: --------------------------- AMROM and AOROM have bus conflicts, ANROM does not AMROM and ANROM are capped at 128k PRG AOROM is capped at 256k PRG There is no CHR swapping. Every mapper 007 game I've ever seen has CHR-RAM. Registers (**BUS CONFLICTS** sometimes): -------------------------- $8000-FFFF: [...M .PPP] M = Mirroring: 0 = 1ScA 1 = 1ScB P = PRG Reg (only 2 bits wide on AMROM/ANROM) PRG Setup: -------------------------- $8000 $A000 $C000 $E000 +-------------------------------+ | $8000 | +-------------------------------+