Views: 14,252,584 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
05-11-21 01:24 AM

0 users reading Information Sharing, Commons and General Hacking Q&A | 1 bot

Main - General SM64DS hacking - Information Sharing, Commons and General Hacking Q&A New reply

Posted on 07-14-14 12:10 AM (rev. 3 of 07-14-14 02:49 AM) Link | #44161
I saw that there was no thread to post small findings or ask technical help in hacking Super Mario 64 DS, so I went ahead and created one.

The idea for this thread is to share technical details on the game: RAM addresses, the file-system, ASM patches, version differences, ect. so that other's may use them for their own research, projects and hacks. The thread is also here for asking if other members know anything technical about a specific aspect of the game.

The more information included in a post, the better. If appropriate, it is greatly appreciated if you add media (images, video) to your post.

Please make sure if you make any help requests, that they are reasonable. If you have an answer to a help request, please give it here on this thread so everyone may see it.

Note that unfinished research is helpful, other users may build off of what you know or help you finish your research faster.

I'll start by sharing notes on RAM addresses I found relating to the current player:

(US V1.1) Edit:patched with SM64DSe. The "Current player" and "Current disguise" addresses are different in an unmodded ROM

02096121 = Player to load on area change

020909EC = Disguise to load on area change (certain area's will revert this to the "player to load on area change" and the player will get a short visual rainbow effect)

02187D91 = Current player

021876C0 = Current disguise

The values are one byte:

00 = Mario, 01 = Luigi, 02 = Wario, 03 = Yoshi

The "Current player" and "Current disguise" addresses appear to change when in the Castle Grounds because the values don't match the character when there. I didn't take the time to check if the addresses I found change in any other areas, if you have an answer to this please post it! Also setting a value above 3 either displays a glitched character and/or crashes the game.
You can acheive some impossible scenario's by modifying the current player and current disguise using a memory editor as seen here:


If anyone has found the addresses for another version of the game please post.

Posted on 07-14-14 05:16 AM Link | #44165
Maybe you should put this on the wiki?

Posted on 07-14-14 06:50 PM Link | #44219
I think information users post here could go on the wiki, but the thread is also here for users to help each other research area's before they put in a "final" report to the wiki. I'll put my player information on the wiki once I have more information on it, particularly version differences and when the addresses change.
Does anyone here know a build of DeSmuME with a proper Debugger? one with disassembly and breakpoints? I, a few years ago, used an emulator for Nintendo 64 called "Nemu" to help in hacking the N64 version of Super Mario 64, if anyone knows what I am talking about, I am looking for a similar system for the NDS. I have very little knowledge of ASM hacking so any tips, pointers, links would be great, specifically pertaining to Nintendo DS hacking and SM64DS.

Posted on 07-15-14 05:35 AM Link | #44233
Try No$gba shareware version

Posted on 07-26-14 03:46 PM (rev. 2 of 07-26-14 03:46 PM) Link | #44858
The "arenaoffs" value used in Dirbaio's ASM Hacking Project Template for SM64DS (patched, EUR) is 02058DE0. It should be possible to use NSMBe to patch the game's code using his template with this address.

Main - General SM64DS hacking - Information Sharing, Commons and General Hacking Q&A New reply

Page rendered in 0.025 seconds. (2048KB of memory used)
MySQL - queries: 29, rows: 115/115, time: 0.021 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.