Libultra Boot Parameters
Jump to navigation
Jump to search
Parameters set by the SA before booting a game. BB's modified libultra uses these values at runtime.
Used by both N64 and BB
Address | Size | Description | Note |
---|---|---|---|
0x800001a0 | 4 | leoBootID | |
0x80000300 | 4 | osTvType | 0: NTSC, 1: PAL, 2: MPAL |
0x80000304 | 4 | osRomType | Determines if cartridge boot, or 64DD boot |
0x80000308 | 4 | osRomBase | Base uncached address of cartridge (PI) region |
0x8000030c | 4 | osResetType | Whether the system was cold-booted (0) or warm-resetted NMI (1). On iQue, this may be fixed one way or the another because all games are soft-booted. |
0x80000310 | 4 | osCicId | Contains result of PIF<>CIC interaction. Value on iQue is not yet known. Rareware games like to check this value. |
0x80000314 | 4 | osVersion | Some version info created in N64 boot process. Unknown on iQue. |
0x80000318 | 4 | osMemSize | Contains number of bytes of physical memory installed. Games that check for expansion pak look at this value. |
0x8000031c | 64 | osAppNMIBuffer | Buffer where application can put persistent information that is guaranteed not to be disturbed by a warm reset. Unknown behavior on iQue. |
Used only by BB
Address | Size | Description | Note |
---|---|---|---|
0x8000035c | 4 | __osBbEepromAddress | |
0x80000360 | 4 | __osBbEepromSize | |
0x80000364 | 4 | __osBbFlashAddress | |
0x80000368 | 4 | __osBbFlashSize | |
0x8000036c | 4 | __osBbSramAddress | |
0x80000370 | 4 | __osBbSramSize | |
0x80000374 | 16 | __osBbPakAddress | Array of 4 u32 pointers |
0x80000384 | 4 | __osBbPakSize | |
0x80000388 | 4 | __osBbIsBb | Can be used to determine if running on vanilla N64, or BB. 0: if (*0xa430003c & 0x140)!=0 |
0x8000038c | 4 | __osBbHackFlags | |
0x80000390 | 4 | __osBbStashMagic | |
0x80000394 | 16 | __osBbPakBindings | Array of 4 u32 pointers |
0x800003a4 | 4 | __osBbStateName | |
0x800003b4 | 4 | __osBbStateDirty | |
0x800003b8 | 4 | __osBbAuxDataLimit |