[N64] So I made a few Super Smash Bros. mods (and you can, too!)

Discussion in 'Nintendo Game Development' started by jungerman, Nov 13, 2013.

  1. jungerman

    jungerman N64 Life

    Joined:
    Jul 18, 2013
    Messages:
    32
    Likes Received:
    0
    They're embarrassingly simple from a complexity standpoint, but do they run on original N64 hardware, provided you've got the capabilities to run them on that. It's nothing that hasn't been seen before in the world of gameshark/emulator cheats, but I'll be damned if I'm not proud I got these suckers working correctly. I've spent at least 10 hours to make this happen, starting from zero prior knowledge.

    You can find the files here: http://plainsmanlabs.com/storage/mods/

    A brief description of each one:
    • All Damage - every move does 999% damage (play as samus. pop pop.)
    • Master Hand - every player plays as master hand (he actually has moves like every other character)
    • Metal Mario - ditto, but with Metal Mario (game crashes after the round is over. same for master hand.)
    • No Damage - every move does 0% damage (really not that fun at all.)

    What I'm trying to do now is insert a custom asm routine to constantly write a value to a specific memory location (like the GameShark does). Specifically, something similar to what is described here: http://n64.icequake.net/mirror/n64.50megs.com/trainer.html. Though there are parts of this guide that I still don't understand well. If anyone is familiar with this sort of asm hacking, I would be ever grateful if I could send you a few emails.

    As for how I did this mod - I used orbitaldecay's guide (see http://www.orbitaldecay.com/N64/), which was invaluably helpful. However, I did have a few troubles that I had to figure out on my own that the guide didn't detail (differing locations of instructions between what's in Nemu64's memory and in the decompiled code in LemAsm... perhaps the result of a TLB? I really don't know). I had to decompile the ROM using N64PSX (see download below) and Ctrl+F and create a regex in Sublime Text to search for the specific instruction I was looking for. Then I went to the address I found in there (instead of the one in Nemu64's memory) and look THAT up in LemAsm, change it, and save the file to my Everdrive SD card. But wait, there's more! LemAsm doesn't properly calculate CRC's for all N64 games, so when I tried to boot it on my console, nothing. SSB uses a 6103 CIC (I think), and I guess LemAsm didn't pick up on that, so I then had to use rn64crc.exe to fix the CRC values for the modded game. And now it works.

    In the course of writing this post, I decided it would be helpful to make a kit of all the tools you'll need to do this. I even typed up a helpful README. So here it is: http://plainsmanlabs.com/storage/mods/ROM-Patch-Tools.zip. I included LFE.EXE (Library Function Extractor) even though you don't actually need it for this. That thing was just so damn hard to find.

    J
     
    Last edited: Nov 13, 2013
  2. takeshi385

    takeshi385 Mojarra Frita Bandit

    Joined:
    Mar 29, 2011
    Messages:
    1,856
    Likes Received:
    164
    Thank you, so much.
     
  3. Moiboi

    Moiboi Site Supporter 2015

    Joined:
    Feb 17, 2006
    Messages:
    67
    Likes Received:
    8
    I'm no expert, but that trainer guide looks pretty straight-forward to me, so if you want to ask any questions I can have a go at answering them.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page