Announcement

Collapse
No announcement yet.

(Request) Super Mario All-Stars - brick fix with Game Genie

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • (Request) Super Mario All-Stars - brick fix with Game Genie

    Hi.

    Not long ago, I found this patch, which allowed me to play a SNES version of Super Mario Bros. (from All-Stars compilation) with proper physics... Maybe you noticed it too - if you're a big Mario and if you jump to a common brick, you won't immediately bounce back. On the contrary, you'll be "sucked" to the brick. With this patch it works just like it should.
    But the problem is, it can be used only with an emulator (it's IPS patch). The question is: is it possible to replicate this fix with a Game Genie and play that way on a real hardware?
    I tried to make my own patch, but I cannot do it. Could somebody help me? Thank you very much!

  • #2
    Using a hex editor compare a patched and non patched rom and see where the differences are, then post it here and we can probably make the code.
    Spoiler Alert! Click to view...

    THE BAD GUY!!!!!!

    Comment


    • #3
      There are 16 differences. 8 are in the header, and I'm not sure why they would patch it. I assume those bytes have nothing to do with the code, but I could be wrong. It could be bypassing a crc check or something. Even if they're not needed, there are another 8 bytes that need changed. Considering a SNES GG lets you use only 5 codes, that's not enough unless you have 2 genies that can be chained.

      EDIT: Now I realize those bytes may have shown in the header because I didn't patch the right size rom. Anyway, there are 16 bytes that it patches, too many for a proper genie code.
      Please put all complaints in writing and submit them here.

      Above link not working? Try here.

      Comment


      • #4
        Thank you both for quick replies. So it can't be done? Even with Pro Action Replay? I tought it would be enough to just change one variable or something, to change the direction of jump when hitting a brick.

        EDIT: So one code means one altered byte? That's why you can change only five bytes, because you can use only five codes with Game Genie?
        Last edited by Paar86; 03-03-2012, 05:59:47 AM.

        Comment


        • #5
          Originally posted by Paar86 View Post
          EDIT: So one code means one altered byte? That's why you can change only five bytes, because you can use only five codes with Game Genie?
          Correct. A SNES Game Genie code holds the data for an address and the value that will be written to it.
          Please put all complaints in writing and submit them here.

          Above link not working? Try here.

          Comment


          • #6
            That's too bad.
            Ok, let's say that the IPS patch doesn't exist and it needs to be done from a scratch. Is it still impossible?
            I was really hoping that someday I could play the game with correct phycis on a real hardware... Now my dream has been shattered to pieces.

            EDIT: One more thing - the IPS patch works with both Super Mario Bros. and Super Mario Bros. - The Lost Levels... Maybe it alters 16 bytes, because it has to fix two games at once... In that case, maybe, it would be necessary to alter only eight bytes (for one game) and even though Game Genie can change only five bytes, Action Replay can change more, is that right?
            Last edited by Paar86; 03-03-2012, 11:41:47 AM.

            Comment


            • #7
              Actually, the pro action replay alters only ram. But I can see you're pretty adamant about this so I'll spend a little more time trying to help you out.

              For the sake of it working, I'll assume for now that the first 8 bytes are a header patch, which wouldn't be needed for the Game Genie. Of the remaining 8 bytes, four are in one area, and the other four are in another area. The values for the first set are identical to the second. So, I will then assume that one set is for smb1 while the other is for smbll.

              Just give me a little time to figure out the physical addresses for the genie codes, and I'll update this post. By the way, welcome to our forums.

              EDIT: Alright, I figured it out, and it's not good news. The first 8 bytes are a subroutine, and the two sets of four are jumps to that subroutine. So, even to have the effect on one game would take 12 bytes.

              So, to have the effect just like the patch on real hardware, it's either chaining multiple genies, or getting a flash cart to play the patched rom on your snes.

              Here are the genie codes anyway.

              Code:
              Super Mario All-Stars (USA) - SNES
              
              Based on the original patch by BMF54123 (http://www.romhacking.net/hacks/167/)
              
              Descendant Physics fix (Master- needed for both)
              CBEC-3DD7
              DFEC-3D07
              69EC-3D67
              CDEC-3DA7
              62EC-3FD7
              DDEC-3F07
              F1EC-3F67
              18EC-3FA7
              
              
              Descendant Physics fix (SMB1)
              4488-3F6E
              CD88-3FAE
              EE88-34DE
              DD88-340E
              
              
              Descendant Physics fix (SMB:LL)
              448C-1F75
              CD8C-1F55
              EE8C-1F85
              DD8C-1FE5
              Please put all complaints in writing and submit them here.

              Above link not working? Try here.

              Comment


              • #8
                This is some incredible work, thank you very much! So, to make it work, I need three Game Genies (GG -> GG -> GG -> SMAS)? Well, it will look ugly as hell, but maybe I will give it a try... Maybe I'll consider getting a flash cart though. Again, I cannot thank you enough.
                Last edited by Paar86; 03-03-2012, 02:57:39 PM.

                Comment


                • #9
                  Yeah, you'd need three genies to fit 12 codes. I've never tested using multiple genies on the snes before, but someone has confirmed it works with nes.
                  Please put all complaints in writing and submit them here.

                  Above link not working? Try here.

                  Comment


                  • #10
                    One final question - now, when you know how this fix is made, is it really impossible to replicate it on PAR2 (as it allows to input more than five codes at once)? You mentioned something about PAR being RAM modificator only... I don't know the differences excatly.
                    Last edited by Paar86; 03-03-2012, 03:58:30 PM.

                    Comment


                    • #11
                      Your hack alters the ROM, basically the information contained within the cart. Technically, when the SNES is on, the rom data is copied from the cart into multiple pages ($80-$BF), in the $8000 - $FFFF range. Game Genies alter the data in these spaces.

                      The RAM is the temporary memory that the CPU reads/writes to while the game is being played, a couple of simple examples are like what level you're on, how much health you have, etc. In the SNES the RAM is stored between $7E0000-$7FFFFF. The PAR alters the information in this space.

                      So to better explain the difference, consider an infinite health code, where you always have health of 100. A Game Genie will alter the game's data so that health is not subtracted when you get hit, and your health stays put. A PAR just constantly writes a value of 100 (0x64) to the RAM, so even if it decrements, it just goes back to 100.
                      Please put all complaints in writing and submit them here.

                      Above link not working? Try here.

                      Comment


                      • #12
                        This is some exhausting explanation. Thanks.
                        So three Game Genies... It would be still cheaper than buying a flash cart, but there's no guarantee it will work. But if I'll ever try it, I'll let you know of the results .

                        Comment


                        • #13
                          I've heard that some of the higher versions of actual Pro Action Replays can handle raw genie codes, just can't be searched for though. I don't have any of the actual hardware so I can't confirm this though. Basically ROM is the game's instructions, these values never change; RAM is the values for the instructions, which are more or less static.

                          Comment


                          • #14
                            I did some research and it really looks like newer versions of PAR can handle GG codes. Unfortunately, I don't have PAR2 or 3 (as they can handle up to 255 codes at once), so I cannot test it on a real hardware. But I tried to convert rimsky82's GG codes to PAR format and enter them in SNES9X and ZSNES - and it worked! Here are the codes:

                            Code:
                            Super Mario All-Stars (USA) - SNES
                            
                            Based on the original patch by BMF54123 (http://www.romhacking.net/hacks/167/)
                            and GG codes by rimsky82
                            
                            Descendant Physics fix (Master- needed for both)
                            80FFA0A9
                            80FFA101
                            80FFA285
                            80FFA3A0
                            80FFA48D
                            80FFA500
                            80FFA616
                            80FFA76B
                            
                            
                            Descendant Physics fix (SMB1)
                            83BFB622
                            83BFB7A0
                            83BFB8FF
                            83BFB900
                            
                            
                            Descendant Physics fix (SMB:LL)
                            8DBDA422
                            8DBDA5A0
                            8DBDA6FF
                            8DBDA700

                            Comment


                            • #15
                              I didn't know some PARs can write to rom addresses, or even handle that many codes. That's some useful information. I should get myself one of these devices.
                              Please put all complaints in writing and submit them here.

                              Above link not working? Try here.

                              Comment

                              Working...
                              X