• 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!

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
Hello, we're happy to help. However, what do you mean by this? If you can already play on the GameCube, doesn't this mean you already have it?
He wanted to say that he doesn't have access to a Wii, only a Gamecube. And he wants to play it on that console.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Exactly. Thank you. Is there any way?
I see, thanks for the clarification. Yes there are ways, and I'm actually in the middle of revamping the SD Remix website's installation instructions to include GameCube instructions. I'll post the webpage in this thread when I'm done, and I'll tag you in it.
 

Peléo

Smash Rookie
Joined
Jun 13, 2013
Messages
11
He wanted to say that he doesn't have access to a Wii, only a Gamecube. And he wants to play it on that console.
Exactly. Thank you. Is there any way?
I see, thanks for the clarification. Yes there are ways, and I'm actually in the middle of revamping the SD Remix website's installation instructions to include GameCube instructions. I'll post the webpage in this thread when I'm done, and I'll tag you in it.
Thank you very much. Really looking forward to it.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I finished revamping the installation section of the SD Remix website. Here is the new main page for Installation: http://sdremix.com/installation/
It includes instructions for playing SD Remix on Wii, GameCube, WiiU, and PC. Each system may also have multiple methods (Wii has Nintendont, DIOS MIOS, and Backup Launcher, while GameCube has GCoS backups and Swiss SD Card).

@ Peléo Peléo As promised, here is the Gamecube specific installation guide: http://sdremix.com/installation/gamecube-installation/

Everything should be better organized, with each method having its own page and common tasks (like installing the homebrew channel) as its own page.
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Hey guys, I was messing around with xdelta (a binary diff tool) and figured I'd try my hand at diffing Melee v1.0 with SDR 3.1.

The resulting patch was only around 80 KiBs.

I thought no way that's right. So then I applied the patch back onto a copy of Melee v1.0. I got SDR 3.1.

I think this method should replace the standard method for creating an ISO from a copy of Melee. We can distribute the patch file, which is only 80 KiBs (or 1.2MiBs for the v1.2 version), and have players apply the patch. It's even viable for using the DIOS MIOS method, because you can first apply the patch (which takes roughly a minute) and simply extract the files using greeex, not having to deal with file replacements. If you're not trying to play it on DIOS MIOS, you don't have to do anything at all after applying the patch (no rebuilding, no nothing). I think this may be a good way to distribute other Melee mods too, like 20XX and the Melee Netplay Build.

The xdelta tool I used is the one I found here: http://www.romhacking.net/utilities/598/
I've uploaded patch files to turn v1.0 and v1.2 to SDR 3.1. The v1.2 is naturally bigger because it has to account for the changes between v1.0 and v1.2 as well.

To use the patch file, simply start xdeltaUI.exe found on the romhacking forum. For "Source File", select your Melee ISO. For "Patch" you will need to use one of the patch files I've uploaded, "10to31.xdelta" if your ISO in Melee v1.0 and "12to31.xdelta" if your ISO is v1.2. Output file will be the location you want xdelta to store the sd remix iso. You should name it something like SDR.iso or at least make the extension .iso so it'll work with various programs properly.

Edit: These patches apply the name changes, game id changes, and the changes to the banner (in other words, all of the optional files are included in these patches).

Edit 2: I just tried creating a patch for the PAL version. The resulting patch file is 930 MiBs, so this method still can't (reasonably) be used for that version.

Edit 3: Uploaded the 1.1 patch for good measure. It's 780 KiB.
 

Attachments

Last edited:

Quillion

Smash Hero
Joined
Sep 17, 2014
Messages
5,642
Hey guys, I was messing around with xdelta (a binary diff tool) and figured I'd try my hand at diffing Melee v1.0 with SDR 3.1.

The resulting patch was only around 80 KiBs.

I thought no way that's right. So then I applied the patch back onto a copy of Melee v1.0. I got SDR 3.1.

I think this method should replace the standard method for creating an ISO from a copy of Melee. We can distribute the patch file, which is only 80 KiBs (or 1.2MiBs for the v1.2 version), and have players apply the patch. It's even viable for using the DIOS MIOS method, because you can first apply the patch (which takes roughly a minute) and simply extract the files using greeex, not having to deal with file replacements. If you're not trying to play it on DIOS MIOS, you don't have to do anything at all after applying the patch (no rebuilding, no nothing). I think this may be a good way to distribute other Melee mods too, like 20XX and the Melee Netplay Build.

The xdelta tool I used is the one I found here: http://www.romhacking.net/utilities/598/
I've uploaded patch files to turn v1.0 and v1.2 to SDR 3.1. The v1.2 is naturally bigger because it has to account for the changes between v1.0 and v1.2 as well.

To use the patch file, simply start xdeltaUI.exe found on the romhacking forum. For "Source File", select your Melee ISO. For "Patch" you will need to use one of the patch files I've uploaded, "10to31.xdelta" if your ISO in Melee v1.0 and "12to31.xdelta" if your ISO is v1.2. Output file will be the location you want xdelta to store the sd remix iso. You should name it something like SDR.iso or at least make the extension .iso so it'll work with various programs properly.

Edit: These patches apply the name changes, game id changes, and the changes to the banner (in other words, all of the optional files are included in these patches).
What? WHAT? WHAAAAT???

You mean I didn't have to go through all that trouble to mod my Melee?
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
What? WHAT? WHAAAAT???

You mean I didn't have to go through all that trouble to mod my Melee?
Pretty much, lol. I'm pretty excited, because this method only involves one step and 3 values and takes less than 5 minutes (depending on the speed of your computer, it took 2 minutes on mine), whereas the current method is multiple steps and involves special options you have to set. Also, the file sizes are much smaller.

This is similar to the "binary" version of the file where the current method is the "source file" version where you have to build things from source.
 

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Hey guys, I was messing around with xdelta (a binary diff tool) and figured I'd try my hand at diffing Melee v1.0 with SDR 3.1.

The resulting patch was only around 80 KiBs.

I thought no way that's right. So then I applied the patch back onto a copy of Melee v1.0. I got SDR 3.1.

I think this method should replace the standard method for creating an ISO from a copy of Melee. We can distribute the patch file, which is only 80 KiBs (or 1.2MiBs for the v1.2 version), and have players apply the patch. It's even viable for using the DIOS MIOS method, because you can first apply the patch (which takes roughly a minute) and simply extract the files using greeex, not having to deal with file replacements. If you're not trying to play it on DIOS MIOS, you don't have to do anything at all after applying the patch (no rebuilding, no nothing). I think this may be a good way to distribute other Melee mods too, like 20XX and the Melee Netplay Build.

The xdelta tool I used is the one I found here: http://www.romhacking.net/utilities/598/
I've uploaded patch files to turn v1.0 and v1.2 to SDR 3.1. The v1.2 is naturally bigger because it has to account for the changes between v1.0 and v1.2 as well.

To use the patch file, simply start xdeltaUI.exe found on the romhacking forum. For "Source File", select your Melee ISO. For "Patch" you will need to use one of the patch files I've uploaded, "10to31.xdelta" if your ISO in Melee v1.0 and "12to31.xdelta" if your ISO is v1.2. Output file will be the location you want xdelta to store the sd remix iso. You should name it something like SDR.iso or at least make the extension .iso so it'll work with various programs properly.

Edit: These patches apply the name changes, game id changes, and the changes to the banner (in other words, all of the optional files are included in these patches).
This is so very interesting. I'll eventually be looking into this before releasing 4.0.

@ _glook _glook , are you interested in being the man to port SDR to 1.02 and switch to that version for good? I'll basically tell you everything you need to do.

Start with clean 1.02 extracted ISO
1) Replace all the player files, stages, character select screen, etc.

(Note: When I was grabbing the SDR character files for 20XX, some of these files had a few extra bytes of zeroes at the end that caused the file to be larger than what the header specified (which is the very first 4 bytes of the file). This discrepancy would cause the game to freeze whenever it tries to load these files. So just an FYI that you might want to check that before overwriting the vanilla files.)

2) PlCo.dat mods:
Code:
DK Side-B (grounded) mechanic changes:
0xA5E0 - Reduction per input (frames) 9.0 -> 6.0
0xA5EC - Multiplier for damage in bury formula 0.7 -> 0.9
0xA600 - Frames of invincibility on exit 18 -> 1
3) DOL mods:
(32-bit overwrites)

Code:
SDR DOL Mods (v1.02)

----------------------------
DONKEY KONG

Giant Punch cannot be lost during Up+B
1.02 ------ 0x10C6E4 (10fb04 RAM) ---- 9004222C -> 60000000

-------------------------------------
GAME AND WATCH

N-Air
0x1486DC (14bafc) ---- 3880015E -> 38800041
0x1486E8 (14bb08) -----80A3002C -> 90830070
0x1486EC (14bb0c) ---- C02501F8 -> C0230258
0x1486F0 (14bb10) ---- 4BF41BF9 -> 4BF41AED

B-Air
0x1487C4 (14bbe4) ---- 3880015F -> 38800043
0x1487D0 (14bbf0) ---- 80A3002C -> 90830070
0x1487D4 (14bbf4) ---- C0250200 -> C0230260
0x1487D8 (14bbf8) ---- 4BF41B11 -> 4BF41A05

U-Air
0x1488AC (14bccc) ---- 38800160 -> 38800044
0x1488B8 (14bcd8) ---- 80A3002C -> 90830070
0x1488BC (14bcdc) ---- C0250200 -> C0230264
0x1488C0 (14bce0) ---- 4BF41A29 -> 4BF4191D

Bacon land cancel
0x14b6c8 (14eae8) - 38800161 -> 3880002A [Landing]

Bacon doesn't change momentum
0x14b2c8 (14e6e8) - D0250084 -> 60000000

------------------------------------------------
KIRBY

F/B throw mash timer
0xdb20c (de62c) - EC010028 -> 60000000
nops the subtraction over time during the throw

DK Hat: Giant Punch cannot be lost during Up+B
0xfd9d4 (100df4) ---- 900422E8 -> 60000000


Luigi Hat: Fireball Land Cancel
0xf649c (f98bc) - 388001AF -> 3880002A

Ness Hat: Pk Flash
0xfbb18 (fef38) - 981E1968 -> 60000000
0xfbdb4 (ff1d4) - 981E1968 -> 60000000

GnW Hat:
land cancel bacon gnw hat
0x10a20c (10d62c) - 388001FE -> 3880002A

momentum doesn't reset on bacon gnw hat
0x109e0c (10d22c) - D0250084 -> 60000000

-----------------------------------

LUIGI

Cyclone acts like Mario's
0x3c4074 (3c7074) - 800d5bdc -> 800d5b9c

Fireball Land Cancel
0x13f504 (142924) - 38800155 -> 3880002A

-------------------------------------
NESS

PK Flash jump
0x113d7c (11719c) - 981E1968 -> 60000000
0x114018 (117438) - 981E1968 -> 60000000


PSI Magnet
0x118090 (11b4b0) - 38800172 -> 3880000E [Wait]
0x1180c8 (11b4e8) - 38800177 -> 3880001D [Fall]

Jump out of Magnet
0x3c9a60 (3cca60) - 8011a43c -> 800cb870
0x3c99c0 (3cc9c0) - 8011a438 -> 800caf78

-------------------------------
YOSHI

Jump OOS
0x3cb6e0 (3ce6e0) Guard On 8012c114 -> 80092758

-------------------------
ZELDA

Din's Fire
0x13845c (13b87c) - 981E1968 -> 60000000
0x138768 (13bb88) - 981E1968 -> 60000000

------------------------------------------

BOWSER
Enable Flame Cancel
0x132264 (135686 in RAM) ---- 38800155 --> 38800156

------------------------------------------

LINK/Y. LINK
Boomerang Hookshot cancel
0x3c507c ---- 00200000 -> 00000000
0x3c509c ---- 00c00000 -> 00000000

0x3ce204 ---- 00200000 -> 00000000
0x3ce224 ---- 00c00000 -> 00000000


**Below are no longer used in 3.1**

---------------------------------


C. FALCON

Keep remaining jumps on side-b
0x7a24c (7d66c) ---- 987E1968 -> 60000000
------------------------------

Kirby

F/B/U Throw jumps
(Freezes game?)
0x7a24c - 987E1968 -> 60000000
----------------------------------
SAMUS

Charge Shot cannot be lost during Up+B
1.02 ------ 0x125EA4 (1292c4) ---- 901F2230 -> 60000000
---------------------------------
Kirby Samus Hat:
0xf99a0 (fcdc0) ---- 901E22D4 -> 60000000
4) Additional DOL mods

Attacks that Deal Less than 1 Damage Have No Hitlag or DIability (v1.02) [Magus]
0x73DC0, 0x73E84, 0x74DB4 ---> make all three of these addresses 60000000

Zero out this entire section. 0x407950 - 0x408f4c

FSM Mod:
0x6ff18 --> make this 48398578

At 0x4088b0, paste this (the FSM code).
Code:
7f 63 db 78 8b e3 00 6c 3f a0 80 45 63 bd 30 84
1f ff 0e 90 7f fd fa 14 80 9f 00 00 8b ff 00 08
2c 04 00 13 41 82 00 1c 2c 04 00 12 40 a2 00 20
2c 1f 00 01 40 a2 00 18 38 80 00 13 48 00 00 10
2c 1f 00 01 40 a2 00 08 38 80 00 12 c0 3e 08 94
fc 20 08 1e d8 22 00 00 80 a2 00 04 80 c3 00 70
80 e3 00 74 60 e7 80 00 3f e0 80 40 63 ff b9 a8
87 bf 00 08 2c 1d 00 00 41 82 00 60 57 bc 46 3e
2c 1c 00 ff 41 82 00 14 7c 1c 20 00 41 82 00 0c
41 81 00 48 4b ff ff dc 57 bc 86 3e 7c 1c 28 00
41 a1 ff d0 57 bc 04 3e 7c 1c 30 00 41 82 00 0c
7c 1c 38 00 40 82 ff bc 83 9f 00 04 2c 1c ff ff
41 82 00 18 c0 3f 00 04 3f e0 80 06 63 ff f1 90
7f e8 03 a6 4e 80 00 21 bb 61 00 14 4b c6 79 b0

At 0x4089b0, paste this (the FSM list).
Code:
00 08 01 60 3f c0 00 00 00 14 00 eb 3f c0 00 00
01 19 00 42 3f 80 00 00 01 00 00 42 3f a0 00 00
01 18 00 45 3f c0 00 00 01 18 00 eb 3f d0 00 00
01 00 01 81 40 00 00 00 03 09 00 38 3f 80 00 00
03 00 00 38 3f c0 00 00 03 18 00 3f 3f 80 00 00
03 01 00 3f ff ff ff ff 03 00 00 3f 3f c0 00 00
03 0a 00 42 3f 80 00 00 03 00 00 42 3f a0 00 00
03 14 00 e9 3f f0 00 00 03 14 00 ea 3f f0 00 00
03 0c 00 eb 3f e6 66 66 03 26 01 77 41 30 00 00
03 26 01 7a 41 30 00 00 04 0a 00 42 3f 80 00 00
04 00 00 42 3f d5 55 55 04 12 00 45 3f 80 00 00
04 00 00 45 3f e6 66 66 04 1d 00 dc 40 00 00 00
04 39 00 de 40 2a aa ab 04 16 01 7f 3f 80 00 00
04 00 01 7f 3f a5 a5 a6 04 2e 01 80 40 00 00 00
04 00 01 8c 40 00 00 00 05 16 00 44 3f 80 00 00
05 00 00 44 3f b0 00 00 05 2f 00 de 3f c0 00 00
05 17 00 e9 40 12 49 25 05 1a 00 ea 40 50 00 00
05 19 00 eb 40 08 00 00 05 00 01 57 40 00 00 00
05 12 01 5b 3f 9e 1e 1e 05 10 01 5b 3f 80 00 00
05 00 01 5b 3f aa aa ab 05 12 01 61 3f 9e 1e 1e
05 10 01 61 3f 80 00 00 05 00 01 61 3f aa aa ab
05 00 01 6b 3f c0 00 00 05 14 00 45 3e cc cc cd
06 10 00 35 3f 80 00 00 06 00 00 35 3f ba 2e 8c
06 0d 00 39 3f 80 00 00 06 00 00 39 3f e0 00 00
06 1e 00 42 3f 80 00 00 06 10 00 42 3f e0 00 00
06 14 00 ea 3f c5 d1 74 06 1b 01 5e 3f 80 00 00
06 00 01 5e 3f a2 e8 ba 06 1b 01 61 3f 80 00 00
06 00 01 61 3f a2 e8 ba 06 00 01 66 3f a6 66 66
06 00 01 67 3f a6 66 66 08 16 00 42 3f f3 33 33
08 12 00 42 3f 80 00 00 08 00 00 42 3f ad b6 db
0a 13 00 3c 3f c0 00 00 0a 02 00 42 3f 80 00 00
0a 01 00 42 3e 80 00 00 0a 0c 00 43 3f 80 00 00
0a 00 00 43 3f c0 00 00 0a 15 00 45 3f c0 00 00
0a 15 00 eb 40 2a aa ab 0a 00 01 55 3f d9 99 9a
0a 00 01 5a 3f d9 99 9a 0a 27 01 5f 3f b3 33 33
0a 27 01 60 3f b3 33 33 0a 0f 01 67 3f 80 00 00
0a 00 01 67 3f d5 55 55 0a 0f 01 68 3f 80 00 00
0a 00 01 68 3f d5 55 55 0b 1d 00 45 3f e0 00 00
0b 14 00 45 3f 80 00 00 0b 00 00 45 40 00 00 00
0b 0c 01 59 3f 80 00 00 0b 00 01 59 3f c0 00 00
0b 14 01 64 3f c0 00 00 0b 00 01 64 3f b6 db 6e
0b 14 01 65 3f c0 00 00 0b 00 01 65 3f b6 db 6e
0b 00 01 6f 41 20 00 00 0b 00 01 74 41 20 00 00
0d 10 00 3c 3f 80 00 00 0d 01 00 3c ff ff ff ff
0d 00 00 3c 3f aa aa ab 0d 0e 00 45 3f 80 00 00
0d 00 00 45 3f b3 33 33 0d 14 00 de 3f b8 e3 8e
0d 00 01 6a 3f b8 51 ec 0d 00 01 6e 3f b8 51 ec
10 16 00 3f 3f 4c cc cd 11 13 00 42 3f 80 00 00
11 00 00 42 3f aa aa ab 11 18 00 d4 3f c0 00 00
11 12 00 d4 3f 80 00 00 11 00 00 d4 3f d1 74 5d
11 0c 00 dd 3f cc cc cd 11 00 01 6f 3f 99 99 9a
11 00 01 59 3f 40 00 00 11 17 00 d6 3f 99 99 9a
11 00 01 55 3f 40 00 00 12 0c 00 33 3f 80 00 00
12 00 00 33 40 00 00 00 12 0c 00 35 3f 80 00 00
12 00 00 35 40 00 00 00 12 0c 00 37 3f 80 00 00
12 00 00 37 40 00 00 00 12 08 00 38 3f 80 00 00
12 00 00 38 3f ea aa ab 12 03 01 62 40 00 00 00
15 0e 00 39 3f 80 00 00 15 00 00 39 3f e0 00 00
15 0a 00 3f 3f 80 00 00 15 01 00 3f ff ff ff ff
15 00 00 3f 40 00 00 00 15 0e 00 42 3f 80 00 00
15 00 00 42 40 00 00 00 15 14 00 ea 3f c5 d1 74
15 00 01 5a 3f aa aa ab 15 00 01 5d 3f aa aa ab
15 1b 01 5e 3f 80 00 00 15 00 01 5e 3f ac cc cd
15 1b 01 61 3f 80 00 00 15 00 01 61 3f ac cc cd
16 16 00 42 3f f3 33 33 17 0d 00 45 3f 9c 71 c7
18 10 00 3c 3f 80 00 00 18 01 00 3c ff ff ff ff
18 00 00 3c 3f cc cc cd 18 0a 00 42 3f 80 00 00
18 00 00 42 40 00 00 00 18 0e 00 45 3f 80 00 00
18 00 00 45 3f e0 00 00 18 00 01 6a 3f f8 e3 8e
18 00 01 6e 3f f8 e3 8e 18 0e 00 de 3f a0 00 00
19 14 00 eb 40 00 00 00 19 08 01 60 3f c0 00 00
19 12 00 38 3e cc cc cd 19 03 00 38 3f 40 00 00
19 01 00 38 3e 00 00 00 00 00 00 00 00 00 00 00

At this point, it should be SDR 3.1 on a 1.02 ISO. Then add any other DOL mods you want.
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
This is so very interesting. I'll eventually be looking into this before releasing 4.0.

@ _glook _glook , are you interested in being the man to port SDR to 1.02 and switch to that version for good? I'll basically tell you everything you need to do.

Start with clean 1.02 extracted ISO
1) Replace all the player files, stages, character select screen, etc.

(Note: When I was grabbing the SDR character files for 20XX, some of these files had a few extra bytes of zeroes at the end that caused the file to be larger than what the header specified (which is the very first 4 bytes of the file). This discrepancy would cause the game to freeze whenever it tries to load these files. So just an FYI that you might want to check that before overwriting the vanilla files.)

2) PlCo.dat mods:
Code:
DK Side-B (grounded) mechanic changes:
0xA5E0 - Reduction per input (frames) 9.0 -> 6.0
0xA5EC - Multiplier for damage in bury formula 0.7 -> 0.9
0xA600 - Frames of invincibility on exit 18 -> 1
3) DOL mods:
(32-bit overwrites)

Code:
SDR DOL Mods (v1.02)

----------------------------
DONKEY KONG

Giant Punch cannot be lost during Up+B
1.02 ------ 0x10C6E4 (10fb04 RAM) ---- 9004222C -> 60000000

-------------------------------------
GAME AND WATCH

N-Air
0x1486DC (14bafc) ---- 3880015E -> 38800041
0x1486E8 (14bb08) -----80A3002C -> 90830070
0x1486EC (14bb0c) ---- C02501F8 -> C0230258
0x1486F0 (14bb10) ---- 4BF41BF9 -> 4BF41AED

B-Air
0x1487C4 (14bbe4) ---- 3880015F -> 38800043
0x1487D0 (14bbf0) ---- 80A3002C -> 90830070
0x1487D4 (14bbf4) ---- C0250200 -> C0230260
0x1487D8 (14bbf8) ---- 4BF41B11 -> 4BF41A05

U-Air
0x1488AC (14bccc) ---- 38800160 -> 38800044
0x1488B8 (14bcd8) ---- 80A3002C -> 90830070
0x1488BC (14bcdc) ---- C0250200 -> C0230264
0x1488C0 (14bce0) ---- 4BF41A29 -> 4BF4191D

Bacon land cancel
0x14b6c8 (14eae8) - 38800161 -> 3880002A [Landing]

Bacon doesn't change momentum
0x14b2c8 (14e6e8) - D0250084 -> 60000000

------------------------------------------------
KIRBY

F/B throw mash timer
0xdb20c (de62c) - EC010028 -> 60000000
nops the subtraction over time during the throw

DK Hat: Giant Punch cannot be lost during Up+B
0xfd9d4 (100df4) ---- 900422E8 -> 60000000


Luigi Hat: Fireball Land Cancel
0xf649c (f98bc) - 388001AF -> 3880002A

Ness Hat: Pk Flash
0xfbb18 (fef38) - 981E1968 -> 60000000
0xfbdb4 (ff1d4) - 981E1968 -> 60000000

GnW Hat:
land cancel bacon gnw hat
0x10a20c (10d62c) - 388001FE -> 3880002A

momentum doesn't reset on bacon gnw hat
0x109e0c (10d22c) - D0250084 -> 60000000

-----------------------------------

LUIGI

Cyclone acts like Mario's
0x3c4074 (3c7074) - 800d5bdc -> 800d5b9c

Fireball Land Cancel
0x13f504 (142924) - 38800155 -> 3880002A

-------------------------------------
NESS

PK Flash jump
0x113d7c (11719c) - 981E1968 -> 60000000
0x114018 (117438) - 981E1968 -> 60000000


PSI Magnet
0x118090 (11b4b0) - 38800172 -> 3880000E [Wait]
0x1180c8 (11b4e8) - 38800177 -> 3880001D [Fall]

Jump out of Magnet
0x3c9a60 (3cca60) - 8011a43c -> 800cb870
0x3c99c0 (3cc9c0) - 8011a438 -> 800caf78

-------------------------------
YOSHI

Jump OOS
0x3cb6e0 (3ce6e0) Guard On 8012c114 -> 80092758

-------------------------
ZELDA

Din's Fire
0x13845c (13b87c) - 981E1968 -> 60000000
0x138768 (13bb88) - 981E1968 -> 60000000

------------------------------------------

BOWSER
Enable Flame Cancel
0x132264 (135686 in RAM) ---- 38800155 --> 38800156

------------------------------------------

LINK/Y. LINK
Boomerang Hookshot cancel
0x3c507c ---- 00200000 -> 00000000
0x3c509c ---- 00c00000 -> 00000000

0x3ce204 ---- 00200000 -> 00000000
0x3ce224 ---- 00c00000 -> 00000000


**Below are no longer used in 3.1**

---------------------------------


C. FALCON

Keep remaining jumps on side-b
0x7a24c (7d66c) ---- 987E1968 -> 60000000
------------------------------

Kirby

F/B/U Throw jumps
(Freezes game?)
0x7a24c - 987E1968 -> 60000000
----------------------------------
SAMUS

Charge Shot cannot be lost during Up+B
1.02 ------ 0x125EA4 (1292c4) ---- 901F2230 -> 60000000
---------------------------------
Kirby Samus Hat:
0xf99a0 (fcdc0) ---- 901E22D4 -> 60000000
4) Additional DOL mods

Attacks that Deal Less than 1 Damage Have No Hitlag or DIability (v1.02) [Magus]
0x73DC0, 0x73E84, 0x74DB4 ---> make all three of these addresses 60000000

Zero out this entire section. 0x407950 - 0x408f4c

FSM Mod:
0x6ff18 --> make this 48398578

At 0x4088b0, paste this (the FSM code).
Code:
7f 63 db 78 8b e3 00 6c 3f a0 80 45 63 bd 30 84
1f ff 0e 90 7f fd fa 14 80 9f 00 00 8b ff 00 08
2c 04 00 13 41 82 00 1c 2c 04 00 12 40 a2 00 20
2c 1f 00 01 40 a2 00 18 38 80 00 13 48 00 00 10
2c 1f 00 01 40 a2 00 08 38 80 00 12 c0 3e 08 94
fc 20 08 1e d8 22 00 00 80 a2 00 04 80 c3 00 70
80 e3 00 74 60 e7 80 00 3f e0 80 40 63 ff b9 a8
87 bf 00 08 2c 1d 00 00 41 82 00 60 57 bc 46 3e
2c 1c 00 ff 41 82 00 14 7c 1c 20 00 41 82 00 0c
41 81 00 48 4b ff ff dc 57 bc 86 3e 7c 1c 28 00
41 a1 ff d0 57 bc 04 3e 7c 1c 30 00 41 82 00 0c
7c 1c 38 00 40 82 ff bc 83 9f 00 04 2c 1c ff ff
41 82 00 18 c0 3f 00 04 3f e0 80 06 63 ff f1 90
7f e8 03 a6 4e 80 00 21 bb 61 00 14 4b c6 79 b0

At 0x4089b0, paste this (the FSM list).
Code:
00 08 01 60 3f c0 00 00 00 14 00 eb 3f c0 00 00
01 19 00 42 3f 80 00 00 01 00 00 42 3f a0 00 00
01 18 00 45 3f c0 00 00 01 18 00 eb 3f d0 00 00
01 00 01 81 40 00 00 00 03 09 00 38 3f 80 00 00
03 00 00 38 3f c0 00 00 03 18 00 3f 3f 80 00 00
03 01 00 3f ff ff ff ff 03 00 00 3f 3f c0 00 00
03 0a 00 42 3f 80 00 00 03 00 00 42 3f a0 00 00
03 14 00 e9 3f f0 00 00 03 14 00 ea 3f f0 00 00
03 0c 00 eb 3f e6 66 66 03 26 01 77 41 30 00 00
03 26 01 7a 41 30 00 00 04 0a 00 42 3f 80 00 00
04 00 00 42 3f d5 55 55 04 12 00 45 3f 80 00 00
04 00 00 45 3f e6 66 66 04 1d 00 dc 40 00 00 00
04 39 00 de 40 2a aa ab 04 16 01 7f 3f 80 00 00
04 00 01 7f 3f a5 a5 a6 04 2e 01 80 40 00 00 00
04 00 01 8c 40 00 00 00 05 16 00 44 3f 80 00 00
05 00 00 44 3f b0 00 00 05 2f 00 de 3f c0 00 00
05 17 00 e9 40 12 49 25 05 1a 00 ea 40 50 00 00
05 19 00 eb 40 08 00 00 05 00 01 57 40 00 00 00
05 12 01 5b 3f 9e 1e 1e 05 10 01 5b 3f 80 00 00
05 00 01 5b 3f aa aa ab 05 12 01 61 3f 9e 1e 1e
05 10 01 61 3f 80 00 00 05 00 01 61 3f aa aa ab
05 00 01 6b 3f c0 00 00 05 14 00 45 3e cc cc cd
06 10 00 35 3f 80 00 00 06 00 00 35 3f ba 2e 8c
06 0d 00 39 3f 80 00 00 06 00 00 39 3f e0 00 00
06 1e 00 42 3f 80 00 00 06 10 00 42 3f e0 00 00
06 14 00 ea 3f c5 d1 74 06 1b 01 5e 3f 80 00 00
06 00 01 5e 3f a2 e8 ba 06 1b 01 61 3f 80 00 00
06 00 01 61 3f a2 e8 ba 06 00 01 66 3f a6 66 66
06 00 01 67 3f a6 66 66 08 16 00 42 3f f3 33 33
08 12 00 42 3f 80 00 00 08 00 00 42 3f ad b6 db
0a 13 00 3c 3f c0 00 00 0a 02 00 42 3f 80 00 00
0a 01 00 42 3e 80 00 00 0a 0c 00 43 3f 80 00 00
0a 00 00 43 3f c0 00 00 0a 15 00 45 3f c0 00 00
0a 15 00 eb 40 2a aa ab 0a 00 01 55 3f d9 99 9a
0a 00 01 5a 3f d9 99 9a 0a 27 01 5f 3f b3 33 33
0a 27 01 60 3f b3 33 33 0a 0f 01 67 3f 80 00 00
0a 00 01 67 3f d5 55 55 0a 0f 01 68 3f 80 00 00
0a 00 01 68 3f d5 55 55 0b 1d 00 45 3f e0 00 00
0b 14 00 45 3f 80 00 00 0b 00 00 45 40 00 00 00
0b 0c 01 59 3f 80 00 00 0b 00 01 59 3f c0 00 00
0b 14 01 64 3f c0 00 00 0b 00 01 64 3f b6 db 6e
0b 14 01 65 3f c0 00 00 0b 00 01 65 3f b6 db 6e
0b 00 01 6f 41 20 00 00 0b 00 01 74 41 20 00 00
0d 10 00 3c 3f 80 00 00 0d 01 00 3c ff ff ff ff
0d 00 00 3c 3f aa aa ab 0d 0e 00 45 3f 80 00 00
0d 00 00 45 3f b3 33 33 0d 14 00 de 3f b8 e3 8e
0d 00 01 6a 3f b8 51 ec 0d 00 01 6e 3f b8 51 ec
10 16 00 3f 3f 4c cc cd 11 13 00 42 3f 80 00 00
11 00 00 42 3f aa aa ab 11 18 00 d4 3f c0 00 00
11 12 00 d4 3f 80 00 00 11 00 00 d4 3f d1 74 5d
11 0c 00 dd 3f cc cc cd 11 00 01 6f 3f 99 99 9a
11 00 01 59 3f 40 00 00 11 17 00 d6 3f 99 99 9a
11 00 01 55 3f 40 00 00 12 0c 00 33 3f 80 00 00
12 00 00 33 40 00 00 00 12 0c 00 35 3f 80 00 00
12 00 00 35 40 00 00 00 12 0c 00 37 3f 80 00 00
12 00 00 37 40 00 00 00 12 08 00 38 3f 80 00 00
12 00 00 38 3f ea aa ab 12 03 01 62 40 00 00 00
15 0e 00 39 3f 80 00 00 15 00 00 39 3f e0 00 00
15 0a 00 3f 3f 80 00 00 15 01 00 3f ff ff ff ff
15 00 00 3f 40 00 00 00 15 0e 00 42 3f 80 00 00
15 00 00 42 40 00 00 00 15 14 00 ea 3f c5 d1 74
15 00 01 5a 3f aa aa ab 15 00 01 5d 3f aa aa ab
15 1b 01 5e 3f 80 00 00 15 00 01 5e 3f ac cc cd
15 1b 01 61 3f 80 00 00 15 00 01 61 3f ac cc cd
16 16 00 42 3f f3 33 33 17 0d 00 45 3f 9c 71 c7
18 10 00 3c 3f 80 00 00 18 01 00 3c ff ff ff ff
18 00 00 3c 3f cc cc cd 18 0a 00 42 3f 80 00 00
18 00 00 42 40 00 00 00 18 0e 00 45 3f 80 00 00
18 00 00 45 3f e0 00 00 18 00 01 6a 3f f8 e3 8e
18 00 01 6e 3f f8 e3 8e 18 0e 00 de 3f a0 00 00
19 14 00 eb 40 00 00 00 19 08 01 60 3f c0 00 00
19 12 00 38 3e cc cc cd 19 03 00 38 3f 40 00 00
19 01 00 38 3e 00 00 00 00 00 00 00 00 00 00 00

At this point, it should be SDR 3.1 on a 1.02 ISO. Then add any other DOL mods you want.
Can I just do this via Hex editing (using something like XVI32)? (turns out I can) If so, sure, I can give it a shot. I might not get around to it immediately, though. is there a timeframe during which you'd need this done by?
Also, is PLCo.dat in step 2 very different from 1.0 to 1,2? Why can't I just replace this file with the SD Remix 1.0 version?

Edit: Thank god PowerPC uses big endian.
Edit2: Took a look figured things out. Had a question about PLCo.dat.
Edit3: Not that it's a huge problem with this: http://gregstoll.dyndns.org/~gregstoll/floattohex/
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Can I just do this via Hex editing (using something like XVI32)? (turns out I can) If so, sure, I can give it a shot. I might not get around to it immediately, though. is there a timeframe during which you'd need this done by?
Also, is PLCo.dat in step 2 very different from 1.0 to 1,2? Why can't I just replace this file with the SD Remix 1.0 version?

Edit: Thank god PowerPC uses big endian.
Edit2: Took a look figured things out. Had a question about PLCo.dat.
Edit3: Not that it's a huge problem with this: http://gregstoll.dyndns.org/~gregstoll/floattohex/
It's not for me. It's for the future of SDR.

It doesn't make sense to have a mod of the game (that you're trying to make really popular) be on a version that lacks specific coding knowledge and active development from the community. For all intents and purposes, everyone working on Melee code development works in version 1.02.

And it's not like SDR has a dedicated ASM programmer anyway...which means you're bound to the community for anything that doesn't involve moving hitbubbles around or making them larger or smaller, or deal more damage...there's so much more to do then that and so many more ways to be creative with character modification/development by writing custom ASM functions. You're only crippling yourselves in the long run by staying on the version that gets less attention.
 
Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
It's not for me. It's for the future of SDR.

It doesn't make sense to have a mod of the game (that you're trying to make really popular) be on a version that lacks specific coding knowledge and active development from the community. For all intents and purposes, everyone working on Melee code development works in version 1.02.

And it's not like SDR has a dedicated ASM programmer anyway...which means you're bound to the community for anything that doesn't involve moving hitbubbles around or making them larger or smaller, or deal more damage...there's so much more to do then that and so many more ways to be creative with character modification/development by writing custom ASM functions. You're only crippling yourselves in the long run by staying on the version that gets less attention.
Out of curiosity, how close are we to replicating 1.00 gameplay with a 1.02 dol?
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
Out of curiosity, how close are we to replicating 1.00 gameplay with a 1.02 dol?
I think the PK thunder behavior still needs to be discovered (1.00: If Ness gets hit while the PK thunder is out, the projectile doesn't disappear). I don't know if there is anything else.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
It's not for me. It's for the future of SDR.

It doesn't make sense to have a mod of the game (that you're trying to make really popular) be on a version that lacks specific coding knowledge and active development from the community. For all intents and purposes, everyone working on Melee code development works in version 1.02.

And it's not like SDR has a dedicated ASM programmer anyway...which means you're bound to the community for anything that doesn't involve moving hitbubbles around or making them larger or smaller, or deal more damage...there's so much more to do then that and so many more ways to be creative with character modification/development by writing custom ASM functions. You're only crippling yourselves in the long run by staying on the version that gets less attention.
Sorry I don't think I explained myself properly. I don't disagree on the philosophy that you have. What I wonder is if making the changes directly to PlCo.dat is necessary over just using the PlCo.dat from the existing SD Remix files in order to do what you want? PlCo.dat is the exact same size in both v1.0 and v1.2, so this makes me think that they are exactly the same and therefore we can just go ahead and use the PlCo.dat from the SD Remix source files (though I could be wrong). It doesn't matter anyway, though, as I've already went ahead and modified the v1.2 version. I see, you were referring to the whole "when do you need it question" not the "PlCo.dat" question. Nevermind then.

I've finished what you asked and I've uploaded it to this post as changed_files.zip. It includes "Start.dol" and "PlCo.dat". However, there is a problem. The change you asked me to make to Kirby's F/B throw only made it easier to escape those throws. All you have to do is tap once on the control stick to escape.

Also, the changes you requested don't include a lot of the misc changes (such as c-stick in one player mode, changed default rules, no wind on dreamland). Did you want me to go ahead and add those back in or was there a specific reason for omitting them? See edit 2.

Anyway, the changed file works well, other than the issues I mentioned. Let me know if you need anything else.

Edit: I just saw flieskiller's post:
I think the PK thunder behavior still needs to be discovered (1.00: If Ness gets hit while the PK thunder is out, the projectile doesn't disappear). I don't know if there is anything else.
I've verified that in 1.0 SD Remix PK thunder does not disappear, but in 1.2 SD Remix it does.

So the issues are (a) Kirby's B/F throws can be escaped from with one button press and (b) Ness's PK Thunder disappears when hit.

Edit2: I just reread your post and I misunderstood in the first time. Crossed out a few things in the original post. If it's not for you, then I'll probably go ahead and add the "misc changes" like making tournament mode debug mode and no wind on dreamland back in.
I do still wonder about the PlCo.dat thing, though. Is there any technical need to use the v1.2 version?
 

Attachments

Last edited:

sdremix_troubleshooter

Smash Journeyman
Joined
Oct 27, 2013
Messages
202
@ _glook _glook The Kirby B/F throw issue is because there's another adjustment you have to make in PlCo.dat

Code:
0xA3A8 : CB189680
I had to 'rediscover' this as it was not documented before for some reason, so do let me know if this doesn't fix the issue.
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
@ _glook _glook The Kirby B/F throw issue is because there's another adjustment you have to make in PlCo.dat

Code:
0xA3A8 : CB189680
I had to 'rediscover' this as it was not documented before for some reason, so do let me know if this doesn't fix the issue.
Yup, that fixed it. Thanks!

So what's the end goal of me doing this? If it's not for Achilles, is it for you? In that case, I can go ahead and add in the missing stuff that I know of if you want (no wind, c-stick, debug menu, rumble, unlock all, default rules), as long as the dol codes are on the forums (http://smashboards.com/threads/the-dol-mod-topic.326347/). I'd be tempted to also add the default language and taunt cancelling thing too, but that's up to you.
 

sdremix_troubleshooter

Smash Journeyman
Joined
Oct 27, 2013
Messages
202
I think achilles said enough about why it should be done. Honestly I was going to do it next week since I was done with the semester, but you beat me to it, haha.

If you're up for it, I would be very happy if you added all the misc. features already present in 3.1 (and maybe that new lagless FoD code as well?)

------------------
Although it presents a balance change, indirectly because of the PK Thunder quirk (which Ness mains more than anyone probably find important), the 1.02 DOL version of SDR3.1 was going to be released so that any additional coding changes (ASM) could actually be done by the hacking community, since no one actually uses 1.0 for hacking.

There's honestly no clean way to deal with 1.02 vs Ness's childish needs at this moment. The easiest and dirtiest way is to just offer two versions up (3.1 and 3.1a) which sounds nonsensical
 

flieskiller

Smash Journeyman
Joined
Jan 3, 2013
Messages
426
The things I'm searching right now are projectiles duration. I'll check for the difference between Ness 1.00 and Ness 1.02
 

Quillion

Smash Hero
Joined
Sep 17, 2014
Messages
5,642
I think achilles said enough about why it should be done. Honestly I was going to do it next week since I was done with the semester, but you beat me to it, haha.

If you're up for it, I would be very happy if you added all the misc. features already present in 3.1 (and maybe that new lagless FoD code as well?)

------------------
Although it presents a balance change, indirectly because of the PK Thunder quirk (which Ness mains more than anyone probably find important), the 1.02 DOL version of SDR3.1 was going to be released so that any additional coding changes (ASM) could actually be done by the hacking community, since no one actually uses 1.0 for hacking.

There's honestly no clean way to deal with 1.02 vs Ness's childish needs at this moment. The easiest and dirtiest way is to just offer two versions up (3.1 and 3.1a) which sounds nonsensical
Just remember to include certain other "small" codes, too.

Like, say, that code to unlock alt music I posted a while back.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Just remember to include certain other "small" codes, too.

Like, say, that code to unlock alt music I posted a while back.
I took a look at it there were three codes and the last one wasn't correct (the address location had a completely different memory value), so I could only test the first two.

So in normal Melee, there's a 12% chance that you'll hear alternate music when you select one of the stages with alt music. If you've heard it before on that stage, you can have ALL HUMAN PLAYERS hold L while the stage is loading to toggle the alt music.

The code seems to make it so that only Great Bay and Hyrule Temple has this "listened" to value set to true, which means you can have all human players hold L to get Saria's Song and Fire Emblem, respectively.

However, it doesn't do so for any of the other special stages, namely:
icicle Mountain (Balloon Fight)
yoshi's island (Super Mario Bros 3)
pokemon stadium (Battle Theme)
big Blue (Mach Rider)
onett (Mother 2)
Battlefield (Multi Man Melee 1)
Final Destination (Multi Man Melee 2)

Due to the incomplete nature of the code, I think it should be ommitted for now.

@ sdremix_troubleshooter sdremix_troubleshooter I've included the files (in the attached file called AlmostSDR.zip) that are different from the basic Dolphin/DVD version for 3.1. It includes 4 files, ISO.hdr and Start.dol, which go in the &&SystemData folder, and PlCo.dat and opening.bnr, which go in the root folder. Along with the changes that Achilles put in his post, it includes:
  • Fixed Kirby's F/B Throw
  • No wind on dreamland 64 (good for Marth and Roy)
  • C-Stick in 1-Player Mode
  • Tournament Mode takes you to Debug Mode
  • C-Stick in Develop mode does a smash attack, but it still moves the camera
  • Debug Menu's default language is English
  • Unlock All Characters & Stages & Random Stage Select
  • Rumble default to Off
  • Default rules are 4-Stock, Friendly Fire ON, 8 minute Stock Limit
  • Default random stagelist is the legal stagelist for SDR
  • New banner and name changed to SD Remix 3.1 in various places
  • GameID is SDRE31, with version number set to 0x02
  • Score Display enabled for timed matches
The two outstanding issues are:
  • Ness's PK Thunder disappearing upon hit
  • C-Stick moves the camera while in Develop Mode (from Debug Mode)
 

Attachments

Last edited:

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
I took a look at it there were three codes and the last one wasn't correct (the address location had a completely different memory value), so I could only test the first two.

So in normal Melee, there's a 12% chance that you'll hear alternate music when you select one of the stages with alt music. If you've heard it before on that stage, you can have ALL HUMAN PLAYERS hold L while the stage is loading to toggle the alt music.

The code seems to make it so that only Great Bay and Hyrule Temple has this "listened" to value set to true, which means you can have all human players hold L to get Saria's Song and Fire Emblem, respectively.

However, it doesn't do so for any of the other special stages, namely:
icicle Mountain (Balloon Fight)
yoshi's island (Super Mario Bros 3)
pokemon stadium (Battle Theme)
big Blue (Mach Rider)
onett (Mother 2)
Battlefield (Multi Man Melee 1)
Final Destination (Multi Man Melee 2)

Due to the incomplete nature of the code, I think it should be ommitted for now.

@ sdremix_troubleshooter sdremix_troubleshooter I've included the files (in the attached file called AlmostSDR.zip) that are different from the basic Dolphin/DVD version for 3.1. It includes 4 files, ISO.hdr and Start.dol, which go in the &&SystemData folder, and PlCo.dat and opening.bnr, which go in the root folder. Along with the changes that Achilles put in his post, it includes:
  • Fixed Kirby's F/B Throw
  • No wind on dreamland 64 (good for Marth and Roy)
  • C-Stick in 1-Player Mode
  • Tournament Mode takes you to Debug Mode
  • C-Stick in Develop mode does a smash attack, but it still moves the camera
  • Debug Menu's default language is English
  • Unlock All Characters & Stages & Random Stage Select
  • Rumble default to Off
  • Default rules are 4-Stock, Friendly Fire ON, 8 minute Stock Limit
  • Default random stagelist is the legal stagelist for SDR
  • New banner and name changed to SD Remix 3.1 in various places
  • GameID is SDRE31, with version number set to 0x02
The two outstanding issues are:
  • Ness's PK Thunder disappearing upon hit
  • C-Stick moves the camera while in Develop Mode (from Debug Mode)
Code:
Normal C-Stick Functionality in Develop Mode (1.02) [Magus, Achilles]
0406AE90 38000000
040300A4 38000000
 

Myougi

My posts are gluten free.
Joined
Mar 14, 2014
Messages
484
Location
WEST COAST BEST COAST
I took a look at it there were three codes and the last one wasn't correct (the address location had a completely different memory value), so I could only test the first two.

So in normal Melee, there's a 12% chance that you'll hear alternate music when you select one of the stages with alt music. If you've heard it before on that stage, you can have ALL HUMAN PLAYERS hold L while the stage is loading to toggle the alt music.

The code seems to make it so that only Great Bay and Hyrule Temple has this "listened" to value set to true, which means you can have all human players hold L to get Saria's Song and Fire Emblem, respectively.

However, it doesn't do so for any of the other special stages, namely:
icicle Mountain (Balloon Fight)
yoshi's island (Super Mario Bros 3)
pokemon stadium (Battle Theme)
big Blue (Mach Rider)
onett (Mother 2)
Battlefield (Multi Man Melee 1)
Final Destination (Multi Man Melee 2)

Due to the incomplete nature of the code, I think it should be ommitted for now.

@ sdremix_troubleshooter sdremix_troubleshooter I've included the files (in the attached file called AlmostSDR.zip) that are different from the basic Dolphin/DVD version for 3.1. It includes 4 files, ISO.hdr and Start.dol, which go in the &&SystemData folder, and PlCo.dat and opening.bnr, which go in the root folder. Along with the changes that Achilles put in his post, it includes:
  • Fixed Kirby's F/B Throw
  • No wind on dreamland 64 (good for Marth and Roy)
  • C-Stick in 1-Player Mode
  • Tournament Mode takes you to Debug Mode
  • C-Stick in Develop mode does a smash attack, but it still moves the camera
  • Debug Menu's default language is English
  • Unlock All Characters & Stages & Random Stage Select
  • Rumble default to Off
  • Default rules are 4-Stock, Friendly Fire ON, 8 minute Stock Limit
  • Default random stagelist is the legal stagelist for SDR
  • New banner and name changed to SD Remix 3.1 in various places
  • GameID is SDRE31, with version number set to 0x02
The two outstanding issues are:
  • Ness's PK Thunder disappearing upon hit
  • C-Stick moves the camera while in Develop Mode (from Debug Mode)
There was a code I posted awhile back that fixes alt music for all stages. I'll send it to you if you can't find it.

In addition to all this, please allow me to add some extras into the build. The new Skyrule and Fourside for example are stage mods that should be included. I would also like to add a few DOL mods to SDR, just a few small ones. :phone:
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Code:
Normal C-Stick Functionality in Develop Mode (1.02) [Magus, Achilles]
0406AE90 38000000
040300A4 38000000
Thanks, that worked. Attached updated zip.

Also, any chance this Points Mode can be in SDR? Here's the Action Replay codes for v1.2:

0C46B970 XXXXXXXX
0446b6C8 00000000
0C46BA18 XXXXXXXX
0446b6C8 00000000
0C46BAC0 XXXXXXXX
0446b6C8 00000000
0C46BB68 XXXXXXXX
0446b6C8 00000000

Where XXXXXXXX is how many points you want to play until, in hexidecimal.
You start a Time match with as many players as you want, and you set the time to anything other than None. You start a match and if any player reaches XXXXXXXX points (which is kills minus deaths), the seconds are immediately set to 0, which ends the match within a second. This basically means that whoever reaches XXXXXXXX points first is the winner.

I can imagine this can be achieved using DOL injection, but it's been a while since I've messed with opcodes and jump mechanics with the Gecko PowerPC architecture, so I'm not super sure how to do that. That being said, I imagine this could be extended to also set the frames to 59 so the game ends on the next frame, and also it could use the Stock Time Limit setting to set the number points you'd want to play until instead of hard coding it.

Edit: This could also probably be extended to Coin mode and Bonus mode as well.
 

Attachments

Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
All 51 Event Matches Open and not Complete
0x249aa4 --- 2c1f0005 -> 48000058
0x15fac8 ---- 4182000c -> 60000000

---------------------------------------
Unrestricted Pause Camera
zooming in:
0x221804 ---- c0 23 00 40 -> 39E00000
0x2c190 ---- d0 3f 02 f8 -> 91FF02F8
zooming out:
0x221824 ---- c0230048-> 3de04700
0x2c19c ---- d03f02fc -> 91ff02fc
lower bound:
0x22183c ---- ec 21 00 32 -> 3de04700
0x2c16c ---- d0 3f 02 e8 -> 91ff02e8
upper bound:
0x221854 ---- ec 21 00 32 -> 3de04700
0x2c174 ---- d03f02ec -> 91ff02ec
sides:
0x22186c ---- ec 21 00 32 -> 3de04700
0x2c184 ---- d0 3f 02 f4 -> 91ff02f4
0x221884 ---- ec 21 00 32 -> 3de04700
0x2c17c ---- d0 3f 02 f0 -> 91ff02f0

-------------------------------------
Disable Trophy Spawn on Snag the Trophies
0x2165dc ---- 480D8699 -> 60000000

Then replace GrNFg.dat with one of my trophy stage hacks.

Selecting Venom loads the trophy stage:
0x3ED80C in DOL, change from 020D1216 to 020D1253

Then make your own new trophy stage icon and replace Venom's default picture with it.

--------------------------------------------------------

All players can control Debug Menu
Code:
@ 0x300584 in DOL (0x3039a4 in RAM), paste:

39 40 00 00 39 00 00 00 38 e0 00 08 3c 80 80 4c
60 84 20 bc 1c aa 00 44 7d 24 2a 14 80 69 00 08
70 63 1f 10 7d 08 1b 78 80 69 00 00 70 60 00 20
41 82 00 08 38 e0 00 00 54 60 c8 c6 50 60 d8 84
50 60 f0 02 7d 08 03 78 54 60 60 06 7d 08 03 78
54 60 40 07 41 82 00 0c 38 e0 00 00 7d 08 03 78
39 4a 00 01 2c 0a 00 04 41 80 ff a4 75 00 f0 00
41 82 00 28 88 6d b7 ac 2c 03 00 00 41 82 00 14
38 63 ff ff 98 6d b7 ac 55 08 01 3e 48 00 00 14
98 ed b7 ac 48 00 00 0c 38 60 00 00 98 6d b7 ac
7d 03 43 78 4e 80 00 20
 
Last edited:

Quillion

Smash Hero
Joined
Sep 17, 2014
Messages
5,642
I just wanna say that SDR 3.2 (as it's definitely evolving past just 3.1.1) is going to be awesome.

Also,@ _glook _glook , why don't you make a thread that teaches people how to make patches for Melee ISOs?
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
I was messing with the lagless FoD code, and I think this should technically work;
Code:
25e98c is the address where r27 is actually written
Contains the instruction: 981B0000
Replace that with a jump to code cave, which is outlined below

# r4, r6, and r19 are overwritten soon after, so we can use then as a free local vars
# Clear space for registers (we'll use r6, r4, and r19)
stb r0, 0(r27)     [981B0000]
addi r4, 0, 0DE4   [38800DE4]   # r4 is the register for the character slot memory pointer, so prepare it
addis r4, r4, 3F   [3C84003F]
addi r6, 0, 0E74   [38C00E74]   # r6 is the register for the last character slot, so prepare it
addis r6, r6, 3F   [3CC6003F]
-> StartLoop
addi r4, r4, 24  [38840024]   # 24 between each
lbz r19, 0(r4)  [8A640000]   # Get the next character slot type
cmpiw cr2,r19, 0x3   [2D130003]   # Is in NONE?
beq cr2, 0xD     [41AA0034]   # If it is, go to normal FOD
cmp cr2, 0, r6, r4  [7D062000]  # Check to see if we're at the last character slot
bne- cr2, -5     [40AAFFEC]  # If we aren't go back to start loop, otherwise continue and make FoD Lagless!
addis r4, 0, 1C  [3C80001C]   # Put first have of address here (we'll use immediate offset to get rest)
ori r4, r4, B000   [6084B000]  # Put the B in so we don't go negative
addis r19, 0, 6000  [3E606000]   # Nop into r19
stw r19, bd4(r4)   [92640bd4]
stw r19, f54(r4)   [92640f54]
stw r19, f84(r4)   [92640f84]
addis r19, 0, 4800  [3E604800]   # Next part
addi r19, r19, 28  [3A730028]   # Next part 2
stw r19, efc(r4)   [92640efc]
b +15         [4800003C]
-> NormalFoD
addis r4, 0, 1C  [3C80001C]   # Put first have of address here (we'll use immediate offset to get rest)
ori r4, r4, B000   [6084B000]  * Put the B in so we don't go negative
addis r19, 0, 4800   [3E604800]
addi r19, r19, 0115   [3A730115]
stw r19, bd4(r4)   [92640bd4]
addis r19, 0, 4182   [3E604182]
addi r19, r19, 0028   [3A730028]
stw r19, efc(r4)   [92640efc]
addis r19, 0, 4800   [3E604800]
addi r19, r19, 0BC5   [3A730BC5]
stw r19, f54(r4)   [92640f54]
addis r19, 0, 4BFF   [3E604BFF]
ori r19, r19, D775   [6273D775]
stw r19, f84(r4)   [92640f84]
-> End
b 0x25e990 (RAM)   [4BE530E4]

I tried it out and got this DOL injection stuff:
Code:
Dynamic FoD lagless
-------------------
At 0x25B56C: 981B0000 -> 481ACE94 (Jumps to code cave, outlined below)

At 0x408820, right before FSM code:
98 1B 00 00 38 80 0D E4 3C 84 00 3F 38 C0 0E 74
3C C6 00 3F 38 84 00 24 8A 64 00 00 2D 13 00 03
41 AA 00 34 7D 06 20 00 40 AA FF EC 3C 80 00 1C
60 84 B0 00 3E 60 60 00 92 64 0b d4 92 64 0f 54
92 64 0f 84 3E 60 48 00 3A 73 00 28 92 64 0e fc
48 00 00 3C 3C 80 00 1C 60 84 B0 00 3E 60 48 00
3A 73 01 15 92 64 0b d4 3E 60 41 82 3A 73 00 28
92 64 0e fc 3E 60 48 00 3A 73 0B C5 92 64 0f 54
3E 60 4B FF 62 73 D7 75 92 64 0f 84 4B E5 30 E4
It worked in Dolphin for the first match, but I think the caching was an issue for subsequent matches because it stayed the same (like doing it with Action Replay). So then I tried it in Nintendont on the Wii and Swiss on GameCube, and in both instances it crashed. Is it because the Gamecube has write protection on the program section of memory? If that's the case, I imagine I wasted all this time trying to overwrite the program code on the fly, and instead I'd need to, in each of the places where it used to be replaced with nops and so forth to instead branch to a different location which would then check the character slot types, and then call the appropriate function. Actually, that honestly sounds like a better approach than what I did to begin with. At least I have the logic to check the character slots figured out.

However, I just want to verify if anyone knows if there's write protection on the program section of gamecube memory?
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
However, I just want to verify if anyone knows if there's write protection on the program section of gamecube memory?
There is not.

The only time I have run into cache issues is with Dolphin (so not on console), but the "Flush cache on scene change" code basically eliminates that problem.

So what happens when you step through your code line by line in Debug Dolphin? Does it do exactly as you want?

What are you trying to set r4 and r6 to at the beginning?

Ex.
If you want r4 to be 80123456, you would just do:

lis r4,0x8012
ori r4,r4,0x3456

Also are you using ASMWiiRD to convert your ASM to hex? I sure hope so.

It also accepts syntax like

LOOP:
...
...
..

cmpw r4,r5
bne- LOOP
...
....
...
cmpwi r4, 0x88
bne- END
...
...
...

END:
...
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
There is not.

The only time I have run into cache issues is with Dolphin (so not on console), but the "Flush cache on scene change" code basically eliminates that problem.

So what happens when you step through your code line by line in Debug Dolphin? Does it do exactly as you want?

What are you trying to set r4 and r6 to at the beginning?

Ex.
If you want r4 to be 80123456, you would just do:

lis r4,0x8012
ori r4,r4,0x3456

Also are you using ASMWiiRD to convert your ASM to hex? I sure hope so.

It also accepts syntax like

LOOP:
...
...
..

cmpw r4,r5
bne- LOOP
...
....
...
cmpwi r4, 0x88
bne- END
...
...
...

END:
...
Ah I see. I assumed that since it was working for me in Dolphin but not real hardware, it had something to do with write protection. I'll try and step through it in Dolphin, but I suspect I'll have to step through it on real hardware to get down to the bottom of this. I guess it's time to figure out how to use GCNrd again.

I'll give ASMWiiRD a try. I was doing all the ASM -> Hex conversions by hand for this.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
There is not.

The only time I have run into cache issues is with Dolphin (so not on console), but the "Flush cache on scene change" code basically eliminates that problem.

So what happens when you step through your code line by line in Debug Dolphin? Does it do exactly as you want?

What are you trying to set r4 and r6 to at the beginning?

Ex.
If you want r4 to be 80123456, you would just do:

lis r4,0x8012
ori r4,r4,0x3456

Also are you using ASMWiiRD to convert your ASM to hex? I sure hope so.

It also accepts syntax like

LOOP:
...
...
..

cmpw r4,r5
bne- LOOP
...
....
...
cmpwi r4, 0x88
bne- END
...
...
...

END:
...
Wait, what? I had no idea ASMWiiRD could accept syntax like that. But I've done very little ASM coding so I haven't read up much on it. I've never even seen that bne- statement before (though I get it's apparently a branch to END). That's pretty cool. If only we could do some sort of instant knowledge transfers, achilles. If only....

@ _glook _glook @ sdremix_troubleshooter sdremix_troubleshooter
Would this program be useful for this project? Why or why not (so I can get a better idea of what aim for with it)? So far it's basically geared to those who would like to add (or remove) various tweaks to their copy of the game, so they can kind of tailor it. But of course it could also be used to build/manage new game projects from scratch. The only downside is that so far there are still mods that haven't been added to it (though new ones can easily be added to it by anyone).

Edit: One advantage, besides the obvious visual management of mods, is that it handles the insertions of code and branches for you. So if you want to include a mod, but its offsets would overwrite a mod you've already included, you don't have to recalculate new branches yourself for the new mod. And if a mod is updated/fixed at some point, but then requires more space, you don't have to go into your DOL via hex editor and move around your functions. It also means that a) you get the most amount of space out of your DOL (because it automatically stacks mods end-to-end), and b) someone else can worry about defining the free regions for code to go into. Also, it has a 'fill meter' to show you how much space is used/remaining in your DOL for custom code.
 
Last edited:

Achilles1515

Smash Master
Joined
Jun 18, 2007
Messages
3,211
Location
Cincinnati / Columbus OH
Wait, what? I had no idea ASMWiiRD could accept syntax like that. But I've done very little ASM coding so I haven't read up much on it. I've never even seen that bne- statement before (though I get it's apparently a branch to END). That's pretty cool. If only we could do some sort of instant knowledge transfers, achilles. If only....

@ _glook _glook @ sdremix_troubleshooter sdremix_troubleshooter
Would this program be useful for this project? Why or why not (so I can get a better idea of what aim for with it)? So far it's basically geared to those who would like to add (or remove) various tweaks to their copy of the game, so they can kind of tailor it. But of course it could also be used to build/manage new game projects from scratch. The only downside is that so far there are still mods that haven't been added to it (though new ones can easily be added to it by anyone).

Edit: One advantage, besides the obvious visual management of mods, is that it handles the insertions of code and branches for you. So if you want to include a mod, but its offsets would overwrite a mod you've already included, you don't have to recalculate new branches yourself for the new mod. And if a mod is updated/fixed at some point, but then requires more space, you don't have to go into your DOL via hex editor and move around your functions. It also means that a) you get the most amount of space out of your DOL (because it automatically stacks mods end-to-end), and b) someone else can worry about defining the free regions for code to go into. Also, it has a 'fill meter' to show you how much space is used/remaining in your DOL for custom code.
It's just a branch if not equal to.

And yes, it automatically calculates branch offsets (within your code itself) for you.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Wait, what? I had no idea ASMWiiRD could accept syntax like that. But I've done very little ASM coding so I haven't read up much on it. I've never even seen that bne- statement before (though I get it's apparently a branch to END). That's pretty cool. If only we could do some sort of instant knowledge transfers, achilles. If only....

@ _glook _glook @ sdremix_troubleshooter sdremix_troubleshooter
Would this program be useful for this project? Why or why not (so I can get a better idea of what aim for with it)? So far it's basically geared to those who would like to add (or remove) various tweaks to their copy of the game, so they can kind of tailor it. But of course it could also be used to build/manage new game projects from scratch. The only downside is that so far there are still mods that haven't been added to it (though new ones can easily be added to it by anyone).

Edit: One advantage, besides the obvious visual management of mods, is that it handles the insertions of code and branches for you. So if you want to include a mod, but its offsets would overwrite a mod you've already included, you don't have to recalculate new branches yourself for the new mod. And if a mod is updated/fixed at some point, but then requires more space, you don't have to go into your DOL via hex editor and move around your functions. It also means that a) you get the most amount of space out of your DOL (because it automatically stacks mods end-to-end), and b) someone else can worry about defining the free regions for code to go into. Also, it has a 'fill meter' to show you how much space is used/remaining in your DOL for custom code.
The way you describe it sounds pretty useful for DOL code management, though it doesn't look like it currently supports injection of arbitrary ASM Hex directly in the progam (I haven't used it so I don't know how well it does the automatic branch recalulations). Do you have to save the hex for the ASM somewhere in a file with the program or is that stuff hard coded in?
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
It's just a branch if not equal to.

And yes, it automatically calculates branch offsets (within your code itself) for you.
Neat.
The way you describe it sounds pretty useful for DOL code management, though it doesn't look like it currently supports injection of arbitrary ASM Hex directly in the progam (I haven't used it so I don't know how well it does the automatic branch recalulations). Do you have to save the hex for the ASM somewhere in a file with the program or is that stuff hard coded in?
achilles suggested the stand-alone code too. No, atm it doesn't have that functionality, but I can add it. I probably need to know a little more though. What will be accessing it, and how?

The ASM for the codes is saved in text files. Check out the second post there to see how they're formatted. I think it's pretty simple, but if you have any questions or ideas, let me know.
 

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Yeah, so I just tried stepping through it all the way through in Dolphin and it works just fine, so either this is a really weird edge case in Dolphin that it doesn't handle the logic right somehow, or there's something different with the gamecube hardware. Worse is that I GCNrd won't actually work, as it only runs physical discs.

Edit: That and GCNrd's latest version (1.10b) seems to not even work properly. The disassembler is disabled. Ah well. That's just how it is I guess.

Edit2: Nop-ing like it's hot and testing and retesting on console indicated that there's at least two things wrong, something in the second 6 instructions and something from instruction 13 until the last branch. I guess I can keep nop-ing to narrow down exactly what instructions are so offensive to the gamecube, but I suspect that the lbz and stw instructions are not liked, for whatever reason.
 
Last edited:

_glook

Got a Passion for Smashin'
Joined
Sep 30, 2005
Messages
802
Location
Not UC Berkeley anymore
Okay, so the reason it was crashing on real machines is because real machines can't access memory locations that don't start with "80". As soon as I made all the memory locations start with "80", it worked. Here's a vid of what it looks like:


Here's the updated codes:
Code:
Dynamic FoD lagless
-------------------
At 0x25B56C: 981B0000 -> 481ACE94

At 0x408820, right before FSM code:
98 1B 00 00 38 80 0D E4 3C 84 80 3F 38 C0 0E 74
3C C6 80 3F 38 84 00 24 8A 64 00 00 2D 13 00 03
41 AA 00 34 7D 06 20 00 40 AA FF EC 3C 80 80 1C
60 84 B0 00 3E 60 60 00 92 64 0b d4 92 64 0f 54
92 64 0f 84 3E 60 48 00 3A 73 00 28 92 64 0e fc
48 00 00 3C 3C 80 80 1C 60 84 B0 00 3E 60 48 00
3A 73 01 15 92 64 0b d4 3E 60 41 82 3A 73 00 28
92 64 0e fc 3E 60 48 00 3A 73 0B C5 92 64 0f 54
3E 60 4B FF 62 73 D7 75 92 64 0f 84 4B E5 30 E4
 

TerryJ

Smash Journeyman
Joined
Apr 12, 2010
Messages
488
Location
BEST COAST, WA
NNID
1337-1337-1337
3DS FC
1337-1337-1337
Okay, so the reason it was crashing on real machines is because real machines can't access memory locations that don't start with "80". As soon as I made all the memory locations start with "80", it worked. Here's a vid of what it looks like:


Here's the updated codes:
Code:
Dynamic FoD lagless
-------------------
At 0x25B56C: 981B0000 -> 481ACE94

At 0x408820, right before FSM code:
98 1B 00 00 38 80 0D E4 3C 84 80 3F 38 C0 0E 74
3C C6 80 3F 38 84 00 24 8A 64 00 00 2D 13 00 03
41 AA 00 34 7D 06 20 00 40 AA FF EC 3C 80 80 1C
60 84 B0 00 3E 60 60 00 92 64 0b d4 92 64 0f 54
92 64 0f 84 3E 60 48 00 3A 73 00 28 92 64 0e fc
48 00 00 3C 3C 80 80 1C 60 84 B0 00 3E 60 48 00
3A 73 01 15 92 64 0b d4 3E 60 41 82 3A 73 00 28
92 64 0e fc 3E 60 48 00 3A 73 0B C5 92 64 0f 54
3E 60 4B FF 62 73 D7 75 92 64 0f 84 4B E5 30 E4
Absolutely beautiful.
 

HalcyonDays

Smash Apprentice
Joined
Nov 3, 2014
Messages
191
Hey guys, I was messing around with xdelta (a binary diff tool) and figured I'd try my hand at diffing Melee v1.0 with SDR 3.1.

The resulting patch was only around 80 KiBs.

I thought no way that's right. So then I applied the patch back onto a copy of Melee v1.0. I got SDR 3.1.

The xdelta tool I used is the one I found here: http://www.romhacking.net/utilities/598/
I've uploaded patch files to turn v1.0 and v1.2 to SDR 3.1. The v1.2 is naturally bigger because it has to account for the changes between v1.0 and v1.2 as well.

To use the patch file, simply start xdeltaUI.exe found on the romhacking forum. For "Source File", select your Melee ISO. For "Patch" you will need to use one of the patch files I've uploaded, "10to31.xdelta" if your ISO in Melee v1.0 and "12to31.xdelta" if your ISO is v1.2. Output file will be the location you want xdelta to store the sd remix iso. You should name it something like SDR.iso or at least make the extension .iso so it'll work with various programs properly.

Edit: These patches apply the name changes, game id changes, and the changes to the banner (in other words, all of the optional files are included in these patches).

Edit 2: I just tried creating a patch for the PAL version. The resulting patch file is 930 MiBs, so this method still can't (reasonably) be used for that version.

Edit 3: Uploaded the 1.1 patch for good measure. It's 780 KiB.
Sorry I'm late to the party, and that my understanding of the intricacies behind Melee-hacking is, well, non-existent really, but...
Are you saying that what used to be a 20MB-size patch has now been reduced to around a little over 1MB (depending on the version and region)?

What does this mean as far as possibly using a GC memory card load feature, similar to 20XXTE?
 

CeLL

Smash Lord
Joined
Jan 26, 2014
Messages
1,026
Location
Washington
Sorry I'm late to the party, and that my understanding of the intricacies behind Melee-hacking is, well, non-existent really, but...
Are you saying that what used to be a 20MB-size patch has now been reduced to around a little over 1MB (depending on the version and region)?

What does this mean as far as possibly using a GC memory card load feature, similar to 20XXTE?
We can't put SDR on a memory card atm because we don't understand how files are loaded into the RAM and thus can't do file replacements, which are needed for SDR.
 

HalcyonDays

Smash Apprentice
Joined
Nov 3, 2014
Messages
191
We can't put SDR on a memory card atm because we don't understand how files are loaded into the RAM and thus can't do file replacements, which are needed for SDR.
I see. From what I heard in the past, it was previously considered unlikely because of memory constraints, what with the largest official memory cards only supporting around 8MB or so, of which a 20MB patch couldn't possibly fit.

With this newer, more compact patch, and assuming that the know-how for file replacements becomes a reality, loading SDR from a memory card is still a possibility, right?
 
Top Bottom