Register - Login
Views: 95755153
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
11-14-18 08:13:05 AM

Jul - SM64 Hacking (Archive) - SM64 Forum Info - New topics will be trashed. New poll - New thread - New reply
Next newer thread | Next older thread
-The Chaos within trumps the Chaos without-
Level: 185

Posts: 1942/12211
EXP: 86948204
For next: 811531

Since: 07-03-07

From: 52-2-88-7

Since last post: 3.0 years
Last activity: 3.0 years

Posted on 01-23-09 03:52:05 AM (last edited by Metal_Man88 at 07-01-12 06:36:01 AM) Link | Quote

SM64 Forum Information Topic

Long ago, this forum was a land of spam topics and idiocy. Now it has gotten better. Unfortunately, that means rules have to be followed. Below are the rules and some FAQs. Below those are a list of information/documents. Read everything before making a topic, lest ye be banned!
Quick links:
File Listing


Do not post a thread unless it is one of the following:

  • A tool or project
  • A theory (with information to back it up)
  • A new discovery
  • A mod or hack itself, after it has been approved by a SM64 forum mod
  • Something informative that isn't blatantly obvious
  • A well-phrased Question not answered or addressed in another topic

Also, include these sort of things in your topic, unless you like lining the trash forum with topics:

  • Pictures (If a tool or a project)
  • A constructive use (If a tool)
  • Quality (Nobody's going to be reading a bunch of gibberish)
  • A link to the related patch/program (Especially with hacks, but also with tools; we don't want to just be teased with the images and a 'COMING SOON' message)
  • Some interesting or positive quality (You could make a tool to mess up all the colors without reason, but who would use that???)
  • If a question or theory, some practical reason to ask it or reason for you to posit it (You could post "Penguins are always blue! OMG" but that would get your account obliterated)

And in case you missed it, you must get permission from VL_Tone or Metal Man before you can make a thread about an individual mod/hack. First, you'll have to demonstrate, by showing your mod in the dedicated thread that your mod is worthy of having its own thread.

Now, to repeat what I said, but in a different way. Random questions, threads about drama, idiocy, whining, threads without any supporting purpose/picture/movie/patch/reason and such are likely to be closed and/or deleted.

In addition to that, please read the FAQ below.


Before you ask ANY QUESTIONS, please read the forum FAQ, the Toad's Tool FAQ and the Toad's Tool help thread. There are few things more annoying than being asked the most mundane, half-way obvious and easily answered questions over, and over, and over by someone who didn't have the courtesy to read the FAQ.


Direct linking to any commercial* ROM, be it the vanilla game or a hacked version, is expressly forbidden. IPS/NINJA/PPF/whatever patches are okay.

*Commercial refers to a ROM that was dumped from a video game that was released on a console for profit. Homebrew ROMs, meaning that they were made by amateur programmers who are coding for the system for non-profit reasons, are perfectly fine to link.


If you've read the FAQs and help thread and you still have questions, post a reply to the help thread with clear and concise information on your problem. If you post a question simply saying "I open the program and it crash what do I do" - you will probably get no help at all. We're not mind readers, we can't know exactly what the issue is. If you need help on a feature, be specific on what you need to be done. If you're having technical issues, be very specific. If the program is behaving oddly, note very specifically what is going wrong ("it turns black" is NOT specific at all). If the program is crashing or failing to start up, post exactly what the error message says, along with system specs. The more in depth you explain your problems, the greater your chances of being helped.


Type reasonably well. "hey wen u open th rom ware do i find how2 chang tihng?s" is absolutely unacceptable. If English is not your native language, attempts will be made to understand what you're saying, but if it's incomprehensible, that's worse than not posting at all. You don't need to be completely perfect by any means, but at least give an effort.

Respect other people. Don't be rude. If a newbie comes along and violates everything the rules, ignore them. Flaming them will get YOU in trouble, and trying to guess what the mods will do and warning them of it is backseat modding. On the other hand, providing them with links to this topic, and/or other topics where their question belongs is fine. Just leave locking and punishment/warnings to the mods.


All rules are enforced at all times, especially when you don't expect it. The punishment for breaking the rules generally goes as follows:

First offence: warning
Second offence: more dire warning
Third offence: semi-long ban/account destruction

This happens most of the time. If it doesn't, consider yourself lucky. Also note YOU CAN BE BANNED AT ANY TIME.


Don't be intimidated by the size of this FAQ! It's incredibly simple. In summary:

Read the FAQ
Don't post ROM links
Type reasonably well
Don't be a jerk
Don't backseat mod

That's all you really need to know!


While it's no means a rule, if you want people to try out your hack, post screenshots. Post them in the thread. No one will download it if you do. Even if you put screenshots in the RAR, no one will download it. People need to see what they're downloading before they consider downloading it, mmkay?

File Listing

Here is a list of important files/documents for SM64 hacking. If you know of more, PM Metal Man.

First is the main SM64 Hacking doc, which is a more recent version than what was posted on the "other" boards. It describes a good portion of level script, geometry layout, and polygon drawing commands. Still missing is the details of the collision data commands and format, which should be added eventually.

Here's a list of most texture addresses found in the extended ROM, though it's not completely up to date, a couple of textures are missing. It doesn't include sky backgrounds, icons used in the HUD, menus and the fonts.

Next is a list of changes made to create the extended ROM (can also be found at the end of the ROM Extender doc).


Formated level scripts that describe the menus and serve as a hub to launch other levels:

A list of all geometry layout pointers used in the game, essentially listing all 3d models used by the game. These pointers tell you where to find the geometry layout data, which itself describes the location and structure of the polygon sub-models, as well as where to find the polygon commands for each part.

This geometry layout pointers list is provided in three formats:

First is a simple sorted list of all geometry pointers and a description.

The second list is sorted by levels, so you can have the big picture about which level can use which model.

The third is like the second one, but includes a list of the polygon data pointers for each sub parts of the model, as extracted from the referred geometry layout data. It needs to be updated though, since my geometry layout decoding routine was a little broken for a couple of objects, and some polygon parts might be missing, though 99% of them should be correct.

If you need to find exactly in the ROM where are the geometry layout and polygon data reffered in these three docs, you'll need this list of unique bank numbers which are used internally in TT64 and their addresses in the extended ROM.

Next is a formated list of all behavior scripts found in the game. These are normally found in bank 0x13. It's pretty much the same list as I published on my blog when asking people to try to find the Blargg behavior, except for a small new addition:

I found that the 0x2A command refers to collision data used by many objects. That means that objects can have their own collision data, and that's why when you move them, their solidity is not affected. It would be nice to eventually add individual collision data to all platforms in the Bowser courses, and eliminate the main monolithic collision map.

There are the Mario and peach Geometry Layout deconstruction docs, as posted on another thread. Please refer to this thread for more details.

VL-Tone's commented Hex Data for Flatworld Battlefield.


Some improvements on the Flatworld Commented Hex Data:

00 00 00 02 <----- Loads 2 collision triangles


[00 00] [00 02] <----- Loads 2 "0000" terrain type (first 2 bytes) collision triangles

Also, these are inverted:

BB 00 00 00 FF FF FF FF
B8 00 00 00 00 00 00 00 <------ End of polygon commands

0xB8 is the command to return from a 0x06 jump and 0xBB is actually the End of polygon command. Since the data is linear, this doesn't really matter here, but it is good to clarify this so that you don't get confused by this when looking at other geometry data.


Also, we're making a SM64 wiki page about it. Here's a page with some beta information, and a review of some of the information seen above. Super Mario 64 on the Cutting Room Floor

Collision Data/Terrain Info

Super Mario 64 Level Format Diagram by VL-Tone (Possibly outdated, but still very useful)
Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - SM64 Forum Info - New topics will be trashed. New poll - New thread - New reply

Rusted Logic

Acmlmboard - commit 220d144 [2018-11-04]
©2000-2018 Acmlm, Xkeeper, Inuyasha, et al.

25 database queries.
Query execution time: 0.199575 seconds
Script execution time: 0.012280 seconds
Total render time: 0.211855 seconds