INES Mapper 243: Difference between revisions
(ew ew ew) |
(I confused myself. fix that. Also, FCEUmm is probably the relevant source of information, not Nestopia.) |
||
Line 2: | Line 2: | ||
[[iNES Mapper 243]] describes Sachen's [[Sachen 74LS374N pinout|“74LS374N” mapper IC]], which in no way resembles its namesake. | [[iNES Mapper 243]] describes Sachen's [[Sachen 74LS374N pinout|“74LS374N” mapper IC]], which in no way resembles its namesake. | ||
The IC as described by Санчез, and as images in GoodNES, does not have any games with more than 64KiB PRG, so it's unclear why Санчез specifies three bits for PRG banking. | |||
The IC | |||
Example Games: | Example Games: | ||
Line 15: | Line 13: | ||
Mask: $E101 | Mask: $E101 | ||
Both variants- | |||
$4100: [.... .AAA] Address for use with $4101 | $4100: [.... .AAA] Address for use with $4101 | ||
Variant one (Nestopia calls "374b" | Variant one (Nestopia calls "374b", FCEUmm calls S74LS374N, both meaning [[iNES Mapper 150]], but what Санчез specified for m243) : | ||
$4101: Data port | $4101: Write only- Data port | ||
R:2 -> [.... ...B] High bit of CHR reg AND ALSO sets PRG reg to B. | R:2 -> [.... ...B] High bit of CHR reg AND ALSO sets PRG reg to B. | ||
R:4 -> [.... ...C] Middle bit of CHR reg | R:4 -> [.... ...C] Middle bit of CHR reg | ||
Line 28: | Line 27: | ||
%10 = L-shaped; see below | %10 = L-shaped; see below | ||
%11 = 1ScA | %11 = 1ScA | ||
$4100 reads: [.... .aaa] | |||
aaa = ~AAA XOR (counter & 1) - where counter toggles on every reset | |||
Variant two (Nestopia calls "374a" | Variant two (Nestopia calls "374a", FCEUmm calls S74LS374NA, Nocash's specification, all meaning m243) : | ||
$4101: Data port | $4101: Data port | ||
R:0 -> [.... ....] Writes reset CHR bank to 3 and PRG bank to 0 | R:0 -> [.... ....] Writes reset CHR bank to 3 and PRG bank to 0 | ||
Line 50: | Line 49: | ||
CHR Setup: | CHR Setup: | ||
--------------------------- | --------------------------- | ||
8k CHR page @ $0000 is selected according to | 8k CHR page @ $0000 is selected according to the BCDE bits. | ||
Of all the images marked as mapper 243 in GoodNES 3.1.4, Nestopia's database leaves ONLY ''Poker III (Sachen) [!]'' and ''Poker III (Sachen) [a1].nes'' as variant 374a, and refiles the rest as variant 374b. | Of all the images marked as mapper 243 in GoodNES 3.1.4, Nestopia's database leaves ONLY ''Poker III (Sachen) [!]'' and ''Poker III (Sachen) [a1].nes'' as variant 374a, and refiles the rest as variant 374b (m150). | ||
There are two different dumps of "Poker III" in GoodNES, both marked with [!]. This has caused some confusion. There is no difference in the PRG of these two images! The only difference seems to be the different interpretation of CHR order. Given that Санчез described the pinout, and so presumably actually figured out which pin connected to which pin on the ROMs, it seems | There are two different dumps of "Poker III" in GoodNES, both marked with [!]. This has caused some confusion. There is no difference in the PRG of these two images! The only difference seems to be the different interpretation of CHR order. Given that Санчез described the pinout, and so presumably actually figured out which pin connected to which pin on the ROMs, it seems likely that his interpretation is the true one. | ||
This still doesn't address the difference in mirroring behavior. Nocash says that no game ever wrote anything other than $05 to the register anyway. | This still doesn't address the difference in mirroring behavior. Nocash says that no game ever wrote anything other than $05 to the register anyway. | ||
Reference: | Given the above, it seems that mapper 243 should possibly be deprecated, and all existing dumps either discarded or refiled to mapper 150. | ||
Reference: [http://cah4e3.shedevr.org.ru/%5Blst%5D-sachen-mappers.txt Санчез], [https://github.com/rdanbrook/nestopia/blob/master/source/core/board/NstBoardSachen74x374.cpp Nestopia's source], [http://nocash.emubase.de/everynes.htm#mapper243sachenpokerprg32kvrom8k Nocash], [http://sourceforge.net/p/fceumm/code/HEAD/tree/src/boards/sachen.c FCEUmm source] |
Revision as of 06:48, 17 May 2014
iNES Mapper 243 describes Sachen's “74LS374N” mapper IC, which in no way resembles its namesake.
The IC as described by Санчез, and as images in GoodNES, does not have any games with more than 64KiB PRG, so it's unclear why Санчез specifies three bits for PRG banking.
Example Games: -------------------------- Honey Poker III 5-in-1 Registers: --------------------------- Mask: $E101 Both variants- $4100: [.... .AAA] Address for use with $4101 Variant one (Nestopia calls "374b", FCEUmm calls S74LS374N, both meaning iNES Mapper 150, but what Санчез specified for m243) : $4101: Write only- Data port R:2 -> [.... ...B] High bit of CHR reg AND ALSO sets PRG reg to B. R:4 -> [.... ...C] Middle bit of CHR reg R:5 -> [.... .PPP] PRG reg (32k @ $8000) R:6 -> [.... ..DE] Low bits of CHR reg R:7 -> [.... .MM.] Mirroring %00 = Horz %01 = Vert %10 = L-shaped; see below %11 = 1ScA $4100 reads: [.... .aaa] aaa = ~AAA XOR (counter & 1) - where counter toggles on every reset Variant two (Nestopia calls "374a", FCEUmm calls S74LS374NA, Nocash's specification, all meaning m243) : $4101: Data port R:0 -> [.... ....] Writes reset CHR bank to 3 and PRG bank to 0 R:2 -> [.... ...B] High bit of CHR reg R:4 -> [.... ...E] Low bit of CHR reg R:5 -> [.... ...P] PRG reg (32k @ $8000) R:6 -> [.... ..CD] Middle bits of CHR reg R:7 -> [.... ...M] Mirroring 0 = Horz 1 = Vert Mirroring: --------------------------- Mirroring mode %10 is not quite 1ScB: [ NTA ][ NTB ] [ NTB ][ NTB ] CHR Setup: --------------------------- 8k CHR page @ $0000 is selected according to the BCDE bits.
Of all the images marked as mapper 243 in GoodNES 3.1.4, Nestopia's database leaves ONLY Poker III (Sachen) [!] and Poker III (Sachen) [a1].nes as variant 374a, and refiles the rest as variant 374b (m150).
There are two different dumps of "Poker III" in GoodNES, both marked with [!]. This has caused some confusion. There is no difference in the PRG of these two images! The only difference seems to be the different interpretation of CHR order. Given that Санчез described the pinout, and so presumably actually figured out which pin connected to which pin on the ROMs, it seems likely that his interpretation is the true one.
This still doesn't address the difference in mirroring behavior. Nocash says that no game ever wrote anything other than $05 to the register anyway.
Given the above, it seems that mapper 243 should possibly be deprecated, and all existing dumps either discarded or refiled to mapper 150.
Reference: Санчез, Nestopia's source, Nocash, FCEUmm source