AxROM: Difference between revisions
Rainwarrior (talk | contribs) (→Variants: revising to explain what emulators might support, and what an octal latch truly supports) |
Rainwarrior (talk | contribs) (→Variants: more explicit about relationship to BNROM) |
||
Line 49: | Line 49: | ||
== Variants == | == Variants == | ||
[[BNROM]] is the same as AMROM except it uses a fixed horizontal or vertical mirroring. | |||
Some emulators allow bit 3 to be used to select up to 512 KB of PRG ROM for an oversized AxROM. In hardware this could be implemented by using an octal latch in place of the quad latch ([[74377|74HC377]]), though an octal latch has 3 more bits that could be used to switch up to 4 MB of PRG ROM. | Some emulators allow bit 3 to be used to select up to 512 KB of PRG ROM for an oversized AxROM. In hardware this could be implemented by using an octal latch in place of the quad latch ([[74377|74HC377]]), though an octal latch has 3 more bits that could be used to switch up to 4 MB of PRG ROM. |
Revision as of 15:45, 16 March 2014
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 | Depends on +CE wiring |
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
BNROM is the same as AMROM except it uses a fixed horizontal or vertical mirroring.
Some emulators allow bit 3 to be used to select up to 512 KB of PRG ROM for an oversized AxROM. In hardware this could be implemented by using an octal latch in place of the quad latch (74HC377), though an octal latch has 3 more bits that could be used to switch up to 4 MB of PRG ROM.
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 | +-------------------------------+