wParam's notes


These files contain all of the information I have written down about smash brothers. It's not all very clear or easy to understand, but the only other information I have is in my head, which I obviously can't upload to this server.

As with everything on this site, I'm putting it up because I hope people will find it useful. So, if you can use it, you definitely should, since that's what it's here for. All I ask in return is a little credit if this information is a major contribution to your work.

You may have to use "save link as" on these files.

SSBM hacking scratchpad
This is the most raw of all of the files. It is where I store things as I'm debugging, so it has stack traces, crash dumps, and piles upon piles of random, unlabeled numbers. Almost everything that eventually found its way into the mod has roots in this file. (No promises about being able to find it, though.) This file is probably only useful as a window into my thought processes. I have tried to take all of the useful information it contains and put them in the "useful facts" file, which you can download below. Unfortunately, not quite everything got into the useful facts, and so can only be found in the quagmire that is the scratchpad. Note: This file contains profanity, sometimes a lot of it, generally located in the areas written when I couldn't figure something out.

SSBM Useful facts
This file contains some of the more useful information from the scratchpad formatted and presented in a much cleaner way. It is split up into data locations, function addresses, and known data types. Some things have descriptions with them, some don't. A good idea, if you want to use a function, is to search for its address in the scratchpad. Sometimes you'll find a useful piece of information that way that isn't in this file.

temp.asm
Temp.asm is the file that contains all of the code that went into the mod. A lot of the early stuff is in a giant pile at the end, but the later (and larger) things all have their own block that you can enable or disable at will. (Only one should be on at a time.) The file is called temp.asm because that's the name that I gave it when I started. This file, combined with the other two above and the actual source for the mod, make up my workspace for smash brothers editing. Generally I always have all four open when I'm fiddling with the game, along with a disassembly of the smash brothers executable and a dump of its default ram. I use assem.bat (below) to assemble this file.

assem.bat
This file is the batch file I use to assemble temp.asm into temp.dis. Temp.dis is formatted as a poke script with asm code after it, with addresses already modified to fit into the gamecube. You'll need to edit it a lot to use it, correcting pathnames and such. It requires the gnu assembler targeted for powerpc (I got it in a gamecube dev kit) and cygwin tools for windows. I think it also needs the disassembler that comes with gcnrd.