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

[Help] Memory Conflict in ASM coding. (Advanced Coding Knowledge Required)

Sirkura

Smash Cadet
Joined
Nov 3, 2015
Messages
68
Hi, i'm fairly new to these parts of the forums, and coding with gecko. Me and a team have been working on a project for a while now to expand brawl to the absolute limits and i thought that maybe someone can help us out with an issue we've been having for a while. with both the below codes the current limit is 128 characters, and 600+ stages.

first one (BrawlEX or BeX) allows character data and resources to be copied into a new instance, thus being able to create new characters with minimal effort. Called as such, the clone engine. You an find its original thread here, (you may need to click a few times, the server there REALLY needs a bandwith upgrade >.>)
http://forums.kc-mm.com/index.php?topic=65113.0


Second Code (Alternate Stage Loader or ASL) allows stages to be alternatively selected by holding button combinations for near limitless stages, i'll share findings me and our team have found. already here:
Code:
Alright, here's what I'm able to uncover so far. I'll post it up in the order of which it's displayed itself in the GCT.

First off it seems to be close to the very top of the unknown code block when I run it through GCT decrypter. So I'm going to include a small block of code just above where I believe it starts.

Unknown, Possibly Related?
C2044A34 00000003 
80830008 2C080001 
4082000C 3D808059 
91EC82F8 00000000 
046A5C94 38000000 
046844DC 60000000

Next off is the Alternate Stage Loader itself. It comparing to the last publicly released version of the code, I can see there's enough similarities in it to determine that it is what it is. (Last public version for reference: http://smashboards.com/threads/phantom-pwnt-dantarion-new-custom-sss-custom-stage-id-engine-thingy.254340/ )

Alternate Stage Loader PM 3.6?
C23FA360 00000030 
91620000 90E20004 
91820008 90620010 
91220014 3C607072 
60636F6A 80E10020 
7C033800 4082013C 
3C602F73 6063745F 
80E10032 7C033800 
41820024 3C602F53 
60635447 80E10037 
7C033800 40820114 
39800ACE 80E1003B 
48000008 80E10036 
3D60DFDF 616BDFDF 
7CE75838 3D60805A 
616B7CB4 2C0C0ACE 
40820008 396BFFFC 
816B0000 806B0000 
892B0004 880B0005 
2C030DED 418200CC 
7C033800 41820014 
396B0008 1D290008 
7D6B4814 4BFFFFD8 
2C090000 4182005C 
396B0008 A0EB0000 
3C60815E 60638420 
A0630002 3D408059 
894A82F8 2C0A0001 
40820018 3D408059 
A14A82FA 2C0A0000 
41820010 48000014 
7CE71839 4082000C 
3929FFFF 4BFFFFB4 
3D408059 B16A82FA 
886B0003 48000024 
2C000000 4182004C 
3C60815E 606325D0 
80630000 7D2303D6 
7D2049D6 7C691810 
38E05F41 7CE71A14 
B0E6FFFC 3C602E72 
6063656C 2C0C0ACE 
4082000C 3C602E50 
60634143 9066FFFE 
38A5FFFE 38C60002 
81620000 80E20004 
81820008 80620010 
81220014 38000000 
60000000 00000000

Next up is another small section of code that I'm unfamiliar with. Considering its positioning in the gct though I'm going to assume it might be related. I haven't played around with it yet though.

Unknown section between Loader and Data
C294AC30 00000002 
98030044 3D808059 
980C82F8 00000000 
C2105FE8 00000002 
806DBDB0 3D808059 
926C82F8 00000000 

And finally, the next section is formatted exactly the same as the data section for the publicly released code. I will leave it filled in, as it is for PM, however if you compare and contrast with the original data its pretty easy to tell where the blanks would be for filling in yourself.

Alternate Stage Loader Data PM 3.6?
46000010 00000000 
44000000 005A7CB0 
66200033 00000000 
45415254 01000000 
00400019 00000000 
47524545 01000000 
00400019 00000000 
4943450E 01000000 
00400019 00000000 
4D414445 01000000 
00400019 00000000 
4E4F5246 01000000 
00400019 00000000 
4F4E4C49 01000000 
00400019 00000000 
50414C55 01000000 
00400019 00000000 
504C414E 01000000 
00400019 00000000 
53544144 01000000 
00400019 00000000 
53544152 01000000 
00400019 00000000 
4A554E47 01000000 
00400019 00000000 
4D415249 01000000 
00400019 00000000 
4F4C4449 01000000 
00400019 00000000 
44584752 01000000 
00400019 00000000 
4458434F 01000000 
00400019 00000000 
44585A45 01000000 
00400019 00000000 
44585053 01000000 
00400019 00000000 
444F4C50 01000000 
00400019 00000000 
44585348 01000000 
00400019 00000000 
4458594F 01000000 
00400019 00000000 
42415454 01000000 
00400019 00000000 
44585243 01000000 
00400019 00000000 
4E455750 01000000 
00400019 00000000 
43524159 01000000 
00400019 00000000 
454D424C 01000000 
00400019 00000000 
00000DED FADEDEAD 
E0000000 80008000

Now peculiarly enough there seems to be a second code for Alternate Stage Loader data. It's slightly different from the first however.

Alternate Stage Loader Data PM 3.6, 2?
46000010 00000000 
44000000 005A7CB4 
66200033 00000000 
45415254 01000000 
00400019 00000000 
47524545 01000000 
00400019 00000000 
4943450E 01000000 
00400019 00000000 
4D414445 01000000 
00400019 00000000 
4E4F5246 01000000 
00400019 00000000 
4F4E4C49 01000000 
00400019 00000000 
50414C55 01000000 
00400019 00000000 
504C414E 01000000 
00400019 00000000 
53544144 01000000 
00400019 00000000 
53544152 01000000 
00400019 00000000 
4A554E47 01000000 
00400019 00000000 
4D415249 01000000 
00400019 00000000 
4F4C4449 01000000 
00400019 00000000 
44584752 01000000 
00400019 00000000 
4458434F 01000000 
00400019 00000000 
44585A45 01000000 
00400019 00000000 
44585053 01000000 
00400019 00000000 
444F4C50 01000000 
00400019 00000000 
44585348 01000000 
00400019 00000000 
4458594F 01000000 
00400019 00000000 
42415454 01000000 
00400019 00000000 
44585243 01000000 
00400019 00000000 
4E455750 01000000 
00400019 00000000 
43524159 01000000 
00400019 00000000 
454D424C 01000000 
00400019 00000000 
00000DED FADEDEAD 
E0000000 80008000

After that point, I'm not sure if anything else is related or not. But just incase it's something related that I can't see, I'll include the section of code that follows the ASL.

Unknown code 3?
2156369C 41517A00 
42000000 90000000 
0217F378 00030000 
E0000000 80008000 

The public ASL was incompatible with BrawlEx, I believe because they operated in the same space in memory, or something to that effect. This code does however seem to be slightly different from the original, whether or not that actually means its compatible though I'm not sure.
Let me know if you manage to find anything more from this, or if there's anything else I can do to help.
the main issue is both point to a single free memory address and can't write in the same area. we need to point them to seperate locations in memory. Feel free to pop in our dev chat. its usually quite active at night.
https://discordapp.com/channels/108006060287086592/108006453255630848

Any help is welcomed, feel free to PM me. ^^
Sirks
 
Top Bottom