NES 2.0 Mapper 534: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
NewRisingSun (talk | contribs) |
NewRisingSun (talk | contribs) (Rewrite based on new dumps) |
||
Line 1: | Line 1: | ||
{{DEFAULTSORT:534}}[[Category:Multicart mappers|534]][[Category:Mappers with CHR RAM|534]][[Category:Mappers with scanline IRQs|534]][[Category:MMC3-like mappers|534]] | {{DEFAULTSORT:534}}[[Category:Multicart mappers|534]][[Category:Mappers with CHR RAM|534]][[Category:Mappers with scanline IRQs|534]][[Category:MMC3-like mappers|534]] | ||
NES 2.0 Mapper 534 | '''NES 2.0 Mapper 534''' denotes an MMC3-based multicart mapper with an optional (G)NROM-like mode. | ||
* ''Atari Flashback Mini 7800'' | |||
* ''2-in-1 数独/五子棋'' (NJ064) by Shenzhen Nanjing | |||
* ''18-in-1 Educational Computer'' by Zhuhai S.E.Z. Liming Electronic Co. Ltd. | |||
* ''8-in-1'' (kk3311) by Waixing | |||
* ''8-in-1'' (kk3314) by Waixing | |||
==MMC3-compatible registers ($8000-$FFFF, write)== | ==MMC3-compatible registers ($8000-$FFFF, write)== | ||
These registers function identically to a normal [[MMC3]], except | These registers function identically to a normal [[MMC3]], except that the scanline counter latch register ($C000) takes the ''inverted'' value (XOR $FF) compared to a regular MMC3. | ||
== | ==Outer Bank/PRG Mask Register ($6800, write)== | ||
Mask: | Mask: $E803 | ||
D~7654 3210 | D~7654 3210 | ||
--------- | --------- | ||
.N. | .N.C CPPp | ||
| | | | |||+- PRG A17 if N=1 | ||
| | | | |++-- PRG A19..A18 | ||
| | | +-+---- CHR A17..A18 | ||
+-------- | +-------- PRG A17 mode | ||
0 | 0: PRG A17=MMC3 PRG A17 (256 KiB inner PRG bank) | ||
1: | 1: PRG A17=p (128 KiB inner PRG bank) | ||
==Solder Pad Register ($6801, write)== | |||
== | Mask: $E803 | ||
Mask: | |||
D~7654 3210 | D~7654 3210 | ||
--------- | --------- | ||
.... ...M | |||
+- 0: CPU $8000-$FFFF reads PRG-ROM | |||
1: CPU $8000-$FFFF reads solder pad (D0/D1) | |||
==Inner CHR Bank Register ($6802, write)== | |||
Mask: $E803 | |||
D~7654 3210 | |||
--------- | |||
.... CCCC | |||
++++- CHR A16..A13 in GNROM mode, | |||
ignored otherwise | |||
MMC3's CHR A10..A12 still apply, and therefore should be set up to form a contiguous 8 KiB bank. | |||
==Mode Register ($6803, write)== | |||
Mask: $E803 | |||
D~7654 3210 | |||
--------- | |||
L..M ??N. | |||
| | +-- PRG A14 mode if L=1 | |||
| | 0: PRG A14=MMC3 PRG A14 (NROM-128) | |||
| | 1: PRG A14=CPU A14 (NROM-256) | |||
| +------ Banking mode | |||
| 0: MMC3 banking | |||
| 1: GNROM banking | |||
+--------- Lock registers $6800 and $6803 | |||
As was the case with [[NES 2.0 Mapper 373|similar mappers]], GNROM banking is implemented by holding MMC3 clone's CPU A14 input is low, so that MMC3 registers #6 and #7 apply both to $8000/$C000 and $A000/$E000, and replacing the MMC3's PRG A14 with CPU A14 in NROM-256 mode (N=1). | |||
==Note== | ==Note== | ||
* | * Outer bank registers overlay any WRAM, and can only be written to if WRAM is enabled in the MMC3 ($A001=$80). | ||
* | * Register $6802 is not affected by the Lock bit in register $6803. |
Revision as of 21:36, 12 February 2020
NES 2.0 Mapper 534 denotes an MMC3-based multicart mapper with an optional (G)NROM-like mode.
- Atari Flashback Mini 7800
- 2-in-1 数独/五子棋 (NJ064) by Shenzhen Nanjing
- 18-in-1 Educational Computer by Zhuhai S.E.Z. Liming Electronic Co. Ltd.
- 8-in-1 (kk3311) by Waixing
- 8-in-1 (kk3314) by Waixing
MMC3-compatible registers ($8000-$FFFF, write)
These registers function identically to a normal MMC3, except that the scanline counter latch register ($C000) takes the inverted value (XOR $FF) compared to a regular MMC3.
Outer Bank/PRG Mask Register ($6800, write)
Mask: $E803 D~7654 3210 --------- .N.C CPPp | | |||+- PRG A17 if N=1 | | |++-- PRG A19..A18 | +-+---- CHR A17..A18 +-------- PRG A17 mode 0: PRG A17=MMC3 PRG A17 (256 KiB inner PRG bank) 1: PRG A17=p (128 KiB inner PRG bank)
Solder Pad Register ($6801, write)
Mask: $E803 D~7654 3210 --------- .... ...M +- 0: CPU $8000-$FFFF reads PRG-ROM 1: CPU $8000-$FFFF reads solder pad (D0/D1)
Inner CHR Bank Register ($6802, write)
Mask: $E803 D~7654 3210 --------- .... CCCC ++++- CHR A16..A13 in GNROM mode, ignored otherwise
MMC3's CHR A10..A12 still apply, and therefore should be set up to form a contiguous 8 KiB bank.
Mode Register ($6803, write)
Mask: $E803 D~7654 3210 --------- L..M ??N. | | +-- PRG A14 mode if L=1 | | 0: PRG A14=MMC3 PRG A14 (NROM-128) | | 1: PRG A14=CPU A14 (NROM-256) | +------ Banking mode | 0: MMC3 banking | 1: GNROM banking +--------- Lock registers $6800 and $6803
As was the case with similar mappers, GNROM banking is implemented by holding MMC3 clone's CPU A14 input is low, so that MMC3 registers #6 and #7 apply both to $8000/$C000 and $A000/$E000, and replacing the MMC3's PRG A14 with CPU A14 in NROM-256 mode (N=1).
Note
- Outer bank registers overlay any WRAM, and can only be written to if WRAM is enabled in the MMC3 ($A001=$80).
- Register $6802 is not affected by the Lock bit in register $6803.