INES Mapper 091: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
NewRisingSun (talk | contribs) mNo edit summary |
m (defaultsort) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category:iNES Mappers | {{DEFAULTSORT:091}}[[Category:iNES Mappers]][[Category:Mappers with fixed-timing scanline IRQs]] | ||
iNES Mapper 091 was used by the original release of ''Super Fighter III'' from an unknown publisher, but is more commonly known by a clone board from J.Y. Company | iNES Mapper 091 was used by the original release of ''Super Fighter III'' from an unknown publisher, but is more commonly known by a clone board from J.Y. Company. | ||
{| class="wikitable" | |||
! colspan="3" | INES Mapper 091 submapper table | |||
|- | |||
! Submapper # !! Board !! Games | |||
|- | |||
| 0 || JY830623C|| ''Street Fighter 3'', ''Mortal Kombat II'', ''Dragon Ball Z 2'', ''Mario & Sonic 2'' | |||
|- | |||
| 0 || YY840238C|| ''1995 Super HIK 4-in-1 (JY-016)'', ''1995 Super HiK 4-in-1 (JY-017)'' | |||
|- | |||
| 1 || EJ-006-1 || ''Super Fighter III'' | |||
|} | |||
Submapper 0 has a PA12-based IRQ counter and hard-wired mirroring; submapper 1 an M2-based IRQ counter and selectable mirroring. | |||
=Banks= | =Banks= | ||
Line 19: | Line 25: | ||
=Registers= | =Registers= | ||
==CHR-ROM Bank Select ($6000-$6003, write)== | ==CHR-ROM Bank Select ($6000-$6003, write)== | ||
Mask: $F007 ( | Mask: $F003/$F007 (submapper 0/1) | ||
* $6000: Select 2 KiB CHR-ROM bank at PPU $0000-$07FF | * $6000: Select 2 KiB CHR-ROM bank at PPU $0000-$07FF | ||
* $6001: Select 2 KiB CHR-ROM bank at PPU $0800-$0FFF | * $6001: Select 2 KiB CHR-ROM bank at PPU $0800-$0FFF | ||
Line 29: | Line 32: | ||
* $6003: Select 2 KiB CHR-ROM bank at PPU $1800-$1FFF | * $6003: Select 2 KiB CHR-ROM bank at PPU $1800-$1FFF | ||
==Nametable Mirroring Select ($6004-$6005, write, | ==Nametable Mirroring Select ($6004-$6005, write, submapper 1 only)== | ||
Mask: $F007 | Mask: $F007 | ||
* $6004: Select horizontal mirroring, value ignored | * $6004: Select horizontal mirroring, value ignored | ||
* $6005: Select vertical mirroring, value ignored | * $6005: Select vertical mirroring, value ignored | ||
==IRQ Counter Register ($6006-$6007 | ==IRQ Counter Register ($6006-$6007, write, submapper 1 only)== | ||
Mask: $F007 | Mask: $F007 | ||
* $6006: Set IRQ Counter LSB | |||
* $6007: Set IRQ Counter MSB | |||
==PRG-ROM Bank Select ($7000-$7001, write)== | ==PRG-ROM Bank Select ($7000-$7001, write)== | ||
Mask: $F007 ( | Mask: $F003/$F007 (submapper 0/1) | ||
* $7000: Select 8 KiB PRG-ROM bank at CPU $8000-$9FFF | * $7000: Select 8 KiB PRG-ROM bank at CPU $8000-$9FFF | ||
* $7001: Select 8 KiB PRG-ROM bank at CPU $A000-$BFFF | * $7001: Select 8 KiB PRG-ROM bank at CPU $A000-$BFFF | ||
==IRQ Stop/Acknowledge ($7006, write)== | ==IRQ Stop/Acknowledge ($7006, write)== | ||
Mask: $ | Mask: $F003 (submapper 0)/$F007 (submapper 1) | ||
Value is ignored | Value is ignored.. | ||
==IRQ Start/Reset ($7007, write)== | ==IRQ Start/Reset ($7007, write)== | ||
Mask: $F007 ( | Mask: $F003/$F007 (submapper 0/1) | ||
Value is ignored | Value is ignored. | ||
==Outer Bank register ($8000-$9FFF, write)== | ==Outer Bank register ($8000-$9FFF, write, submapper 0 only)== | ||
Mask: | Mask: unknown | ||
A~FEDC BA98 7654 3210 | A~FEDC BA98 7654 3210 | ||
------------------- | ------------------- | ||
Line 62: | Line 66: | ||
++-- Select outer 128 KiB PRG-ROM bank (PRG A17-A18) | ++-- Select outer 128 KiB PRG-ROM bank (PRG A17-A18) | ||
=Notes= | =Notes= | ||
* | * Submapper 0: the IRQ counter is a binary counter clocked by PPU A12, and simply counts a fixed number of 64 unfiltered rises of PPU A12. | ||
* | * Submapper 1: the IRQ counter is a binary counter clocked by the M2 signal with a factor of 5/4, meaning counting down by five every fourth M2 cycle. | ||
* Submapper 1's ''Super Fighter III'' runs a hardware test when resetting with Select+Start+B pressed. The test exists in J.Y. Company's hacked versions as well, but was not adjusted for the simpler hardware and thus will fail some tests. | |||
* The commonly available ROM image of ''Super Fighter III'' is a mapper hack for [[INES Mapper 197]]. | * The commonly available ROM image of ''Super Fighter III'' is a mapper hack for [[INES Mapper 197]]. | ||
Latest revision as of 19:33, 24 April 2019
iNES Mapper 091 was used by the original release of Super Fighter III from an unknown publisher, but is more commonly known by a clone board from J.Y. Company.
INES Mapper 091 submapper table | ||
---|---|---|
Submapper # | Board | Games |
0 | JY830623C | Street Fighter 3, Mortal Kombat II, Dragon Ball Z 2, Mario & Sonic 2 |
0 | YY840238C | 1995 Super HIK 4-in-1 (JY-016), 1995 Super HiK 4-in-1 (JY-017) |
1 | EJ-006-1 | Super Fighter III |
Submapper 0 has a PA12-based IRQ counter and hard-wired mirroring; submapper 1 an M2-based IRQ counter and selectable mirroring.
Banks
- CPU $8000-$9FFF: 8 KiB switchable PRG-ROM bank
- CPU $A000-$BFFF: 8 KiB switchable PRG-ROM bank
- CPU $C000-$FFFF: 16 KiB PRG-ROM bank, hard-wired to last bank
- PPU $0000-$07FF: 2 KiB switchable CHR-ROM bank
- PPU $0800-$0FFF: 2 KiB switchable CHR-ROM bank
- PPU $1000-$17FF: 2 KiB switchable CHR-ROM bank
- PPU $1800-$1FFF: 2 KiB switchable CHR-ROM bank
Registers
CHR-ROM Bank Select ($6000-$6003, write)
Mask: $F003/$F007 (submapper 0/1)
- $6000: Select 2 KiB CHR-ROM bank at PPU $0000-$07FF
- $6001: Select 2 KiB CHR-ROM bank at PPU $0800-$0FFF
- $6002: Select 2 KiB CHR-ROM bank at PPU $1000-$17FF
- $6003: Select 2 KiB CHR-ROM bank at PPU $1800-$1FFF
Nametable Mirroring Select ($6004-$6005, write, submapper 1 only)
Mask: $F007
- $6004: Select horizontal mirroring, value ignored
- $6005: Select vertical mirroring, value ignored
IRQ Counter Register ($6006-$6007, write, submapper 1 only)
Mask: $F007
- $6006: Set IRQ Counter LSB
- $6007: Set IRQ Counter MSB
PRG-ROM Bank Select ($7000-$7001, write)
Mask: $F003/$F007 (submapper 0/1)
- $7000: Select 8 KiB PRG-ROM bank at CPU $8000-$9FFF
- $7001: Select 8 KiB PRG-ROM bank at CPU $A000-$BFFF
IRQ Stop/Acknowledge ($7006, write)
Mask: $F003 (submapper 0)/$F007 (submapper 1)
Value is ignored..
IRQ Start/Reset ($7007, write)
Mask: $F003/$F007 (submapper 0/1)
Value is ignored.
Outer Bank register ($8000-$9FFF, write, submapper 0 only)
Mask: unknown
A~FEDC BA98 7654 3210 ------------------- .... .... .... .PPC ||+- Select outer 512 KiB CHR-ROM bank (CHR A19) ++-- Select outer 128 KiB PRG-ROM bank (PRG A17-A18)
Notes
- Submapper 0: the IRQ counter is a binary counter clocked by PPU A12, and simply counts a fixed number of 64 unfiltered rises of PPU A12.
- Submapper 1: the IRQ counter is a binary counter clocked by the M2 signal with a factor of 5/4, meaning counting down by five every fourth M2 cycle.
- Submapper 1's Super Fighter III runs a hardware test when resetting with Select+Start+B pressed. The test exists in J.Y. Company's hacked versions as well, but was not adjusted for the simpler hardware and thus will fail some tests.
- The commonly available ROM image of Super Fighter III is a mapper hack for INES Mapper 197.