INES Mapper 188

From NESdev Wiki
Revision as of 23:02, 17 February 2014 by Lidnariq (talk | contribs) (Hedge more)
Jump to navigationJump to search

iNES Mapper 188 describes the board used for Bandai's Karaoke Studio. This game, like Nantettatte!! Baseball additionally supports an external ROM that allows augmenting the original game.

Overview

  • PRG ROM: Up to 256 KiB + Up to 256 KiB expansion cartridge
  • PRG ROM bank size: 16 KiB
  • PRG RAM: None
  • CHR capacity: 8 KiB RAM
  • CHR bank size: Not bankswitched
  • Nametable mirroring: mapper-selectable, details unknown
  • Subject to bus conflicts: Probably not? (The game includes and uses a bus conflict prevention table. It's unclear whether this is because the original game was going to be released on UNROM and desperately ported due to a late-breaking flaw, or it actually needs it)

Registers

The mapper IC is connected to CPU A12-A15, so any register must be mapped over at least a 4096 address range, and maybe more. It's not clear why CPU A12 is connected at all; the functionality described here doesn't seem to use it.

$6xxx-????: Microphone input

The microphone for this game is permanently tethered to the cartridge, and contains two buttons labeled "A" (closer to the microphone itself) and "B" (closer to the cord).

Reads from this address provide the status of the microphone and its buttons:

7  bit  0
xXXX XMBA
---- ----
|||| ||||
|||| |||+- 0: A button is pressed
|||| ||+-- 0: B button is pressed
|||| |+--- 1-bit ADC microphone input
|+++-+---- possibly connected, probably open bus.
+--------- definitely open bus

$Cxxx-????: Banking control

7  bit  0
.XXR BBBB
---- ----
 ||| ||||
 ||| ++++- Select ROM bank mapped from $8000-$BFFF.
 ||+------ 0: Select external ROM, 1: Select internal ROM
 ++------- Unknown

The bank from $C000-$FFFF is fixed to the last bank of the internal ROM.

Both Nestopia and FCEUX implement logic that selects the last bank of the internal ROM if the software tries to select the first bank of the external ROM when it isn't present. Enri's schematic of the expansion cartridge does show two grounds connected, perhaps allowing the mapper to detect insertion; however his schematic does not show any extra connections leaving the base cartridge going back to the mapper IC, so it's unclear what hardware causes this behavior. It's possible that the game checks for a signature in the external ROM, but this signature happens to be in the first bank of the internal ROM too, and the emulators don't implement open bus.

Enri believes (based on pin order and the gap in this register), but was unable to test, that the mapper provides PRG A17.

Unknown register

The IC provides mirroring control (it is connected to PPU A10, PPU A11, and CIRAM A10). It's not known how to do so. Enri guesses it might be in the register at $C000. Neither Nestopia nor FCEUX implement anything.

Warning

The 256 KiB iNES dumps under this mapper are actually the 128KiB internal ROM followed by a 128KiB expansion ROM.

References