Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Mario 64 - Amazing Stuff | |
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
stag019

Snifit
Level: 23

Posts: 23/299
EXP: 62259
For next: 5464

Since: 06-10-05
From: C:\Documents and Settings\stag019\Desktop

Since last post: 9 days
Last activity: 7 hours
Posted on 06-30-05 09:11 AM Link | Quote
Thanks. I worked my ass of today to do some things. I started like 3 days ago. And I was planning on making 3 versions, one with blue pants, one with purple pants
(his pants seemed to be purple between circa SMW and SSB64, and one with navy blue pants, becuase that how it is in SM64DS. I don't know about white though. I'll see.
Anyways, I'm going to bed. G'night.


(edited by stag019 on 06-30-05 12:12 AM)
(edited by stag019 on 06-30-05 12:13 AM)
(edited by stag019 on 07-01-05 08:26 PM)
(edited by stag019 on 07-04-05 03:43 PM)
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 5383/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 06-30-05 09:40 AM Link | Quote
Sheeeeat, I gotta start looking at this stuff again. What all do we know about the file with the object placements?

Again, here is a bunch of info about their layout in memory. Lots of fun attributes to mess with.
Chickenlump

Level: 41

Posts: 609/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 06-30-05 10:25 AM Link | Quote
From what I have toyed with (not much), enemy and object x,y,z coords, level Act. # that they appear (like the bomb boss only appears in the first act), interaction/action properties for the objects (teeter bridge) and a few other things I've forgotten or didn't write down. I think coins and trees are placed in the level through this file as well, though I've had limited sucess with finding and editing them.
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 82/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 06-30-05 12:33 PM Link | Quote
I found new important commands that are used in the triangle data:

First the commands we already knew about (look at earlier posts for more details):

04 start of a triangle group
BF triangle
FD and F3 load textures
E6 does nothing?

Here is what I found that I didn't know:
I'll use the same format as Cellar Dweller

03 86 00 10 (04) (00 00 38)
0: 03= command to set color (and lightning?) for triangles.
1,2,3: I don't know
4: RAM bank number to load the color from (usually same as current bank)
5-7: Pointer address to a 32-bit color in the MIO0 file.

06 00 00 00 (04) (00 CA 00)
0: 06= command to jump to another point in the triangle data.
1,2,3: I don't know either
4: RAM bank number to jump to (usually same as current bank)
5-7: Pointer address in the MIO0 file.

B8 00 00 00 00 00 00 00
0: command that jumps back to the next command after the last "06" jump (uses a stack)
1-7: always zero

The rest of the commands have to be figured out but many look somewhat obvious (having the same pointer format at the end).

At 1287CC in the ROM you can find this (reversed bytes):
01 04 A0 19 05 15 00 00 01 04 90 1A 05 15 00 00 01 04 80 1B 05 15 00 00

You can also find much the same at 127CC0 but with "01 15 00 00"s instead of "05 15 00 00"s.

These are pointers to the different Mario's heads mesh data inside the 114750 MIO0 file.

Mario's geometry (the 114750 MIO0 file) is loaded in RAM bank "04", the first head is at 0119A0 in the file. Starting at this point you can decode the head geometry. At 0119A0 is Mario's head with normal open eyes, in 011A90 Mario's eyes are closed a little. Then 011B80 eyes are almost closed and the next pointer the eyes are closed. After that you get the eyes with X X in them, then the next pointers are for different eyes movements.

The idea is that each of these pointers point to a little sequence of commands that load textures and colors then use the 06 command to jump to triangle groups then the B8 objects jumps back to the routine. So the heads are using the same geometry but different textures.

The levels data I found also uses some 06 commands but not as much as Mario. I was lucky enough that skipping the 06 commands in my program still gave me a good enough results. Since I found the use of the command and the way Mario's head was referred to in the ROM, I started looking for similar entry points pointers for the level parts in the ROM but was unsuccessful.

Chickenlump you did find very very good data!

I'll have to look more into it, but from what I've seen with this I could make a prototype editor for object positions (and types) in Level 1 in a week or two And this wouldn't be like the StarFox level editor, it would be in full 3d with the whole level scene. The objects would be represented as boxes , because otherwise it would require loading and decoding all the objects/enemies from the different MIO0 files and that is not possible/viable now.

Now I'm going on vacation next week... and I will be away from computers :/ (Oh no! life without computers!)

I certainly hope many big things will happen in SM64 hacking while I'm gone, one possible reason is that people wont count on me to find things the other reason is that with the uncompressed data Chickenlump found, there should be a lot to find, like trying all 256 values for the boss object type

(Edit: I added Level 1: Bob-Omb's Battlefield to my castle Shockwave demo! Have fun!)



(edited by VL-Tone on 06-30-05 05:02 AM)
BGNG

Snifit
Level: 22

Posts: 105/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 06-30-05 05:40 PM Link | Quote
I just thought I'd take the opportunity to mention that there are three versions and two formats of the ROM out there, so it's kinda necessary to distinguish which of the six files that any given person uses when they post here.

From what I can tell, you guys are using the North American ROM in Z64 format.
Chickenlump

Level: 41

Posts: 610/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 06-30-05 09:46 PM Link | Quote
Super Mario 64 (U) [!].v64 is the ROM I'm using, it's size is:
8.00 MB (8,388,608 bytes). I'll be sure to post this each time I contribute something, however minor.

I have all weekend to poke around and make some lists. Hyperhacker found the file though, I'm just exploring and trying to document it.

Great job on the Bob-omb Battlefield demo, it's quite interesting!
I sort of know where the Boss's X,Y,Z coords are, so I'm going to try to set him at the start of the level (making lists is going to be tedious otherwise...climb the mountain...climb the mountain...tear the hair out...climb the mountain...).

Have a fun vacation.
Someguy

Buzzy Beetle
It seems as though the girl you've fallen for is also a pyromaniac.
Level: 32

Posts: 325/397
EXP: 193329
For next: 13113

Since: 03-15-04
From: I'm proud to be an American... I think...

Since last post: 1 day
Last activity: 5 hours
Posted on 06-30-05 10:06 PM Link | Quote
Why not look for the 02(star 2, the Koopa the Quick object) near by him and change Koopa the Quick, or maybe look off that and find the position he's put and put the big Bob-omb there? I'd do something simular but I don't know which byte is which because you list of what's what doesn't mention if it's in that order, and states there's some other unknown stuff, otherwise I'd be playing with this more then just making my self discovered Koopa the Quick offset a giant pole or a freaky Mario.
Violent J

Melon Bug
Level: 41

Posts: 457/749
EXP: 479154
For next: 991

Since: 05-05-04
From: The Lotus Pod

Since last post: 8 hours
Last activity: 8 hours
Posted on 06-30-05 10:24 PM Link | Quote
Heres a good question....Is it hard to learn this stuff? Like, how long did it take you guys to understand all this MIO0 crap?
BGNG

Snifit
Level: 22

Posts: 106/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 06-30-05 10:44 PM Link | Quote
According to my thread at EmuTalk last year, I first learned about MIO0 on Jun11 and had it figured out by Jun22... And that was all about cracking a completely-undocumented compression algorithm, so that 11 days ain't too shabby.

But that's crazy stuff that only a crazy person would undertake, so the rest of it should be accounted for. Basically, chanding data and seeing the results is a good way to go about trying stuff out. VL-Tone said he first found stuff in the Super Mario 64 data files in... maybe he didn't... But I'd wager 3 to 5 days for that.

Really, it's just experimentation to see what you can do and go about doing it.
NEONswift

Rope
Level: 19

Posts: 71/117
EXP: 30883
For next: 4894

Since: 03-17-04
From: England

Since last post: 24 days
Last activity: 1 day
Posted on 06-30-05 10:47 PM Link | Quote
Originally posted by Sonicandtails
Heres a good question....Is it hard to learn this stuff? Like, how long did it take you guys to understand all this MIO0 crap?
think thats your issue right there mate...you think its crap!
Chickenlump

Level: 41

Posts: 611/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 06-30-05 10:57 PM Link | Quote
I'll just continue to edit this post as I find stuff (unless it's unrelated to objects).

ROM version used:
Super Mario 64 (U) [!].v64
8.00 MB (8,388,608 bytes).
===================================
THE LIST
===================================
Teeter Bridge: 405A8E - Movement or action properties
Koopa the Quick's Flag Pole: 405C17 - Act # this will appear
Koopa the Quick's Flag Pole: 405C1D - Positioning related
Bomb Boss: 405C4A - Image Modifier
Bomb Boss: 405C4B - Act this will appear
Koopa the Quick: 405C62 - Image Modifier
Koopa the Quick: 405C63 - Act # this will appear
===================================
END LIST
===================================

Let's see, 12 bytes long
Koopa the Quick:
--------------------------------------
Byte 1:
Byte 2:
Byte 3:
Byte 4:
Byte 5:
Byte 6: Image Modifier (originally 68)
Byte 7: Act # Appearance (originally 02)
Byte 8:
Byte 9:
Byte 10:
Byte 11:
Byte 12:

If any mod sees this, perhaps this could be sticked? I think this is progressing fairly well and would remain fairly active.



(edited by Chickenlump on 06-30-05 02:01 PM)
(edited by Chickenlump on 06-30-05 02:36 PM)
(edited by Chickenlump on 06-30-05 03:15 PM)
(edited by Chickenlump on 06-30-05 03:19 PM)
(edited by Chickenlump on 06-30-05 04:05 PM)
(edited by Chickenlump on 06-30-05 04:07 PM)
(edited by Chickenlump on 06-30-05 04:21 PM)
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 83/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 06-30-05 11:17 PM Link | Quote
I had looked at the content of the castle MIO0 file before, for a couple of hours without finding anything. When Hyperhacker started this thread I decided to give a look back at it, then count the days till I figured it out . Cracking the MIO0 file format is much more complicated than what I've found though, great work BGNG!

The way I did it is by looking for x,y,z 16-bit coords. Once I found a list of them, I feed it into a custom program that takes the x,y,z coords and put little spheres in a 3d scene at those positions. Dang I was happy when I first manage so see part of the castle scenery built out of points Then it was a matter of finding the triangle data. At first I found something that looked like a triangle list, but it was giving out bad results. Then I figured out by looking at data that there was a list where the triangle vertices were defined by 3 numbers. The "hard" part was to guess that these numbers had to be divided by 10. You know the rest of the story

I guess my experience in cracking the StarFox polygon mesh format helped, as it took me more time to figure out the format since I had no previous experience dealing with 3d formats at this level of detail.

Ok since it's a hot summer (here) I added Cool Cool mountain to my demo to refresh yourself!

Note that inside the mountain there are a couple of things like the wooden houses parts and some other small platforms all bunched together. This is because those objects are not positioned by themselves, their center is at 0,0,0. I guess that the recent data found about 3d object coords places them all over the level.



If you missed that bit, I also added Bob-omb's Battle field to the demo.






stag019

Snifit
Level: 23

Posts: 24/299
EXP: 62259
For next: 5464

Since: 06-10-05
From: C:\Documents and Settings\stag019\Desktop

Since last post: 9 days
Last activity: 7 hours
Posted on 06-30-05 11:23 PM Link | Quote
So you don't get bored waiting for Super Luigi 64, I've decided to give a savestate (It works with all byteorders) for Super Mario 64. It's on http://superluigi64.20m.com which is will be in my sig (soon). But the actual file is at
http://www.freewebs.com/superluigi64/savestates/superluigi64.zip (for all you lazy people who don't like to go to an almost completely blank website and try to find a link that clearly labeled).
Anyways it works with PJ64 1.6. When you load it look clearly to the right wall if you don't know exactly where you are.


(edited by stag019 on 07-01-05 08:29 PM)
(edited by stag019 on 07-01-05 10:39 PM)
(edited by stag019 on 07-01-05 10:39 PM)
(edited by stag019 on 07-03-05 03:06 PM)
(edited by stag019 on 07-04-05 03:44 PM)
BGNG

Snifit
Level: 22

Posts: 107/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 06-30-05 11:38 PM Link | Quote
Hey, nifty. I haven't been in there since Super Mario 64 DS. (Does anyone else think the title of that name is kinda reaching for it?) And I remember that if you went into that back door as Luigi, you get a Power Star for it... But alas, in this game, you can't descend the stairs. You float. Nifty.



EDIT:
When I loaded it, I was Mario, by the way. Was it supposed to be that way? Also, the save state works for the North American version of the ROM (U). (There's more text down there. Use the scroll bar on the right)



EDIT2:
Yeah, VL-Tone, looks like the entire "Wall Kicks Will Work" part of the stage is a movable object. Also, some of the texturing is working incorrectly, which you probably know. The stuff that's supposed to look like a grey mud puddle shows up all funky in the demo.
Someguy

Buzzy Beetle
It seems as though the girl you've fallen for is also a pyromaniac.
Level: 32

Posts: 326/397
EXP: 193329
For next: 13113

Since: 03-15-04
From: I'm proud to be an American... I think...

Since last post: 1 day
Last activity: 5 hours
Posted on 06-30-05 11:49 PM Link | Quote
Does anyone know the lengths for objects? Here's a little something I found myself near the Bob-Omb data. Note that it may differ due to the byteswapness, so I will list the original values. Just look for them nearby if the value is different. Otherwise you may crash the game setting Koopa the Quick to show up on act 105 or something.

Koopa the Quick: 405C62(02) - Act Number
Koopa the Quick: 405C62(62) - Act Number

I used that to make this image.
stag019

Snifit
Level: 23

Posts: 25/299
EXP: 62259
For next: 5464

Since: 06-10-05
From: C:\Documents and Settings\stag019\Desktop

Since last post: 9 days
Last activity: 7 hours
Posted on 06-30-05 11:50 PM Link | Quote
Yeah, it's supposed to be Mario. I haven't realeased Super Luigi 64 and willn't until it's ready. I made this so you dont get bored waiting for it. Also I put
Super Luigi 64

in my sig.


(edited by stag019 on 07-04-05 03:45 PM)
Chickenlump

Level: 41

Posts: 613/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 07-01-05 12:14 AM Link | Quote
Originally posted by Someguy
Does anyone know the lengths for objects? Here's a little something I found myself near the Bob-Omb data. Note that it may differ due to the byteswapness, so I will list the original values. Just look for them nearby if the value is different. Otherwise you may crash the game setting Koopa the Quick to show up on act 105 or something.

Koopa the Quick: 405C62(02) - Act Number
Koopa the Quick: 405C62(62) - Act Number

I used that to make this image.


Nice find.
The ROM I'm using is
Super Mario 64 (U) [!].v64
8.00 MB (8,388,608 bytes).

The address you gave is one byte off for me. I'm getting offset 405C63 (with a value of 02).
Someguy

Buzzy Beetle
It seems as though the girl you've fallen for is also a pyromaniac.
Level: 32

Posts: 327/397
EXP: 193329
For next: 13113

Since: 03-15-04
From: I'm proud to be an American... I think...

Since last post: 1 day
Last activity: 5 hours
Posted on 07-01-05 12:39 AM Link | Quote
I think I messed up on one of the two, still you can use them for the general location and proper values. Do you know how long an object is, so I could like try and find other objects in the stage without screwing with unknown values? Also, what determens what something acts like, and/or the size? Using the value Koopa the Quick has on the Bob-Omb King makes him a normal sized Koopa model.(floating with a broken neck, none the less)
VL-Tone

Red Cheep-cheep
Level: 23

Posts: 84/200
EXP: 64158
For next: 3565

Since: 06-06-04
From: In the Moon!

Since last post: 5 days
Last activity: 2 hours
Posted on 07-01-05 12:50 AM Link | Quote
From what I've seen, each object is 12 bytes long.
Chickenlump

Level: 41

Posts: 614/722
EXP: 474192
For next: 5953

Since: 03-15-04
From: Columbia City Indiana

Since last post: 3 hours
Last activity: 4 min.
Posted on 07-01-05 01:26 AM Link | Quote
Byte 1:
Byte 2:
Byte 3:
Byte 4:
Byte 5:
Byte 6: Image Modifier
Byte 7: Act # Appearance
Byte 8:
Byte 9:
Byte 10:
Byte 11:
Byte 12:

405C75 is the star point where the star appears once you collect the red coins. It's image property is 00 (nothing) but it was easy to find knowing that byte 6 is the image property.


Setting Byte 6 to the turtle and byte 7 to 1 should make filling out this list a bit easier (maybe I'll write a quick little utility to help out).
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Mario 64 - Amazing Stuff | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.068 seconds.