• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

SD Remix - 3.3 Full with Slippi Rollback Released!

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Howdy y'all.

SD Remix 3.2 LITE for v1.02 is out now. Please help us out by distributing it, but make sure people know that it only works with v1.02 for now. v1.00 is in the works. Also, they'll probably want to know that this will overwrite their existing SSBM save file.

More details in this blog post: http://wp.me/p5Pc4z-eV

If you're interested in the inner workings of SD Remix Lite, I've included some information about it here. I've also attached my raw notes and source code as a zip file to this post.
First off, I should say that this is not the most effective way of doing things. In the future, I would consider some improvements and I'll point them out where I can.

The starting point for doing memory card exploits is to understand wParam's methods, and he has a nice webpage for that. The second thing is to get a base save file with which to work with. I've gone with a save file I found online with everything unlocked, so I don't have to worry about that.

The next thing is altering the save file. There is probably an easy way to manually alter the save file, like via a hex editor. I haven't really done any research on this and I already have a method I use, which is to convert everything to a series of AR codes, using 04 codes, which are 32 bit writes. These all go into under the same code header, so I can turn the code on and off in Dolphin with one checkbox. I then run SSBM in Dolphin, go to the cheat manager, and at the main menu screen, I toggle the cheat on, which will write all the data I want to memory (and eventually to the memory card). The game only saves to the memory card at certain points, and I've found going from the main menu to CSS and back until Dolphin proclaims "Memory Card Written To" is sufficient.

Manually doing all of this is a bit annoying, so I have a main file where I put all of the memory overwrites I want to do. In the zip file, it is contained in 2_codes_2.txt, which is the stuff for version v1.02. I've written a compiler for myself which takes the data in this file and creates a GALE01.ini in the Dolphin user directory with one action replay code with all of the memory overwrite code lines in it.

The way 2_codes_2.txt works is:
If it sees a '#' character, it ignores everything after it until the end of the line. This allows me to write comments.
All whitespace is ignored.
The string "XXXXXXXX" means the next 8 characters represent the memory address to start writing from. It sets the "address" variable.
All other characters are interpreted as the memory to overwrite. Every 8 characters turns into a line in GALE01.ini as "04[address] [word to write]", and then the address is incremented by 4.
The last two bits are pretty easy, but the first two can be difficult if you don't use regexes, so you should use regexes.

readme.txt is simply the readme that I include with the SD Remix Lite game save.

free_space.txt is the free space I have to use in the SSBM memory space.

The rest of the files are basically notes researching various codes and features for SD Remix Lite.

This doesn't really explain what 2_codes_2.txt actually contains. The comments aren't completely explanatory, so:
The file starts off with the garbage. SD Remix Lite actually has a message as the first name tag, which is why it isn't all "DDDDDDD", though it eventually does turn into that.
After the garbage is the payload, which is the code that is run after the stack overflow exploit is exploited. If you look at Finished/payload.txt, it has the source code assembly for what the payload is actually doing. I have a concept of "Direct Overwrites" and "Array overwrites", which are the first two things in the payload. Direct overwrites overwrite some value into a memory address. These go into an array In 2_codes_2, which you can see starts at 8045DA00. The format is just [address] [value] repeated over and over, until it hits an address of 00000000.
Right after the direct overwrites, the array overwrites table starts. This is similar to direct overwrites, but the format is [start address] [number of words to write] [the words to write], until it gets to a [start address] of 00000000. This writes [the words to write] starting at [start address] for [number of words to write].
The direct overwrites and array overwrites table is a way for me to convert 04 and C2 gecko codes to memory overwrites. Direct overwrites are a easy translation of 04 codes. I have a script that takes in a code cave address, a C2 code, and returns the branch command at the C2 injection address and the bytes that make up the asm code for the C2 code, including the branch command to go back to the injection address (plus 4 of course). I make a direct overwrite for the branch command, and I use an array overwrite for the actual asm code. The better way to handle this would probably just to do direct overwrites have another file with a bunch of gecko codes and write a script that handles the space management. If there is any data required, like the FSM data and the patch codes, that can likely by handled with variable names so I don't have to hard code anything. That way I don't have to write anything to memory and I can just use the data directly from the memory card instead of writing to memory, but that's an optimization for another time.
The payload continues with code that plays the "Success" sound effect and code that sets the game modes and such. It ends by branching back to the name entry code.

The huge chunk of the data is taken up by patch files. The way this works has already been explained in a separate post I've already made in the Melee Workshop.

Edit: I should mention that SD Remix Lite is NOT meant to run on Dolphin. If you want to run SD Remix on PC/Mac, please use the full version ISO of SD Remix. The full version of SD Remix 3.2 is still in the works, but that is the preferred way to play on PC. There are no plans on supporting Dolphin because the point of SD Remix Lite is to bring SD Remix to non-hacked consoles, and it's quite easy already to play modified ISOs on PC.
 

Attachments

Last edited:

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
@ _glook _glook hum, did you test the name entry? when entering the name entry scroller from the CSS, the game crashes.

This is why there are two save files, to have the exploit on the main, and the names on the second save file.

Also, there are multiple widescreen settings depending on what you display (TV, Dolphin, Monitor). I assume your widescreen switch in the debug menu is for a TV, but having access to others would be good. Link about that here: http://smashboards.com/threads/16-9-widescreen-w-options-for-tv-monitor-dolphin.397929/
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
@ _glook _glook hum, did you test the name entry? when entering the name entry scroller from the CSS, the game crashes.

This is why there are two save files, to have the exploit on the main, and the names on the second save file.

Also, there are multiple widescreen settings depending on what you display (TV, Dolphin, Monitor). I assume your widescreen switch in the debug menu is for a TV, but having access to others would be good. Link about that here: http://smashboards.com/threads/16-9-widescreen-w-options-for-tv-monitor-dolphin.397929/
On name entry: I just tried it and it seems to work for me. The only time it should crash is if you haven't already gone to the name entry screen to toggle the exploit. I don't really see how having two separate save files would help with this issue, because if you haven't toggled the exploit, it's still reading from the main save file and it will still crash. [Edit: If you're doing this in Dolphin, note that you're running into code caching issues. SD Remix Lite is ONLY meant to run on console. It WON'T work in Dolphin at all unless you manually clear the cache after every action].

As far as widescreen: I'm just using the code that was posted in the sticky (http://smashboards.com/threads/melee-gecko-codes-guide-and-discussion.327311/), and that one seems to work well on console. I've purposefully ignored Dolphin for SD Remix Lite as it's kind of pointless since it's much better to just use the full version of SDR on a PC. In fact, because of caching issues, SD Remix Lite has major problems running on Dolphin.

Edit: Added a note to original release post mentioning that Dolphin is not supported.
 
Last edited:

sdremix_troubleshooter

Smash Journeyman
Joined
Oct 27, 2013
Messages
202
Well, technically this method is hackless, no?

You'd need to run an exploit like LetterBomb or Brawl Stage Vault one, but instead of loading up the Homebrew Channel installer or Gecko OS (or w/e P:M uses to run, I forget), you'd need GCMM to place the save in your memory card.
 

Doq

Smash Lord
Joined
Dec 28, 2012
Messages
1,037
Location
The Lab, Sweet Home, OR
Well, technically this method is hackless, no?

You'd need to run an exploit like LetterBomb or Brawl Stage Vault one, but instead of loading up the Homebrew Channel installer or Gecko OS (or w/e P:M uses to run, I forget), you'd need GCMM to place the save in your memory card.
However, last I checked GCMM required cIOS.
 

Quillion

Smash Hero
Joined
Sep 17, 2014
Messages
5,979
Well, technically this method is hackless, no?

You'd need to run an exploit like LetterBomb or Brawl Stage Vault one, but instead of loading up the Homebrew Channel installer or Gecko OS (or w/e P:M uses to run, I forget), you'd need GCMM to place the save in your memory card.
Eh, Memory card may be portable, but I'd still rather have the full SDR ISO with my Wii.

If I recall, SDRL won't have the alternate stages that @ _glook _glook made for SDR 3.2.
 

sdremix_troubleshooter

Smash Journeyman
Joined
Oct 27, 2013
Messages
202
However, last I checked GCMM required cIOS.
Nope. It doesn't require cIOS and I'm pretty sure the WiiBrew wiki disallows cIOS-dependent app entries.

Ya, I've just checked, there must be a .elf file to load through Brawl, and GCMM there is no .elf file available to download.
Correct but nowadays .elf and .dol are interchangeable for Wii homebrew. Just rename the boot.dol to boot.elf.

Earlier in the days of homebrew, ELF files were improperly compiled, which was reconciled after HBC decided to force a .dol standard on their program.

I don't have Brawl or an original SD card, but I loaded LetterBomb with GCMM and transferred the official SDR Lite save to my official memory card without issue.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Eh, Memory card may be portable, but I'd still rather have the full SDR ISO with my Wii.

If I recall, SDRL won't have the alternate stages that @ _glook _glook made for SDR 3.2.
I didn't make them, they are stages that the community has made, mostly by Milun, Myougi, Achilles, flieskiller, and Zauron.
And SDRL has all of the stages in SDR3.2 except for Skyrule, High TIde at Great Bay, and Princess Peach's Flat.
The full changelist is here: http://sdremix.com/changelist/sd-remix-lite-changes/
The new Omega stages for SD Remix Lite are at the bottom of that page.
 

TTTTTsd

Gordeau Main Paint Drinker
Joined
Sep 29, 2013
Messages
3,999
Location
Canada, where it's really cold
NNID
InverseTangent
So, out of curiosity, are there any 3.2 character balance changes as they don't seem to be documented anywhere outside of a statement saying "Character balance changes" (they all seem relative to 3.1).

Only cause a lot of the changes in SD:R are frame data and number stuff that is (while noticeable) also sometimes hard to catch, i.e. no placebo.
 

TheSmoothLander

Smash Cadet
Joined
Dec 30, 2014
Messages
54
Location
Mushroom Kingdom
I just got SD Remix Lite and I noticed that some characters don't have the changes made in SD Remix. I have a list of characters that don't have the changes made in SD Remix: Mr. Game & Watch, Ganondorf, Pichu, Roy and probably more.
 

sdremix_troubleshooter

Smash Journeyman
Joined
Oct 27, 2013
Messages
202
So, out of curiosity, are there any 3.2 character balance changes as they don't seem to be documented anywhere outside of a statement saying "Character balance changes" (they all seem relative to 3.1).

Only cause a lot of the changes in SD:R are frame data and number stuff that is (while noticeable) also sometimes hard to catch, i.e. no placebo.
Character balance is exactly the same as it was in 3.1.

I just got SD Remix Lite and I noticed that some characters don't have the changes made in SD Remix. I have a list of characters that don't have the changes made in SD Remix: Mr. Game & Watch, Ganondorf, Pichu, Roy and probably more.
Did you go to Name Entry in VS. Mode to activate the hack? The game plays as vanilla Melee until you go into Name Entry and receive a "Success!" sound clip.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
So, out of curiosity, are there any 3.2 character balance changes as they don't seem to be documented anywhere outside of a statement saying "Character balance changes" (they all seem relative to 3.1).

Only cause a lot of the changes in SD:R are frame data and number stuff that is (while noticeable) also sometimes hard to catch, i.e. no placebo.
There are no character changes from 3.1 to 3.2, including Lite.

Yes and I have 1.02
You have to do go to the name entry screen on every play session, not just the first one, similar to how you have to go into stage builder every play session to activate Project M on Brawl.
 
Last edited:

TheSmoothLander

Smash Cadet
Joined
Dec 30, 2014
Messages
54
Location
Mushroom Kingdom
What I'm saying is I went through the name entry but I'm not getting some of the character changes, for example Mr. Game & Watch doesn't have his larger shield size and Pichu's specials still cause self damage, but Bowser has his new dair.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
What I'm saying is I went through the name entry but I'm not getting some of the character changes, for example Mr. Game & Watch doesn't have his larger shield size and Pichu's specials still cause self damage, but Bowser has his new dair.
Ignore the overlay, but I recorded a stream trying it out. I played Game & Watch and Pichu before doing the exploit, and tried out both G&W's shield and Pichu's special attacks. Then I did the exploit and tried it again. Is this not what you're getting?

Video recording: http://www.twitch.tv/underscoreglook/b/676008202

If you're not getting this, what console are you using and what does it say on the back of your SSBM disc (the DOL-GALE-0-0X part)?
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I'm using a regular Gamecube and the back of my disc says DOL-GALE-0-02
If it's not too much trouble, could you backup the save file that you're using to your SD Card (using GCMM) and send that gci file over (you can just attach it to a post, though you might need to put it in a zip file first)? My current theories are:
  • Somehow your save file got corrupted and there was data lost, either through GCMM or through just playing the game somehow.
  • If the gci file is pretty much the same, there could be multiple versions of v1.02 somehow and that's messing with the changes.
  • There could be a physical failure, like with the Gamecube hardware or maybe a scratched disc.
  • If neither of these, it could be that with certain options being toggled in game or by taking certain actions, the game could simply not be applying the patches correctly. If this is the case, I'll probably need to know the exact process you take when you play so that I can try and reproduce the error on my end.
 
Last edited:

TheSmoothLander

Smash Cadet
Joined
Dec 30, 2014
Messages
54
Location
Mushroom Kingdom
If it's not too much trouble, could you backup the save file that you're using to your SD Card (using GCMM) and send that gci file over (you can just attach it to a post, though you might need to put it in a zip file first)? My current theories are:
  • Somehow your save file got corrupted and there was data lost, either through GCMM or through just playing the game somehow.
  • If the gci file is pretty much the same, there could be multiple versions of v1.02 somehow and that's messing with the changes.
  • There could be a physical failure, like with the Gamecube hardware or maybe a scratched disc.
  • If neither of these, it could be that with certain options being toggled in game or by taking certain actions, the game could simply not be applying the patches correctly. If this is the case, I'll probably need to know the exact process you take when you play so that I can try and reproduce the error on my end.
Alright I got the save file.
 

Attachments

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Alright I got the save file.
Thanks for that. I diff'd it with a working copy and for whatever reason, there are some significant differences. I also transferred it to my memory card and I can verify that your memory card save is corrupted, as Pichu and G&W don't have their changes, and trying to play Cranky's Treehouse freezes the game.

If you would like to troubleshoot this further to figure out how your SD Remix Lite got corrupted, the first thing you can do is to restore a fresh copy of the SD Remix Lite save file to your memory card (http://www.mediafire.com/download/1y00apu73tiijl0/SDR32Lite_for_102.zip). Then try playing the game again by not going into any other menus and going straight to the name entry screen and going directly into a match to see if the Pichu and G&W changes are still not there. There are a few possibilities:
  • If it still doesn't work, GCMM is very likely the culprit. Without more information, it's hard to say exactly what GCMM is doing, but it could be a variety of things, from old versions of GCMM maybe not restoring correctly, incompatibilities between save files with different version, maybe some settings are not set exactly right, etc. If this is the case, we can work on deducing this further.
  • If it does work at first, you may have found a bug in SD Remix Lite. One of the actions you took could have caused the bug to manifest and corrupt the save file somehow. I'm not totally sure how, but we can try and track it down, if you'd like.
 
Last edited:

TheSmoothLander

Smash Cadet
Joined
Dec 30, 2014
Messages
54
Location
Mushroom Kingdom
So it turns out all the problems are coming from GCMM I just tried re-installing it and when I booted up the game it said the save file was corrupted and it asked me to format my memory card.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
So it turns out all the problems are coming from GCMM I just tried re-installing it and when I booted up the game it said the save file was corrupted and it asked me to format my memory card.
Crap. If you would like help with that, I'm willing to help. If you are, where did you initially install GCMM from (like did you get it from wiibrew)? Are you running it on a Wii or on a Gamecube?
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I got it from WiiBrew and I'm running it off a Wii.
This means you have GCMM version 1.4c, right?
Just on a whim, I've attached a save file to this post. It was generated by GCMM instead of the normal way I create save files, so I'm hoping this one works. If this does work, then we might have found a workaround to GCMM's issues. If not, maybe you could try reinstalling GCMM, though it's possible that maybe certain Wiis don't back up properly.
It's also possible GCMM doesn't restore properly on certain memory cards. If it doesn't work, do you know what type of memory card you have?
 

TheSmoothLander

Smash Cadet
Joined
Dec 30, 2014
Messages
54
Location
Mushroom Kingdom
This means you have GCMM version 1.4c, right?
Just on a whim, I've attached a save file to this post. It was generated by GCMM instead of the normal way I create save files, so I'm hoping this one works. If this does work, then we might have found a workaround to GCMM's issues. If not, maybe you could try reinstalling GCMM, though it's possible that maybe certain Wiis don't back up properly.
It's also possible GCMM doesn't restore properly on certain memory cards. If it doesn't work, do you know what type of memory card you have?
Yes I have version 1.4c and I don't see a attached file.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
When I loaded up the save I went to the name entry and then saw a bunch of random names that made no sense instead of SDR LITE PRESS B.
What type of memory card do you have? The only thing I can really think of as the culprit is that GCMM doesn't restore well onto certain memory cards, and maybe it's a known issue that we can search up a solution for.
 

TheSmoothLander

Smash Cadet
Joined
Dec 30, 2014
Messages
54
Location
Mushroom Kingdom
What type of memory card do you have? The only thing I can really think of as the culprit is that GCMM doesn't restore well onto certain memory cards, and maybe it's a known issue that we can search up a solution for.
I think it was a Play On memory card and it had 4MB of storage. I have a Nyko memory card if you want me to try that.
 

sdremix_troubleshooter

Smash Journeyman
Joined
Oct 27, 2013
Messages
202
In my experience, 3rd party memory cards have a higher chance of data corruption from even just standard use (as opposed to complete save transfers). Try the whole procedure with a Nyko and let us know.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
@ _glook _glook
Great job on the bada$$ coding for SDRL. It's awesome seeing your dream come to light, while innovating the hacking scene at the same time. Did you ever look into using multiple save files to hold data?

Also, I think it would be worth it to take out the functionality of a few of the functions (patches for PlCo, player files, and Kirby hats), to give the community a memory card version of regular Melee with extra stages. I imagine this wouldn't take too long on your end.

Fantastic work!
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
@ _glook _glook
Great job on the bada$$ coding for SDRL. It's awesome seeing your dream come to light, while innovating the hacking scene at the same time. Did you ever look into using multiple save files to hold data?

Also, I think it would be worth it to take out the functionality of a few of the functions (patches for PlCo, player files, and Kirby hats), to give the community a memory card version of regular Melee with extra stages. I imagine this wouldn't take too long on your end.

Fantastic work!
That could be fused into what I'm doing too, though it's not a priority of mine, but it would make my mod way more appealing (already got asked to add Smashville to the stage list), we'll see.

Also, about that save file problem, it explains why it didn't work with my save too, seems like a Memory Card problem, hope you can fix it.
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
@ _glook _glook Also, I think it would be worth it to take out the functionality of a few of the functions (patches for PlCo, player files, and Kirby hats), to give the community a memory card version of regular Melee with extra stages. I imagine this wouldn't take too long on your end.
It would be pretty cool if someone just made something so you could basically drag and drop custom files and have a save file made. Or perhaps multiple if you have enough changes.
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
It would be pretty cool if someone just made something so you could basically drag and drop custom files and have a save file made. Or perhaps multiple if you have enough changes.
Dan explained that's what his 20XX TE will do, he added the Gecko Code Handler and make it accessible for everyone.
 
Top Bottom