Register - Login
Views: 95185879
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
09-22-18 10:46:53 AM

Jul - SM64 Hacking (Archive) - Mario 64 Notes and upcoming project New poll - New thread - New reply
Next newer thread | Next older thread
messiaen
Catgirl
Level: 65


Posts: 236/1085
EXP: 2248682
For next: 86946

Since: 11-20-07


Since last post: 4.0 years
Last activity: 3.0 years

Posted on 09-10-08 06:55:48 PM (last edited by messiaen at 09-10-08 06:56 PM) Link | Quote
Hello,

I've set up a simple site with some of my Mario 64 hacking notes. It's still messy, but way better than dozens of isolated .txt files in my HD . Most of it has already been posted to this board, but I'm updating the site with interesting information.

This big checksum area disassembly (done with NEMU) is very useful if you want to search pointers, coordinates or floats that may be hardcoded.

On a side note, I've started a simple utility that edits interesting values in the checksum area. Besides collecting values from Gameshark codes (any code from 80246000-80346000 is a good candidate), I'm doing some work finding Bosses star positions. They are mostly stored as floats using load immediate instructions, and some ASM changes are necessary to get more flexibility. This program will handle this by applying a few patches on the ROM, so all you'll have to do is input a decimal X, Y, Z position.

In this link (which will be constantly updated) I posted some more detailed information about some of the bosses stars and a quick guide how to find the instructiosn that load the coordinates.

I'm also interested in any codes that changes Mario physics (jump distances, height and all other parameters), so if you have anything on this it may be interesting to add a simple physics editor.
Kenshi
Member
Level: 20


Posts: 24/75
EXP: 41205
For next: 1234

Since: 09-15-07

From: NY

Since last post: 3.0 years
Last activity: 2.0 years

Posted on 09-12-08 10:18:47 PM Link | Quote
thanks a lot for this messiaen! A lot of this data is going to be very useful. The information on the music hacking especially is a lot clearer.
messiaen
Catgirl
Level: 65


Posts: 239/1085
EXP: 2248682
For next: 86946

Since: 11-20-07


Since last post: 4.0 years
Last activity: 3.0 years

Posted on 09-13-08 01:35:26 PM Link | Quote
I seriously need to organize the music data into a document , but I'm glad some of messy notes helped you.

I've updated the site mainly with some disassemblies of simpler collision rountines. Here is a product of this: a (crappy) custom collision terrain. It replaces the 0x0A (Death at the bottom) terrain, however it's possible to create new collision types with a bit more work.
Kenshi
Member
Level: 20


Posts: 25/75
EXP: 41205
For next: 1234

Since: 09-15-07

From: NY

Since last post: 3.0 years
Last activity: 2.0 years

Posted on 09-13-08 02:33:13 PM (last edited by mortalkenshi2 at 09-13-08 03:20 PM) Link | Quote
I was reading your notes, I am going to copy the data into text files and release it as a zip if you don't mind. (reply with an answer)

Also the behavior list you made the first document, the very last part

""Unused" (0x5504) <-- Falls a bit, then explode. Where is this used?!"

I think its the bubble in BoB. The one in the first level.
messiaen
Catgirl
Level: 65


Posts: 240/1085
EXP: 2248682
For next: 86946

Since: 11-20-07


Since last post: 4.0 years
Last activity: 3.0 years

Posted on 09-13-08 03:31:11 PM (last edited by messiaen at 09-13-08 03:38 PM) Link | Quote
(Toad's music)

I can see what may be confusing you. First, all pointers are relative to the beggining of this track (0x7CA8F0).

The "0x" before the number means it is a hexadecimal number. This signal is used in a lot of programming languages.

For instance,, 0x7CA8F0 + 0x5B = 0x7CA94B.

What may be confusing, if you are comparing the hex data of the song with my document, is that I've placed things in a linear order, while the format is very jumpy. To understand it you have to think of a "tree":


1
/ \
2 3
/ \ / \
4 5 6 7


The first ("1") block of data has the general properties, and points to track data ("2 and 3"). This data ("2" and "3") points to snippets the music data (the notes itself). I hope this helps a bit.

About putting everything together in a .zip file, I think most notes aren't ready for it yet. I'm constantly updating and correcting stuff, and some of them needs more descriptions (the music files are particularly messy, I think there are even some comments in portuguese!). When I'm satisfied with most of the notes, I'll add a link in the first page to a big .zip file with everything for easier reference, ok?
Stevoisiak
Member
Level: 36


Posts: 111/283
EXP: 299460
For next: 8650

Since: 11-22-07

From: New York, Long Island

Since last post: 8.0 years
Last activity: 2.0 years

Posted on 09-17-08 08:22:55 PM Link | Quote
Originally posted by messiaen
I seriously need to organize the music data into a document , but I'm glad some of messy notes helped you.

I've updated the site mainly with some disassemblies of simpler collision rountines. Here is a product of this: a (crappy) custom collision terrain. It replaces the 0x0A (Death at the bottom) terrain, however it's possible to create new collision types with a bit more work.

It says video removed.
messiaen
Catgirl
Level: 65


Posts: 254/1085
EXP: 2248682
For next: 86946

Since: 11-20-07


Since last post: 4.0 years
Last activity: 3.0 years

Posted on 09-17-08 11:35:06 PM Link | Quote
Ops, I deleted it because I finished a much better version:

http://www.youtube.com/watch?v=KMkJWkRRBak

And here is the "source" in MIPS and Pseudo-C.

I also updated the site with some parsed music files. The music events itself aren't included, just the basic data layout and commands. Hopefully this will be of help for figuring out more music commands.
Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - Mario 64 Notes and upcoming project New poll - New thread - New reply




Rusted Logic

Acmlmboard - commit 5d36857 [2018-03-03]
©2000-2018 Acmlm, Xkeeper, Inuyasha, et al.

28 database queries, 4 query cache hits.
Query execution time: 0.164803 seconds
Script execution time: 0.012209 seconds
Total render time: 0.177012 seconds
Memory used: 786432