Decompile osCreateScheduler

This commit is contained in:
Ryan Dwyer
2021-01-25 12:09:20 +10:00
parent 3812eccb9e
commit 59eb1d4411
14 changed files with 1626 additions and 1050 deletions
+45 -132
View File
@@ -1295,7 +1295,7 @@ glabel func000019f4
/* 1a34: 24a5d900 */ addiu $a1,$a1,%lo(var8008d900)
/* 1a38: 2484dbd0 */ addiu $a0,$a0,%lo(var8008dbd0)
/* 1a3c: 2406001e */ addiu $a2,$zero,0x1e
/* 1a40: 0c000713 */ jal func00001c4c
/* 1a40: 0c000713 */ jal osCreateScheduler
/* 1a44: 24070001 */ addiu $a3,$zero,0x1
/* 1a48: 10000006 */ b .L00001a64
/* 1a4c: 00000000 */ nop
@@ -1303,7 +1303,7 @@ glabel func000019f4
/* 1a50: 3c058009 */ lui $a1,%hi(var8008d900)
/* 1a54: 24a5d900 */ addiu $a1,$a1,%lo(var8008d900)
/* 1a58: 24060002 */ addiu $a2,$zero,0x2
/* 1a5c: 0c000713 */ jal func00001c4c
/* 1a5c: 0c000713 */ jal osCreateScheduler
/* 1a60: 24070001 */ addiu $a3,$zero,0x1
.L00001a64:
/* 1a64: 3c048009 */ lui $a0,%hi(var8008dbd0)
@@ -1490,137 +1490,50 @@ void func00001b98(u32 value)
}
}
void func00001c28(void)
void osCreateLog(void)
{
var8005ce70 = osGetCount();
}
GLOBAL_ASM(
glabel func00001c4c
/* 1c4c: 27bdffd8 */ addiu $sp,$sp,-40
/* 1c50: afbf0024 */ sw $ra,0x24($sp)
/* 1c54: afb0001c */ sw $s0,0x1c($sp)
/* 1c58: afb10020 */ sw $s1,0x20($sp)
/* 1c5c: afa60030 */ sw $a2,0x30($sp)
/* 1c60: afa70034 */ sw $a3,0x34($sp)
/* 1c64: 240e0001 */ addiu $t6,$zero,0x1
/* 1c68: 240f0005 */ addiu $t7,$zero,0x5
/* 1c6c: 00808025 */ or $s0,$a0,$zero
/* 1c70: ac8000c8 */ sw $zero,0xc8($a0)
/* 1c74: ac8000cc */ sw $zero,0xcc($a0)
/* 1c78: ac8000b4 */ sw $zero,0xb4($a0)
/* 1c7c: ac8000d0 */ sw $zero,0xd0($a0)
/* 1c80: ac8000b8 */ sw $zero,0xb8($a0)
/* 1c84: ac8000bc */ sw $zero,0xbc($a0)
/* 1c88: ac8000c0 */ sw $zero,0xc0($a0)
/* 1c8c: ac8000c4 */ sw $zero,0xc4($a0)
/* 1c90: a48e0000 */ sh $t6,0x0($a0)
/* 1c94: a48f0020 */ sh $t7,0x20($a0)
/* 1c98: 0c000bdc */ jal resetThreadCreate
/* 1c9c: ac8500b0 */ sw $a1,0xb0($a0)
/* 1ca0: 26110040 */ addiu $s1,$s0,0x40
/* 1ca4: 02202025 */ or $a0,$s1,$zero
/* 1ca8: 26050058 */ addiu $a1,$s0,0x58
/* 1cac: 0c0120d0 */ jal osCreateMesgQueue
/* 1cb0: 24060008 */ addiu $a2,$zero,0x8
/* 1cb4: 26040078 */ addiu $a0,$s0,0x78
/* 1cb8: 26050090 */ addiu $a1,$s0,0x90
/* 1cbc: 0c0120d0 */ jal osCreateMesgQueue
/* 1cc0: 24060008 */ addiu $a2,$zero,0x8
/* 1cc4: 0c000c14 */ jal osCreateViManager
/* 1cc8: 240400fe */ addiu $a0,$zero,0xfe
/* 1ccc: 93b80033 */ lbu $t8,0x33($sp)
/* 1cd0: 3c098006 */ lui $t1,%hi(var8005f710)
/* 1cd4: 2529f710 */ addiu $t1,$t1,%lo(var8005f710)
/* 1cd8: 0018c880 */ sll $t9,$t8,0x2
/* 1cdc: 0338c821 */ addu $t9,$t9,$t8
/* 1ce0: 0019c900 */ sll $t9,$t9,0x4
/* 1ce4: 03291021 */ addu $v0,$t9,$t1
/* 1ce8: 8c4a001c */ lw $t2,0x1c($v0)
/* 1cec: 3c018009 */ lui $at,%hi(var8008de08)
/* 1cf0: 3c038009 */ lui $v1,%hi(var8008dd60)
/* 1cf4: ac2ade08 */ sw $t2,%lo(var8008de08)($at)
/* 1cf8: 8c4b0030 */ lw $t3,0x30($v0)
/* 1cfc: 3c018009 */ lui $at,%hi(var8008de0c)
/* 1d00: 3c078009 */ lui $a3,%hi(var8008dd68)
/* 1d04: ac2bde0c */ sw $t3,%lo(var8008de0c)($at)
/* 1d08: 8c4c0044 */ lw $t4,0x44($v0)
/* 1d0c: 3c018009 */ lui $at,%hi(var8008de10)
/* 1d10: 24e7dd68 */ addiu $a3,$a3,%lo(var8008dd68)
/* 1d14: 2463dd60 */ addiu $v1,$v1,%lo(var8008dd60)
/* 1d18: 3c088009 */ lui $t0,%hi(var8008ddb8)
/* 1d1c: ac2cde10 */ sw $t4,%lo(var8008de10)($at)
/* 1d20: 2508ddb8 */ addiu $t0,$t0,%lo(var8008ddb8)
/* 1d24: ac670000 */ sw $a3,0x0($v1)
/* 1d28: ac680004 */ sw $t0,0x4($v1)
/* 1d2c: 00e0c025 */ or $t8,$a3,$zero
/* 1d30: 00407825 */ or $t7,$v0,$zero
/* 1d34: 244e0048 */ addiu $t6,$v0,0x48
.L00001d38:
/* 1d38: 8de10000 */ lw $at,0x0($t7)
/* 1d3c: 25ef000c */ addiu $t7,$t7,0xc
/* 1d40: 2718000c */ addiu $t8,$t8,0xc
/* 1d44: af01fff4 */ sw $at,-0xc($t8)
/* 1d48: 8de1fff8 */ lw $at,-0x8($t7)
/* 1d4c: af01fff8 */ sw $at,-0x8($t8)
/* 1d50: 8de1fffc */ lw $at,-0x4($t7)
/* 1d54: 15eefff8 */ bne $t7,$t6,.L00001d38
/* 1d58: af01fffc */ sw $at,-0x4($t8)
/* 1d5c: 8de10000 */ lw $at,0x0($t7)
/* 1d60: 00405025 */ or $t2,$v0,$zero
/* 1d64: 01005825 */ or $t3,$t0,$zero
/* 1d68: af010000 */ sw $at,0x0($t8)
/* 1d6c: 8dee0004 */ lw $t6,0x4($t7)
/* 1d70: 24490048 */ addiu $t1,$v0,0x48
/* 1d74: af0e0004 */ sw $t6,0x4($t8)
.L00001d78:
/* 1d78: 8d410000 */ lw $at,0x0($t2)
/* 1d7c: 254a000c */ addiu $t2,$t2,0xc
/* 1d80: 256b000c */ addiu $t3,$t3,0xc
/* 1d84: ad61fff4 */ sw $at,-0xc($t3)
/* 1d88: 8d41fff8 */ lw $at,-0x8($t2)
/* 1d8c: ad61fff8 */ sw $at,-0x8($t3)
/* 1d90: 8d41fffc */ lw $at,-0x4($t2)
/* 1d94: 1549fff8 */ bne $t2,$t1,.L00001d78
/* 1d98: ad61fffc */ sw $at,-0x4($t3)
/* 1d9c: 8d410000 */ lw $at,0x0($t2)
/* 1da0: 24040004 */ addiu $a0,$zero,0x4
/* 1da4: 02202825 */ or $a1,$s1,$zero
/* 1da8: ad610000 */ sw $at,0x0($t3)
/* 1dac: 8d490004 */ lw $t1,0x4($t2)
/* 1db0: 2406029b */ addiu $a2,$zero,0x29b
/* 1db4: 0c012148 */ jal osSetEventMesg
/* 1db8: ad690004 */ sw $t1,0x4($t3)
/* 1dbc: 24040009 */ addiu $a0,$zero,0x9
/* 1dc0: 02202825 */ or $a1,$s1,$zero
/* 1dc4: 0c012148 */ jal osSetEventMesg
/* 1dc8: 2406029c */ addiu $a2,$zero,0x29c
/* 1dcc: 02202025 */ or $a0,$s1,$zero
/* 1dd0: 2405029a */ addiu $a1,$zero,0x29a
/* 1dd4: 0c012178 */ jal func000485e0
/* 1dd8: 8fa60034 */ lw $a2,0x34($sp)
/* 1ddc: 0c00070a */ jal func00001c28
/* 1de0: 00000000 */ nop
/* 1de4: 24040002 */ addiu $a0,$zero,0x2
/* 1de8: 0c00062b */ jal allocateStack
/* 1dec: 24050400 */ addiu $a1,$zero,0x400
/* 1df0: 8e0400b0 */ lw $a0,0xb0($s0)
/* 1df4: 3c067000 */ lui $a2,%hi(func00001e94)
/* 1df8: 240c001e */ addiu $t4,$zero,0x1e
/* 1dfc: afac0014 */ sw $t4,0x14($sp)
/* 1e00: 24c61e94 */ addiu $a2,$a2,%lo(func00001e94)
/* 1e04: afa20010 */ sw $v0,0x10($sp)
/* 1e08: 24050002 */ addiu $a1,$zero,0x2
/* 1e0c: 0c000fb8 */ jal osCreateThread
/* 1e10: 02003825 */ or $a3,$s0,$zero
/* 1e14: 0c01207c */ jal osStartThread
/* 1e18: 8e0400b0 */ lw $a0,0xb0($s0)
/* 1e1c: 8fbf0024 */ lw $ra,0x24($sp)
/* 1e20: 8fb0001c */ lw $s0,0x1c($sp)
/* 1e24: 8fb10020 */ lw $s1,0x20($sp)
/* 1e28: 03e00008 */ jr $ra
/* 1e2c: 27bd0028 */ addiu $sp,$sp,0x28
);
void osCreateScheduler(OSSched *sc, void *stack, u8 mode, u32 numFields)
{
sc->curRSPTask = 0;
sc->curRDPTask = 0;
sc->clientList = 0;
sc->frameCount = 0;
sc->audioListHead = 0;
sc->gfxListHead = 0;
sc->audioListTail = 0;
sc->gfxListTail = 0;
sc->retraceMsg.type = OS_SC_RETRACE_MSG;
sc->prenmiMsg.type = 5; // OS_SC_PRE_NMI_MSG
sc->thread = stack;
resetThreadCreate();
osCreateMesgQueue(&sc->interruptQ, sc->intBuf, OS_SC_MAX_MESGS);
osCreateMesgQueue(&sc->cmdQ, sc->cmdMsgBuf, OS_SC_MAX_MESGS);
osCreateViManager(OS_PRIORITY_VIMGR);
var8008de08 = osViModeTable[mode].comRegs.hStart;
var8008de0c = osViModeTable[mode].fldRegs[0].vStart;
var8008de10 = osViModeTable[mode].fldRegs[1].vStart;
var8008dd60[0] = &var8008dd68;
var8008dd60[1] = &var8008ddb8;
var8008dd68 = osViModeTable[mode];
var8008ddb8 = osViModeTable[mode];
osSetEventMesg(OS_EVENT_SP, &sc->interruptQ, (OSMesg)RSP_DONE_MSG);
osSetEventMesg(OS_EVENT_DP, &sc->interruptQ, (OSMesg)RDP_DONE_MSG);
osViSetEvent(&sc->interruptQ, (OSMesg)VIDEO_MSG, numFields);
osCreateLog();
osCreateThread(sc->thread, THREAD_SCHED, &__scMain, sc, allocateStack(THREAD_SCHED, 0x400), 30);
osStartThread(sc->thread);
}
GLOBAL_ASM(
glabel func00001e30
@@ -1700,7 +1613,7 @@ glabel func00001e8c
);
GLOBAL_ASM(
glabel func00001e94
glabel __scMain
/* 1e94: 27bdffb0 */ addiu $sp,$sp,-80
/* 1e98: afbf0034 */ sw $ra,0x34($sp)
/* 1e9c: afb70030 */ sw $s7,0x30($sp)
@@ -2357,12 +2270,12 @@ glabel func00002768
/* 2920: adcc0004 */ sw $t4,0x4($t6)
/* 2924: 3c0d8006 */ lui $t5,%hi(var8005ce74)
/* 2928: 8dadce74 */ lw $t5,%lo(var8005ce74)($t5)
/* 292c: 3c048009 */ lui $a0,%hi(var8008dd64)
/* 292c: 3c048009 */ lui $a0,%hi(var8008dd60+0x4)
/* 2930: 000dc080 */ sll $t8,$t5,0x2
/* 2934: 00187823 */ negu $t7,$t8
/* 2938: 008f2021 */ addu $a0,$a0,$t7
/* 293c: 0c012354 */ jal func00048d50
/* 2940: 8c84dd64 */ lw $a0,%lo(var8008dd64)($a0)
/* 2940: 8c84dd64 */ lw $a0,%lo(var8008dd60+0x4)($a0)
/* 2944: 3c048006 */ lui $a0,%hi(var8005ce90+0x3)
/* 2948: 0c012338 */ jal func00048ce0
/* 294c: 9084ce93 */ lbu $a0,%lo(var8005ce90+0x3)($a0)
+6 -6
View File
@@ -30,12 +30,12 @@ glabel resetproc
/* 2e54: 24010002 */ addiu $at,$zero,0x2
/* 2e58: 24020400 */ addiu $v0,$zero,0x400
/* 2e5c: 15e10004 */ bne $t7,$at,.L00002e70
/* 2e60: 3c048006 */ lui $a0,%hi(var8005f7b0)
/* 2e64: 3c048006 */ lui $a0,%hi(var80060070)
/* 2e60: 3c048006 */ lui $a0,%hi(osViModeTable+0xa0)
/* 2e64: 3c048006 */ lui $a0,%hi(osViModeTable+0x960)
/* 2e68: 10000002 */ b .L00002e74
/* 2e6c: 24840070 */ addiu $a0,$a0,%lo(var80060070)
/* 2e6c: 24840070 */ addiu $a0,$a0,%lo(osViModeTable+0x960)
.L00002e70:
/* 2e70: 2484f7b0 */ addiu $a0,$a0,%lo(var8005f7b0)
/* 2e70: 2484f7b0 */ addiu $a0,$a0,%lo(osViModeTable+0xa0)
.L00002e74:
/* 2e74: ac82002c */ sw $v0,0x2c($a0)
/* 2e78: 0c012354 */ jal func00048d50
@@ -87,9 +87,9 @@ glabel resetproc
/* 2f2c: 1420ffed */ bnez $at,.L00002ee4
/* 2f30: 00000000 */ nop
.L00002f34:
/* 2f34: 3c048006 */ lui $a0,%hi(var8005f7b0)
/* 2f34: 3c048006 */ lui $a0,%hi(osViModeTable+0xa0)
/* 2f38: 0c005467 */ jal func0001519c
/* 2f3c: 2484f7b0 */ addiu $a0,$a0,%lo(var8005f7b0)
/* 2f3c: 2484f7b0 */ addiu $a0,$a0,%lo(osViModeTable+0xa0)
.L00002f40:
/* 2f40: 1000ffff */ b .L00002f40
/* 2f44: 00000000 */ nop
+3 -3
View File
@@ -3104,7 +3104,7 @@ glabel var7f1a8d44
.L0f031fd0:
/* f031fd0: 271852b8 */ addiu $t8,$t8,%lo(var800652b8)
/* f031fd4: 145801c9 */ bne $v0,$t8,.L0f0326fc
/* f031fd8: 3c198006 */ lui $t9,%hi(var80060000)
/* f031fd8: 3c198006 */ lui $t9,%hi(var800652b8+0x4)
/* f031fdc: 0c00744f */ jal modelGetAnimNum
/* f031fe0: 8e040020 */ lw $a0,0x20($s0)
/* f031fe4: 24010269 */ addiu $at,$zero,0x269
@@ -3411,7 +3411,7 @@ glabel var7f1a8d44
/* f032458: 8fb90040 */ lw $t9,0x40($sp)
/* f03245c: 8fa60034 */ lw $a2,0x34($sp)
/* f032460: 8fa90038 */ lw $t1,0x38($sp)
/* f032464: 8f380000 */ lw $t8,%lo(var80060000)($t9)
/* f032464: 8f380000 */ lw $t8,0x0($t9)
/* f032468: 9204032f */ lbu $a0,0x32f($s0)
/* f03246c: 03061821 */ addu $v1,$t8,$a2
/* f032470: 8c6d000c */ lw $t5,0xc($v1)
@@ -3593,7 +3593,7 @@ glabel var7f1a8d44
/* f0326f4: 100000ae */ b .L0f0329b0
/* f0326f8: 8fa20040 */ lw $v0,0x40($sp)
.L0f0326fc:
/* f0326fc: 273952bc */ addiu $t9,$t9,0x52bc
/* f0326fc: 273952bc */ addiu $t9,$t9,%lo(var800652b8+0x4)
/* f032700: 145900ab */ bne $v0,$t9,.L0f0329b0
/* f032704: 3c017f1b */ lui $at,%hi(var7f1a8d40)
/* f032708: c42a8d40 */ lwc1 $f10,%lo(var7f1a8d40)($at)
+1465 -840
View File
File diff suppressed because it is too large Load Diff
+3 -42
View File
@@ -2700,48 +2700,9 @@ u32 var8008dd50 = 0;
u32 var8008dd54 = 0;
u32 var8008dd58 = 0;
u32 var8008dd5c = 0;
u32 var8008dd60 = 0;
u32 var8008dd64 = 0;
u32 var8008dd68 = 0;
u32 var8008dd6c = 0;
u32 var8008dd70 = 0;
u32 var8008dd74 = 0;
u32 var8008dd78 = 0;
u32 var8008dd7c = 0;
u32 var8008dd80 = 0;
u32 var8008dd84 = 0;
u32 var8008dd88 = 0;
u32 var8008dd8c = 0;
u32 var8008dd90 = 0;
u32 var8008dd94 = 0;
u32 var8008dd98 = 0;
u32 var8008dd9c = 0;
u32 var8008dda0 = 0;
u32 var8008dda4 = 0;
u32 var8008dda8 = 0;
u32 var8008ddac = 0;
u32 var8008ddb0 = 0;
u32 var8008ddb4 = 0;
u32 var8008ddb8 = 0;
u32 var8008ddbc = 0;
u32 var8008ddc0 = 0;
u32 var8008ddc4 = 0;
u32 var8008ddc8 = 0;
u32 var8008ddcc = 0;
u32 var8008ddd0 = 0;
u32 var8008ddd4 = 0;
u32 var8008ddd8 = 0;
u32 var8008dddc = 0;
u32 var8008dde0 = 0;
u32 var8008dde4 = 0;
u32 var8008dde8 = 0;
u32 var8008ddec = 0;
u32 var8008ddf0 = 0;
u32 var8008ddf4 = 0;
u32 var8008ddf8 = 0;
u32 var8008ddfc = 0;
u32 var8008de00 = 0;
u32 var8008de04 = 0;
OSViMode *var8008dd60[2] = {NULL, NULL};
OSViMode var8008dd68 = {0};
OSViMode var8008ddb8 = {0};
u32 var8008de08 = 0;
u32 var8008de0c = 0;
u32 var8008de10 = 0;
+69
View File
@@ -4,6 +4,54 @@
/* Ultra64 Video Interface */
/*
* Video Interface (VI) mode type
*/
#define OS_VI_NTSC_LPN1 0 /* NTSC */
#define OS_VI_NTSC_LPF1 1
#define OS_VI_NTSC_LAN1 2
#define OS_VI_NTSC_LAF1 3
#define OS_VI_NTSC_LPN2 4
#define OS_VI_NTSC_LPF2 5
#define OS_VI_NTSC_LAN2 6
#define OS_VI_NTSC_LAF2 7
#define OS_VI_NTSC_HPN1 8
#define OS_VI_NTSC_HPF1 9
#define OS_VI_NTSC_HAN1 10
#define OS_VI_NTSC_HAF1 11
#define OS_VI_NTSC_HPN2 12
#define OS_VI_NTSC_HPF2 13
#define OS_VI_PAL_LPN1 14 /* PAL */
#define OS_VI_PAL_LPF1 15
#define OS_VI_PAL_LAN1 16
#define OS_VI_PAL_LAF1 17
#define OS_VI_PAL_LPN2 18
#define OS_VI_PAL_LPF2 19
#define OS_VI_PAL_LAN2 20
#define OS_VI_PAL_LAF2 21
#define OS_VI_PAL_HPN1 22
#define OS_VI_PAL_HPF1 23
#define OS_VI_PAL_HAN1 24
#define OS_VI_PAL_HAF1 25
#define OS_VI_PAL_HPN2 26
#define OS_VI_PAL_HPF2 27
#define OS_VI_MPAL_LPN1 28 /* MPAL - mainly Brazil */
#define OS_VI_MPAL_LPF1 29
#define OS_VI_MPAL_LAN1 30
#define OS_VI_MPAL_LAF1 31
#define OS_VI_MPAL_LPN2 32
#define OS_VI_MPAL_LPF2 33
#define OS_VI_MPAL_LAN2 34
#define OS_VI_MPAL_LAF2 35
#define OS_VI_MPAL_HPN1 36
#define OS_VI_MPAL_HPF1 37
#define OS_VI_MPAL_HAN1 38
#define OS_VI_MPAL_HAF1 39
#define OS_VI_MPAL_HPN2 40
#define OS_VI_MPAL_HPF2 41
/* Special Features */
#define OS_VI_GAMMA_ON 0x0001
#define OS_VI_GAMMA_OFF 0x0002
@@ -21,6 +69,27 @@
#define OS_VI_UNK200 0x200
#define OS_VI_UNK100 0x100
#define VI_CTRL_ANTIALIAS_MODE_3 0x00300 /* Bit [9:8] anti-alias mode */
#define VI_CTRL_ANTIALIAS_MODE_2 0x00200 /* Bit [9:8] anti-alias mode */
#define VI_CTRL_ANTIALIAS_MODE_1 0x00100 /* Bit [9:8] anti-alias mode */
#define BURST(hsync_width, color_width, vsync_width, color_start) \
(hsync_width | (color_width << 8) | (vsync_width << 16) | (color_start << 20))
#define WIDTH(v) v
#define VSYNC(v) v
#define HSYNC(duration, leap) (duration | (leap << 16))
#define LEAP(upper, lower) ((upper << 16) | lower)
#define START(start, end) ((start << 16) | end)
#define FTOFIX(val, i, f) ((u32)(val * (f32)(1 << f)) & ((1 << (i + f)) - 1))
#define F210(val) FTOFIX(val, 2, 10)
#define SCALE(scaleup, off) (F210((1.0f / (f32)scaleup)) | (F210((f32)off) << 16))
#define VCURRENT(v) v //seemingly unused
#define ORIGIN(v) v
#define VINTR(v) v
#define HSTART START
/* Types */
+9 -2
View File
@@ -47,6 +47,14 @@ typedef struct OSScTask_s {
#define OS_SC_YIELD 0x0010 /* set if yield requested */
#define OS_SC_YIELDED 0x0020 /* set if yield completed */
/*
* private typedefs and defines
*/
#define VIDEO_MSG 666
#define RSP_DONE_MSG 667
#define RDP_DONE_MSG 668
#define PRE_NMI_MSG 669
/*
* OSScClient:
*
@@ -78,8 +86,7 @@ typedef struct {
s32 doAudio;
} OSSched;
void osCreateScheduler(OSSched *s, void *stack, OSPri priority,
u8 mode, u8 numFields);
void osCreateScheduler(OSSched *s, void *stack, u8 mode, u32 numFields);
void osScAddClient(OSSched *s, OSScClient *c, OSMesgQueue *msgQ);
void osScRemoveClient(OSSched *s, OSScClient *c);
OSMesgQueue *osScGetCmdQ(OSSched *s);
+1
View File
@@ -16,6 +16,7 @@ s32 func000022e0(void);
void __scHandleRetrace(OSSched *sc);
void __scAppendList(OSSched *sc, OSScTask *t);
void __scExec(OSSched *sc, OSScTask *sp, OSScTask *dp);
void __scMain(void *arg);
struct bootbufferthing *func0000244c(void);
void func000024e8(void);
void func00002510(void);
+1
View File
@@ -3147,6 +3147,7 @@
#define TELEPORTSTATE_EXITING 4
#define THREAD_IDLE 1
#define THREAD_SCHED 2
#define THREAD_AUDIO 4
#define THREAD_FAULT 5
#define THREAD_RESET 6
+1 -1
View File
@@ -162,7 +162,7 @@ extern u32 var8005f108;
extern u32 var8005f548;
extern u32 var8005f6f8;
extern u32 var8005f6fc;
extern u32 var8005f710;
extern OSViMode osViModeTable[42];
extern u32 var8005f7b0;
extern u32 var8005f8f0;
extern u32 var8005fa80;
+5 -4
View File
@@ -334,11 +334,12 @@ extern u32 var8008dbd0;
extern u32 var8008dca8;
extern u32 g_OsMemSize;
extern u32 var8008dcc0;
extern u32 var8008dd60;
extern u32 var8008dd64;
extern u32 var8008dd68;
extern u32 var8008ddb8;
extern OSViMode *var8008dd60[2];
extern OSViMode var8008dd68;
extern OSViMode var8008ddb8;
extern u32 var8008de08;
extern u32 var8008de0c;
extern u32 var8008de10;
extern u32 var8008de18;
extern u32 var8008fa68;
extern OSMesg g_ResetMesg;
-2
View File
@@ -3,6 +3,4 @@
#include <ultra64.h>
#include "types.h"
u32 func000485e0(void);
#endif
+17 -17
View File
@@ -708,10 +708,10 @@ glabel func00009ed4
/* 9f44: 8fa50018 */ lw $a1,0x18($sp)
/* 9f48: 8cf90000 */ lw $t9,0x0($a3)
/* 9f4c: 000d4c03 */ sra $t1,$t5,0x10
/* 9f50: 3c068009 */ lui $a2,%hi(var8008dd64)
/* 9f50: 3c068009 */ lui $a2,%hi(var8008dd60+0x4)
/* 9f54: 01255821 */ addu $t3,$t1,$a1
/* 9f58: 00194080 */ sll $t0,$t9,0x2
/* 9f5c: 24c6dd64 */ addiu $a2,$a2,%lo(var8008dd64)
/* 9f5c: 24c6dd64 */ addiu $a2,$a2,%lo(var8008dd60+0x4)
/* 9f60: 00084823 */ negu $t1,$t0
/* 9f64: 00c95021 */ addu $t2,$a2,$t1
/* 9f68: 000b6400 */ sll $t4,$t3,0x10
@@ -738,12 +738,12 @@ glabel func00009ed4
/* 9fbc: adf80044 */ sw $t8,0x44($t7)
/* 9fc0: 3c088006 */ lui $t0,%hi(var8005ce74)
/* 9fc4: 8d08ce74 */ lw $t0,%lo(var8005ce74)($t0)
/* 9fc8: 3c048009 */ lui $a0,%hi(var8008dd64)
/* 9fc8: 3c048009 */ lui $a0,%hi(var8008dd60+0x4)
/* 9fcc: 00084880 */ sll $t1,$t0,0x2
/* 9fd0: 0009c823 */ negu $t9,$t1
/* 9fd4: 00992021 */ addu $a0,$a0,$t9
/* 9fd8: 0c012354 */ jal func00048d50
/* 9fdc: 8c84dd64 */ lw $a0,%lo(var8008dd64)($a0)
/* 9fdc: 8c84dd64 */ lw $a0,%lo(var8008dd60+0x4)($a0)
/* 9fe0: 3c048006 */ lui $a0,%hi(var8005ce90+0x3)
/* 9fe4: 0c012338 */ jal func00048ce0
/* 9fe8: 9084ce93 */ lbu $a0,%lo(var8005ce90+0x3)($a0)
@@ -846,16 +846,16 @@ glabel func0000a044
/* a14c: 3c198009 */ lui $t9,%hi(var8008dcc0)
/* a150: 2739dcc0 */ addiu $t9,$t9,%lo(var8008dcc0)
/* a154: 14980019 */ bne $a0,$t8,.L0000a1bc
/* a158: 3c0f8006 */ lui $t7,%hi(var80060048)
/* a158: 3c0f8006 */ lui $t7,%hi(osViModeTable+0xa0)
/* a15c: 000bc880 */ sll $t9,$t3,0x2
/* a160: 032bc821 */ addu $t9,$t9,$t3
/* a164: 3c0e8009 */ lui $t6,%hi(var8008dcc0)
/* a168: 25cedcc0 */ addiu $t6,$t6,%lo(var8008dcc0)
/* a16c: 0019c900 */ sll $t9,$t9,0x4
/* a170: 032e2021 */ addu $a0,$t9,$t6
/* a174: 3c0f8006 */ lui $t7,%hi(var80060070)
/* a178: 25ef0070 */ addiu $t7,$t7,%lo(var80060070)
/* a17c: 25f90048 */ addiu $t9,$t7,%lo(var80060048)
/* a174: 3c0f8006 */ lui $t7,%hi(osViModeTable+0x960)
/* a178: 25ef0070 */ addiu $t7,$t7,%lo(osViModeTable+0x960)
/* a17c: 25f90048 */ addiu $t9,$t7,0x48
/* a180: 00807025 */ or $t6,$a0,$zero
.L0000a184:
/* a184: 8de10000 */ lw $at,0x0($t7)
@@ -877,7 +877,7 @@ glabel func0000a044
/* a1c0: 030bc021 */ addu $t8,$t8,$t3
/* a1c4: 0018c100 */ sll $t8,$t8,0x4
/* a1c8: 03192021 */ addu $a0,$t8,$t9
/* a1cc: 25eff7b0 */ addiu $t7,$t7,-2128
/* a1cc: 25eff7b0 */ addiu $t7,$t7,%lo(osViModeTable+0xa0)
/* a1d0: 25f80048 */ addiu $t8,$t7,0x48
/* a1d4: 0080c825 */ or $t9,$a0,$zero
.L0000a1d8:
@@ -905,8 +905,8 @@ glabel func0000a044
/* a228: 25efdcc0 */ addiu $t7,$t7,%lo(var8008dcc0)
/* a22c: 0018c100 */ sll $t8,$t8,0x4
/* a230: 030f2021 */ addu $a0,$t8,$t7
/* a234: 3c198006 */ lui $t9,%hi(var800601b0)
/* a238: 273901b0 */ addiu $t9,$t9,%lo(var800601b0)
/* a234: 3c198006 */ lui $t9,%hi(osViModeTable+0xaa0)
/* a238: 273901b0 */ addiu $t9,$t9,%lo(osViModeTable+0xaa0)
/* a23c: 27380048 */ addiu $t8,$t9,0x48
/* a240: 00807825 */ or $t7,$a0,$zero
.L0000a244:
@@ -931,8 +931,8 @@ glabel func0000a044
/* a288: 2718dcc0 */ addiu $t8,$t8,%lo(var8008dcc0)
/* a28c: 000e7100 */ sll $t6,$t6,0x4
/* a290: 01d82021 */ addu $a0,$t6,$t8
/* a294: 3c198006 */ lui $t9,%hi(var8005f8f0)
/* a298: 2739f8f0 */ addiu $t9,$t9,%lo(var8005f8f0)
/* a294: 3c198006 */ lui $t9,%hi(osViModeTable+0x1e0)
/* a298: 2739f8f0 */ addiu $t9,$t9,%lo(osViModeTable+0x1e0)
/* a29c: 272e0048 */ addiu $t6,$t9,0x48
/* a2a0: 0080c025 */ or $t8,$a0,$zero
.L0000a2a4:
@@ -1130,8 +1130,8 @@ glabel func0000a044
/* a55c: 2718dcc0 */ addiu $t8,$t8,%lo(var8008dcc0)
/* a560: 0019c900 */ sll $t9,$t9,0x4
/* a564: 03382021 */ addu $a0,$t9,$t8
/* a568: 3c0f8006 */ lui $t7,%hi(var80060340)
/* a56c: 25ef0340 */ addiu $t7,$t7,%lo(var80060340)
/* a568: 3c0f8006 */ lui $t7,%hi(osViModeTable+0xc30)
/* a56c: 25ef0340 */ addiu $t7,$t7,%lo(osViModeTable+0xc30)
/* a570: 25f90048 */ addiu $t9,$t7,0x48
/* a574: 0080c025 */ or $t8,$a0,$zero
.L0000a578:
@@ -1156,8 +1156,8 @@ glabel func0000a044
/* a5bc: 2739dcc0 */ addiu $t9,$t9,%lo(var8008dcc0)
/* a5c0: 000e7100 */ sll $t6,$t6,0x4
/* a5c4: 01d92021 */ addu $a0,$t6,$t9
/* a5c8: 3c0f8006 */ lui $t7,%hi(var8005fa80)
/* a5cc: 25effa80 */ addiu $t7,$t7,%lo(var8005fa80)
/* a5c8: 3c0f8006 */ lui $t7,%hi(osViModeTable+0x370)
/* a5cc: 25effa80 */ addiu $t7,$t7,%lo(osViModeTable+0x370)
/* a5d0: 25ee0048 */ addiu $t6,$t7,0x48
/* a5d4: 0080c825 */ or $t9,$a0,$zero
.L0000a5d8:
+1 -1
View File
@@ -11,7 +11,7 @@
#include "types.h"
GLOBAL_ASM(
glabel func000485e0
glabel osViSetEvent
/* 485e0: 27bdffd8 */ addiu $sp,$sp,-40
/* 485e4: afbf001c */ sw $ra,0x1c($sp)
/* 485e8: afa40028 */ sw $a0,0x28($sp)