Achilles1515
Smash Master
Every stage has a hexadecimal ID that gets loaded upon selection on the Stage Select Screen. Knowing the location of this memory offset that gets loaded and ID numbers of all the stages, an IF statement can be written to change the ID moments before the stage gets loaded.
For example,
In version 1.02, 80480687 is the memory offset that has the ID that stages get loaded from for vs. matches. Thus we can write,
28480686 FF000019 <-- if the byte (stage ID) at 80480687 = 19 (Icicle Mountain)
00480687 00000053 <-- overwrite this value with 53 (Snag the Trophy Stage)
E2000001 00000000 <-- endif
It's as easy as that! Now whenever we select Icicle Mountain, it will load the Snag the Trophy stage.
Here are code templates for each version. As shown above,
XX = stage to replace
YY = replacement stage
(1.02)
28480686 FF0000XX
00480687 000000YY
E2000001 00000000
(1.01)
2847F9A6 FF0000XX
0047F9A7 000000YY
E2000001 00000000
(1.00)
2847E6BE FF0000XX
0047E6BF 000000YY
E2000001 00000000
(PAL)
2847148E FF0000XX
0047148F 000000YY
E2000001 00000000
A list of Stage IDs can be found here at AHeinerm's Google Page:
https://code.google.com/p/vgce/wiki/ssbmStageID
(Note: I am only referring to the last two digits of each stage ID. I, personally, wouldn't really see the point in loading any stages past [100], as it does not introduce any new ones. If you did want to though, a few modifications would be needed to the above code templates)
Also see the Gecko site if you are interested in seeing more information on the codetype.
http://geckocodes.org/index.php?arsenal=1#F0
For example,
In version 1.02, 80480687 is the memory offset that has the ID that stages get loaded from for vs. matches. Thus we can write,
28480686 FF000019 <-- if the byte (stage ID) at 80480687 = 19 (Icicle Mountain)
00480687 00000053 <-- overwrite this value with 53 (Snag the Trophy Stage)
E2000001 00000000 <-- endif
It's as easy as that! Now whenever we select Icicle Mountain, it will load the Snag the Trophy stage.
Here are code templates for each version. As shown above,
XX = stage to replace
YY = replacement stage
(1.02)
28480686 FF0000XX
00480687 000000YY
E2000001 00000000
(1.01)
2847F9A6 FF0000XX
0047F9A7 000000YY
E2000001 00000000
(1.00)
2847E6BE FF0000XX
0047E6BF 000000YY
E2000001 00000000
(PAL)
2847148E FF0000XX
0047148F 000000YY
E2000001 00000000
A list of Stage IDs can be found here at AHeinerm's Google Page:
https://code.google.com/p/vgce/wiki/ssbmStageID
(Note: I am only referring to the last two digits of each stage ID. I, personally, wouldn't really see the point in loading any stages past [100], as it does not introduce any new ones. If you did want to though, a few modifications would be needed to the above code templates)
Also see the Gecko site if you are interested in seeing more information on the codetype.
http://geckocodes.org/index.php?arsenal=1#F0
Last edited: