INES Mapper 159: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
NewRisingSun (talk | contribs) (Shorten by only explaining differences to mapper 16) |
Rainwarrior (talk | contribs) (link Bandai FCG) |
||
Line 1: | Line 1: | ||
[[Category:iNES Mappers|159]][[Category:Mappers with cycle IRQs|159]] | [[Category:iNES Mappers|159]][[Category:Mappers with cycle IRQs|159]] | ||
iNES Mapper 159 is used for Bandai | iNES Mapper 159 is used for [[Bandai FCG]] boards with an [[Bandai LZ93D50 pinout|LZ93D50 ASIC]] and a 128-byte serial EEPROM (24C01). The 128 bytes must be denoted as PRG-NVRAM in the [[NES 2.0]] header using byte value $10. | ||
=Game List= | =Game List= | ||
* ''Dragon Ball Z: Kyoushuu! Saiya-jin'' | * ''Dragon Ball Z: Kyoushuu! Saiya-jin'' |
Revision as of 18:46, 25 September 2018
iNES Mapper 159 is used for Bandai FCG boards with an LZ93D50 ASIC and a 128-byte serial EEPROM (24C01). The 128 bytes must be denoted as PRG-NVRAM in the NES 2.0 header using byte value $10.
Game List
- Dragon Ball Z: Kyoushuu! Saiya-jin
- Magical Taruruuto-kun: Fantastic World!!
- Magical Taruruuto-kun 2: Mahou Daibouken
- SD Gundam Gaiden - Knight Gundam Monogatari
Banks
- CPU $8000-$BFFF: 16 KiB switchable PRG ROM bank
- CPU $C000-$FFFF: 16 KiB PRG ROM bank, fixed to the last bank
- PPU $0000-$03FF: 1 KiB switchable CHR ROM bank
- PPU $0400-$07FF: 1 KiB switchable CHR ROM bank
- PPU $0800-$0BFF: 1 KiB switchable CHR ROM bank
- PPU $0C00-$0FFF: 1 KiB switchable CHR ROM bank
- PPU $1000-$13FF: 1 KiB switchable CHR ROM bank
- PPU $1400-$17FF: 1 KiB switchable CHR ROM bank
- PPU $1800-$1BFF: 1 KiB switchable CHR ROM bank
- PPU $1C00-$1FFF: 1 KiB switchable CHR ROM bank
Registers
All registers function the same way as INES Mapper 016, submapper 5, except that the serial EEPROM is not a 24C02 but a 24C01. Bandai's developers consistently thought the 24C01 was a little-endian device, and their code clocks in address and data bytes assuming this. However, it's actually a big-endian device, and a multi-byte read or write from EEPROM will increment the address accordingly.