LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217183)
lidnariq and I were unsure about the register masks on this mapper. Here are PCB images from MLX, which given the apparent plethora of LF36 cover variants may or may not be representative of the cart that the common Mapper 043 ROM image was made from. There is also an alternative dump which runs under Nestopia under a different implementation of Mapper 043, which Nestopia Plus! calls UNL-SMB2JX, and which FCEUX does not run at all.
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217184)
LF36 最少20多种PCB,。。。。。
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217186)
Something like that:
Image Image

But still few questions:
4020.11 -> to which leg of NTDEC8801?
74157.3 -> to which leg of NTDEC8801?
74157.4 -> PRG.26 ?
74157.6 -> to which leg of NTDEC8801?
74157.7 -> PRG.27 ?
74157.9 -> PRG.1 ?
74138.2 -> to which leg of 74157 or NTDEC8801?
74138.1 -> to which leg of 74157 or NTDEC8801?
74138.3 -> to which leg of 74157 or NTDEC8801?
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217189)
That looks like Mapper 40. I only have one Mapper 40 SMB2J ROM image, which has 64 KiB of PRG-ROM and 8 KiB of CHR-ROM, so this may be the PCB from which that ROM image was taken. It displays a blank title screen rather than an SMB2 logo.

Of course, this means that the original question about Mapper 043's address masks will not be answered by this PCB. :lol:
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217195)
krzysiobal wrote:
(…)
4020.11 -> to which leg of NTDEC8801? 7
74157.3 -> to which leg of NTDEC8801? 13
74157.4 -> PRG.26 ? Yes
74157.6 -> to which leg of NTDEC8801? None
74157.7 -> PRG.27 ? Yes
74157.9 -> PRG.1 ? Yes
74138.2 -> to which leg of 74157 or NTDEC8801? None
74138.1 -> to which leg of 74157 or NTDEC8801? 11
74138.3 -> to which leg of 74157 or NTDEC8801? 12
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217200)
Thanks, so it's mapper 40:
Image Image

NTDEC8801 probably consists of:
* flip flop with set/reset (1/2 7474)
* some kind of combinatorial logic (A13 <= CPU-A13 when CPU-!ROMSEL! = 0 else 0)
* and something more that is not used (not wired)
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217202)
So we expect to find another cartridge labeled LF36 that is actually mapper 43?
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217204)
That, or to find out that Mapper 43 was never used for LF36 to begin with, despite what FCEUX says. I was told though that there are many cover and possibly PCB variations all titled LF36, so the future is bright.

I would not be surprised if there were only one "true" LF36, and the other ones merely copied that original LF36's cover image including the code.
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217205)
Kevtris documented a mapper 50 LF36 there, for reference.
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217206)
Eh. That's the Mario/Luigi changed to Romeo/Lambo version, named "Super Mario Bros. (Alt Levels) [p1][!]" in GoodNES. I've seen that version but with a cover not having the LF36 code on it.
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217207)
Hey that was my cartridge, I traded it in 2015.

A long time ago I saw a LF36 with a -big- cartridge shell like the one shown here, so that's another eventual variant to count.

So if I understand correctly, the 043 one should have the full title screen?
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217209)
I took the image from here.

According to the original Nintendulator source, the 043 one should have a DIP switch inside to select whether the SMB2 logo is shown on the title screen or not. (And then there's also Mr. Mary 2, which CaHe3 has hacked and assigned to 043 as well.)
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217211)
I'm a little skeptical that any mass-produced board actually has a DIP switch. They're expensive (compared to 'just not bothering'). The very few boards that we've found pictures of that theoretically had DIP switches actually had multiple different PCB variants.
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217212)
It may just be a solder pad, or a trace that is selectively cut, instead of an actual DIP switch.

Here is a list of all the SMB2J conversions for which ROM images are available and that I am aware of:
  • Whirlwind Manu LE10. 40 KiB PRG-ROM, 8 KiB CHR-ROM. Full title screen without stars, no Button A->World A1 cheat, crashes after world 4-4. Mapper 304.
  • Unknown publisher, blue cart with LF36 code, 2722-labelled PCB inside. 64 KiB PRG-ROM, 8 KiB CHR-ROM. Blank title screen with miscolored left cloud. Has Button A->World A1 cheat, crash-proneness untested. Mapper 40. Basically what was posted to the first post of this thread.
  • Unknown publisher, black cart sometimes with and sometimes without LF36 code. 128 KiB PRG-ROM, no CHR-ROM. Blank title screen with correctly-colored clouds and Mario/Luigi changed to Romeo/Lambo, has Button A->World A1 cheat, crash-proneness untested. Mapper 50.
  • Unknown publisher, named Super Mario Bros. 2 (J) (LF36) [p1].nes in GoodNES. 80 KiB PRG-ROM, 8 KiB CHR-ROM. Full or blank title screen (with cut-off left cloud) depending on DIP/Solder-Pad setting, copyright year 0986 instead of 1986, with eight stars. Crash-proneness untested. Has Button A-World A1 cheat. Mapper 43. May be hacked from 128 to 80 KiB PRG.
  • Bit Corp Mr. Mary 2. 80 KiB PRG-ROM, no CHR-ROM. Full title screen with eight stars and "Mr. Mary 2" title, no Nintendo copyright. Has Button A-World A1 cheat. Hacked from 128 to 80 KiB PRG according to FCEUX source. Mapper 43.
  • Unknown publisher, named Super Mario Bros. 2j (Unl) [U][!].unf in GoodNES. 80 KiB PRG-ROM, 8 KiB CHR-ROM. Full title screen with eight stars and 1986 Nintendo copyright. Has Button A-World A1 cheat. Crash-proneness untested. I wanted to assign this to Mapper 311, but wanted to wait until further hardware info is available on the others.
  • Kaiser KS-121 with KS-7032 PCB. Title screen logo replaced with sprites and "3", characters changed to "RAMBO" and "LUIGI". 128 KiB PRG-ROM, no CHR-ROM, Mapper 142.
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217213)
lidnariq wrote:
I'm a little skeptical that any mass-produced board actually has a DIP switch.

Do Camerica boards count?
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217216)
Point taken, tepples. Even so, disabling the CIC stunner is a different class of behavior, and one that doesn't really affect emulation.
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217468)
For what it's worth, here is the cover art of LF36 from Whirlwind Manu's catalog, in case that helps tracking down the "true" LF36.

(And while you're at it, check out the description of "Volleyball" on a different catalog page.)
Re: LF36 Super Mario Bros 2 (J) ROM Cartridge Conversion
by on (#217818)
Small update to the mystery of the two remaining unknown versions. This version (let's call it "Version C", headerless CRC32 0xEA7682A9):
NewRisingSun wrote:
Unknown publisher, named Super Mario Bros. 2j (Unl) [U][!].unf in GoodNES. 80 KiB PRG-ROM, 8 KiB CHR-ROM. Full title screen with eight stars and 1986 Nintendo copyright. Has Button A-World A1 cheat. Crash-proneness untested. I wanted to assign this to Mapper 311, but wanted to wait until further hardware info is available on the others.
seems to be a hack or bad dump of this version (let's call it "Version D", headerless CRC32 0x4F9BF9BC):
NewRisingSun wrote:
Unknown publisher, named Super Mario Bros. 2 (J) (LF36) [p1].nes in GoodNES. 80 KiB PRG-ROM, 8 KiB CHR-ROM. Full or blank title screen (with cut-off left cloud) depending on DIP/Solder-Pad setting, copyright year 0986 instead of 1986, with eight stars. Crash-proneness untested. Has Button A-World A1 cheat. Mapper 43. May be hacked from 128 to 80 KiB PRG.
Version C and Version D write the same values to the $4022 PRG banking register. But:
  • Version C is what Nestopia expects Mapper 043 to be (calling it SMB2J (c)); Nestopia Plus calls it "UNL-SMB2JX". It must switch the entire 32 KiB from $8000-$FFFF to run at all. Even then, the game goes crazy at the beginning of World 5-1, causing the player to immediately die in an empty sky stage, which is why it should be considered a bad dump. It cannot be bad emulation of a good dump, because the data that is supposed to be selected by $4022's $05 value is not present at all in the image, notwithstanding GoodNES' [!] tag, which seems to be completely worthless at this point. This version therefore should not be emulated under any mapper number.
  • Version D is what FCEUX expects Mapper 043 to be, and must switch only the 8 KiB from $C000-$DFFF. World 5-1 works, but only if the lookup table for the lowest three $4022 bits to the actual 8 KiB PRG-ROM bank is 4,3,4,4,4,7,5,6, as Nintendulator does it. FCEUX' source code has this table commented out and uses a table of 4,3,5,3,6,3,7,3 instead, which causes the game to crash in World 5-1 just like version C. The 4,3,5,3 table is however correct for Mr. Mary 2, which writes entirely different values to the $4022 bankswitch registers ($06 for world 5-1 and $02 for world A-1). This of course means that Version D and Mr. Mary 2 should not coexist under that same Mapper 043. One could move one of them to Mapper 311, or to a submapper. Then again, because Version D has CHR-ROM and Mr. Mary doesn't, one could use that to distinguish the two and use the correct lookup table for each one.
Remaining mysteries are what the deal with Version D's DIP switch is (according to Nintendulator), why version D displays a 0986 rather than a 1986 copyright date, and why Version C displays the correct 1986 date even though it otherwise seems to be a bad dump of Version D.