INES Mapper 164: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
m (This is not Disch original notes anymore) |
NewRisingSun (talk | contribs) (rewrite) |
||
Line 1: | Line 1: | ||
[[Category:iNES Mappers | {{DEFAULTSORT:164}}[[Category:iNES Mappers]][[Category:Mappers using $4020-$5FFF]][[Category:Mappers with CHR RAM]] | ||
'''iNES Mapper 164''' denotes the 燕城 (Yànchéng) '''cy2000-3''' circuit board, used for the following games: | |||
* ''Final Fantasy 太空戰士 V'' (G-003) | |||
* ''大話西游'' (Dàhuà Xīyóu, G-004) | |||
* ''櫻桃小丸子'' (Chibi Maruku-chan, G-005) | |||
* ''岳飛傳'' (Yuèfēi Zhuàn, G-006) | |||
* ''Dark Seed - 黑暗之蛊'' (G-009) | |||
* ''口袋精靈: 金'' (Pokémon: Gold Edition, not to be confused with several similarly-named ports of the same name) | |||
=Banks= | |||
* CPU $6000-$7FFF: 0-8 KiB unbanked PRG-RAM, not battery-backed | |||
* CPU $8000-$BFFF: 16/32 KiB switchable PRG-ROM bank | |||
* PPU $0000-$1FFF: 8 KiB unbanked CHR-RAM | |||
* Nametable mirroring: hard-wired | |||
The circuit board has address lines for 8 KiB of PRG-RAM, though all known carts mount either no or a 2 KiB RAM chip which is then mirrored three times across the respective address range. PRG-RAM is never battery-backed; all games save the game state to a 93C66 512-byte serial EEPROM. | |||
=Registers= | |||
All registers are initialized to $00 on reset. | |||
==PRG-ROM Bank Low/1 bpp Mode Switch ($5000, write)== | |||
Mask: $FB00 | |||
D~7654 3210 | |||
--------- | |||
C1QM PPPP | |||
| +|-++++- PRG A18..A14 if M=0 | |||
| | ++++- PRG A18..A15 if M=1 | |||
| +------ PRG banking mode | |||
| 0: PRG A14..A18=QPPPP when CPU A14=0, | |||
| PRG A14..A18=11111 when CPU A14=1 (UxROM, 16 KiB switchable bank) | |||
| 1: PRG A14=CPU A14, PRG A15..A18=PPPP (BxROM, 32 KiB switchable bank) | |||
+--------- 1 bpp video mode: when PPU A13=0 ... | |||
0: PPU A3=CPU A3, PPU A12=CPU A12 (disable 1 bpp mode) | |||
1: PPU A3=CPU A0, PPU A12=CPU A9, both latched during | |||
last rise of PPU A13 during R/W (enable 1 bpp mode) | |||
* 1 bpp mode is an all points-addressable video mode that allows the 8 KiB CHR-RAM to hold just enough data for an entire screen. | |||
* Because this register is initialized to $00 on reset, thus clearing bit 4 which causes UxROM mode, the game's reset vectors will be at the end of 16 KiB bank #31. | |||
==PRG-ROM Bank High ($5100, write)== | |||
Mask: $FB00 | |||
D~7654 3210 | |||
--------- | |||
.... ..PP | |||
++- PRG A20..A19 | |||
==Microwire Interface ($5200, write)== | |||
Mask: $FB00 | |||
D~7654 3210 | |||
--------- | |||
...S .C.D | |||
| | +- 93C66 EEPROM DAT output | |||
| +--- 93C66 EEPROM CLK output | |||
+------ 93C66 EEPROM CS output | |||
==Microwire Interface ($5200, read)== | |||
Mask: $FB00 | |||
D~7654 3210 | |||
--------- | |||
.... .A.. | |||
| | |||
| | |||
+--- 93C66 EEPROM DAT input (inverted) | |||
==Unknown ($5300, write)== | |||
Mask: $FB00 | |||
All games just write $00 to this register. Its meaning is certainly not the one seen in [[INES Mapper 162]]/163. | |||
=See also= | |||
* [[NES 2.0 Mapper 558]] is a later version which drops UxROM mode and connects the microwire interface to EEPROM differently. |
Revision as of 14:53, 1 August 2020
iNES Mapper 164 denotes the 燕城 (Yànchéng) cy2000-3 circuit board, used for the following games:
- Final Fantasy 太空戰士 V (G-003)
- 大話西游 (Dàhuà Xīyóu, G-004)
- 櫻桃小丸子 (Chibi Maruku-chan, G-005)
- 岳飛傳 (Yuèfēi Zhuàn, G-006)
- Dark Seed - 黑暗之蛊 (G-009)
- 口袋精靈: 金 (Pokémon: Gold Edition, not to be confused with several similarly-named ports of the same name)
Banks
- CPU $6000-$7FFF: 0-8 KiB unbanked PRG-RAM, not battery-backed
- CPU $8000-$BFFF: 16/32 KiB switchable PRG-ROM bank
- PPU $0000-$1FFF: 8 KiB unbanked CHR-RAM
- Nametable mirroring: hard-wired
The circuit board has address lines for 8 KiB of PRG-RAM, though all known carts mount either no or a 2 KiB RAM chip which is then mirrored three times across the respective address range. PRG-RAM is never battery-backed; all games save the game state to a 93C66 512-byte serial EEPROM.
Registers
All registers are initialized to $00 on reset.
PRG-ROM Bank Low/1 bpp Mode Switch ($5000, write)
Mask: $FB00 D~7654 3210 --------- C1QM PPPP | +|-++++- PRG A18..A14 if M=0 | | ++++- PRG A18..A15 if M=1 | +------ PRG banking mode | 0: PRG A14..A18=QPPPP when CPU A14=0, | PRG A14..A18=11111 when CPU A14=1 (UxROM, 16 KiB switchable bank) | 1: PRG A14=CPU A14, PRG A15..A18=PPPP (BxROM, 32 KiB switchable bank) +--------- 1 bpp video mode: when PPU A13=0 ... 0: PPU A3=CPU A3, PPU A12=CPU A12 (disable 1 bpp mode) 1: PPU A3=CPU A0, PPU A12=CPU A9, both latched during last rise of PPU A13 during R/W (enable 1 bpp mode)
- 1 bpp mode is an all points-addressable video mode that allows the 8 KiB CHR-RAM to hold just enough data for an entire screen.
- Because this register is initialized to $00 on reset, thus clearing bit 4 which causes UxROM mode, the game's reset vectors will be at the end of 16 KiB bank #31.
PRG-ROM Bank High ($5100, write)
Mask: $FB00 D~7654 3210 --------- .... ..PP ++- PRG A20..A19
Microwire Interface ($5200, write)
Mask: $FB00 D~7654 3210 --------- ...S .C.D | | +- 93C66 EEPROM DAT output | +--- 93C66 EEPROM CLK output +------ 93C66 EEPROM CS output
Microwire Interface ($5200, read)
Mask: $FB00 D~7654 3210 --------- .... .A.. | | +--- 93C66 EEPROM DAT input (inverted)
Unknown ($5300, write)
Mask: $FB00
All games just write $00 to this register. Its meaning is certainly not the one seen in INES Mapper 162/163.
See also
- NES 2.0 Mapper 558 is a later version which drops UxROM mode and connects the microwire interface to EEPROM differently.