SM64 Memory Map
Displaying 54 out of 54 addresses.
View: moderated | waiting (9)
- Pages:
- 1
ROM Address | Length | Type | Description | Details |
---|---|---|---|---|
$90000000 | 4 bytes | Misc. | Initial PI BSD Domain 1 register settings; [80][3][7][12][40] [80] Endianess indicator PI BSD Domain 1 registers: [3] Release [7] Pages [12] Pulse width [40] Latency |
|
$90000004 | 4 bytes | Misc. | Clock rate setting; 0000000:F | |
$90000008 | 4 bytes | Misc. | Entry point; 80246000 | |
$9000000C | 4 bytes | Misc. | Release; 00001444 | |
$90000010 | 8 bytes | Misc. | ROM Checksum; 63 5A 2B FF 8B 02 23 26 | |
$90000018 | 8 bytes | Misc. | Unknown use / 0000000000000000 | |
$90000020 | 20 bytes | Misc. | ROM Name; "SUPER MARIO 64" followed by 5 spaces. | |
$90000034 | 4 bytes | Misc. | Unknown use; 00000000 | |
$90000038 | 4 bytes | Misc. | Media format; 0000004E / "N" (Cartridge) | |
$9000003C | 2 bytes | Misc. | Cartridge ID; "SM" / 534D | |
$9000003E | 1 byte | Misc. | Country code; "E" / 45 (USA) | |
$9000003F | 1 byte | Misc. | Version; 00 | |
$90000040 | 4032 bytes | Routine | Bootstrap code; from 90000040 to 90001000 | |
$90000584 | 492 bytes | Misc. | Boot and final checksum comparison routine. The final checksum comparison can be removed by NOPing the BNE instructions at 9000066C and 90000678. |
|
$90108A40 | 48400 bytes | Misc. | MIO0 File 00 (RAM segment 0x02) HUD and other common textures |
|
$90114750 | 78432 bytes | Misc. | MIO0 File 01 (RAM segment 0x04) Mario's model |
|
$90201088 | 316 bytes | Geometry Layout | Bob-omb's geo-layout | |
$90219E00 | 22208 bytes | Bank | Behavior script bank | |
$9021B278 | 52 bytes | Behaviour | Purple switch's behavior script | |
$9021CCC0 | 56 bytes | Behaviour | Mario's Behavior. It has three function calls, which are called as RAM offset: 21CCD8 08 00 00 00 - Start Loop 21CCDC 0C 00 00 00 80 2C B1 C0 - JAL $802CB1C0 21CCE4 0C 00 00 00 80 29 CA 58 - JAL $8029CA58 21CCEC 0C 00 00 00 80 2C B2 64 - JAL $802CB264 21CCF4 09 00 00 00 0x0C commands: (JAL, but quite different here. The RAM Offset is done through LB(Load Byte)) [0C] [00 00 00] [80 XX XX XX] [0]= 0C is the Command Byte. [1,2,3]= Always zero, unused? [4,5,6,7]= The offset in RAM of the ASM function. 0x0C commands do call ASM Funtions found in RAM. The functions are "looped" because of the 0x08 command and ends with 0x09 command. 0x08 starts a loop, is called every frame. And 0x09 jumps back to the beginning of the loop. You can use ASM Function "0C 00 00 00 80 2C B1 C0" to inject your own code, as this is an unused debug function in mario's behavior. For this, you calculate the ROM offset of 802CB1C0. For every RAM offset between $80246000 and $80330000 you subtract $80245000 of the RAM offset. $802CB1C0-$80245000 = $861C0 (ROM offset). In $861C0 you put in your code. (Remember to make place for the stack and push your return address to the stack, in case you call a subroutine) |
|
$9021CF74 | 56 bytes | Behaviour | Bob-omb's behavior script | |
$9021E52C | 44 bytes | Behaviour | Goomba Behaviour. 00 05 00 00<------ Loop for an amount of time, where the time is 0 and loop is infinite. 11 01 20 49 <---- Object's flag 1E 00 00 00 <---- Does nothing? 27 26 00 00 08 01 DA 4C <---- Animation Command, load textures with the 0xFD command in the display list, animate with 0x0E command in geo layout, I.e 0E 00 00 0A 80 XX XX XX, 0E <--- Command, 00 00 0A <---- Number of frames of anim. 80 XX XX XX- Ram Bank. 2D 00 00 00 <----Initiates pos. 30 00 00 00 00 28 FE 70 FF CE 03 E8 03 E8 00 00 00 00 00 00 <----- Allocates gravity 0C 00 00 00 80 2F F4 08 <---- Ram Pointer(Subtract 0x80245000 to get position) Equivalent to the JAL, command, as 0X0C is 0C 00 00 00 80 2F F4 08, JAL is JAL $802FF408 08 00 00 00 <---- Loops behavior, Commands( I.e 0x0F, 0x0C)has to be in it to get looped. 0C 00 00 00 80 2F F9 6C <---- Same as 0C 00 00 00 80 2F F4 08 09 00 00 00 <--- END loop/script. |
|
$903828C0 | 4240 bytes | Level Data | Haunted House level layout script | |
$90395C90 | 1712 bytes | Level Data | Cool Cool Mountain level layout script | |
$903CF0D0 | 7408 bytes | Level Data | Inside Castle level layout script | |
$903E6A00 | 3248 bytes | Level Data | Hazy Maze Cave level layout script | |
$903FB990 | 2336 bytes | Level Data | Shifting Sand Land level layout script | |
$90405A60 | 1360 bytes | Level Data | Bob-Omb's Battlefield level layout script | |
$9040E840 | 1328 bytes | Level Data | Snow Man's land level layout script | |
$90419F90 | 2000 bytes | Level Data | Wet Dry World level layout script | |
$90423B20 | 2992 bytes | Level Data | Jolly Roger Bay level layout script | |
$9042C6E0 | 2112 bytes | Level Data | Tiny Huge Island level layout script | |
$90437400 | 1136 bytes | Level Data | Tick Tock Clock level layout script | |
$9044A140 | 2688 bytes | Level Data | Rainbow Road level layout script | |
$904545E0 | 2080 bytes | Level Data | Castle Grounds level layout script | |
$9045BF60 | 1696 bytes | Level Data | Bowser 1 Course level layout script | |
$90461220 | 688 bytes | Level Data | Vanish Cap level layout script | |
$9046A840 | 2128 bytes | Level Data | Bowser's Fire Sea level layout script | |
$9046C1A0 | 512 bytes | Level Data | Secret Aquarium level layout script | |
$90477D00 | 1952 bytes | Level Data | Bowser 3 Course level layout script | |
$9048C9B0 | 3968 bytes | Level Data | Lethal Lava Land level layout script | |
$90495A60 | 1584 bytes | Level Data | Dire Dire Docks level layout script | |
$9049DA50 | 3264 bytes | Level Data | Whomp's Fortress level layout script | |
$904AC4B0 | 192 bytes | Level Data | Thank You cake picture at the end level layout script | |
$904AF670 | 704 bytes | Level Data | Castle Courtyard level layout script | |
$904B7F10 | 448 bytes | Level Data | Peach's Secret Slide level layout script | |
$904BE9E0 | 592 bytes | Level Data | Metal Cap level layout script | |
$904C2700 | 544 bytes | Level Data | Wing Cap level layout script | |
$904C41C0 | 352 bytes | Level Data | Bowser 1 Battle Platform level layout script | |
$904CD930 | 672 bytes | Level Data | Rainbow Clouds Bonus level layout script | |
$904CE9F0 | 528 bytes | Level Data | Bowser 2 Battle Platform level layout script | |
$904D14F0 | 1056 bytes | Level Data | Bowser 3 Battle Platform level layout script | |
$904EB1F0 | 3600 bytes | Level Data | Tall Tall Mountain level layout script | |
$907CC6C0 | 211264 bytes | Misc. | 'FF' Padding | |
- Pages:
- 1