NOTE: You may need to refer to VL-Tone's hacking documents to see what commands I talk about and possibly the rom bank document.
Alright, so basically I've been looking through my hex editor refering to the VL-Tone documents about how the geometry/polygons are loaded and etc. Im trying to find the RSP commands for specific levels so I can attempt to make my own level editor (I realize I dont need to, I have Toads Tool, but Im doing this just to understand how the game works a bit better).
Anyway I started with Bom-Omb's Battlefield and I searched for the command that loads polygon commands. I noted the various addresses that I had found and after swapping values around and running Mario 64 I determined these load the polygons of the level (obviously since thats what the hacking document says).
Found at 00405F48 / 4218696
---------------------------
15 01 00 00 07 004390 (offset: 17296, goto: 1459824 )
009D80
00A470
00A920
00DD18
00E338
For a while I messed around with trying to find what the address is of what this is pointing to. Then I found the ROM Banks document so 07 on the ROM Banks document was :
007 = 01442528 - 01443440 << Geo/Scr
Knowing this, I jumped to that address to find it executes commands '0D' and '02'.
0D 80 29 80
23 80 0F 80
02 C1 7F 15
7E 0F 7C C3
Now what '0D' does is currently unknown/undocumented. But '02' jumps to an address in the segment. Knowing this I converted 7E to 126 (Hooray MS Calculator) and looked up the ROM Bank document again.
126 = 17979563 - 18014833 << Poly/Tex
So now I convert 0F 7C C3 to 1014979.
So I assumed that by adding 17979563 + 1014979 together the address and offset I would come across more commands if I jumped to that address.
But I did not, just a heap of bytes of 01.
So where did I go wrong? |