Register - Login
Views: 99348981
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-21-22 05:35:56 PM
Jul - SM64 Hacking (Archive) - All Super Mario 64 Hacking Docs New poll - New thread - Thread closed
Next newer thread | Next older thread
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 35/621
EXP: 1135269
For next: 21850

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.6 years
Last activity: 1.2 years

Posted on 08-16-07 03:03:06 AM (last edited by VL-Tone at 03-24-08 01:45 AM) Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
This thread is meant as a repository for all SM64 hacking docs I produced over the year, and hopefully some other docs will be added by other hackers.

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.
Mario64_HackingDoc1.5.txt

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.
M64TextureList07.txt

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

ExtendedROMchanges.txt

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

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.
SM64GeoLayoutPtrs.txt

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

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.
SM64GeoLayoutPtrsAndPolys.txt

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.
TT64ROMBanks.txt

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.
SM64Behaviors.txt

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



If you are an experienced ROM hacker and have questions about these docs, go for it.

But if you barely know what hexadecimal is, seldom used an hex editor, and don't know much about ROM hacking, please don't post questions in this thread. I simply don't have the time to teach newbies the basics.

Also, if you have produced SM64 docs yourself, this is the place to post them.


____________________
blakerobinson2u
Member
holly1
Level: 14


Posts: 11/29
EXP: 11439
For next: 1632

Since: 08-13-07


Since last post: 14.6 years
Last activity: 14.6 years

Posted on 08-26-07 01:52:26 PM Link
do you have anything on coin physics?
VL-Tone
Member
Super Mario 64 forum moderator
Level: 53


Posts: 55/621
EXP: 1135269
For next: 21850

Since: 07-27-07

From: Montreal, Canada

Since last post: 4.6 years
Last activity: 1.2 years

Posted on 08-27-07 04:41:45 AM; last edit by VL-Tone on 09-11-07 04:33 PM Link
Time: Now - Date: Today - Weather: What can be seen outside. - Mood: How it feels. Answer to the universe: 42
No, as I explained in some other reply, while I know a few things about what I call "behavior scripts", these scripts are actually pretty basic and call ASM code routines which contain all the physics and actual behavior code.

____________________
messiaen
Catgirl
Level: 68


Posts: 6/1085
EXP: 2593490
For next: 135310

Since: 11-20-07


Since last post: 8.1 years
Last activity: 7.2 years

Posted on 03-20-08 01:39:31 PM (last edited by messiaen at 05-17-08 06:05 PM) Link
Hello,

Just to update this thread and keep all information here, here is VL-Tone's
commented Hex Data for Flatworld Battlefield.

FlatWorldBattleFieldHexData.txt


Some improvements on the Flatworld Commented Hex Data:

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

to

[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.

--

Collision Data/Terrain Info

Super Mario 64 Level Format Diagram by VL-Tone (Possibly outdated, but still very useful)
Lyskar
12210
-The Chaos within trumps the Chaos without-
Level: 192


Posts: 1943/12211
EXP: 99215103
For next: 658468

Since: 07-03-07

From: 52-2-88-7

Since last post: 7.4 years
Last activity: 7.3 years

Posted on 01-23-09 06:53:04 AM Link

Time/Date

01-23-09 12:53:04am

Posts

1943

Days Here

569

Level

63
Metal_Man88
Local Moderator
Topic obsoleted. Go here.

____________________
Original Layout © Tobias Kelmandia
Next newer thread | Next older thread
Jul - SM64 Hacking (Archive) - All Super Mario 64 Hacking Docs New poll - New thread - Thread closed


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

30 database queries, 1 query cache hits.
Query execution time:  0.092883 seconds
Script execution time:  0.021477 seconds
Total render time:  0.114360 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 299 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 202 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 179 column 73 - Warning: <style> isn't allowed in <td> elements
line 179 column 9 - Info: <td> previously mentioned
line 179 column 1511 - Warning: missing </font> before <hr>
line 220 column 1 - Warning: inserting implicit <font>
line 179 column 137 - Warning: missing </div>
line 227 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 229 column 9 - Warning: missing <tr>
line 247 column 13 - Warning: missing <tr>
line 253 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 255 column 9 - Warning: missing <tr>
line 273 column 13 - Warning: missing <tr>
line 276 column 73 - Warning: <style> isn't allowed in <td> elements
line 276 column 9 - Info: <td> previously mentioned
line 276 column 137 - Warning: missing </div>
line 279 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 281 column 9 - Warning: missing <tr>
line 299 column 13 - Warning: missing <tr>
line 326 column 1021 - Warning: unescaped & or unknown entity "&page"
line 331 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 333 column 9 - Warning: missing <tr>
line 351 column 13 - Warning: missing <tr>
line 354 column 73 - Warning: <style> isn't allowed in <td> elements
line 354 column 9 - Info: <td> previously mentioned
line 354 column 960 - Error: <z> is not recognized!
line 354 column 960 - Warning: discarding unexpected <z>
line 354 column 982 - Warning: discarding unexpected </z>
line 354 column 1008 - Error: <z> is not recognized!
line 354 column 1008 - Warning: discarding unexpected <z>
line 354 column 1015 - Warning: discarding unexpected </z>
line 354 column 1045 - Error: <z> is not recognized!
line 354 column 1045 - Warning: discarding unexpected <z>
line 354 column 1051 - Warning: discarding unexpected </z>
line 354 column 1077 - Error: <z> is not recognized!
line 354 column 1077 - Warning: discarding unexpected <z>
line 354 column 1082 - Warning: discarding unexpected </z>
line 357 column 17 - Warning: missing <tr>
line 357 column 17 - Warning: discarding unexpected <table>
line 360 column 35 - Warning: missing <tr>
line 360 column 50 - Warning: missing </font> before </td>
line 360 column 91 - Warning: missing </font> before </table>
line 362 column 35 - Warning: missing <tr>
line 362 column 50 - Warning: missing </font> before </td>
line 363 column 37 - Warning: unescaped & or unknown entity "&id"
line 362 column 202 - Warning: missing </font> before </table>
line 364 column 17 - Warning: discarding unexpected </textarea>
line 364 column 28 - Warning: discarding unexpected </form>
line 364 column 35 - Warning: discarding unexpected </embed>
line 364 column 43 - Warning: discarding unexpected </noembed>
line 364 column 53 - Warning: discarding unexpected </noscript>
line 364 column 64 - Warning: discarding unexpected </noembed>
line 364 column 74 - Warning: discarding unexpected </embed>
line 364 column 82 - Warning: discarding unexpected </table>
line 364 column 90 - Warning: discarding unexpected </table>
line 366 column 9 - Warning: missing </font> before <table>
line 378 column 25 - Warning: discarding unexpected </font>
line 387 column 57 - Warning: discarding unexpected </font>
line 365 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 216 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 179 column 693 - Warning: <img> lacks "alt" attribute
line 224 column 6112 - Warning: <img> lacks "alt" attribute
line 224 column 6271 - Warning: <img> lacks "alt" attribute
line 232 column 22 - Warning: <img> lacks "alt" attribute
line 232 column 63 - Warning: <img> lacks "alt" attribute
line 232 column 112 - Warning: <img> lacks "alt" attribute
line 232 column 162 - Warning: <img> lacks "alt" attribute
line 243 column 15 - Warning: <img> lacks "alt" attribute
line 258 column 22 - Warning: <img> lacks "alt" attribute
line 258 column 63 - Warning: <img> lacks "alt" attribute
line 258 column 112 - Warning: <img> lacks "alt" attribute
line 258 column 162 - Warning: <img> lacks "alt" attribute
line 269 column 15 - Warning: <img> lacks "alt" attribute
line 276 column 693 - Warning: <img> lacks "alt" attribute
line 276 column 1886 - Warning: <img> lacks "alt" attribute
line 276 column 2045 - Warning: <img> lacks "alt" attribute
line 284 column 22 - Warning: <img> lacks "alt" attribute
line 284 column 63 - Warning: <img> lacks "alt" attribute
line 284 column 113 - Warning: <img> lacks "alt" attribute
line 295 column 15 - Warning: <img> lacks "alt" attribute
line 335 column 17 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 17 - Warning: <img> lacks "alt" attribute
line 335 column 60 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 60 - Warning: <img> lacks "alt" attribute
line 335 column 103 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 103 - Warning: <img> lacks "alt" attribute
line 335 column 146 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 146 - Warning: <img> lacks "alt" attribute
line 335 column 189 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 189 - Warning: <img> lacks "alt" attribute
line 335 column 232 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 232 - Warning: <img> lacks "alt" attribute
line 335 column 275 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 275 - Warning: <img> lacks "alt" attribute
line 335 column 318 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 318 - Warning: <img> lacks "alt" attribute
line 335 column 361 - Warning: <img> proprietary attribute value "absmiddle"
line 335 column 361 - Warning: <img> lacks "alt" attribute
line 336 column 23 - Warning: <img> lacks "alt" attribute
line 336 column 64 - Warning: <img> lacks "alt" attribute
line 336 column 113 - Warning: <img> lacks "alt" attribute
line 336 column 163 - Warning: <img> lacks "alt" attribute
line 337 column 11 - Warning: <img> lacks "alt" attribute
line 347 column 15 - Warning: <img> lacks "alt" attribute
line 354 column 1515 - Warning: <img> lacks "alt" attribute
line 354 column 1725 - Warning: <img> lacks "alt" attribute
line 354 column 1813 - Warning: <img> lacks "alt" attribute
line 354 column 2057 - Warning: <img> lacks "alt" attribute
line 354 column 2382 - Warning: <img> lacks "alt" attribute
line 354 column 2571 - Warning: <img> lacks "alt" attribute
line 363 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 363 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 363 column 216 - Warning: <img> proprietary attribute value "absmiddle"
line 372 column 25 - Warning: <img> lacks "alt" attribute
line 377 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 357 column 17 - Warning: trimming empty <tr>
line 360 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 179 column 157 - Warning: <table> proprietary attribute "height"
line 179 column 222 - Warning: <td> proprietary attribute "background"
line 179 column 318 - Warning: <td> proprietary attribute "background"
line 179 column 408 - Warning: <table> proprietary attribute "height"
line 179 column 488 - Warning: <td> proprietary attribute "background"
line 179 column 1443 - Warning: <td> proprietary attribute "background"
line 248 column 27 - Warning: <nobr> is not approved by W3C
line 274 column 27 - Warning: <nobr> is not approved by W3C
line 276 column 157 - Warning: <table> proprietary attribute "height"
line 276 column 222 - Warning: <td> proprietary attribute "background"
line 276 column 318 - Warning: <td> proprietary attribute "background"
line 276 column 408 - Warning: <table> proprietary attribute "height"
line 276 column 488 - Warning: <td> proprietary attribute "background"
line 276 column 1443 - Warning: <td> proprietary attribute "background"
line 300 column 27 - Warning: <nobr> is not approved by W3C
line 352 column 27 - Warning: <nobr> is not approved by W3C
line 354 column 1594 - Warning: <td> proprietary attribute "background"
line 354 column 1894 - Warning: <td> proprietary attribute "background"
line 354 column 2147 - Warning: <table> proprietary attribute "height"
line 354 column 2463 - Warning: <td> proprietary attribute "background"
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 162 warnings and 4 errors!

The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md