RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Super Mario Bros 1/3 Hack on Pi - Two Players Simultaneous, Improved Graphics

    Scheduled Pinned Locked Moved General Discussion and Gaming
    hacksnessmb
    19 Posts 8 Posters 7.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      zerojay
      last edited by zerojay

      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!

      simpleethatS 1 Reply Last reply Reply Quote 4
      • simpleethatS
        simpleethat @zerojay
        last edited by simpleethat

        @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...

        B 1 Reply Last reply Reply Quote 0
        • B
          barbudreadmon @simpleethat
          last edited by

          @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.

          FBNeo developer - github - forum

          Z 1 Reply Last reply Reply Quote 0
          • Z
            zerojay @barbudreadmon
            last edited by zerojay

            @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.

            B 1 Reply Last reply Reply Quote 0
            • B
              barbudreadmon @zerojay
              last edited by

              @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.

              FBNeo developer - github - forum

              Z 1 Reply Last reply Reply Quote 0
              • Z
                zerojay @barbudreadmon
                last edited by zerojay

                @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.

                B 1 Reply Last reply Reply Quote 0
                • B
                  barbudreadmon @zerojay
                  last edited by barbudreadmon

                  @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.

                  FBNeo developer - github - forum

                  1 Reply Last reply Reply Quote 0
                  • Z
                    zerojay
                    last edited by

                    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.

                    B 1 Reply Last reply Reply Quote 2
                    • B
                      barbudreadmon @zerojay
                      last edited by

                      @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.

                      FBNeo developer - github - forum

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        kactius @barbudreadmon
                        last edited by

                        Working in pi3b+ , very thanks

                        1 Reply Last reply Reply Quote 0
                        • T
                          TedMaul
                          last edited by

                          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.

                          Z 1 Reply Last reply Reply Quote 0
                          • Z
                            zerojay @TedMaul
                            last edited by

                            @TedMaul What is the extension of the patch that you have?

                            T 1 Reply Last reply Reply Quote 1
                            • T
                              TedMaul @zerojay
                              last edited by

                              @zerojay hello - it's .nesm.

                              1 Reply Last reply Reply Quote 0
                              • Z
                                zerojay
                                last edited by

                                You have the patched rom already then, no need to patch.

                                T 1 Reply Last reply Reply Quote 1
                                • T
                                  TedMaul @zerojay
                                  last edited by

                                  @zerojay brilliant, thanks! Works like a charm. Feel a bit silly spending 90 mins trying to get it working now...!

                                  ClydeC 1 Reply Last reply Reply Quote 0
                                  • ClydeC
                                    Clyde @TedMaul
                                    last edited by

                                    @TedMaul Book it under lerning fees. 😉

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      Jolundus
                                      last edited by

                                      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!

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @Jolundus
                                        last edited by

                                        @Jolundus Take a look at the Docs to see how you can modify the stock es_systems.cfg file and create your own.

                                        J 1 Reply Last reply Reply Quote 1
                                        • J
                                          Jolundus @mitu
                                          last edited by Jolundus

                                          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

                                          1 Reply Last reply Reply Quote 0
                                          • First post
                                            Last post

                                          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.