INES Mapper 018

From NESdev Wiki
Revision as of 10:22, 21 April 2015 by Bregalad (talk | contribs) (Added links to Dish's and Firebug's documents, removed pasted Dish's document)
Jump to navigationJump to search

iNES Mapper 018 represents the Jaleco SS88006 mapper used for Magic John (Japanese version of Totally Rad) and a couple other games.

This mapper appears to be connected only to A12-A14, A0-A1, and D0-D3, so the PRG bank and CHR bank numbers are split over two adjacent mapper numbers. Bits 0-3 are in the lower address of a pair (e.g. $xxx0 or $xxx2), and bits 4-7 are in the next higher address.

$8000-1: PRG $8000
3210 3210
|||| ||||
++++-++++- Select 8192 byte PRG ROM bank in $8000-$9FFF

$8002-3: PRG $A000
$9000-1: PRG $C000
(PRG $E000 is fixed to the last bank)

$A000-1: CHR $0000
3210 3210
|||| ||||
++++-++++- Select 1024 byte CHR ROM bank in $0000-$03FF

$A002-3: CHR $0400
$B000-1: CHR $0800
$B002-3: CHR $0C00
$C000-1: CHR $1000
$C002-3: CHR $1400
$D000-1: CHR $1800
$D002-3: CHR $1C00

The IRQ counter is a 16-bit down counter. Port $F001 controls how far the borrow propagates: If all counting bits wrap from $0 to $F, it doesn't modify the fixed bits before it but instead triggers an IRQ. Writes to $F000 or $F001 acknowledge the IRQ.

7654 3210  $F001: IRQ control
     ||||
     |||+- Enable (0: pause; 1: count)
     +++-- 0: Count down in bits 15-0 and hold no bits constant
           1: Count down in bits 11-0 and hold bits 15-12 constant
           2-3: Count down in bits 7-0 and hold bits 15-8 constant
           4-7: Count down in bits 3-0 and hold bits 15-4 constant

Alternate interpretation:

7654 3210  $F001: IRQ control
     ||||
     |||+- Enable (0: pause; 1: count)
     ||+-- Hold bits 15-12 constant
     |+--- Hold bits 15-8 constant
     +---- Hold bits 15-4 constant

This counter uses a reload value. All bits are reloaded, even the ones held constant.

  • $E000: Set bits 3-0 of counter
  • $E001: Set bits 7-4 of counter
  • $E002: Set bits 11-8 of counter
  • $E003: Set bits 15-12 of counter

Some games also have a µPD7756C ADPCM sound IC. If so,

  • $F003: Start playing sound specified by lower 4 bits.

See also