Difference between revisions of "Libultra Boot Parameters"

From iQueBrew
Jump to navigation Jump to search
m
Line 19: Line 19:
 
| 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.
 
| 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.
+
| 0x80000310|| 4 || osCicId || Contains result of PIF<>CIC interaction. Value on iQue is not yet known. Rareware games like to check this value. Depending on the CIC it may have the decimal number of CIC used, such as 0x17D9 (6105)
 
|-
 
|-
 
| 0x80000314|| 4 || osVersion || Some version info created in N64 boot process. Unknown on iQue.
 
| 0x80000314|| 4 || osVersion || Some version info created in N64 boot process. Unknown on iQue.

Revision as of 15:35, 6 May 2018

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. Depending on the CIC it may have the decimal number of CIC used, such as 0x17D9 (6105)
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
1: if (*0xa430003c & 0x140)==0
2: if ((*0xa430003c & 0x140)==0) && ((*0xa4600060) & 0xc0000000)!=0

0x8000038c 4 __osBbHackFlags
0x80000390 4 __osBbStashMagic
0x80000394 16 __osBbPakBindings Array of 4 u32 pointers
0x800003a4 4 __osBbStateName
0x800003b4 4 __osBbStateDirty
0x800003b8 4 __osBbAuxDataLimit