Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics
-
So I just discovered a weird new Russian ROM hack of Super Mario Bros. that is rather mindblowing. Two player simultaneous gameplay, improved graphics almost on the level of Super Mario All-Stars, carrying and kicking Koopa shells, Super Mario Bros 3 style overworld map, a mix of Super Mario 1 and 3 levels and so much more:
Watching this, it seems almost impossible that this kind of hack could be made. This hack won't work on normal NES emulators nor the original NES console, so how does this work? Well, famicom clones are still being released to this day, some of which with new capabilities such as support for more sprites and colors. Oftentimes, these modified famicom clones are sold with new games that take advantage of these new features and don't give away the fact that it's really a famicom under the hood. Some Russian hackers decided they wanted to use the expanded capabilities of these new famiclones to make a better Mario game and here we go.
So how do you play this? You'll have to use a custom emulator which I have for you.
Step 1 - Find and patch the Super Mario Bros. (World) ROM with the Super Mario Bros 1/3 patch.
You will need to figure this out for yourself as I cannot link you to it.Step 2 - Install the lr-fceumm-mod libretrocore from my RetroPie-Extra repository.
wget https://raw.githubusercontent.com/zerojay/RetroPie-Extra/master/scriptmodules/libretrocores/lr-fceumm-mod.sh cp ./lr-fceumm-mod.sh ~/RetroPie-Setup/scriptmodules/libretrocores/
Install the lr-fceumm-mod libretrocore from the experimental section of RetroPie-Setup's package manager. This core will not interfere with your regular lr-fceumm core so you can have both installed at the same time without a problem.
Step 3 - Copy your patched ROM to your NES ROMs folder. Yes, the patched version of the game does use a .nesm extension and you must keep it that way for this hack to function!
Step 4 - Edit your es_systems.cfg to add the .nesm and .NESM file extensions for NES ROMs.
nano ~/.emulationstation/es_systems.cfg
<system> <name>nes</name> <fullname>Nintendo Entertainment System</fullname> <path>/home/pi/RetroPie/roms/nes</path> <extension>.7z .nes .nesm .zip .7Z .NES .NESM .ZIP</extension> <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ nes %ROM%</command> <platform>nes</platform> <theme>nes</theme> </system>
Save and close the file.
Step 5 - Restart emulationstation and launch the game, change that specific ROM's emulator to lr-fceumm-mod.
Hit the A button repeatedly after launching the game to get to the runcommand menu. Set this specific ROM's emulator to lr-fceumm-mod. (I wouldn't set all games to use it, I'm not sure yet how this emulator mod may affect other games.)
Pick up two controllers and have a blast. If you give this a shot, let me know what you think! Be really careful kicking those Koopa shells, you might accidentally catch your friend by surprise!
-
@zerojay okay, this is awesome. Thanks for sharing. It took a little longer than expected to track down this hack than I expected. Now to get it working.
EDIT: I'm really curious why you can't change the extension...
-
@simpleethat said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
I'm really curious why you can't change the extension...
Probably because it's actually not a nes game, so the emulator is using the extension to figure this out.
-
@barbudreadmon said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
@simpleethat said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
I'm really curious why you can't change the extension...
Probably because it's actually not a nes game, so the emulator is using the extension to figure this out.
It actually is a NES game. I explain it in the OP. Opening the ROM, you can see it has a standard NES header starts with "NES" like every other NES ROM.
@simpleethat said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
EDIT: I'm really curious why you can't change the extension...
Just repeating what I was told. It's possible it may not function fully without it. Little point in taking that chance when adding the extension takes 10 seconds.
-
@zerojay said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
It actually is a NES game
No it's not, i heard about this hack some time ago, why do you think it requires a specific modded emulator ? Because it uses stuff not existing on a real nes.
-
@barbudreadmon said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
@zerojay said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
It actually is a NES game
No it's not, i heard about this hack some time ago, why do you think it requires a specific modded emulator ? Because it uses stuff not existing on a real nes.
Again, already stated in OP. It's a NES ROM meant for the more advanced famiclones out there that have added capabilities and that's why it requires a specific modded emulator. It still follows the same conventions that standard NES ROMs do - PRG/CHR, iNES header, etc... The ROM itself is essentially no different from any other pirate/homebrew/hack that uses a special mapper. No, it won't run on a standard NES, but that doesn't change the fact that it's still is structured and still functions as NES ROM, it's not something that fakes being a NES ROM. I'm not arguing it any further.
-
@zerojay said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
No, it won't run on a standard NES
That's my point, and from what i heard it won't run either on those famiclones because it's some kind of hybrid, otherwise it wouldn't require a specially modded emulator because some nes emulators already support those famiclones. That's why i'm saying it's not really a nes game and the changed extension might have something to do with the detection.
-
All I'm doing is trying to show the community something interesting and fun and a way for them to try it for themselves. Good night.
-
@zerojay said in Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics:
All I'm doing is trying to show the community something interesting and fun and a way for them to try it for themselves. Good night.
I didn't say otherwise, i only said it's not really a nes game.
-
Working in pi3b+ , very thanks
-
Hello - I'm having problems patching the file. I think I've got the correct ROM, and the hack file, but in the terminal I get errors using the patch command. This could be the wrong way around it (I'm pretty inexperienced with Linux) but does anyone have any advice? Thanks in advance.
-
@TedMaul What is the extension of the patch that you have?
-
@zerojay hello - it's .nesm.
-
You have the patched rom already then, no need to patch.
-
@zerojay brilliant, thanks! Works like a charm. Feel a bit silly spending 90 mins trying to get it working now...!
-
@TedMaul Book it under lerning fees. 😉
-
Thanks so much for all the work you do. I'm having a little trouble, though... I don't seem to have an es_systems.cfg anywhere? I tried renaming the file extension to get around this, and as you said, it doesn't work :P After that, I tried to make an es_systems.cfg in the proper directory, but it only included the code from your post, and I'm guessing there's other stuff that's supposed to be in that file, as it just made my ES crash on boot. I 100% have the proper rom (tested on my PC through the dev's modded emu) and have the modded emu from your repo installed, I just need to work out what the heck is going on with this one little .cfg file. Thanks in advance for your help, I'm gonna go check out some of the other games from your repo in the meantime, keep up the great work!
-
-
Will take a look around, thanks. Just to be clear, I don't have an es_systems.cfg in the directory right now, doing that will cause it to appear so I can modify it? Sorry to clutter the thread, I'm still pretty new to this stuff. I'm running the latest version of RetroPie on a 3b+, if that makes any difference.
Edit
Should have clicked the link before responding, all good now! Thanks for the quick response and help
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.