TQROM

From NESdev Wiki
Jump to navigationJump to search

TQROM denotes Nintendo's NES-TQROM and HVC-TQROM cartridge boards, which use the Nintendo MMC3 ASIC mapper. This rare board, used only by Pinbot and High Speed, is one of the few that have both CHR ROM and CHR RAM on the same board. The iNES format assigns mapper 119 to this board.

Overview

  • PRG ROM size: 128 KB (DIP-28 Nintendo pinout)
  • PRG ROM bank size: 8 KB
  • PRG RAM: Up to 8 KB
  • CHR capacity: 32 or 64 KB ROM (DIP-28 standard pinout) and 8 KB RAM
  • CHR bank size: 1 KB and 2 KB
  • Nametable mirroring: Controlled by mapper
  • Subject to bus conflicts: No

Registers

See MM3

Bank data ($8001-$9FFF, odd)

Bit 6 of the CHR bank number is used to switch between the CHR ROM chip and the CHR RAM chip.

7  bit  0
---- ----
xCDD DDDD
 ||| ||||
 |++-++++- New bank value, based on last value written to Bank select register
 |         0: Select 2 KB CHR bank at PPU $0000-$07FF (or $1000-$17FF);
 |         1: Select 2 KB CHR bank at PPU $0800-$0FFF (or $1800-$1FFF);
 |         2: Select 1 KB CHR bank at PPU $1000-$13FF (or $0000-$03FF);
 |         3: Select 1 KB CHR bank at PPU $1400-$17FF (or $0400-$07FF);
 |         4: Select 1 KB CHR bank at PPU $1800-$1BFF (or $0800-$0BFF);
 |         5: Select 1 KB CHR bank at PPU $1C00-$1FFF (or $0C00-$0FFF);
 |         6, 7: As standard MMC3
 +-------- Chip select (for CHR banks)
           0: Select CHR ROM; 1: Select CHR RAM

Nintendo could have used bit 7 instead of bit 6, allowing 128 KiB of CHR ROM instead of 64 KiB. However, using bit 7 would have precluded a hypothetical "TQSROM" board combining TQROM-style ROM/RAM mixing with TLSROM-style single-screen mirroring. Rare developed both games on this board, and Rare was also a big fan of single-screen mirroring on the AxROM boards.

Hardware

A 74HC32 IC controls the CHR RAM's enable line.

References