From d7437ea41890e11b31958200358b601f182541de Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 15:13:00 -0500 Subject: [PATCH 01/14] __scAppendList --- asm/non_matchings/unknown_079F50/__scMain.s | 2 +- .../unknown_079F50/func_80079818.s | 2 +- .../unknown_079F50/func_80079F40.s | 34 ------------------- src/unknown_079F50.c | 25 +++++++++++++- 4 files changed, 26 insertions(+), 37 deletions(-) delete mode 100644 asm/non_matchings/unknown_079F50/func_80079F40.s diff --git a/asm/non_matchings/unknown_079F50/__scMain.s b/asm/non_matchings/unknown_079F50/__scMain.s index e5407ca5..8f2d7e25 100644 --- a/asm/non_matchings/unknown_079F50/__scMain.s +++ b/asm/non_matchings/unknown_079F50/__scMain.s @@ -77,7 +77,7 @@ glabel __scMain /* 07A2BC 800796BC 02602025 */ move $a0, $s3 /* 07A2C0 800796C0 8FA50064 */ lw $a1, 0x64($sp) .L800796C4: -/* 07A2C4 800796C4 0C01E7D0 */ jal func_80079F40 +/* 07A2C4 800796C4 0C01E7D0 */ jal __scAppendList /* 07A2C8 800796C8 02402025 */ move $a0, $s2 /* 07A2CC 800796CC 8E4F0274 */ lw $t7, 0x274($s2) /* 07A2D0 800796D0 8E480278 */ lw $t0, 0x278($s2) diff --git a/asm/non_matchings/unknown_079F50/func_80079818.s b/asm/non_matchings/unknown_079F50/func_80079818.s index 2d1108b3..8d903d52 100644 --- a/asm/non_matchings/unknown_079F50/func_80079818.s +++ b/asm/non_matchings/unknown_079F50/func_80079818.s @@ -98,7 +98,7 @@ glabel func_80079818 /* 07A574 80079974 00000000 */ nop /* 07A578 80079978 8FA50044 */ lw $a1, 0x44($sp) .L8007997C: -/* 07A57C 8007997C 0C01E7D0 */ jal func_80079F40 +/* 07A57C 8007997C 0C01E7D0 */ jal __scAppendList /* 07A580 80079980 02202025 */ move $a0, $s1 /* 07A584 80079984 8FA40028 */ lw $a0, 0x28($sp) /* 07A588 80079988 27A50044 */ addiu $a1, $sp, 0x44 diff --git a/asm/non_matchings/unknown_079F50/func_80079F40.s b/asm/non_matchings/unknown_079F50/func_80079F40.s deleted file mode 100644 index 9e2c0c3c..00000000 --- a/asm/non_matchings/unknown_079F50/func_80079F40.s +++ /dev/null @@ -1,34 +0,0 @@ -glabel func_80079F40 -/* 07AB40 80079F40 8CA20010 */ lw $v0, 0x10($a1) -/* 07AB44 80079F44 24010002 */ li $at, 2 -/* 07AB48 80079F48 1441000A */ bne $v0, $at, .L80079F74 -/* 07AB4C 80079F4C 00000000 */ nop -/* 07AB50 80079F50 8C82026C */ lw $v0, 0x26c($a0) -/* 07AB54 80079F54 00000000 */ nop -/* 07AB58 80079F58 10400003 */ beqz $v0, .L80079F68 -/* 07AB5C 80079F5C 00000000 */ nop -/* 07AB60 80079F60 10000002 */ b .L80079F6C -/* 07AB64 80079F64 AC450000 */ sw $a1, ($v0) -.L80079F68: -/* 07AB68 80079F68 AC850264 */ sw $a1, 0x264($a0) -.L80079F6C: -/* 07AB6C 80079F6C 10000009 */ b .L80079F94 -/* 07AB70 80079F70 AC85026C */ sw $a1, 0x26c($a0) -.L80079F74: -/* 07AB74 80079F74 8C820270 */ lw $v0, 0x270($a0) -/* 07AB78 80079F78 00000000 */ nop -/* 07AB7C 80079F7C 10400003 */ beqz $v0, .L80079F8C -/* 07AB80 80079F80 00000000 */ nop -/* 07AB84 80079F84 10000002 */ b .L80079F90 -/* 07AB88 80079F88 AC450000 */ sw $a1, ($v0) -.L80079F8C: -/* 07AB8C 80079F8C AC850268 */ sw $a1, 0x268($a0) -.L80079F90: -/* 07AB90 80079F90 AC850270 */ sw $a1, 0x270($a0) -.L80079F94: -/* 07AB94 80079F94 8CAE0008 */ lw $t6, 8($a1) -/* 07AB98 80079F98 ACA00000 */ sw $zero, ($a1) -/* 07AB9C 80079F9C 31CF0003 */ andi $t7, $t6, 3 -/* 07ABA0 80079FA0 03E00008 */ jr $ra -/* 07ABA4 80079FA4 ACAF0004 */ sw $t7, 4($a1) - diff --git a/src/unknown_079F50.c b/src/unknown_079F50.c index 981de577..06132bd1 100644 --- a/src/unknown_079F50.c +++ b/src/unknown_079F50.c @@ -150,7 +150,30 @@ GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079B44.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079D5C.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079DE8.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079E40.s") -GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079F40.s") + + +void __scAppendList(OSSched *sc, OSScTask *t) +{ + u32 tmp = t->list.t.type; + if (tmp == 2){ + if(sc->audioListTail) + sc->audioListTail->next = t; + else + sc->audioListHead = t; + + sc->audioListTail = t; + } + else{ + if(sc->gfxListTail) + sc->gfxListTail->next = t; + else + sc->gfxListHead = t; + + sc->gfxListTail = t; + } + t->next = NULL; + t->state = t->flags & 0x03; +} void __scExec(OSSched *sc, OSScTask *sp, OSScTask *dp) { From 0c0166ce463d347c1b2de506cb3114cbfe90b9e4 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 15:55:26 -0500 Subject: [PATCH 02/14] c: __scTaskReady --- .../unknown_079F50/func_80079DE8.s | 28 --------- .../unknown_079F50/func_8007A0D4.s | 2 +- ...800D1E70.s => osViGetCurrentFramebuffer.s} | 2 +- ...nc_800D1EB0.s => osViGetNextFramebuffer.s} | 2 +- lib/src/unknown_0D29F0.c | 4 +- src/unknown_079F50.c | 60 ++++++++++++++++++- 6 files changed, 62 insertions(+), 36 deletions(-) delete mode 100644 asm/non_matchings/unknown_079F50/func_80079DE8.s rename lib/asm/non_matchings/unknown_0D29F0/{func_800D1E70.s => osViGetCurrentFramebuffer.s} (96%) rename lib/asm/non_matchings/unknown_0D29F0/{func_800D1EB0.s => osViGetNextFramebuffer.s} (96%) diff --git a/asm/non_matchings/unknown_079F50/func_80079DE8.s b/asm/non_matchings/unknown_079F50/func_80079DE8.s deleted file mode 100644 index 852ab2f3..00000000 --- a/asm/non_matchings/unknown_079F50/func_80079DE8.s +++ /dev/null @@ -1,28 +0,0 @@ -glabel func_80079DE8 -/* 07A9E8 80079DE8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 07A9EC 80079DEC AFBF0014 */ sw $ra, 0x14($sp) -/* 07A9F0 80079DF0 1080000E */ beqz $a0, .L80079E2C -/* 07A9F4 80079DF4 AFA40020 */ sw $a0, 0x20($sp) -/* 07A9F8 80079DF8 0C03479C */ jal func_800D1E70 -/* 07A9FC 80079DFC 00000000 */ nop -/* 07AA00 80079E00 0C0347AC */ jal func_800D1EB0 -/* 07AA04 80079E04 AFA2001C */ sw $v0, 0x1c($sp) -/* 07AA08 80079E08 8FAF001C */ lw $t7, 0x1c($sp) -/* 07AA0C 80079E0C 00000000 */ nop -/* 07AA10 80079E10 104F0004 */ beq $v0, $t7, .L80079E24 -/* 07AA14 80079E14 8FA20020 */ lw $v0, 0x20($sp) -/* 07AA18 80079E18 10000005 */ b .L80079E30 -/* 07AA1C 80079E1C 00001025 */ move $v0, $zero -/* 07AA20 80079E20 8FA20020 */ lw $v0, 0x20($sp) -.L80079E24: -/* 07AA24 80079E24 10000003 */ b .L80079E34 -/* 07AA28 80079E28 8FBF0014 */ lw $ra, 0x14($sp) -.L80079E2C: -/* 07AA2C 80079E2C 00001025 */ move $v0, $zero -.L80079E30: -/* 07AA30 80079E30 8FBF0014 */ lw $ra, 0x14($sp) -.L80079E34: -/* 07AA34 80079E34 27BD0020 */ addiu $sp, $sp, 0x20 -/* 07AA38 80079E38 03E00008 */ jr $ra -/* 07AA3C 80079E3C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_079F50/func_8007A0D4.s b/asm/non_matchings/unknown_079F50/func_8007A0D4.s index d76654bc..6b17f545 100644 --- a/asm/non_matchings/unknown_079F50/func_8007A0D4.s +++ b/asm/non_matchings/unknown_079F50/func_8007A0D4.s @@ -39,7 +39,7 @@ glabel func_8007A0D4 /* 07AD58 8007A158 AFA30024 */ sw $v1, 0x24($sp) /* 07AD5C 8007A15C AFA5002C */ sw $a1, 0x2c($sp) /* 07AD60 8007A160 AFA60030 */ sw $a2, 0x30($sp) -/* 07AD64 8007A164 0C01E77A */ jal func_80079DE8 +/* 07AD64 8007A164 0C01E77A */ jal __scTaskReady /* 07AD68 8007A168 AFA70034 */ sw $a3, 0x34($sp) /* 07AD6C 8007A16C 8FA30024 */ lw $v1, 0x24($sp) /* 07AD70 8007A170 8FA5002C */ lw $a1, 0x2c($sp) diff --git a/lib/asm/non_matchings/unknown_0D29F0/func_800D1E70.s b/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s similarity index 96% rename from lib/asm/non_matchings/unknown_0D29F0/func_800D1E70.s rename to lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s index d8d9dfbf..c13e9882 100644 --- a/lib/asm/non_matchings/unknown_0D29F0/func_800D1E70.s +++ b/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s @@ -1,4 +1,4 @@ -glabel func_800D1E70 +glabel osViGetCurrentFramebuffer /* 0D2A70 800D1E70 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0D2A74 800D1E74 AFBF001C */ sw $ra, 0x1c($sp) /* 0D2A78 800D1E78 0C034958 */ jal __osDisableInt diff --git a/lib/asm/non_matchings/unknown_0D29F0/func_800D1EB0.s b/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s similarity index 96% rename from lib/asm/non_matchings/unknown_0D29F0/func_800D1EB0.s rename to lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s index 9cc7a953..bedaf2a2 100644 --- a/lib/asm/non_matchings/unknown_0D29F0/func_800D1EB0.s +++ b/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s @@ -1,4 +1,4 @@ -glabel func_800D1EB0 +glabel osViGetNextFramebuffer /* 0D2AB0 800D1EB0 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0D2AB4 800D1EB4 AFBF001C */ sw $ra, 0x1c($sp) /* 0D2AB8 800D1EB8 0C034958 */ jal __osDisableInt diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index 750a4cfc..e30fe1b8 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -9,8 +9,8 @@ extern OSTime __osCurrentTime;//__osCurrentTime extern u32 __osBaseCounter; //__osBaseCounter GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/func_800D1DF0.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/func_800D1E70.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/func_800D1EB0.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskStartGo.s") diff --git a/src/unknown_079F50.c b/src/unknown_079F50.c index 06132bd1..7ffb41c0 100644 --- a/src/unknown_079F50.c +++ b/src/unknown_079F50.c @@ -148,9 +148,63 @@ GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079760.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079818.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079B44.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079D5C.s") -GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079DE8.s") -GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079E40.s") +OSScTask *__scTaskReady(OSScTask *t) +{ + if (t) { + /* + * If there is a pending swap bail out til later (next + * retrace). + */ + if (osViGetCurrentFramebuffer() != osViGetNextFramebuffer()) { + return 0; + } + + return t; + } + + return 0; +} + +#if 1 +GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079E40.s") +#else +s32 func_80079E40(OSSched *sc, OSScTask *t) +{ + int rv; + int firsttime = 1; + + if ((t->state & 0x03) == 0) { /* none of the needs bits set */ + +// assert (t->msgQ); + if(t->msgQ){ + + //rv = osSendMesg(t->msgQ, &t->msg, OS_MESG_BLOCK); + + //if (t->list.t.type == M_GFXTASK) { + if ((t->flags & 0x20) /*&& (t->flags & OS_SC_LAST_TASK)*/){ + if(sc->doAudio < 2){ + sc->frameCount = t; + } + else{ + if(t->startTime == 0){ + osSendMesg(t->msgQ, t->msg, 1); + } + } + //if (firsttime) { + // osViBlack(FALSE); + // firsttime = 0; + //} + //osViSwapBuffer(t->framebuffer); + } + //} + } + return 1; + } + + return 0; +} +#endif void __scAppendList(OSSched *sc, OSScTask *t) { @@ -168,7 +222,7 @@ void __scAppendList(OSSched *sc, OSScTask *t) sc->gfxListTail->next = t; else sc->gfxListHead = t; - + sc->gfxListTail = t; } t->next = NULL; From eb8876d0248d596ae9ebb681d8bb41e5a21b6b73 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 16:06:11 -0500 Subject: [PATCH 03/14] c: __scHandleRDP --- asm/non_matchings/unknown_079F50/__scMain.s | 4 +- .../{func_8007A0D4.s => __scSchedule.s} | 2 +- .../{func_80079E40.s => __scTaskComplete.s} | 2 +- .../unknown_079F50/func_80079760.s | 2 +- .../unknown_079F50/func_80079818.s | 2 +- .../unknown_079F50/func_80079B44.s | 4 +- .../unknown_079F50/func_80079D5C.s | 38 ---------------- data/dkr.data.s | 4 +- .../osViSetEventMsg_0D2980/osViSetEventMsg.s | 12 ++--- .../unknown_0D28A0/osViSetMode.s | 12 ++--- .../osViGetCurrentFramebuffer.s | 4 +- .../unknown_0D29F0/osViGetNextFramebuffer.s | 4 +- .../unknown_0D2E40/osViSetSpecialFeatures.s | 44 +++++++++---------- .../unknown_0D3020/__osViSwapContext.s | 24 +++++----- .../non_matchings/unknown_0D3160/__osViInit.s | 32 +++++++------- lib/src/osViBlack.c | 6 +-- lib/src/osViSwapBuffer.c | 6 +-- src/unknown_079F50.c | 33 ++++++++++++-- undefined_syms.txt | 4 +- 19 files changed, 113 insertions(+), 126 deletions(-) rename asm/non_matchings/unknown_079F50/{func_8007A0D4.s => __scSchedule.s} (99%) rename asm/non_matchings/unknown_079F50/{func_80079E40.s => __scTaskComplete.s} (99%) delete mode 100644 asm/non_matchings/unknown_079F50/func_80079D5C.s diff --git a/asm/non_matchings/unknown_079F50/__scMain.s b/asm/non_matchings/unknown_079F50/__scMain.s index 8f2d7e25..66cab200 100644 --- a/asm/non_matchings/unknown_079F50/__scMain.s +++ b/asm/non_matchings/unknown_079F50/__scMain.s @@ -50,7 +50,7 @@ glabel __scMain /* 07A260 80079660 1000FFE8 */ b .L80079604 /* 07A264 80079664 02602025 */ move $a0, $s3 .L80079668: -/* 07A268 80079668 0C01E757 */ jal func_80079D5C +/* 07A268 80079668 0C01E757 */ jal __scHandleRDP /* 07A26C 8007966C 02402025 */ move $a0, $s2 /* 07A270 80079670 1000FFE4 */ b .L80079604 /* 07A274 80079674 02602025 */ move $a0, $s3 @@ -88,7 +88,7 @@ glabel __scMain /* 07A2E4 800796E4 02003825 */ move $a3, $s0 /* 07A2E8 800796E8 02402025 */ move $a0, $s2 /* 07A2EC 800796EC 27A50054 */ addiu $a1, $sp, 0x54 -/* 07A2F0 800796F0 0C01E835 */ jal func_8007A0D4 +/* 07A2F0 800796F0 0C01E835 */ jal __scSchedule /* 07A2F4 800796F4 27A60050 */ addiu $a2, $sp, 0x50 /* 07A2F8 800796F8 1050FFC2 */ beq $v0, $s0, .L80079604 /* 07A2FC 800796FC 02602025 */ move $a0, $s3 diff --git a/asm/non_matchings/unknown_079F50/func_8007A0D4.s b/asm/non_matchings/unknown_079F50/__scSchedule.s similarity index 99% rename from asm/non_matchings/unknown_079F50/func_8007A0D4.s rename to asm/non_matchings/unknown_079F50/__scSchedule.s index 6b17f545..d400f3b9 100644 --- a/asm/non_matchings/unknown_079F50/func_8007A0D4.s +++ b/asm/non_matchings/unknown_079F50/__scSchedule.s @@ -1,4 +1,4 @@ -glabel func_8007A0D4 +glabel __scSchedule /* 07ACD4 8007A0D4 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 07ACD8 8007A0D8 AFB10018 */ sw $s1, 0x18($sp) /* 07ACDC 8007A0DC 00808825 */ move $s1, $a0 diff --git a/asm/non_matchings/unknown_079F50/func_80079E40.s b/asm/non_matchings/unknown_079F50/__scTaskComplete.s similarity index 99% rename from asm/non_matchings/unknown_079F50/func_80079E40.s rename to asm/non_matchings/unknown_079F50/__scTaskComplete.s index 6c5e4d21..3f8b23cf 100644 --- a/asm/non_matchings/unknown_079F50/func_80079E40.s +++ b/asm/non_matchings/unknown_079F50/__scTaskComplete.s @@ -1,4 +1,4 @@ -glabel func_80079E40 +glabel __scTaskComplete /* 07AA40 80079E40 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 07AA44 80079E44 AFBF0014 */ sw $ra, 0x14($sp) /* 07AA48 80079E48 AFA40018 */ sw $a0, 0x18($sp) diff --git a/asm/non_matchings/unknown_079F50/func_80079760.s b/asm/non_matchings/unknown_079F50/func_80079760.s index 4da59d4d..68c548e5 100644 --- a/asm/non_matchings/unknown_079F50/func_80079760.s +++ b/asm/non_matchings/unknown_079F50/func_80079760.s @@ -29,7 +29,7 @@ glabel func_80079760 /* 07A3C4 800797C4 2D6C0001 */ sltiu $t4, $t3, 1 /* 07A3C8 800797C8 014C3825 */ or $a3, $t2, $t4 /* 07A3CC 800797CC AFA70024 */ sw $a3, 0x24($sp) -/* 07A3D0 800797D0 0C01E835 */ jal func_8007A0D4 +/* 07A3D0 800797D0 0C01E835 */ jal __scSchedule /* 07A3D4 800797D4 AFA40028 */ sw $a0, 0x28($sp) /* 07A3D8 800797D8 8FA70024 */ lw $a3, 0x24($sp) /* 07A3DC 800797DC 8FA40028 */ lw $a0, 0x28($sp) diff --git a/asm/non_matchings/unknown_079F50/func_80079818.s b/asm/non_matchings/unknown_079F50/func_80079818.s index 8d903d52..6762e0ac 100644 --- a/asm/non_matchings/unknown_079F50/func_80079818.s +++ b/asm/non_matchings/unknown_079F50/func_80079818.s @@ -116,7 +116,7 @@ glabel func_80079818 /* 07A5B4 800799B4 02003825 */ move $a3, $s0 /* 07A5B8 800799B8 02202025 */ move $a0, $s1 /* 07A5BC 800799BC 27A50038 */ addiu $a1, $sp, 0x38 -/* 07A5C0 800799C0 0C01E835 */ jal func_8007A0D4 +/* 07A5C0 800799C0 0C01E835 */ jal __scSchedule /* 07A5C4 800799C4 27A60034 */ addiu $a2, $sp, 0x34 /* 07A5C8 800799C8 10500005 */ beq $v0, $s0, .L800799E0 /* 07A5CC 800799CC 00000000 */ nop diff --git a/asm/non_matchings/unknown_079F50/func_80079B44.s b/asm/non_matchings/unknown_079F50/func_80079B44.s index 3d7fa1c4..3db1ca16 100644 --- a/asm/non_matchings/unknown_079F50/func_80079B44.s +++ b/asm/non_matchings/unknown_079F50/func_80079B44.s @@ -117,7 +117,7 @@ glabel func_80079B44 /* 07A8F4 80079CF4 8E0B0274 */ lw $t3, 0x274($s0) .L80079CF8: /* 07A8F8 80079CF8 ACAA0004 */ sw $t2, 4($a1) -/* 07A8FC 80079CFC 0C01E790 */ jal func_80079E40 +/* 07A8FC 80079CFC 0C01E790 */ jal __scTaskComplete /* 07A900 80079D00 02002025 */ move $a0, $s0 .L80079D04: /* 07A904 80079D04 8E0B0274 */ lw $t3, 0x274($s0) @@ -130,7 +130,7 @@ glabel func_80079B44 /* 07A91C 80079D1C AFA70028 */ sw $a3, 0x28($sp) /* 07A920 80079D20 02002025 */ move $a0, $s0 /* 07A924 80079D24 27A50030 */ addiu $a1, $sp, 0x30 -/* 07A928 80079D28 0C01E835 */ jal func_8007A0D4 +/* 07A928 80079D28 0C01E835 */ jal __scSchedule /* 07A92C 80079D2C 27A6002C */ addiu $a2, $sp, 0x2c /* 07A930 80079D30 8FA70028 */ lw $a3, 0x28($sp) /* 07A934 80079D34 8FA50030 */ lw $a1, 0x30($sp) diff --git a/asm/non_matchings/unknown_079F50/func_80079D5C.s b/asm/non_matchings/unknown_079F50/func_80079D5C.s deleted file mode 100644 index 16eb86c2..00000000 --- a/asm/non_matchings/unknown_079F50/func_80079D5C.s +++ /dev/null @@ -1,38 +0,0 @@ -glabel func_80079D5C -/* 07A95C 80079D5C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 07A960 80079D60 AFBF0014 */ sw $ra, 0x14($sp) -/* 07A964 80079D64 AFA00020 */ sw $zero, 0x20($sp) -/* 07A968 80079D68 AFA0001C */ sw $zero, 0x1c($sp) -/* 07A96C 80079D6C 8C850278 */ lw $a1, 0x278($a0) -/* 07A970 80079D70 AC800278 */ sw $zero, 0x278($a0) -/* 07A974 80079D74 8CAE0004 */ lw $t6, 4($a1) -/* 07A978 80079D78 2401FFFE */ li $at, -2 -/* 07A97C 80079D7C 01C17824 */ and $t7, $t6, $at -/* 07A980 80079D80 ACAF0004 */ sw $t7, 4($a1) -/* 07A984 80079D84 0C01E790 */ jal func_80079E40 -/* 07A988 80079D88 AFA40028 */ sw $a0, 0x28($sp) -/* 07A98C 80079D8C 8FA40028 */ lw $a0, 0x28($sp) -/* 07A990 80079D90 27A50020 */ addiu $a1, $sp, 0x20 -/* 07A994 80079D94 8C980274 */ lw $t8, 0x274($a0) -/* 07A998 80079D98 8C890278 */ lw $t1, 0x278($a0) -/* 07A99C 80079D9C 2F190001 */ sltiu $t9, $t8, 1 -/* 07A9A0 80079DA0 00194040 */ sll $t0, $t9, 1 -/* 07A9A4 80079DA4 2D2A0001 */ sltiu $t2, $t1, 1 -/* 07A9A8 80079DA8 010A3825 */ or $a3, $t0, $t2 -/* 07A9AC 80079DAC AFA70018 */ sw $a3, 0x18($sp) -/* 07A9B0 80079DB0 0C01E835 */ jal func_8007A0D4 -/* 07A9B4 80079DB4 27A6001C */ addiu $a2, $sp, 0x1c -/* 07A9B8 80079DB8 8FA70018 */ lw $a3, 0x18($sp) -/* 07A9BC 80079DBC 8FA40028 */ lw $a0, 0x28($sp) -/* 07A9C0 80079DC0 10470006 */ beq $v0, $a3, .L80079DDC -/* 07A9C4 80079DC4 8FBF0014 */ lw $ra, 0x14($sp) -/* 07A9C8 80079DC8 8FA50020 */ lw $a1, 0x20($sp) -/* 07A9CC 80079DCC 8FA6001C */ lw $a2, 0x1c($sp) -/* 07A9D0 80079DD0 0C01E7EA */ jal __scExec -/* 07A9D4 80079DD4 00000000 */ nop -/* 07A9D8 80079DD8 8FBF0014 */ lw $ra, 0x14($sp) -.L80079DDC: -/* 07A9DC 80079DDC 27BD0028 */ addiu $sp, $sp, 0x28 -/* 07A9E0 80079DE0 03E00008 */ jr $ra -/* 07A9E4 80079DE4 00000000 */ nop - diff --git a/data/dkr.data.s b/data/dkr.data.s index 6ff531b3..8e548f83 100644 --- a/data/dkr.data.s +++ b/data/dkr.data.s @@ -9242,10 +9242,10 @@ glabel D_800E4810 .word 0x00000000 .word 0x00000000 -glabel D_800E4870 +glabel __osViCurr .word 0x800E4810 -glabel D_800E4874 +glabel __osViNext .word 0x800E4840 glabel D_800E4878 diff --git a/lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s b/lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s index 9f1687c1..61a67310 100644 --- a/lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s +++ b/lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s @@ -6,18 +6,18 @@ glabel osViSetEventMsg /* 0D2990 800D1D90 AFA60030 */ sw $a2, 0x30($sp) /* 0D2994 800D1D94 0C034958 */ jal __osDisableInt /* 0D2998 800D1D98 AFB00018 */ sw $s0, 0x18($sp) -/* 0D299C 800D1D9C 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e -/* 0D29A0 800D1DA0 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7) +/* 0D299C 800D1D9C 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e +/* 0D29A0 800D1DA0 8DEF4874 */ lw $t7, %lo(__osViNext)($t7) /* 0D29A4 800D1DA4 8FAE0028 */ lw $t6, 0x28($sp) -/* 0D29A8 800D1DA8 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e -/* 0D29AC 800D1DAC 3C09800E */ lui $t1, %hi(D_800E4874) # $t1, 0x800e +/* 0D29A8 800D1DA8 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e +/* 0D29AC 800D1DAC 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e /* 0D29B0 800D1DB0 ADEE0010 */ sw $t6, 0x10($t7) -/* 0D29B4 800D1DB4 8F394874 */ lw $t9, %lo(D_800E4874)($t9) +/* 0D29B4 800D1DB4 8F394874 */ lw $t9, %lo(__osViNext)($t9) /* 0D29B8 800D1DB8 8FB8002C */ lw $t8, 0x2c($sp) /* 0D29BC 800D1DBC 00408025 */ move $s0, $v0 /* 0D29C0 800D1DC0 02002025 */ move $a0, $s0 /* 0D29C4 800D1DC4 AF380014 */ sw $t8, 0x14($t9) -/* 0D29C8 800D1DC8 8D294874 */ lw $t1, %lo(D_800E4874)($t1) +/* 0D29C8 800D1DC8 8D294874 */ lw $t1, %lo(__osViNext)($t1) /* 0D29CC 800D1DCC 8FA80030 */ lw $t0, 0x30($sp) /* 0D29D0 800D1DD0 0C034960 */ jal __osRestoreInt /* 0D29D4 800D1DD4 A5280002 */ sh $t0, 2($t1) diff --git a/lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s b/lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s index dbafd106..6565eed6 100644 --- a/lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s +++ b/lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s @@ -4,17 +4,17 @@ glabel osViSetMode /* 0D28A8 800D1CA8 AFA40028 */ sw $a0, 0x28($sp) /* 0D28AC 800D1CAC 0C034958 */ jal __osDisableInt /* 0D28B0 800D1CB0 AFB00018 */ sw $s0, 0x18($sp) -/* 0D28B4 800D1CB4 3C0F800E */ lui $t7, %hi(D_800E4874) # $t7, 0x800e -/* 0D28B8 800D1CB8 8DEF4874 */ lw $t7, %lo(D_800E4874)($t7) +/* 0D28B4 800D1CB4 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e +/* 0D28B8 800D1CB8 8DEF4874 */ lw $t7, %lo(__osViNext)($t7) /* 0D28BC 800D1CBC 8FAE0028 */ lw $t6, 0x28($sp) -/* 0D28C0 800D1CC0 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e +/* 0D28C0 800D1CC0 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e /* 0D28C4 800D1CC4 24180001 */ li $t8, 1 /* 0D28C8 800D1CC8 ADEE0008 */ sw $t6, 8($t7) -/* 0D28CC 800D1CCC 8F394874 */ lw $t9, %lo(D_800E4874)($t9) -/* 0D28D0 800D1CD0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e +/* 0D28CC 800D1CCC 8F394874 */ lw $t9, %lo(__osViNext)($t9) +/* 0D28D0 800D1CD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e /* 0D28D4 800D1CD4 00408025 */ move $s0, $v0 /* 0D28D8 800D1CD8 A7380000 */ sh $t8, ($t9) -/* 0D28DC 800D1CDC 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D28DC 800D1CDC 8D084874 */ lw $t0, %lo(__osViNext)($t0) /* 0D28E0 800D1CE0 02002025 */ move $a0, $s0 /* 0D28E4 800D1CE4 8D090008 */ lw $t1, 8($t0) /* 0D28E8 800D1CE8 8D2A0004 */ lw $t2, 4($t1) diff --git a/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s b/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s index c13e9882..26d7f6b8 100644 --- a/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s +++ b/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s @@ -3,8 +3,8 @@ glabel osViGetCurrentFramebuffer /* 0D2A74 800D1E74 AFBF001C */ sw $ra, 0x1c($sp) /* 0D2A78 800D1E78 0C034958 */ jal __osDisableInt /* 0D2A7C 800D1E7C AFB00018 */ sw $s0, 0x18($sp) -/* 0D2A80 800D1E80 3C0E800E */ lui $t6, %hi(D_800E4870) # $t6, 0x800e -/* 0D2A84 800D1E84 8DCE4870 */ lw $t6, %lo(D_800E4870)($t6) +/* 0D2A80 800D1E80 3C0E800E */ lui $t6, %hi(__osViCurr) # $t6, 0x800e +/* 0D2A84 800D1E84 8DCE4870 */ lw $t6, %lo(__osViCurr)($t6) /* 0D2A88 800D1E88 00408025 */ move $s0, $v0 /* 0D2A8C 800D1E8C 02002025 */ move $a0, $s0 /* 0D2A90 800D1E90 8DCF0004 */ lw $t7, 4($t6) diff --git a/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s b/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s index bedaf2a2..5d47ada3 100644 --- a/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s +++ b/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s @@ -3,8 +3,8 @@ glabel osViGetNextFramebuffer /* 0D2AB4 800D1EB4 AFBF001C */ sw $ra, 0x1c($sp) /* 0D2AB8 800D1EB8 0C034958 */ jal __osDisableInt /* 0D2ABC 800D1EBC AFB00018 */ sw $s0, 0x18($sp) -/* 0D2AC0 800D1EC0 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e -/* 0D2AC4 800D1EC4 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6) +/* 0D2AC0 800D1EC0 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e +/* 0D2AC4 800D1EC4 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) /* 0D2AC8 800D1EC8 00408025 */ move $s0, $v0 /* 0D2ACC 800D1ECC 02002025 */ move $a0, $s0 /* 0D2AD0 800D1ED0 8DCF0004 */ lw $t7, 4($t6) diff --git a/lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s b/lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s index 8237f9a2..ca2555a8 100644 --- a/lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s +++ b/lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s @@ -9,8 +9,8 @@ glabel osViSetSpecialFeatures /* 0D2E7C 800D227C 31CF0001 */ andi $t7, $t6, 1 /* 0D2E80 800D2280 11E00006 */ beqz $t7, .L800D229C /* 0D2E84 800D2284 00000000 */ nop -/* 0D2E88 800D2288 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e -/* 0D2E8C 800D228C 8F184874 */ lw $t8, %lo(D_800E4874)($t8) +/* 0D2E88 800D2288 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e +/* 0D2E8C 800D228C 8F184874 */ lw $t8, %lo(__osViNext)($t8) /* 0D2E90 800D2290 8F19000C */ lw $t9, 0xc($t8) /* 0D2E94 800D2294 37280008 */ ori $t0, $t9, 8 /* 0D2E98 800D2298 AF08000C */ sw $t0, 0xc($t8) @@ -19,8 +19,8 @@ glabel osViSetSpecialFeatures /* 0D2EA0 800D22A0 312A0002 */ andi $t2, $t1, 2 /* 0D2EA4 800D22A4 11400007 */ beqz $t2, .L800D22C4 /* 0D2EA8 800D22A8 00000000 */ nop -/* 0D2EAC 800D22AC 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e -/* 0D2EB0 800D22B0 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3) +/* 0D2EAC 800D22AC 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e +/* 0D2EB0 800D22B0 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) /* 0D2EB4 800D22B4 2401FFF7 */ li $at, -9 /* 0D2EB8 800D22B8 8D6C000C */ lw $t4, 0xc($t3) /* 0D2EBC 800D22BC 01816824 */ and $t5, $t4, $at @@ -30,8 +30,8 @@ glabel osViSetSpecialFeatures /* 0D2EC8 800D22C8 31CF0004 */ andi $t7, $t6, 4 /* 0D2ECC 800D22CC 11E00006 */ beqz $t7, .L800D22E8 /* 0D2ED0 800D22D0 00000000 */ nop -/* 0D2ED4 800D22D4 3C19800E */ lui $t9, %hi(D_800E4874) # $t9, 0x800e -/* 0D2ED8 800D22D8 8F394874 */ lw $t9, %lo(D_800E4874)($t9) +/* 0D2ED4 800D22D4 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e +/* 0D2ED8 800D22D8 8F394874 */ lw $t9, %lo(__osViNext)($t9) /* 0D2EDC 800D22DC 8F28000C */ lw $t0, 0xc($t9) /* 0D2EE0 800D22E0 35180004 */ ori $t8, $t0, 4 /* 0D2EE4 800D22E4 AF38000C */ sw $t8, 0xc($t9) @@ -40,8 +40,8 @@ glabel osViSetSpecialFeatures /* 0D2EEC 800D22EC 312A0008 */ andi $t2, $t1, 8 /* 0D2EF0 800D22F0 11400007 */ beqz $t2, .L800D2310 /* 0D2EF4 800D22F4 00000000 */ nop -/* 0D2EF8 800D22F8 3C0C800E */ lui $t4, %hi(D_800E4874) # $t4, 0x800e -/* 0D2EFC 800D22FC 8D8C4874 */ lw $t4, %lo(D_800E4874)($t4) +/* 0D2EF8 800D22F8 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e +/* 0D2EFC 800D22FC 8D8C4874 */ lw $t4, %lo(__osViNext)($t4) /* 0D2F00 800D2300 2401FFFB */ li $at, -5 /* 0D2F04 800D2304 8D8D000C */ lw $t5, 0xc($t4) /* 0D2F08 800D2308 01A15824 */ and $t3, $t5, $at @@ -51,8 +51,8 @@ glabel osViSetSpecialFeatures /* 0D2F14 800D2314 31CF0010 */ andi $t7, $t6, 0x10 /* 0D2F18 800D2318 11E00006 */ beqz $t7, .L800D2334 /* 0D2F1C 800D231C 00000000 */ nop -/* 0D2F20 800D2320 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e -/* 0D2F24 800D2324 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D2F20 800D2320 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e +/* 0D2F24 800D2324 8D084874 */ lw $t0, %lo(__osViNext)($t0) /* 0D2F28 800D2328 8D18000C */ lw $t8, 0xc($t0) /* 0D2F2C 800D232C 37190010 */ ori $t9, $t8, 0x10 /* 0D2F30 800D2330 AD19000C */ sw $t9, 0xc($t0) @@ -61,8 +61,8 @@ glabel osViSetSpecialFeatures /* 0D2F38 800D2338 312A0020 */ andi $t2, $t1, 0x20 /* 0D2F3C 800D233C 11400007 */ beqz $t2, .L800D235C /* 0D2F40 800D2340 00000000 */ nop -/* 0D2F44 800D2344 3C0D800E */ lui $t5, %hi(D_800E4874) # $t5, 0x800e -/* 0D2F48 800D2348 8DAD4874 */ lw $t5, %lo(D_800E4874)($t5) +/* 0D2F44 800D2344 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e +/* 0D2F48 800D2348 8DAD4874 */ lw $t5, %lo(__osViNext)($t5) /* 0D2F4C 800D234C 2401FFEF */ li $at, -17 /* 0D2F50 800D2350 8DAB000C */ lw $t3, 0xc($t5) /* 0D2F54 800D2354 01616024 */ and $t4, $t3, $at @@ -72,14 +72,14 @@ glabel osViSetSpecialFeatures /* 0D2F60 800D2360 31CF0040 */ andi $t7, $t6, 0x40 /* 0D2F64 800D2364 11E0000D */ beqz $t7, .L800D239C /* 0D2F68 800D2368 00000000 */ nop -/* 0D2F6C 800D236C 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e -/* 0D2F70 800D2370 8F184874 */ lw $t8, %lo(D_800E4874)($t8) +/* 0D2F6C 800D236C 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e +/* 0D2F70 800D2370 8F184874 */ lw $t8, %lo(__osViNext)($t8) /* 0D2F74 800D2374 3C010001 */ lui $at, 1 -/* 0D2F78 800D2378 3C09800E */ lui $t1, %hi(D_800E4874) # $t1, 0x800e +/* 0D2F78 800D2378 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e /* 0D2F7C 800D237C 8F19000C */ lw $t9, 0xc($t8) /* 0D2F80 800D2380 03214025 */ or $t0, $t9, $at /* 0D2F84 800D2384 AF08000C */ sw $t0, 0xc($t8) -/* 0D2F88 800D2388 8D294874 */ lw $t1, %lo(D_800E4874)($t1) +/* 0D2F88 800D2388 8D294874 */ lw $t1, %lo(__osViNext)($t1) /* 0D2F8C 800D238C 2401FCFF */ li $at, -769 /* 0D2F90 800D2390 8D2A000C */ lw $t2, 0xc($t1) /* 0D2F94 800D2394 01415824 */ and $t3, $t2, $at @@ -89,15 +89,15 @@ glabel osViSetSpecialFeatures /* 0D2FA0 800D23A0 318D0080 */ andi $t5, $t4, 0x80 /* 0D2FA4 800D23A4 11A00010 */ beqz $t5, .L800D23E8 /* 0D2FA8 800D23A8 00000000 */ nop -/* 0D2FAC 800D23AC 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e -/* 0D2FB0 800D23B0 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6) +/* 0D2FAC 800D23AC 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e +/* 0D2FB0 800D23B0 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) /* 0D2FB4 800D23B4 3C01FFFE */ lui $at, (0xFFFEFFFF >> 16) # lui $at, 0xfffe /* 0D2FB8 800D23B8 3421FFFF */ ori $at, (0xFFFEFFFF & 0xFFFF) # ori $at, $at, 0xffff /* 0D2FBC 800D23BC 8DCF000C */ lw $t7, 0xc($t6) -/* 0D2FC0 800D23C0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e +/* 0D2FC0 800D23C0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e /* 0D2FC4 800D23C4 01E1C824 */ and $t9, $t7, $at /* 0D2FC8 800D23C8 ADD9000C */ sw $t9, 0xc($t6) -/* 0D2FCC 800D23CC 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D2FCC 800D23CC 8D084874 */ lw $t0, %lo(__osViNext)($t0) /* 0D2FD0 800D23D0 8D0A0008 */ lw $t2, 8($t0) /* 0D2FD4 800D23D4 8D18000C */ lw $t8, 0xc($t0) /* 0D2FD8 800D23D8 8D4B0004 */ lw $t3, 4($t2) @@ -105,8 +105,8 @@ glabel osViSetSpecialFeatures /* 0D2FE0 800D23E0 03096025 */ or $t4, $t8, $t1 /* 0D2FE4 800D23E4 AD0C000C */ sw $t4, 0xc($t0) .L800D23E8: -/* 0D2FE8 800D23E8 3C0D800E */ lui $t5, %hi(D_800E4874) # $t5, 0x800e -/* 0D2FEC 800D23EC 8DAD4874 */ lw $t5, %lo(D_800E4874)($t5) +/* 0D2FE8 800D23E8 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e +/* 0D2FEC 800D23EC 8DAD4874 */ lw $t5, %lo(__osViNext)($t5) /* 0D2FF0 800D23F0 02002025 */ move $a0, $s0 /* 0D2FF4 800D23F4 95AF0000 */ lhu $t7, ($t5) /* 0D2FF8 800D23F8 35F90008 */ ori $t9, $t7, 8 diff --git a/lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s b/lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s index 83362c43..85c395bf 100644 --- a/lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s +++ b/lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s @@ -5,9 +5,9 @@ glabel __osViSwapContext /* 0D6C9C 800D609C AFB20020 */ sw $s2, 0x20($sp) /* 0D6CA0 800D60A0 AFB00018 */ sw $s0, 0x18($sp) /* 0D6CA4 800D60A4 AFA00030 */ sw $zero, 0x30($sp) -/* 0D6CA8 800D60A8 3C11800E */ lui $s1, %hi(D_800E4874) # $s1, 0x800e +/* 0D6CA8 800D60A8 3C11800E */ lui $s1, %hi(__osViNext) # $s1, 0x800e /* 0D6CAC 800D60AC 3C0EA440 */ lui $t6, %hi(D_A4400010) # $t6, 0xa440 -/* 0D6CB0 800D60B0 8E314874 */ lw $s1, %lo(D_800E4874)($s1) +/* 0D6CB0 800D60B0 8E314874 */ lw $s1, %lo(__osViNext)($s1) /* 0D6CB4 800D60B4 8DCF0010 */ lw $t7, %lo(D_A4400010)($t6) /* 0D6CB8 800D60B8 8E300008 */ lw $s0, 8($s1) /* 0D6CBC 800D60BC 31F80001 */ andi $t8, $t7, 1 @@ -159,7 +159,7 @@ glabel __osViSwapContext /* 0D6ED8 800D62D8 AD0C0008 */ sw $t4, %lo(D_A4400008)($t0) /* 0D6EDC 800D62DC 8E0D000C */ lw $t5, 0xc($s0) /* 0D6EE0 800D62E0 3C09A440 */ lui $t1, %hi(D_A440001C) # $t1, 0xa440 -/* 0D6EE4 800D62E4 3C01800E */ lui $at, %hi(D_800E4874) # $at, 0x800e +/* 0D6EE4 800D62E4 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e /* 0D6EE8 800D62E8 ADED0014 */ sw $t5, %lo(D_A4400014)($t7) /* 0D6EEC 800D62EC 8E0E0010 */ lw $t6, 0x10($s0) /* 0D6EF0 800D62F0 AF0E0018 */ sw $t6, %lo(D_A4400018)($t8) @@ -193,22 +193,22 @@ glabel __osViSwapContext /* 0D6F60 800D6360 020F7021 */ addu $t6, $s0, $t7 /* 0D6F64 800D6364 8DD80038 */ lw $t8, 0x38($t6) /* 0D6F68 800D6368 3C0DA440 */ lui $t5, 0xa440 -/* 0D6F6C 800D636C 3C0F800E */ lui $t7, %hi(D_800E4870) # $t7, 0x800e +/* 0D6F6C 800D636C 3C0F800E */ lui $t7, %hi(__osViCurr) # $t7, 0x800e /* 0D6F70 800D6370 AF38000C */ sw $t8, %lo(D_A440000C)($t9) /* 0D6F74 800D6374 8E290020 */ lw $t1, 0x20($s1) -/* 0D6F78 800D6378 3C18800E */ lui $t8, %hi(D_800E4870) # $t8, 0x800e -/* 0D6F7C 800D637C 3C0E800E */ lui $t6, %hi(D_800E4874) # $t6, 0x800e +/* 0D6F78 800D6378 3C18800E */ lui $t8, %hi(__osViCurr) # $t8, 0x800e +/* 0D6F7C 800D637C 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e /* 0D6F80 800D6380 AD490030 */ sw $t1, %lo(D_A4400030)($t2) /* 0D6F84 800D6384 8E2B002C */ lw $t3, 0x2c($s1) /* 0D6F88 800D6388 AD8B0034 */ sw $t3, %lo(D_A4400034)($t4) /* 0D6F8C 800D638C 8E28000C */ lw $t0, 0xc($s1) /* 0D6F90 800D6390 ADA80000 */ sw $t0, ($t5) -/* 0D6F94 800D6394 8DEF4870 */ lw $t7, %lo(D_800E4870)($t7) -/* 0D6F98 800D6398 AC2F4874 */ sw $t7, %lo(D_800E4874)($at) -/* 0D6F9C 800D639C 3C01800E */ lui $at, %hi(D_800E4870) # $at, 0x800e -/* 0D6FA0 800D63A0 AC314870 */ sw $s1, %lo(D_800E4870)($at) -/* 0D6FA4 800D63A4 8F184870 */ lw $t8, %lo(D_800E4870)($t8) -/* 0D6FA8 800D63A8 8DCE4874 */ lw $t6, %lo(D_800E4874)($t6) +/* 0D6F94 800D6394 8DEF4870 */ lw $t7, %lo(__osViCurr)($t7) +/* 0D6F98 800D6398 AC2F4874 */ sw $t7, %lo(__osViNext)($at) +/* 0D6F9C 800D639C 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e +/* 0D6FA0 800D63A0 AC314870 */ sw $s1, %lo(__osViCurr)($at) +/* 0D6FA4 800D63A4 8F184870 */ lw $t8, %lo(__osViCurr)($t8) +/* 0D6FA8 800D63A8 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) /* 0D6FAC 800D63AC 270A0030 */ addiu $t2, $t8, 0x30 .L800D63B0: /* 0D6FB0 800D63B0 8F010000 */ lw $at, ($t8) diff --git a/lib/asm/non_matchings/unknown_0D3160/__osViInit.s b/lib/asm/non_matchings/unknown_0D3160/__osViInit.s index 3c368296..c94f2547 100644 --- a/lib/asm/non_matchings/unknown_0D3160/__osViInit.s +++ b/lib/asm/non_matchings/unknown_0D3160/__osViInit.s @@ -7,23 +7,23 @@ glabel __osViInit /* 0D3724 800D2B24 24050060 */ li $a1, 96 /* 0D3728 800D2B28 3C0E800E */ lui $t6, %hi(D_800E4810) # $t6, 0x800e /* 0D372C 800D2B2C 25CE4810 */ addiu $t6, %lo(D_800E4810) # addiu $t6, $t6, 0x4810 -/* 0D3730 800D2B30 3C01800E */ lui $at, %hi(D_800E4870) # $at, 0x800e -/* 0D3734 800D2B34 AC2E4870 */ sw $t6, %lo(D_800E4870)($at) -/* 0D3738 800D2B38 3C01800E */ lui $at, %hi(D_800E4874) # $at, 0x800e +/* 0D3730 800D2B30 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e +/* 0D3734 800D2B34 AC2E4870 */ sw $t6, %lo(__osViCurr)($at) +/* 0D3738 800D2B38 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e /* 0D373C 800D2B3C 25CF0030 */ addiu $t7, $t6, 0x30 -/* 0D3740 800D2B40 AC2F4874 */ sw $t7, %lo(D_800E4874)($at) +/* 0D3740 800D2B40 AC2F4874 */ sw $t7, %lo(__osViNext)($at) /* 0D3744 800D2B44 24180001 */ li $t8, 1 /* 0D3748 800D2B48 A5D80032 */ sh $t8, 0x32($t6) -/* 0D374C 800D2B4C 3C08800E */ lui $t0, %hi(D_800E4870) # $t0, 0x800e -/* 0D3750 800D2B50 8D084870 */ lw $t0, %lo(D_800E4870)($t0) +/* 0D374C 800D2B4C 3C08800E */ lui $t0, %hi(__osViCurr) # $t0, 0x800e +/* 0D3750 800D2B50 8D084870 */ lw $t0, %lo(__osViCurr)($t0) /* 0D3754 800D2B54 24190001 */ li $t9, 1 /* 0D3758 800D2B58 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000 /* 0D375C 800D2B5C A5190002 */ sh $t9, 2($t0) /* 0D3760 800D2B60 8D290300 */ lw $t1, %lo(osTvType)($t1) /* 0D3764 800D2B64 1520000B */ bnez $t1, .L800D2B94 /* 0D3768 800D2B68 00000000 */ nop -/* 0D376C 800D2B6C 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e -/* 0D3770 800D2B70 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3) +/* 0D376C 800D2B6C 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e +/* 0D3770 800D2B70 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) /* 0D3774 800D2B74 3C0A800E */ lui $t2, %hi(D_800E4760) # $t2, 0x800e /* 0D3778 800D2B78 254A4760 */ addiu $t2, %lo(D_800E4760) # addiu $t2, $t2, 0x4760 /* 0D377C 800D2B7C 3C0C02F5 */ lui $t4, (0x02F5B2D2 >> 16) # lui $t4, 0x2f5 @@ -38,8 +38,8 @@ glabel __osViInit /* 0D379C 800D2B9C 24010002 */ li $at, 2 /* 0D37A0 800D2BA0 15A1000B */ bne $t5, $at, .L800D2BD0 /* 0D37A4 800D2BA4 00000000 */ nop -/* 0D37A8 800D2BA8 3C18800E */ lui $t8, %hi(D_800E4874) # $t8, 0x800e -/* 0D37AC 800D2BAC 8F184874 */ lw $t8, %lo(D_800E4874)($t8) +/* 0D37A8 800D2BA8 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e +/* 0D37AC 800D2BAC 8F184874 */ lw $t8, %lo(__osViNext)($t8) /* 0D37B0 800D2BB0 3C0F800E */ lui $t7, %hi(D_800E47B0) # $t7, 0x800e /* 0D37B4 800D2BB4 25EF47B0 */ addiu $t7, %lo(D_800E47B0) # addiu $t7, $t7, 0x47b0 /* 0D37B8 800D2BB8 3C0E02E6 */ lui $t6, (0x02E6025C >> 16) # lui $t6, 0x2e6 @@ -49,8 +49,8 @@ glabel __osViInit /* 0D37C8 800D2BC8 1000000A */ b .L800D2BF4 /* 0D37CC 800D2BCC AC2E4878 */ sw $t6, %lo(D_800E4878)($at) .L800D2BD0: -/* 0D37D0 800D2BD0 3C08800E */ lui $t0, %hi(D_800E4874) # $t0, 0x800e -/* 0D37D4 800D2BD4 8D084874 */ lw $t0, %lo(D_800E4874)($t0) +/* 0D37D0 800D2BD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e +/* 0D37D4 800D2BD4 8D084874 */ lw $t0, %lo(__osViNext)($t0) /* 0D37D8 800D2BD8 3C19800E */ lui $t9, %hi(D_800E4710) # $t9, 0x800e /* 0D37DC 800D2BDC 27394710 */ addiu $t9, %lo(D_800E4710) # addiu $t9, $t9, 0x4710 /* 0D37E0 800D2BE0 3C0902E6 */ lui $t1, (0x02E6D354 >> 16) # lui $t1, 0x2e6 @@ -59,12 +59,12 @@ glabel __osViInit /* 0D37EC 800D2BEC AD190008 */ sw $t9, 8($t0) /* 0D37F0 800D2BF0 AC294878 */ sw $t1, %lo(D_800E4878)($at) .L800D2BF4: -/* 0D37F4 800D2BF4 3C0B800E */ lui $t3, %hi(D_800E4874) # $t3, 0x800e -/* 0D37F8 800D2BF8 8D6B4874 */ lw $t3, %lo(D_800E4874)($t3) +/* 0D37F4 800D2BF4 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e +/* 0D37F8 800D2BF8 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) /* 0D37FC 800D2BFC 240A0020 */ li $t2, 32 -/* 0D3800 800D2C00 3C0C800E */ lui $t4, %hi(D_800E4874) # $t4, 0x800e +/* 0D3800 800D2C00 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e /* 0D3804 800D2C04 A56A0000 */ sh $t2, ($t3) -/* 0D3808 800D2C08 8D8C4874 */ lw $t4, %lo(D_800E4874)($t4) +/* 0D3808 800D2C08 8D8C4874 */ lw $t4, %lo(__osViNext)($t4) /* 0D380C 800D2C0C 3C18A440 */ lui $t8, %hi(D_A4400010) # $t8, 0xa440 /* 0D3810 800D2C10 8D8D0008 */ lw $t5, 8($t4) /* 0D3814 800D2C14 8DAF0004 */ lw $t7, 4($t5) diff --git a/lib/src/osViBlack.c b/lib/src/osViBlack.c index 0d823012..f0599ff7 100644 --- a/lib/src/osViBlack.c +++ b/lib/src/osViBlack.c @@ -3,14 +3,14 @@ #include "libultra_internal.h" -extern OSViContext *D_800E4874; +extern OSViContext *__osViNext; // TODO: name magic constants void osViBlack(u8 active) { register u32 int_disabled = __osDisableInt(); if (active) { - D_800E4874->unk00 |= 0x20; + __osViNext->unk00 |= 0x20; } else { - D_800E4874->unk00 &= ~0x20; + __osViNext->unk00 &= ~0x20; } __osRestoreInt(int_disabled); } diff --git a/lib/src/osViSwapBuffer.c b/lib/src/osViSwapBuffer.c index 710fea86..634c8731 100644 --- a/lib/src/osViSwapBuffer.c +++ b/lib/src/osViSwapBuffer.c @@ -3,11 +3,11 @@ #include "libultra_internal.h" -extern OSViContext* D_800E4874; +extern OSViContext* __osViNext; void osViSwapBuffer(void* frameBufPtr){ u32 saveMask = __osDisableInt(); - D_800E4874->buffer = frameBufPtr; - D_800E4874->unk00 |= 0x10; + __osViNext->buffer = frameBufPtr; + __osViNext->unk00 |= 0x10; __osRestoreInt(saveMask); } diff --git a/src/unknown_079F50.c b/src/unknown_079F50.c index 7ffb41c0..0771151b 100644 --- a/src/unknown_079F50.c +++ b/src/unknown_079F50.c @@ -66,6 +66,7 @@ extern OSViMode D_800E3900[];//osViModeTable; extern s32 D_80126120; void __scMain(void); +void __scExec(OSSched *sc, OSScTask *sp, OSScTask *dp); void osCreateScheduler(OSSched *sc, void *stack, OSPri priority, u8 mode, u8 numFields){ sc->curRSPTask = 0; @@ -147,7 +148,31 @@ GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scMain.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079760.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079818.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079B44.s") -GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079D5C.s") + + + + +/* + * __scHandleRDP is called when an RDP task signals that it has + * finished + */ +void __scHandleRDP(OSSched *sc) +{ + OSScTask *t, *sp = 0, *dp = 0; + s32 state; + + t = sc->curRDPTask; + sc->curRDPTask = 0; + + t->state &= -2; + + __scTaskComplete(sc, t); + + state = ((sc->curRSPTask == 0) << 1) | (sc->curRDPTask == 0); + if ( (__scSchedule(sc, &sp, &dp, state)) != state) + __scExec(sc, sp, dp); +} + OSScTask *__scTaskReady(OSScTask *t) { @@ -167,9 +192,9 @@ OSScTask *__scTaskReady(OSScTask *t) } #if 1 -GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079E40.s") +GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scTaskComplete.s") #else -s32 func_80079E40(OSSched *sc, OSScTask *t) +s32 __scTaskComplete(OSSched *sc, OSScTask *t) { int rv; int firsttime = 1; @@ -272,5 +297,5 @@ void func_8007A080(OSSched *sc) } } #endif -GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_8007A0D4.s") +GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scSchedule.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_8007A2D0.s") diff --git a/undefined_syms.txt b/undefined_syms.txt index 81e1aa7c..05052cca 100755 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -782,8 +782,8 @@ D_800E4760 = 0x800E4760; D_800E47B0 = 0x800E47B0; __osPiAccessQueueEnabled = 0x800E4800; D_800E4810 = 0x800E4810; -D_800E4870 = 0x800E4870; -D_800E4874 = 0x800E4874; +__osViCurr = 0x800E4870; +__osViNext = 0x800E4874; D_800E4878 = 0x800E4878; __osThreadTail = 0x800E4880; __RunQueue = 0x800E4888; From da0c0e042198d800a87f3a37545f876a6d3a90e8 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 18:07:32 -0500 Subject: [PATCH 04/14] c: osViGetCurrentFrameBuffer --- .../osViGetCurrentFramebuffer.s | 18 ---- lib/src/unknown_0D29F0.c | 34 ++++++- src/unknown_079F50.c | 90 +++++++++++++++---- 3 files changed, 106 insertions(+), 36 deletions(-) delete mode 100644 lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s diff --git a/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s b/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s deleted file mode 100644 index 26d7f6b8..00000000 --- a/lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel osViGetCurrentFramebuffer -/* 0D2A70 800D1E70 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D2A74 800D1E74 AFBF001C */ sw $ra, 0x1c($sp) -/* 0D2A78 800D1E78 0C034958 */ jal __osDisableInt -/* 0D2A7C 800D1E7C AFB00018 */ sw $s0, 0x18($sp) -/* 0D2A80 800D1E80 3C0E800E */ lui $t6, %hi(__osViCurr) # $t6, 0x800e -/* 0D2A84 800D1E84 8DCE4870 */ lw $t6, %lo(__osViCurr)($t6) -/* 0D2A88 800D1E88 00408025 */ move $s0, $v0 -/* 0D2A8C 800D1E8C 02002025 */ move $a0, $s0 -/* 0D2A90 800D1E90 8DCF0004 */ lw $t7, 4($t6) -/* 0D2A94 800D1E94 0C034960 */ jal __osRestoreInt -/* 0D2A98 800D1E98 AFAF0020 */ sw $t7, 0x20($sp) -/* 0D2A9C 800D1E9C 8FBF001C */ lw $ra, 0x1c($sp) -/* 0D2AA0 800D1EA0 8FA20020 */ lw $v0, 0x20($sp) -/* 0D2AA4 800D1EA4 8FB00018 */ lw $s0, 0x18($sp) -/* 0D2AA8 800D1EA8 03E00008 */ jr $ra -/* 0D2AAC 800D1EAC 27BD0028 */ addiu $sp, $sp, 0x28 - diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index e30fe1b8..484061e8 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -5,11 +5,43 @@ #include "macros.h" #include "libultra_internal.h" +typedef struct +{ + /* 0x0 */ f32 factor; + /* 0x4 */ u16 offset; + /* 0x8 */ u32 scale; +} __OSViScale; + +typedef struct +{ + /* 0x0 */ u16 state; + /* 0x2 */ u16 retraceCount; + /* 0x4 */ void *framep; + /* 0x8 */ OSViMode *modep; + /* 0xC */ u32 control; + /* 0x10 */ OSMesgQueue *msgq; + /* 0x14 */ OSMesg msg; + /* 0x18 */ __OSViScale x; + /* 0x24 */ __OSViScale y; +} __OSViContext; + extern OSTime __osCurrentTime;//__osCurrentTime extern u32 __osBaseCounter; //__osBaseCounter +extern __OSViContext *__osViCurr; GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/func_800D1DF0.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osViGetCurrentFramebuffer.s") + +void *osViGetCurrentFramebuffer(void) +{ + register u32 saveMask; + void *framep; + + saveMask = __osDisableInt(); + framep = __osViCurr->framep; + __osRestoreInt(saveMask); + return framep; +} + GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s") diff --git a/src/unknown_079F50.c b/src/unknown_079F50.c index 0771151b..9306726f 100644 --- a/src/unknown_079F50.c +++ b/src/unknown_079F50.c @@ -9,6 +9,8 @@ #define OS_SC_PRE_NMI_MSG 4 #define OS_SC_MAX_MESGS 8 +#define OS_SC_YIELD 2 + typedef struct { short type; char misc[30]; @@ -147,17 +149,76 @@ GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_8007957C.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scMain.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079760.s") GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079818.s") + + +#if 1 GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_80079B44.s") +#else +extern f32 D_800DE740; +extern f32 D_800DE744; +extern f32 D_800DE748; +extern f32 D_800DE74C; +extern u32 D_800DE750; +extern f32 D_800E796C; +extern u32 D_80126124; +void func_80079B44(OSSched *sc){ + OSScTask *t, *sp = 0, *dp = 0; + s32 state; + u32 delta; + f32 tmp1; + + //assert(sc->curRSPTask); + t = sc->curRSPTask; + sc->curRSPTask = 0; + + if (t->list.t.type == 2) { + D_80126124 = osGetCount(); + delta = D_80126124 - D_80126120; + tmp1 = (f32) delta; + if(delta < 0){ + tmp1 += 4294967296.0; + } + D_800DE74C = tmp1*60.0f/D_800E796C; + D_800DE744 = D_800DE744 + D_800DE74C; + if(D_800DE740 < D_800DE74C){ + D_800DE740 = D_800DE74C; + } + if(D_800DE750%1000 == 1 || D_800DE750%1000 == 2){ + D_800DE748 = D_800DE744/500.0f; + D_800DE744 = 0.0f; + D_800DE740 = 0.0f; + } + } + if(t->state & 0x10){ + if(func_800D1DF0(&(t->list))){ + t->state |= 0x20; + if ((t->flags & 0x07) == -3) { + + /* push the task back on the list */ + t->next = sc->gfxListHead; + sc->gfxListHead = t; + if (sc->gfxListTail == 0) + sc->gfxListTail = t; + } + } + else{ + t->state &= -3; + } + } + else { + t->state &= -3; + __scTaskComplete(sc, t); + } + state = ((sc->curRSPTask == 0) << 1) | (sc->curRDPTask == 0); + if ( (__scSchedule (sc, &sp, &dp, state)) != state) + __scExec(sc, sp, dp); +} +#endif -/* - * __scHandleRDP is called when an RDP task signals that it has - * finished - */ -void __scHandleRDP(OSSched *sc) -{ +void __scHandleRDP(OSSched *sc){ OSScTask *t, *sp = 0, *dp = 0; s32 state; @@ -174,8 +235,7 @@ void __scHandleRDP(OSSched *sc) } -OSScTask *__scTaskReady(OSScTask *t) -{ +OSScTask *__scTaskReady(OSScTask *t){ if (t) { /* * If there is a pending swap bail out til later (next @@ -194,14 +254,13 @@ OSScTask *__scTaskReady(OSScTask *t) #if 1 GLOBAL_ASM("asm/non_matchings/unknown_079F50/__scTaskComplete.s") #else -s32 __scTaskComplete(OSSched *sc, OSScTask *t) -{ +s32 __scTaskComplete(OSSched *sc, OSScTask *t) { int rv; int firsttime = 1; if ((t->state & 0x03) == 0) { /* none of the needs bits set */ -// assert (t->msgQ); + assert (t->msgQ); if(t->msgQ){ //rv = osSendMesg(t->msgQ, &t->msg, OS_MESG_BLOCK); @@ -231,8 +290,7 @@ s32 __scTaskComplete(OSSched *sc, OSScTask *t) } #endif -void __scAppendList(OSSched *sc, OSScTask *t) -{ +void __scAppendList(OSSched *sc, OSScTask *t) { u32 tmp = t->list.t.type; if (tmp == 2){ if(sc->audioListTail) @@ -254,8 +312,7 @@ void __scAppendList(OSSched *sc, OSScTask *t) t->state = t->flags & 0x03; } -void __scExec(OSSched *sc, OSScTask *sp, OSScTask *dp) -{ +void __scExec(OSSched *sc, OSScTask *sp, OSScTask *dp){ if (sp) { if (sp->list.t.type == M_AUDTASK) { @@ -286,8 +343,7 @@ void __scExec(OSSched *sc, OSScTask *sp, OSScTask *dp) GLOBAL_ASM("asm/non_matchings/unknown_079F50/func_8007A080.s") #else extern OSTime D_80126118; -void func_8007A080(OSSched *sc) -{ +void func_8007A080(OSSched *sc) { if (sc->curRSPTask->list.t.type == M_GFXTASK) { //sc->curRSPTask->state |= OS_SC_YIELD; From 7ae5fd163406737315a78f298a885e58422b5e55 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 18:08:31 -0500 Subject: [PATCH 05/14] c: osViGetNextFrameBuffer --- lib/src/unknown_0D29F0.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index 484061e8..2484a748 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -28,6 +28,7 @@ typedef struct extern OSTime __osCurrentTime;//__osCurrentTime extern u32 __osBaseCounter; //__osBaseCounter extern __OSViContext *__osViCurr; +extern __OSViContext *__osViNext; GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/func_800D1DF0.s") @@ -42,7 +43,17 @@ void *osViGetCurrentFramebuffer(void) return framep; } -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s") +void *osViGetNextFramebuffer(void) +{ + register u32 saveMask; + void *framep; + + saveMask = __osDisableInt(); + framep = __osViNext->framep; + __osRestoreInt(saveMask); + return framep; +} + GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskStartGo.s") From 9bfd87847c5ecafeb85934b81ba9fce5238ff64c Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 18:08:54 -0500 Subject: [PATCH 06/14] c: osViGetNextFrameBuffer --- lib/src/unknown_0D29F0.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index 2484a748..37252ba6 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -32,8 +32,7 @@ extern __OSViContext *__osViNext; GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/func_800D1DF0.s") -void *osViGetCurrentFramebuffer(void) -{ +void *osViGetCurrentFramebuffer(void){ register u32 saveMask; void *framep; @@ -43,8 +42,7 @@ void *osViGetCurrentFramebuffer(void) return framep; } -void *osViGetNextFramebuffer(void) -{ +void *osViGetNextFramebuffer(void){ register u32 saveMask; void *framep; From d9e43d0927a45365675f037a9145ed2a1230f4d7 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 18:09:26 -0500 Subject: [PATCH 07/14] c: osViGetNextFrameBuffer --- .../unknown_0D29F0/osViGetNextFramebuffer.s | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s diff --git a/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s b/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s deleted file mode 100644 index 5d47ada3..00000000 --- a/lib/asm/non_matchings/unknown_0D29F0/osViGetNextFramebuffer.s +++ /dev/null @@ -1,18 +0,0 @@ -glabel osViGetNextFramebuffer -/* 0D2AB0 800D1EB0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0D2AB4 800D1EB4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0D2AB8 800D1EB8 0C034958 */ jal __osDisableInt -/* 0D2ABC 800D1EBC AFB00018 */ sw $s0, 0x18($sp) -/* 0D2AC0 800D1EC0 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e -/* 0D2AC4 800D1EC4 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) -/* 0D2AC8 800D1EC8 00408025 */ move $s0, $v0 -/* 0D2ACC 800D1ECC 02002025 */ move $a0, $s0 -/* 0D2AD0 800D1ED0 8DCF0004 */ lw $t7, 4($t6) -/* 0D2AD4 800D1ED4 0C034960 */ jal __osRestoreInt -/* 0D2AD8 800D1ED8 AFAF0020 */ sw $t7, 0x20($sp) -/* 0D2ADC 800D1EDC 8FBF001C */ lw $ra, 0x1c($sp) -/* 0D2AE0 800D1EE0 8FA20020 */ lw $v0, 0x20($sp) -/* 0D2AE4 800D1EE4 8FB00018 */ lw $s0, 0x18($sp) -/* 0D2AE8 800D1EE8 03E00008 */ jr $ra -/* 0D2AEC 800D1EEC 27BD0028 */ addiu $sp, $sp, 0x28 - From ee0bf8b91f1a20f4a5a5dc272f6242cbf889ce31 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 18:23:40 -0500 Subject: [PATCH 08/14] osSpTaskStartGo --- Makefile | 1 + .../unknown_0D29F0/osSpTaskStartGo.s | 21 -------------- lib/src/osGetTime.c | 21 ++++++++++++++ lib/src/unknown_0D29F0.c | 29 +++++++++---------- 4 files changed, 36 insertions(+), 36 deletions(-) delete mode 100644 lib/asm/non_matchings/unknown_0D29F0/osSpTaskStartGo.s create mode 100644 lib/src/osGetTime.c diff --git a/Makefile b/Makefile index ffa57d54..21829ac6 100755 --- a/Makefile +++ b/Makefile @@ -257,6 +257,7 @@ $(BUILD_DIR)/lib/src/unknown_0D5EC0.o: OPT_FLAGS := -O1 $(BUILD_DIR)/lib/src/unknown_0C9C90.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0 $(BUILD_DIR)/lib/src/osCreateThread.o : OPT_FLAGS := -O1 $(BUILD_DIR)/lib/src/osGetThreadPri.o : OPT_FLAGS := -O1 +$(BUILD_DIR)/lib/src/osGetTime.o : OPT_FLAGS := -O1 $(BUILD_DIR)/lib/src/osJamMesg.o : OPT_FLAGS := -O1 $(BUILD_DIR)/lib/src/osPfsFreeBlocks.o: OPT_FLAGS := -O1 $(BUILD_DIR)/lib/src/osPiGetCmdQueue.o : OPT_FLAGS := -O1 diff --git a/lib/asm/non_matchings/unknown_0D29F0/osSpTaskStartGo.s b/lib/asm/non_matchings/unknown_0D29F0/osSpTaskStartGo.s deleted file mode 100644 index 3902b339..00000000 --- a/lib/asm/non_matchings/unknown_0D29F0/osSpTaskStartGo.s +++ /dev/null @@ -1,21 +0,0 @@ -glabel osSpTaskStartGo -/* 0D2D6C 800D216C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 0D2D70 800D2170 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D2D74 800D2174 0C035934 */ jal __osSpDeviceBusy -/* 0D2D78 800D2178 AFA40018 */ sw $a0, 0x18($sp) -/* 0D2D7C 800D217C 10400005 */ beqz $v0, .L800D2194 -/* 0D2D80 800D2180 00000000 */ nop -.L800D2184: -/* 0D2D84 800D2184 0C035934 */ jal __osSpDeviceBusy -/* 0D2D88 800D2188 00000000 */ nop -/* 0D2D8C 800D218C 1440FFFD */ bnez $v0, .L800D2184 -/* 0D2D90 800D2190 00000000 */ nop -.L800D2194: -/* 0D2D94 800D2194 0C033490 */ jal __osSpSetStatus -/* 0D2D98 800D2198 24040125 */ li $a0, 293 -/* 0D2D9C 800D219C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D2DA0 800D21A0 27BD0018 */ addiu $sp, $sp, 0x18 -/* 0D2DA4 800D21A4 03E00008 */ jr $ra -/* 0D2DA8 800D21A8 00000000 */ nop - -/* 0D2DAC 800D21AC 00000000 */ nop diff --git a/lib/src/osGetTime.c b/lib/src/osGetTime.c new file mode 100644 index 00000000..d613e0a6 --- /dev/null +++ b/lib/src/osGetTime.c @@ -0,0 +1,21 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x800D21B0 */ + +#include "libultra_internal.h" + +extern OSTime __osCurrentTime;//__osCurrentTime +extern u32 __osBaseCounter; //__osBaseCounter + +OSTime osGetTime() +{ + u32 tmptime; + u32 elapseCount; + OSTime currentCount; + register u32 saveMask; + saveMask = __osDisableInt(); + tmptime = osGetCount(); + elapseCount = tmptime - __osBaseCounter; + currentCount = __osCurrentTime; + __osRestoreInt(saveMask); + return currentCount + elapseCount; +} \ No newline at end of file diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index 37252ba6..dd9dfb8f 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -25,8 +25,6 @@ typedef struct /* 0x24 */ __OSViScale y; } __OSViContext; -extern OSTime __osCurrentTime;//__osCurrentTime -extern u32 __osBaseCounter; //__osBaseCounter extern __OSViContext *__osViCurr; extern __OSViContext *__osViNext; @@ -54,18 +52,19 @@ void *osViGetNextFramebuffer(void){ GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskStartGo.s") -OSTime osGetTime() -{ - u32 tmptime; - u32 elapseCount; - OSTime currentCount; - register u32 saveMask; - saveMask = __osDisableInt(); - tmptime = osGetCount(); - elapseCount = tmptime - __osBaseCounter; - currentCount = __osCurrentTime; - __osRestoreInt(saveMask); - return currentCount + elapseCount; + +/* + * Values to clear/set bit in status reg (SP_STATUS_REG - write) + */ +#define SP_CLR_HALT 0x00001 /* Bit 0: clear halt */ +#define SP_CLR_BROKE 0x00004 /* Bit 2: clear broke */ +#define SP_CLR_SSTEP 0x00020 /* Bit 5: clear sstep */ +#define SP_SET_INTR_BREAK 0x00100 /* Bit 8: set intr on break */ + +void osSpTaskStartGo(OSTask *tp){ + while (__osSpDeviceBusy()); + + __osSpSetStatus(SP_SET_INTR_BREAK | SP_CLR_SSTEP | SP_CLR_BROKE | SP_CLR_HALT); } + From 142dda8043d584e3b0a94fd1092a0dcc51df8a6d Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 18:34:46 -0500 Subject: [PATCH 09/14] c: osSpTaskLoad --- .../unknown_0D29F0/osSpTaskLoad.s | 99 ------------------- lib/src/unknown_0D29F0.c | 51 ++++++++-- 2 files changed, 45 insertions(+), 105 deletions(-) delete mode 100644 lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s diff --git a/lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s b/lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s deleted file mode 100644 index ea7e021a..00000000 --- a/lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s +++ /dev/null @@ -1,99 +0,0 @@ -glabel osSpTaskLoad -/* 0D2C0C 800D200C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0D2C10 800D2010 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D2C14 800D2014 AFA40020 */ sw $a0, 0x20($sp) -/* 0D2C18 800D2018 0C0347BC */ jal _VirtualToPhysicalTask -/* 0D2C1C 800D201C 8FA40020 */ lw $a0, 0x20($sp) -/* 0D2C20 800D2020 AFA2001C */ sw $v0, 0x1c($sp) -/* 0D2C24 800D2024 8FAE001C */ lw $t6, 0x1c($sp) -/* 0D2C28 800D2028 8DCF0004 */ lw $t7, 4($t6) -/* 0D2C2C 800D202C 31F80001 */ andi $t8, $t7, 1 -/* 0D2C30 800D2030 1300000B */ beqz $t8, .L800D2060 -/* 0D2C34 800D2034 00000000 */ nop -/* 0D2C38 800D2038 8DD90038 */ lw $t9, 0x38($t6) -/* 0D2C3C 800D203C 2401FFFE */ li $at, -2 -/* 0D2C40 800D2040 ADD90018 */ sw $t9, 0x18($t6) -/* 0D2C44 800D2044 8FA8001C */ lw $t0, 0x1c($sp) -/* 0D2C48 800D2048 8D09003C */ lw $t1, 0x3c($t0) -/* 0D2C4C 800D204C AD09001C */ sw $t1, 0x1c($t0) -/* 0D2C50 800D2050 8FAA0020 */ lw $t2, 0x20($sp) -/* 0D2C54 800D2054 8D4B0004 */ lw $t3, 4($t2) -/* 0D2C58 800D2058 01616024 */ and $t4, $t3, $at -/* 0D2C5C 800D205C AD4C0004 */ sw $t4, 4($t2) -.L800D2060: -/* 0D2C60 800D2060 8FA4001C */ lw $a0, 0x1c($sp) -/* 0D2C64 800D2064 0C03518C */ jal osWritebackDCache -/* 0D2C68 800D2068 24050040 */ li $a1, 64 -/* 0D2C6C 800D206C 0C033490 */ jal __osSpSetStatus -/* 0D2C70 800D2070 24042B00 */ li $a0, 11008 -/* 0D2C74 800D2074 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 -/* 0D2C78 800D2078 0C035900 */ jal __osSpSetPc -/* 0D2C7C 800D207C 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 -/* 0D2C80 800D2080 2401FFFF */ li $at, -1 -/* 0D2C84 800D2084 14410007 */ bne $v0, $at, .L800D20A4 -/* 0D2C88 800D2088 00000000 */ nop -.L800D208C: -/* 0D2C8C 800D208C 3C040400 */ lui $a0, (0x04001000 >> 16) # lui $a0, 0x400 -/* 0D2C90 800D2090 0C035900 */ jal __osSpSetPc -/* 0D2C94 800D2094 34841000 */ ori $a0, (0x04001000 & 0xFFFF) # ori $a0, $a0, 0x1000 -/* 0D2C98 800D2098 2401FFFF */ li $at, -1 -/* 0D2C9C 800D209C 1041FFFB */ beq $v0, $at, .L800D208C -/* 0D2CA0 800D20A0 00000000 */ nop -.L800D20A4: -/* 0D2CA4 800D20A4 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 -/* 0D2CA8 800D20A8 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 -/* 0D2CAC 800D20AC 24040001 */ li $a0, 1 -/* 0D2CB0 800D20B0 8FA6001C */ lw $a2, 0x1c($sp) -/* 0D2CB4 800D20B4 0C035910 */ jal __osSpRawStartDma -/* 0D2CB8 800D20B8 24070040 */ li $a3, 64 -/* 0D2CBC 800D20BC 2401FFFF */ li $at, -1 -/* 0D2CC0 800D20C0 1441000A */ bne $v0, $at, .L800D20EC -/* 0D2CC4 800D20C4 00000000 */ nop -.L800D20C8: -/* 0D2CC8 800D20C8 3C050400 */ lui $a1, (0x04000FC0 >> 16) # lui $a1, 0x400 -/* 0D2CCC 800D20CC 34A50FC0 */ ori $a1, (0x04000FC0 & 0xFFFF) # ori $a1, $a1, 0xfc0 -/* 0D2CD0 800D20D0 24040001 */ li $a0, 1 -/* 0D2CD4 800D20D4 8FA6001C */ lw $a2, 0x1c($sp) -/* 0D2CD8 800D20D8 0C035910 */ jal __osSpRawStartDma -/* 0D2CDC 800D20DC 24070040 */ li $a3, 64 -/* 0D2CE0 800D20E0 2401FFFF */ li $at, -1 -/* 0D2CE4 800D20E4 1041FFF8 */ beq $v0, $at, .L800D20C8 -/* 0D2CE8 800D20E8 00000000 */ nop -.L800D20EC: -/* 0D2CEC 800D20EC 0C035934 */ jal __osSpDeviceBusy -/* 0D2CF0 800D20F0 00000000 */ nop -/* 0D2CF4 800D20F4 10400005 */ beqz $v0, .L800D210C -/* 0D2CF8 800D20F8 00000000 */ nop -.L800D20FC: -/* 0D2CFC 800D20FC 0C035934 */ jal __osSpDeviceBusy -/* 0D2D00 800D2100 00000000 */ nop -/* 0D2D04 800D2104 1440FFFD */ bnez $v0, .L800D20FC -/* 0D2D08 800D2108 00000000 */ nop -.L800D210C: -/* 0D2D0C 800D210C 8FAD001C */ lw $t5, 0x1c($sp) -/* 0D2D10 800D2110 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 -/* 0D2D14 800D2114 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 -/* 0D2D18 800D2118 24040001 */ li $a0, 1 -/* 0D2D1C 800D211C 8DA60008 */ lw $a2, 8($t5) -/* 0D2D20 800D2120 0C035910 */ jal __osSpRawStartDma -/* 0D2D24 800D2124 8DA7000C */ lw $a3, 0xc($t5) -/* 0D2D28 800D2128 2401FFFF */ li $at, -1 -/* 0D2D2C 800D212C 1441000B */ bne $v0, $at, .L800D215C -/* 0D2D30 800D2130 00000000 */ nop -.L800D2134: -/* 0D2D34 800D2134 8FAF001C */ lw $t7, 0x1c($sp) -/* 0D2D38 800D2138 3C050400 */ lui $a1, (0x04001000 >> 16) # lui $a1, 0x400 -/* 0D2D3C 800D213C 34A51000 */ ori $a1, (0x04001000 & 0xFFFF) # ori $a1, $a1, 0x1000 -/* 0D2D40 800D2140 24040001 */ li $a0, 1 -/* 0D2D44 800D2144 8DE60008 */ lw $a2, 8($t7) -/* 0D2D48 800D2148 0C035910 */ jal __osSpRawStartDma -/* 0D2D4C 800D214C 8DE7000C */ lw $a3, 0xc($t7) -/* 0D2D50 800D2150 2401FFFF */ li $at, -1 -/* 0D2D54 800D2154 1041FFF7 */ beq $v0, $at, .L800D2134 -/* 0D2D58 800D2158 00000000 */ nop -.L800D215C: -/* 0D2D5C 800D215C 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D2D60 800D2160 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0D2D64 800D2164 03E00008 */ jr $ra -/* 0D2D68 800D2168 00000000 */ nop - diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index dd9dfb8f..56dc04f3 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -50,17 +50,56 @@ void *osViGetNextFramebuffer(void){ return framep; } -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/osSpTaskLoad.s") +#define OS_TASK_YIELDED 0x0001 - -/* - * Values to clear/set bit in status reg (SP_STATUS_REG - write) - */ #define SP_CLR_HALT 0x00001 /* Bit 0: clear halt */ #define SP_CLR_BROKE 0x00004 /* Bit 2: clear broke */ #define SP_CLR_SSTEP 0x00020 /* Bit 5: clear sstep */ #define SP_SET_INTR_BREAK 0x00100 /* Bit 8: set intr on break */ +#define SP_CLR_SIG0 0x00200 /* Bit 9: clear signal 0 */ +#define SP_CLR_SIG1 0x00800 /* Bit 11: clear signal 1 */ +#define SP_CLR_SIG2 0x02000 /* Bit 11: clear signal 1 */ + + + +#define SP_CLR_YIELD SP_CLR_SIG0 +#define SP_CLR_YIELDED SP_CLR_SIG1 +#define SP_CLR_TASKDONE SP_CLR_SIG2 + +#define SP_IMEM_START 0x04001000 /* read/write */ + + +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s") + +void osSpTaskLoad(OSTask *intp) +{ + + OSTask *tp; + tp = _VirtualToPhysicalTask(intp); + if (tp->t.flags & OS_TASK_YIELDED) + { + tp->t.ucode_data = tp->t.yield_data_ptr; + tp->t.ucode_data_size = tp->t.yield_data_size; + intp->t.flags &= ~OS_TASK_YIELDED; + } + osWritebackDCache(tp, sizeof(OSTask)); + __osSpSetStatus(SP_CLR_YIELD | SP_CLR_YIELDED | SP_CLR_TASKDONE | SP_SET_INTR_BREAK); + while (__osSpSetPc(SP_IMEM_START) == -1) + ; + + while (__osSpRawStartDma(1, (SP_IMEM_START - sizeof(*tp)), tp, + sizeof(OSTask)) == -1) + ; + + while (__osSpDeviceBusy()) + ; + + while (__osSpRawStartDma(1, SP_IMEM_START, tp->t.ucode_boot, + tp->t.ucode_boot_size) == -1) + ; +} + + void osSpTaskStartGo(OSTask *tp){ while (__osSpDeviceBusy()); From ca8efa863f1c9bb2c2d0c134bc3d0a14954b981b Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 18:42:51 -0500 Subject: [PATCH 10/14] c: _VirtualToPhysicalTask --- .../unknown_0D29F0/_VirtualToPhysicalTask.s | 80 ------------------- lib/src/unknown_0D29F0.c | 30 +++++-- 2 files changed, 25 insertions(+), 85 deletions(-) delete mode 100644 lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s diff --git a/lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s b/lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s deleted file mode 100644 index 6169cc80..00000000 --- a/lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s +++ /dev/null @@ -1,80 +0,0 @@ -glabel _VirtualToPhysicalTask -/* 0D2AF0 800D1EF0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0D2AF4 800D1EF4 3C0E8013 */ lui $t6, %hi(D_8012D1A0) # $t6, 0x8013 -/* 0D2AF8 800D1EF8 AFBF0014 */ sw $ra, 0x14($sp) -/* 0D2AFC 800D1EFC AFA40020 */ sw $a0, 0x20($sp) -/* 0D2B00 800D1F00 25CED1A0 */ addiu $t6, %lo(D_8012D1A0) # addiu $t6, $t6, -0x2e60 -/* 0D2B04 800D1F04 AFAE001C */ sw $t6, 0x1c($sp) -/* 0D2B08 800D1F08 01C02825 */ move $a1, $t6 -/* 0D2B0C 800D1F0C 8FA40020 */ lw $a0, 0x20($sp) -/* 0D2B10 800D1F10 0C032768 */ jal bcopy -/* 0D2B14 800D1F14 24060040 */ li $a2, 64 -/* 0D2B18 800D1F18 8FAF001C */ lw $t7, 0x1c($sp) -/* 0D2B1C 800D1F1C 8DF80010 */ lw $t8, 0x10($t7) -/* 0D2B20 800D1F20 13000005 */ beqz $t8, .L800D1F38 -/* 0D2B24 800D1F24 00000000 */ nop -/* 0D2B28 800D1F28 0C03233C */ jal osVirtualToPhysical -/* 0D2B2C 800D1F2C 03002025 */ move $a0, $t8 -/* 0D2B30 800D1F30 8FB9001C */ lw $t9, 0x1c($sp) -/* 0D2B34 800D1F34 AF220010 */ sw $v0, 0x10($t9) -.L800D1F38: -/* 0D2B38 800D1F38 8FA8001C */ lw $t0, 0x1c($sp) -/* 0D2B3C 800D1F3C 8D090018 */ lw $t1, 0x18($t0) -/* 0D2B40 800D1F40 11200005 */ beqz $t1, .L800D1F58 -/* 0D2B44 800D1F44 00000000 */ nop -/* 0D2B48 800D1F48 0C03233C */ jal osVirtualToPhysical -/* 0D2B4C 800D1F4C 01202025 */ move $a0, $t1 -/* 0D2B50 800D1F50 8FAA001C */ lw $t2, 0x1c($sp) -/* 0D2B54 800D1F54 AD420018 */ sw $v0, 0x18($t2) -.L800D1F58: -/* 0D2B58 800D1F58 8FAB001C */ lw $t3, 0x1c($sp) -/* 0D2B5C 800D1F5C 8D6C0020 */ lw $t4, 0x20($t3) -/* 0D2B60 800D1F60 11800005 */ beqz $t4, .L800D1F78 -/* 0D2B64 800D1F64 00000000 */ nop -/* 0D2B68 800D1F68 0C03233C */ jal osVirtualToPhysical -/* 0D2B6C 800D1F6C 01802025 */ move $a0, $t4 -/* 0D2B70 800D1F70 8FAD001C */ lw $t5, 0x1c($sp) -/* 0D2B74 800D1F74 ADA20020 */ sw $v0, 0x20($t5) -.L800D1F78: -/* 0D2B78 800D1F78 8FAE001C */ lw $t6, 0x1c($sp) -/* 0D2B7C 800D1F7C 8DCF0028 */ lw $t7, 0x28($t6) -/* 0D2B80 800D1F80 11E00005 */ beqz $t7, .L800D1F98 -/* 0D2B84 800D1F84 00000000 */ nop -/* 0D2B88 800D1F88 0C03233C */ jal osVirtualToPhysical -/* 0D2B8C 800D1F8C 01E02025 */ move $a0, $t7 -/* 0D2B90 800D1F90 8FB8001C */ lw $t8, 0x1c($sp) -/* 0D2B94 800D1F94 AF020028 */ sw $v0, 0x28($t8) -.L800D1F98: -/* 0D2B98 800D1F98 8FB9001C */ lw $t9, 0x1c($sp) -/* 0D2B9C 800D1F9C 8F28002C */ lw $t0, 0x2c($t9) -/* 0D2BA0 800D1FA0 11000005 */ beqz $t0, .L800D1FB8 -/* 0D2BA4 800D1FA4 00000000 */ nop -/* 0D2BA8 800D1FA8 0C03233C */ jal osVirtualToPhysical -/* 0D2BAC 800D1FAC 01002025 */ move $a0, $t0 -/* 0D2BB0 800D1FB0 8FA9001C */ lw $t1, 0x1c($sp) -/* 0D2BB4 800D1FB4 AD22002C */ sw $v0, 0x2c($t1) -.L800D1FB8: -/* 0D2BB8 800D1FB8 8FAA001C */ lw $t2, 0x1c($sp) -/* 0D2BBC 800D1FBC 8D4B0030 */ lw $t3, 0x30($t2) -/* 0D2BC0 800D1FC0 11600005 */ beqz $t3, .L800D1FD8 -/* 0D2BC4 800D1FC4 00000000 */ nop -/* 0D2BC8 800D1FC8 0C03233C */ jal osVirtualToPhysical -/* 0D2BCC 800D1FCC 01602025 */ move $a0, $t3 -/* 0D2BD0 800D1FD0 8FAC001C */ lw $t4, 0x1c($sp) -/* 0D2BD4 800D1FD4 AD820030 */ sw $v0, 0x30($t4) -.L800D1FD8: -/* 0D2BD8 800D1FD8 8FAD001C */ lw $t5, 0x1c($sp) -/* 0D2BDC 800D1FDC 8DAE0038 */ lw $t6, 0x38($t5) -/* 0D2BE0 800D1FE0 11C00005 */ beqz $t6, .L800D1FF8 -/* 0D2BE4 800D1FE4 00000000 */ nop -/* 0D2BE8 800D1FE8 0C03233C */ jal osVirtualToPhysical -/* 0D2BEC 800D1FEC 01C02025 */ move $a0, $t6 -/* 0D2BF0 800D1FF0 8FAF001C */ lw $t7, 0x1c($sp) -/* 0D2BF4 800D1FF4 ADE20038 */ sw $v0, 0x38($t7) -.L800D1FF8: -/* 0D2BF8 800D1FF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 0D2BFC 800D1FFC 8FA2001C */ lw $v0, 0x1c($sp) -/* 0D2C00 800D2000 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0D2C04 800D2004 03E00008 */ jr $ra -/* 0D2C08 800D2008 00000000 */ nop - diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index 56dc04f3..851b883f 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -50,6 +50,9 @@ void *osViGetNextFramebuffer(void){ return framep; } + +//TODO Split into sptask.c and seperate header + #define OS_TASK_YIELDED 0x0001 #define SP_CLR_HALT 0x00001 /* Bit 0: clear halt */ @@ -68,11 +71,30 @@ void *osViGetNextFramebuffer(void){ #define SP_IMEM_START 0x04001000 /* read/write */ +#define _osVirtualToPhysical(ptr) \ + if (ptr != NULL) \ + { \ + ptr = (void *)osVirtualToPhysical(ptr); \ + } -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D29F0/_VirtualToPhysicalTask.s") - -void osSpTaskLoad(OSTask *intp) +OSTask D_8012D1A0; +OSTask *_VirtualToPhysicalTask(OSTask *intp) { + OSTask *tp; + tp = &D_8012D1A0; + bcopy(intp, tp, sizeof(OSTask)); + + _osVirtualToPhysical(tp->t.ucode); + _osVirtualToPhysical(tp->t.ucode_data); + _osVirtualToPhysical(tp->t.dram_stack); + _osVirtualToPhysical(tp->t.output_buff); + _osVirtualToPhysical(tp->t.output_buff_size); + _osVirtualToPhysical(tp->t.data_ptr); + _osVirtualToPhysical(tp->t.yield_data_ptr); + return tp; +} + +void osSpTaskLoad(OSTask *intp){ OSTask *tp; tp = _VirtualToPhysicalTask(intp); @@ -99,8 +121,6 @@ void osSpTaskLoad(OSTask *intp) ; } - - void osSpTaskStartGo(OSTask *tp){ while (__osSpDeviceBusy()); From ac8a1f63ac42f2add9314f476a5fea299615b2aa Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 19:26:26 -0500 Subject: [PATCH 11/14] c: __osViGetCurrentContext --- include/PR/rcp.h | 882 +++++++++++++++++++++++++++++++++++++++ include/ultra64.h | 1 + include/viint.h | 70 ++++ lib/src/unknown_0D29F0.c | 2 +- lib/src/unknown_0D5EC0.c | 32 +- lib/src/unknown_0D6C90.c | 34 ++ 6 files changed, 993 insertions(+), 28 deletions(-) create mode 100644 include/PR/rcp.h create mode 100644 include/viint.h create mode 100644 lib/src/unknown_0D6C90.c diff --git a/include/PR/rcp.h b/include/PR/rcp.h new file mode 100644 index 00000000..3795ff72 --- /dev/null +++ b/include/PR/rcp.h @@ -0,0 +1,882 @@ +#ifndef _RCP_H_ +#define _RCP_H_ + +/************************************************************************** + * * + * Copyright (C) 1995, Silicon Graphics, Inc. * + * * + * These coded instructions, statements, and computer programs contain * + * unpublished proprietary information of Silicon Graphics, Inc., and * + * are protected by Federal copyright law. They may not be disclosed * + * to third parties or copied or duplicated in any form, in whole or * + * in part, without the prior written consent of Silicon Graphics, Inc. * + * * + **************************************************************************/ + +/************************************************************************** + * + * File: rcp.h + * + * This file contains register and bit definitions for RCP memory map. + * $Revision: 1.20 $ + * $Date: 1997/07/23 08:35:21 $ + * $Source: /disk6/Master/cvsmdev2/PR/include/rcp.h,v $ + * + **************************************************************************/ + +#include +#include + +/********************************************************************** + * + * Here is a quick overview of the RCP memory map: + * + +0x0000_0000 .. 0x03ef_ffff RDRAM memory +0x03f0_0000 .. 0x03ff_ffff RDRAM registers + + RCP registers (see below) +0x0400_0000 .. 0x040f_ffff SP registers +0x0410_0000 .. 0x041f_ffff DP command registers +0x0420_0000 .. 0x042f_ffff DP span registers +0x0430_0000 .. 0x043f_ffff MI registers +0x0440_0000 .. 0x044f_ffff VI registers +0x0450_0000 .. 0x045f_ffff AI registers +0x0460_0000 .. 0x046f_ffff PI registers +0x0470_0000 .. 0x047f_ffff RI registers +0x0480_0000 .. 0x048f_ffff SI registers +0x0490_0000 .. 0x04ff_ffff unused + +0x0500_0000 .. 0x05ff_ffff cartridge domain 2 +0x0600_0000 .. 0x07ff_ffff cartridge domain 1 +0x0800_0000 .. 0x0fff_ffff cartridge domain 2 +0x1000_0000 .. 0x1fbf_ffff cartridge domain 1 + +0x1fc0_0000 .. 0x1fc0_07bf PIF Boot Rom (1984 bytes) +0x1fc0_07c0 .. 0x1fc0_07ff PIF (JoyChannel) RAM (64 bytes) +0x1fc0_0800 .. 0x1fcf_ffff Reserved +0x1fd0_0000 .. 0x7fff_ffff cartridge domain 1 +0x8000_0000 .. 0xffff_ffff external SysAD device + +The Indy development board use cartridge domain 1: +0x1000_0000 .. 0x10ff_ffff RAMROM +0x1800_0000 .. 0x1800_0003 GIO interrupt (6 bits valid in 4 bytes) +0x1800_0400 .. 0x1800_0403 GIO sync (6 bits valid in 4 bytes) +0x1800_0800 .. 0x1800_0803 CART interrupt (6 bits valid in 4 bytes) + + + +**************************************************************************/ + + +/************************************************************************* + * RDRAM Memory (Assumes that maximum size is 4 MB) + */ +#define RDRAM_0_START 0x00000000 +#define RDRAM_0_END 0x001FFFFF +#define RDRAM_1_START 0x00200000 +#define RDRAM_1_END 0x003FFFFF + +#define RDRAM_START RDRAM_0_START +#define RDRAM_END RDRAM_1_END + + +/************************************************************************* + * Address predicates + */ +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) +#define IS_RDRAM(x) ((unsigned)(x) >= RDRAM_START && \ + (unsigned)(x) < RDRAM_END) +#endif + + +/************************************************************************* + * RDRAM Registers (0x03f0_0000 .. 0x03ff_ffff) + */ +#define RDRAM_BASE_REG 0x03F00000 + +#define RDRAM_CONFIG_REG (RDRAM_BASE_REG+0x00) +#define RDRAM_DEVICE_TYPE_REG (RDRAM_BASE_REG+0x00) +#define RDRAM_DEVICE_ID_REG (RDRAM_BASE_REG+0x04) +#define RDRAM_DELAY_REG (RDRAM_BASE_REG+0x08) +#define RDRAM_MODE_REG (RDRAM_BASE_REG+0x0c) +#define RDRAM_REF_INTERVAL_REG (RDRAM_BASE_REG+0x10) +#define RDRAM_REF_ROW_REG (RDRAM_BASE_REG+0x14) +#define RDRAM_RAS_INTERVAL_REG (RDRAM_BASE_REG+0x18) +#define RDRAM_MIN_INTERVAL_REG (RDRAM_BASE_REG+0x1c) +#define RDRAM_ADDR_SELECT_REG (RDRAM_BASE_REG+0x20) +#define RDRAM_DEVICE_MANUF_REG (RDRAM_BASE_REG+0x24) + +#define RDRAM_0_DEVICE_ID 0 +#define RDRAM_1_DEVICE_ID 1 + +#define RDRAM_RESET_MODE 0 +#define RDRAM_ACTIVE_MODE 1 +#define RDRAM_STANDBY_MODE 2 + +#define RDRAM_LENGTH (2*512*2048) +#define RDRAM_0_BASE_ADDRESS (RDRAM_0_DEVICE_ID*RDRAM_LENGTH) +#define RDRAM_1_BASE_ADDRESS (RDRAM_1_DEVICE_ID*RDRAM_LENGTH) + +#define RDRAM_0_CONFIG 0x00000 +#define RDRAM_1_CONFIG 0x00400 +#define RDRAM_GLOBAL_CONFIG 0x80000 + + +/************************************************************************* + * PIF Physical memory map (total size = 2 KB) + * + * Size Description Mode + * 1FC007FF +-------+-----------------+-----+ + * | 64 B | JoyChannel RAM | R/W | + * 1FC007C0 +-------+-----------------+-----+ + * |1984 B | Boot ROM | * | * = Reserved + * 1FC00000 +-------+-----------------+-----+ + * + */ +#define PIF_ROM_START 0x1FC00000 +#define PIF_ROM_END 0x1FC007BF +#define PIF_RAM_START 0x1FC007C0 +#define PIF_RAM_END 0x1FC007FF + + +/************************************************************************* + * Controller channel + * Each game controller channel has 4 error bits that are defined in bit 6-7 of + * the Rx and Tx data size area bytes. Programmers need to clear these bits + * when setting the Tx/Rx size area values for a channel + */ +#define CHNL_ERR_NORESP 0x80 /* Bit 7 (Rx): No response error */ +#define CHNL_ERR_OVERRUN 0x40 /* Bit 6 (Rx): Overrun error */ +#define CHNL_ERR_FRAME 0x80 /* Bit 7 (Tx): Frame error */ +#define CHNL_ERR_COLLISION 0x40 /* Bit 6 (Tx): Collision error */ + +#define CHNL_ERR_MASK 0xC0 /* Bit 6-7: channel errors */ + + +/************************************************************************* + * External device info + */ +#define DEVICE_TYPE_CART 0 /* ROM cartridge */ +#define DEVICE_TYPE_BULK 1 /* ROM bulk */ +#define DEVICE_TYPE_64DD 2 /* 64 Disk Drive */ +#define DEVICE_TYPE_SRAM 3 /* SRAM */ + +/************************************************************************* + * SP Memory + */ +#define SP_DMEM_START 0x04000000 /* read/write */ +#define SP_DMEM_END 0x04000FFF +#define SP_IMEM_START 0x04001000 /* read/write */ +#define SP_IMEM_END 0x04001FFF + +/************************************************************************* + * SP CP0 Registers + */ + +#define SP_BASE_REG 0x04040000 + +/* SP memory address (R/W): [11:0] DMEM/IMEM address; [12] 0=DMEM,1=IMEM */ +#define SP_MEM_ADDR_REG (SP_BASE_REG+0x00) /* Master */ + +/* SP DRAM DMA address (R/W): [23:0] RDRAM address */ +#define SP_DRAM_ADDR_REG (SP_BASE_REG+0x04) /* Slave */ + +/* SP read DMA length (R/W): [11:0] length, [19:12] count, [31:20] skip */ +/* direction: I/DMEM <- RDRAM */ +#define SP_RD_LEN_REG (SP_BASE_REG+0x08) /* R/W: read len */ + +/* SP write DMA length (R/W): [11:0] length, [19:12] count, [31:20] skip */ +/* direction: I/DMEM -> RDRAM */ +#define SP_WR_LEN_REG (SP_BASE_REG+0x0C) /* R/W: write len */ + +/* SP status (R/W): [14:0] valid bits; see below for write/read mode */ +#define SP_STATUS_REG (SP_BASE_REG+0x10) + +/* SP DMA full (R): [0] valid bit; dma full */ +#define SP_DMA_FULL_REG (SP_BASE_REG+0x14) + +/* SP DMA busy (R): [0] valid bit; dma busy */ +#define SP_DMA_BUSY_REG (SP_BASE_REG+0x18) + +/* SP semaphore (R/W): Read: [0] semaphore flag (set on read) */ +/* Write: [] clear semaphore flag */ +#define SP_SEMAPHORE_REG (SP_BASE_REG+0x1C) + +/* SP PC (R/W): [11:0] program counter */ +#define SP_PC_REG 0x04080000 + +/* SP MEM address: bit 12 specifies if address is IMEM or DMEM */ +#define SP_DMA_DMEM 0x0000 /* Bit 12: 0=DMEM, 1=IMEM */ +#define SP_DMA_IMEM 0x1000 /* Bit 12: 0=DMEM, 1=IMEM */ + +/* + * Values to clear/set bit in status reg (SP_STATUS_REG - write) + */ +#define SP_CLR_HALT 0x00001 /* Bit 0: clear halt */ +#define SP_SET_HALT 0x00002 /* Bit 1: set halt */ +#define SP_CLR_BROKE 0x00004 /* Bit 2: clear broke */ +#define SP_CLR_INTR 0x00008 /* Bit 3: clear intr */ +#define SP_SET_INTR 0x00010 /* Bit 4: set intr */ +#define SP_CLR_SSTEP 0x00020 /* Bit 5: clear sstep */ +#define SP_SET_SSTEP 0x00040 /* Bit 6: set sstep */ +#define SP_CLR_INTR_BREAK 0x00080 /* Bit 7: clear intr on break */ +#define SP_SET_INTR_BREAK 0x00100 /* Bit 8: set intr on break */ +#define SP_CLR_SIG0 0x00200 /* Bit 9: clear signal 0 */ +#define SP_SET_SIG0 0x00400 /* Bit 10: set signal 0 */ +#define SP_CLR_SIG1 0x00800 /* Bit 11: clear signal 1 */ +#define SP_SET_SIG1 0x01000 /* Bit 12: set signal 1 */ +#define SP_CLR_SIG2 0x02000 /* Bit 13: clear signal 2 */ +#define SP_SET_SIG2 0x04000 /* Bit 14: set signal 2 */ +#define SP_CLR_SIG3 0x08000 /* Bit 15: clear signal 3 */ +#define SP_SET_SIG3 0x10000 /* Bit 16: set signal 3 */ +#define SP_CLR_SIG4 0x20000 /* Bit 17: clear signal 4 */ +#define SP_SET_SIG4 0x40000 /* Bit 18: set signal 4 */ +#define SP_CLR_SIG5 0x80000 /* Bit 19: clear signal 5 */ +#define SP_SET_SIG5 0x100000 /* Bit 20: set signal 5 */ +#define SP_CLR_SIG6 0x200000 /* Bit 21: clear signal 6 */ +#define SP_SET_SIG6 0x400000 /* Bit 22: set signal 6 */ +#define SP_CLR_SIG7 0x800000 /* Bit 23: clear signal 7 */ +#define SP_SET_SIG7 0x1000000 /* Bit 24: set signal 7 */ + +/* + * Patterns to interpret status reg (SP_STATUS_REG - read) + */ +#define SP_STATUS_HALT 0x001 /* Bit 0: halt */ +#define SP_STATUS_BROKE 0x002 /* Bit 1: broke */ +#define SP_STATUS_DMA_BUSY 0x004 /* Bit 2: dma busy */ +#define SP_STATUS_DMA_FULL 0x008 /* Bit 3: dma full */ +#define SP_STATUS_IO_FULL 0x010 /* Bit 4: io full */ +#define SP_STATUS_SSTEP 0x020 /* Bit 5: single step */ +#define SP_STATUS_INTR_BREAK 0x040 /* Bit 6: interrupt on break */ +#define SP_STATUS_SIG0 0x080 /* Bit 7: signal 0 set */ +#define SP_STATUS_SIG1 0x100 /* Bit 8: signal 1 set */ +#define SP_STATUS_SIG2 0x200 /* Bit 9: signal 2 set */ +#define SP_STATUS_SIG3 0x400 /* Bit 10: signal 3 set */ +#define SP_STATUS_SIG4 0x800 /* Bit 11: signal 4 set */ +#define SP_STATUS_SIG5 0x1000 /* Bit 12: signal 5 set */ +#define SP_STATUS_SIG6 0x2000 /* Bit 13: signal 6 set */ +#define SP_STATUS_SIG7 0x4000 /* Bit 14: signal 7 set */ + +/* + * Use of SIG bits + */ +#define SP_CLR_YIELD SP_CLR_SIG0 +#define SP_SET_YIELD SP_SET_SIG0 +#define SP_STATUS_YIELD SP_STATUS_SIG0 +#define SP_CLR_YIELDED SP_CLR_SIG1 +#define SP_SET_YIELDED SP_SET_SIG1 +#define SP_STATUS_YIELDED SP_STATUS_SIG1 +#define SP_CLR_TASKDONE SP_CLR_SIG2 +#define SP_SET_TASKDONE SP_SET_SIG2 +#define SP_STATUS_TASKDONE SP_STATUS_SIG2 +#define SP_CLR_RSPSIGNAL SP_CLR_SIG3 +#define SP_SET_RSPSIGNAL SP_SET_SIG3 +#define SP_STATUS_RSPSIGNAL SP_STATUS_SIG3 +#define SP_CLR_CPUSIGNAL SP_CLR_SIG4 +#define SP_SET_CPUSIGNAL SP_SET_SIG4 +#define SP_STATUS_CPUSIGNAL SP_STATUS_SIG4 + +/* SP IMEM BIST REG (R/W): [6:0] BIST status bits; see below for detail */ +#define SP_IBIST_REG 0x04080004 + +/* + * Patterns to interpret status reg (SP_BIST_REG - write) + */ +#define SP_IBIST_CHECK 0x01 /* Bit 0: BIST check */ +#define SP_IBIST_GO 0x02 /* Bit 1: BIST go */ +#define SP_IBIST_CLEAR 0x04 /* Bit 2: BIST clear */ + +/* + * Patterns to interpret status reg (SP_BIST_REG - read) + */ +/* First 2 bits are same as in write mode: + * Bit 0: BIST check; Bit 1: BIST go + */ +#define SP_IBIST_DONE 0x04 /* Bit 2: BIST done */ +#define SP_IBIST_FAILED 0x78 /* Bit [6:3]: BIST fail */ + + +/************************************************************************* + * DP Command Registers + */ +#define DPC_BASE_REG 0x04100000 + +/* DP CMD DMA start (R/W): [23:0] DMEM/RDRAM start address */ +#define DPC_START_REG (DPC_BASE_REG+0x00) + +/* DP CMD DMA end (R/W): [23:0] DMEM/RDRAM end address */ +#define DPC_END_REG (DPC_BASE_REG+0x04) + +/* DP CMD DMA end (R): [23:0] DMEM/RDRAM current address */ +#define DPC_CURRENT_REG (DPC_BASE_REG+0x08) + +/* DP CMD status (R/W): [9:0] valid bits - see below for definitions */ +#define DPC_STATUS_REG (DPC_BASE_REG+0x0C) + +/* DP clock counter (R): [23:0] clock counter */ +#define DPC_CLOCK_REG (DPC_BASE_REG+0x10) + +/* DP buffer busy counter (R): [23:0] clock counter */ +#define DPC_BUFBUSY_REG (DPC_BASE_REG+0x14) + +/* DP pipe busy counter (R): [23:0] clock counter */ +#define DPC_PIPEBUSY_REG (DPC_BASE_REG+0x18) + +/* DP TMEM load counter (R): [23:0] clock counter */ +#define DPC_TMEM_REG (DPC_BASE_REG+0x1C) + +/* + * Values to clear/set bit in status reg (DPC_STATUS_REG - write) + */ +#define DPC_CLR_XBUS_DMEM_DMA 0x0001 /* Bit 0: clear xbus_dmem_dma */ +#define DPC_SET_XBUS_DMEM_DMA 0x0002 /* Bit 1: set xbus_dmem_dma */ +#define DPC_CLR_FREEZE 0x0004 /* Bit 2: clear freeze */ +#define DPC_SET_FREEZE 0x0008 /* Bit 3: set freeze */ +#define DPC_CLR_FLUSH 0x0010 /* Bit 4: clear flush */ +#define DPC_SET_FLUSH 0x0020 /* Bit 5: set flush */ +#define DPC_CLR_TMEM_CTR 0x0040 /* Bit 6: clear tmem ctr */ +#define DPC_CLR_PIPE_CTR 0x0080 /* Bit 7: clear pipe ctr */ +#define DPC_CLR_CMD_CTR 0x0100 /* Bit 8: clear cmd ctr */ +#define DPC_CLR_CLOCK_CTR 0x0200 /* Bit 9: clear clock ctr */ + +/* + * Patterns to interpret status reg (DPC_STATUS_REG - read) + */ +#define DPC_STATUS_XBUS_DMEM_DMA 0x001 /* Bit 0: xbus_dmem_dma */ +#define DPC_STATUS_FREEZE 0x002 /* Bit 1: freeze */ +#define DPC_STATUS_FLUSH 0x004 /* Bit 2: flush */ +/*#define DPC_STATUS_FROZEN 0x008*/ /* Bit 3: frozen */ +#define DPC_STATUS_START_GCLK 0x008 /* Bit 3: start gclk */ +#define DPC_STATUS_TMEM_BUSY 0x010 /* Bit 4: tmem busy */ +#define DPC_STATUS_PIPE_BUSY 0x020 /* Bit 5: pipe busy */ +#define DPC_STATUS_CMD_BUSY 0x040 /* Bit 6: cmd busy */ +#define DPC_STATUS_CBUF_READY 0x080 /* Bit 7: cbuf ready */ +#define DPC_STATUS_DMA_BUSY 0x100 /* Bit 8: dma busy */ +#define DPC_STATUS_END_VALID 0x200 /* Bit 9: end valid */ +#define DPC_STATUS_START_VALID 0x400 /* Bit 10: start valid */ + + +/************************************************************************* + * DP Span Registers + */ +#define DPS_BASE_REG 0x04200000 + +/* DP tmem bist (R/W): [10:0] BIST status bits; see below for detail */ +#define DPS_TBIST_REG (DPS_BASE_REG+0x00) + +/* DP span test mode (R/W): [0] Span buffer test access enable */ +#define DPS_TEST_MODE_REG (DPS_BASE_REG+0x04) + +/* DP span buffer test address (R/W): [6:0] bits; see below for detail */ +#define DPS_BUFTEST_ADDR_REG (DPS_BASE_REG+0x08) + +/* DP span buffer test data (R/W): [31:0] span buffer data */ +#define DPS_BUFTEST_DATA_REG (DPS_BASE_REG+0x0C) + +/* + * Patterns to interpret status reg (DPS_TMEM_BIST_REG - write) + */ +#define DPS_TBIST_CHECK 0x01 /* Bit 0: BIST check */ +#define DPS_TBIST_GO 0x02 /* Bit 1: BIST go */ +#define DPS_TBIST_CLEAR 0x04 /* Bit 2: BIST clear */ + +/* + * Patterns to interpret status reg (DPS_TMEM_BIST_REG - read) + */ +/* First 2 bits are same as in write mode: + * Bit 0: BIST check; Bit 1: BIST go + */ +#define DPS_TBIST_DONE 0x004 /* Bit 2: BIST done */ +#define DPS_TBIST_FAILED 0x7F8 /* Bit [10:3]: BIST fail */ + + +/************************************************************************* + * MIPS Interface (MI) Registers + */ +#define MI_BASE_REG 0x04300000 + +/* + * MI init mode (W): [6:0] init length, [7] clear init mode, [8] set init mode + * [9/10] clear/set ebus test mode, [11] clear DP interrupt + * (R): [6:0] init length, [7] init mode, [8] ebus test mode + */ +#define MI_INIT_MODE_REG (MI_BASE_REG+0x00) +#define MI_MODE_REG MI_INIT_MODE_REG + +/* + * Values to clear/set bit in mode reg (MI_MODE_REG - write) + */ +#define MI_CLR_INIT 0x0080 /* Bit 7: clear init mode */ +#define MI_SET_INIT 0x0100 /* Bit 8: set init mode */ +#define MI_CLR_EBUS 0x0200 /* Bit 9: clear ebus test */ +#define MI_SET_EBUS 0x0400 /* Bit 10: set ebus test mode */ +#define MI_CLR_DP_INTR 0x0800 /* Bit 11: clear dp interrupt */ +#define MI_CLR_RDRAM 0x1000 /* Bit 12: clear RDRAM reg */ +#define MI_SET_RDRAM 0x2000 /* Bit 13: set RDRAM reg mode */ + +/* + * Patterns to interpret mode reg (MI_MODE_REG - read) + */ +#define MI_MODE_INIT 0x0080 /* Bit 7: init mode */ +#define MI_MODE_EBUS 0x0100 /* Bit 8: ebus test mode */ +#define MI_MODE_RDRAM 0x0200 /* Bit 9: RDRAM reg mode */ + +/* MI version (R): [7:0] io, [15:8] rac, [23:16] rdp, [31:24] rsp */ +#define MI_VERSION_REG (MI_BASE_REG+0x04) +#define MI_NOOP_REG MI_VERSION_REG + +/* MI interrupt (R): [5:0] valid bits - see below for bit patterns */ +#define MI_INTR_REG (MI_BASE_REG+0x08) + +/* + * MI interrupt mask (W): [11:0] valid bits - see below for bit patterns + * (R): [5:0] valid bits - see below for bit patterns + */ +#define MI_INTR_MASK_REG (MI_BASE_REG+0x0C) + +/* + * The following are values to check for interrupt setting (MI_INTR_REG) + */ +#define MI_INTR_SP 0x01 /* Bit 0: SP intr */ +#define MI_INTR_SI 0x02 /* Bit 1: SI intr */ +#define MI_INTR_AI 0x04 /* Bit 2: AI intr */ +#define MI_INTR_VI 0x08 /* Bit 3: VI intr */ +#define MI_INTR_PI 0x10 /* Bit 4: PI intr */ +#define MI_INTR_DP 0x20 /* Bit 5: DP intr */ + +/* + * The following are values to clear/set various interrupt bit mask + * They can be ORed together to manipulate multiple bits + * (MI_INTR_MASK_REG - write) + */ +#define MI_INTR_MASK_CLR_SP 0x0001 /* Bit 0: clear SP mask */ +#define MI_INTR_MASK_SET_SP 0x0002 /* Bit 1: set SP mask */ +#define MI_INTR_MASK_CLR_SI 0x0004 /* Bit 2: clear SI mask */ +#define MI_INTR_MASK_SET_SI 0x0008 /* Bit 3: set SI mask */ +#define MI_INTR_MASK_CLR_AI 0x0010 /* Bit 4: clear AI mask */ +#define MI_INTR_MASK_SET_AI 0x0020 /* Bit 5: set AI mask */ +#define MI_INTR_MASK_CLR_VI 0x0040 /* Bit 6: clear VI mask */ +#define MI_INTR_MASK_SET_VI 0x0080 /* Bit 7: set VI mask */ +#define MI_INTR_MASK_CLR_PI 0x0100 /* Bit 8: clear PI mask */ +#define MI_INTR_MASK_SET_PI 0x0200 /* Bit 9: set PI mask */ +#define MI_INTR_MASK_CLR_DP 0x0400 /* Bit 10: clear DP mask */ +#define MI_INTR_MASK_SET_DP 0x0800 /* Bit 11: set DP mask */ + +/* + * The following are values to check for interrupt mask setting + * (MI_INTR_MASK_REG - read) + */ +#define MI_INTR_MASK_SP 0x01 /* Bit 0: SP intr mask */ +#define MI_INTR_MASK_SI 0x02 /* Bit 1: SI intr mask */ +#define MI_INTR_MASK_AI 0x04 /* Bit 2: AI intr mask */ +#define MI_INTR_MASK_VI 0x08 /* Bit 3: VI intr mask */ +#define MI_INTR_MASK_PI 0x10 /* Bit 4: PI intr mask */ +#define MI_INTR_MASK_DP 0x20 /* Bit 5: DP intr mask */ + + +/************************************************************************* + * Video Interface (VI) Registers + */ +#define VI_BASE_REG 0x04400000 + +/* VI status/control (R/W): [15-0] valid bits: + * [1:0] = type[1:0] (pixel size) + * 0: blank (no data, no sync) + * 1: reserved + * 2: 5/5/5/3 ("16" bit) + * 3: 8/8/8/8 (32 bit) + * [2] = gamma_dither_enable (normally on, unless "special effect") + * [3] = gamma_enable (normally on, unless MPEG/JPEG) + * [4] = divot_enable (normally on if antialiased, unless decal lines) + * [5] = reserved - always off + * [6] = serrate (always on if interlaced, off if not) + * [7] = reserved - diagnostics only + * [9:8] = anti-alias (aa) mode[1:0] + * 0: aa & resamp (always fetch extra lines) + * 1: aa & resamp (fetch extra lines if needed) + * 2: resamp only (treat as all fully covered) + * 3: neither (replicate pixels, no interpolate) + * [11] = reserved - diagnostics only + * [15:12] = reserved + * + */ +#define VI_STATUS_REG (VI_BASE_REG+0x00) +#define VI_CONTROL_REG VI_STATUS_REG + +/* VI origin (R/W): [23:0] frame buffer origin in bytes */ +#define VI_ORIGIN_REG (VI_BASE_REG+0x04) +#define VI_DRAM_ADDR_REG VI_ORIGIN_REG + +/* VI width (R/W): [11:0] frame buffer line width in pixels */ +#define VI_WIDTH_REG (VI_BASE_REG+0x08) +#define VI_H_WIDTH_REG VI_WIDTH_REG + +/* VI vertical intr (R/W): [9:0] interrupt when current half-line = V_INTR */ +#define VI_INTR_REG (VI_BASE_REG+0x0C) +#define VI_V_INTR_REG VI_INTR_REG + +/* + * VI current vertical line (R/W): [9:0] current half line, sampled once per + * line (the lsb of V_CURRENT is constant within a field, and in + * interlaced modes gives the field number - which is constant for non- + * interlaced modes) + * - Any write to this register will clear interrupt line + */ +#define VI_CURRENT_REG (VI_BASE_REG+0x10) +#define VI_V_CURRENT_LINE_REG VI_CURRENT_REG + +/* + * VI video timing (R/W): [ 7: 0] horizontal sync width in pixels, + * [15: 8] color burst width in pixels, + * [19:16] vertical sync width in half lines, + * [29:20] start of color burst in pixels from h-sync + */ +#define VI_BURST_REG (VI_BASE_REG+0x14) +#define VI_TIMING_REG VI_BURST_REG + +/* VI vertical sync (R/W): [9:0] number of half-lines per field */ +#define VI_V_SYNC_REG (VI_BASE_REG+0x18) + +/* VI horizontal sync (R/W): [11: 0] total duration of a line in 1/4 pixel + * [20:16] a 5-bit leap pattern used for PAL only + * (h_sync_period) + */ +#define VI_H_SYNC_REG (VI_BASE_REG+0x1C) + +/* + * VI horizontal sync leap (R/W): [11: 0] identical to h_sync_period + * [27:16] identical to h_sync_period + */ +#define VI_LEAP_REG (VI_BASE_REG+0x20) +#define VI_H_SYNC_LEAP_REG VI_LEAP_REG + +/* + * VI horizontal video (R/W): [ 9: 0] end of active video in screen pixels + * : [25:16] start of active video in screen pixels + */ +#define VI_H_START_REG (VI_BASE_REG+0x24) +#define VI_H_VIDEO_REG VI_H_START_REG + +/* + * VI vertical video (R/W): [ 9: 0] end of active video in screen half-lines + * : [25:16] start of active video in screen half-lines + */ +#define VI_V_START_REG (VI_BASE_REG+0x28) +#define VI_V_VIDEO_REG VI_V_START_REG + +/* + * VI vertical burst (R/W): [ 9: 0] end of color burst enable in half-lines + * : [25:16] start of color burst enable in half-lines + */ +#define VI_V_BURST_REG (VI_BASE_REG+0x2C) + +/* VI x-scale (R/W): [11: 0] 1/horizontal scale up factor (2.10 format) + * [27:16] horizontal subpixel offset (2.10 format) + */ +#define VI_X_SCALE_REG (VI_BASE_REG+0x30) + +/* VI y-scale (R/W): [11: 0] 1/vertical scale up factor (2.10 format) + * [27:16] vertical subpixel offset (2.10 format) + */ +#define VI_Y_SCALE_REG (VI_BASE_REG+0x34) + +/* + * Patterns to interpret VI_CONTROL_REG + */ +#define VI_CTRL_TYPE_16 0x00002 /* Bit [1:0] pixel size: 16 bit */ +#define VI_CTRL_TYPE_32 0x00003 /* Bit [1:0] pixel size: 32 bit */ +#define VI_CTRL_GAMMA_DITHER_ON 0x00004 /* Bit 2: default = on */ +#define VI_CTRL_GAMMA_ON 0x00008 /* Bit 3: default = on */ +#define VI_CTRL_DIVOT_ON 0x00010 /* Bit 4: default = on */ +#define VI_CTRL_SERRATE_ON 0x00040 /* Bit 6: on if interlaced */ +#define VI_CTRL_ANTIALIAS_MASK 0x00300 /* Bit [9:8] anti-alias mode */ +#define VI_CTRL_DITHER_FILTER_ON 0x10000 /* Bit 16: dither-filter mode */ + +/* + * Possible video clocks (NTSC or PAL) + */ +#define VI_NTSC_CLOCK 48681812 /* Hz = 48.681812 MHz */ +#define VI_PAL_CLOCK 49656530 /* Hz = 49.656530 MHz */ +#define VI_MPAL_CLOCK 48628316 /* Hz = 48.628316 MHz */ + + +/************************************************************************* + * Audio Interface (AI) Registers + * + * The address and length registers are double buffered; that is, they + * can be written twice before becoming full. + * The address must be written before the length. + */ +#define AI_BASE_REG 0x04500000 + +/* AI DRAM address (W): [23:0] starting RDRAM address (8B-aligned) */ +#define AI_DRAM_ADDR_REG (AI_BASE_REG+0x00) /* R0: DRAM address */ + +/* AI length (R/W): [14:0] transfer length (v1.0) - Bottom 3 bits are ignored */ +/* [17:0] transfer length (v2.0) - Bottom 3 bits are ignored */ +#define AI_LEN_REG (AI_BASE_REG+0x04) /* R1: Length */ + +/* AI control (W): [0] DMA enable - if LSB == 1, DMA is enabled */ +#define AI_CONTROL_REG (AI_BASE_REG+0x08) /* R2: DMA Control */ + +/* + * AI status (R): [31]/[0] ai_full (addr & len buffer full), [30] ai_busy + * Note that a 1->0 transition in ai_full will set interrupt + * (W): clear audio interrupt + */ +#define AI_STATUS_REG (AI_BASE_REG+0x0C) /* R3: Status */ + +/* + * AI DAC sample period register (W): [13:0] dac rate + * - vid_clock/(dperiod + 1) is the DAC sample rate + * - (dperiod + 1) >= 66 * (aclockhp + 1) must be true + */ +#define AI_DACRATE_REG (AI_BASE_REG+0x10) /* R4: DAC rate 14-lsb*/ + +/* + * AI bit rate (W): [3:0] bit rate (abus clock half period register - aclockhp) + * - vid_clock/(2 * (aclockhp + 1)) is the DAC clock rate + * - The abus clock stops if aclockhp is zero + */ +#define AI_BITRATE_REG (AI_BASE_REG+0x14) /* R5: Bit rate 4-lsb */ + +/* Value for control register */ +#define AI_CONTROL_DMA_ON 0x01 /* LSB = 1: DMA enable*/ +#define AI_CONTROL_DMA_OFF 0x00 /* LSB = 1: DMA enable*/ + +/* Value for status register */ +#define AI_STATUS_FIFO_FULL 0x80000000 /* Bit 31: full */ +#define AI_STATUS_DMA_BUSY 0x40000000 /* Bit 30: busy */ + +/* DAC rate = video clock / audio frequency + * - DAC rate >= (66 * Bit rate) must be true + */ +#define AI_MAX_DAC_RATE 16384 /* 14-bit+1 */ +#define AI_MIN_DAC_RATE 132 + +/* Bit rate <= (DAC rate / 66) */ +#define AI_MAX_BIT_RATE 16 /* 4-bit+1 */ +#define AI_MIN_BIT_RATE 2 + +/* + * Maximum and minimum values for audio frequency based on video clocks + * max frequency = (video clock / min dac rate) + * min frequency = (video clock / max dac rate) + */ +#define AI_NTSC_MAX_FREQ 368000 /* 368 KHz */ +#define AI_NTSC_MIN_FREQ 3000 /* 3 KHz ~ 2971 Hz */ + +#define AI_PAL_MAX_FREQ 376000 /* 376 KHz */ +#define AI_PAL_MIN_FREQ 3050 /* 3 KHz ~ 3031 Hz */ + +#define AI_MPAL_MAX_FREQ 368000 /* 368 KHz */ +#define AI_MPAL_MIN_FREQ 3000 /* 3 KHz ~ 2968 Hz */ + + +/************************************************************************* + * Peripheral Interface (PI) Registers + */ +#define PI_BASE_REG 0x04600000 + +/* PI DRAM address (R/W): [23:0] starting RDRAM address */ +#define PI_DRAM_ADDR_REG (PI_BASE_REG+0x00) /* DRAM address */ + +/* PI pbus (cartridge) address (R/W): [31:0] starting AD16 address */ +#define PI_CART_ADDR_REG (PI_BASE_REG+0x04) + +/* PI read length (R/W): [23:0] read data length */ +#define PI_RD_LEN_REG (PI_BASE_REG+0x08) + +/* PI write length (R/W): [23:0] write data length */ +#define PI_WR_LEN_REG (PI_BASE_REG+0x0C) + +/* + * PI status (R): [0] DMA busy, [1] IO busy, [2], error + * (W): [0] reset controller (and abort current op), [1] clear intr + */ +#define PI_STATUS_REG (PI_BASE_REG+0x10) + +/* PI dom1 latency (R/W): [7:0] domain 1 device latency */ +#define PI_BSD_DOM1_LAT_REG (PI_BASE_REG+0x14) + +/* PI dom1 pulse width (R/W): [7:0] domain 1 device R/W strobe pulse width */ +#define PI_BSD_DOM1_PWD_REG (PI_BASE_REG+0x18) + +/* PI dom1 page size (R/W): [3:0] domain 1 device page size */ +#define PI_BSD_DOM1_PGS_REG (PI_BASE_REG+0x1C) /* page size */ + +/* PI dom1 release (R/W): [1:0] domain 1 device R/W release duration */ +#define PI_BSD_DOM1_RLS_REG (PI_BASE_REG+0x20) + +/* PI dom2 latency (R/W): [7:0] domain 2 device latency */ +#define PI_BSD_DOM2_LAT_REG (PI_BASE_REG+0x24) /* Domain 2 latency */ + +/* PI dom2 pulse width (R/W): [7:0] domain 2 device R/W strobe pulse width */ +#define PI_BSD_DOM2_PWD_REG (PI_BASE_REG+0x28) /* pulse width */ + +/* PI dom2 page size (R/W): [3:0] domain 2 device page size */ +#define PI_BSD_DOM2_PGS_REG (PI_BASE_REG+0x2C) /* page size */ + +/* PI dom2 release (R/W): [1:0] domain 2 device R/W release duration */ +#define PI_BSD_DOM2_RLS_REG (PI_BASE_REG+0x30) /* release duration */ + +#define PI_DOMAIN1_REG PI_BSD_DOM1_LAT_REG +#define PI_DOMAIN2_REG PI_BSD_DOM2_LAT_REG + +#define PI_DOM_LAT_OFS 0x00 +#define PI_DOM_PWD_OFS 0x04 +#define PI_DOM_PGS_OFS 0x08 +#define PI_DOM_RLS_OFS 0x0C + +/* + * PI status register has 3 bits active when read from (PI_STATUS_REG - read) + * Bit 0: DMA busy - set when DMA is in progress + * Bit 1: IO busy - set when IO is in progress + * Bit 2: Error - set when CPU issues IO request while DMA is busy + */ +#define PI_STATUS_ERROR 0x04 +#define PI_STATUS_IO_BUSY 0x02 +#define PI_STATUS_DMA_BUSY 0x01 + +/* PI status register has 2 bits active when written to: + * Bit 0: When set, reset PIC + * Bit 1: When set, clear interrupt flag + * The values of the two bits can be ORed together to both reset PIC and + * clear interrupt at the same time. + * + * Note: + * - The PIC does generate an interrupt at the end of each DMA. CPU + * needs to clear the interrupt flag explicitly (from an interrupt + * handler) by writing into the STATUS register with bit 1 set. + * + * - When a DMA completes, the interrupt flag is set. CPU can issue + * another request even while the interrupt flag is set (as long as + * PIC is idle). However, it is the CPU's responsibility for + * maintaining accurate correspondence between DMA completions and + * interrupts. + * + * - When PIC is reset, if PIC happens to be busy, an interrupt will + * be generated as PIC returns to idle. Otherwise, no interrupt will + * be generated and PIC remains idle. + */ +/* + * Values to clear interrupt/reset PIC (PI_STATUS_REG - write) + */ +#define PI_STATUS_RESET 0x01 +#define PI_SET_RESET PI_STATUS_RESET + +#define PI_STATUS_CLR_INTR 0x02 +#define PI_CLR_INTR PI_STATUS_CLR_INTR + +#define PI_DMA_BUFFER_SIZE 128 + +#define PI_DOM1_ADDR1 0x06000000 /* to 0x07FFFFFF */ +#define PI_DOM1_ADDR2 0x10000000 /* to 0x1FBFFFFF */ +#define PI_DOM1_ADDR3 0x1FD00000 /* to 0x7FFFFFFF */ +#define PI_DOM2_ADDR1 0x05000000 /* to 0x05FFFFFF */ +#define PI_DOM2_ADDR2 0x08000000 /* to 0x0FFFFFFF */ + + +/************************************************************************* + * RDRAM Interface (RI) Registers + */ +#define RI_BASE_REG 0x04700000 + +/* RI mode (R/W): [1:0] operating mode, [2] stop T active, [3] stop R active */ +#define RI_MODE_REG (RI_BASE_REG+0x00) + +/* RI config (R/W): [5:0] current control input, [6] current control enable */ +#define RI_CONFIG_REG (RI_BASE_REG+0x04) + +/* RI current load (W): [] any write updates current control register */ +#define RI_CURRENT_LOAD_REG (RI_BASE_REG+0x08) + +/* RI select (R/W): [2:0] receive select, [2:0] transmit select */ +#define RI_SELECT_REG (RI_BASE_REG+0x0C) + +/* RI refresh (R/W): [7:0] clean refresh delay, [15:8] dirty refresh delay, + * [16] refresh bank, [17] refresh enable + * [18] refresh optimize + */ +#define RI_REFRESH_REG (RI_BASE_REG+0x10) +#define RI_COUNT_REG RI_REFRESH_REG + +/* RI latency (R/W): [3:0] DMA latency/overlap */ +#define RI_LATENCY_REG (RI_BASE_REG+0x14) + +/* RI error (R): [0] nack error, [1] ack error */ +#define RI_RERROR_REG (RI_BASE_REG+0x18) + +/* RI error (W): [] any write clears all error bits */ +#define RI_WERROR_REG (RI_BASE_REG+0x1C) + + +/************************************************************************* + * Serial Interface (SI) Registers + */ +#define SI_BASE_REG 0x04800000 + +/* SI DRAM address (R/W): [23:0] starting RDRAM address */ +#define SI_DRAM_ADDR_REG (SI_BASE_REG+0x00) /* R0: DRAM address */ + +/* SI address read 64B (W): [] any write causes a 64B DMA write */ +#define SI_PIF_ADDR_RD64B_REG (SI_BASE_REG+0x04) /* R1: 64B PIF->DRAM */ + +/* Address SI_BASE_REG + (0x08, 0x0c, 0x14) are reserved */ + +/* SI address write 64B (W): [] any write causes a 64B DMA read */ +#define SI_PIF_ADDR_WR64B_REG (SI_BASE_REG+0x10) /* R4: 64B DRAM->PIF */ + +/* + * SI status (W): [] any write clears interrupt + * (R): [0] DMA busy, [1] IO read busy, [2] reserved + * [3] DMA error, [12] interrupt + */ +#define SI_STATUS_REG (SI_BASE_REG+0x18) /* R6: Status */ + +/* SI status register has the following bits active: + * 0: DMA busy - set when DMA is in progress + * 1: IO busy - set when IO access is in progress + * 3: DMA error - set when there are overlapping DMA requests + * 12: Interrupt - Interrupt set + */ +#define SI_STATUS_DMA_BUSY 0x0001 +#define SI_STATUS_RD_BUSY 0x0002 +#define SI_STATUS_DMA_ERROR 0x0008 +#define SI_STATUS_INTERRUPT 0x1000 + +/************************************************************************* + * Development Board GIO Control Registers + */ + +#define GIO_BASE_REG 0x18000000 + +/* Game to Host Interrupt */ +#define GIO_GIO_INTR_REG (GIO_BASE_REG+0x000) + +/* Game to Host SYNC */ +#define GIO_GIO_SYNC_REG (GIO_BASE_REG+0x400) + +/* Host to Game Interrupt */ +#define GIO_CART_INTR_REG (GIO_BASE_REG+0x800) + + +/************************************************************************* + * Common macros + */ +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) +#define IO_READ(addr) (*(vu32 *)PHYS_TO_K1(addr)) +#define IO_WRITE(addr,data) (*(vu32 *)PHYS_TO_K1(addr)=(u32)(data)) +#define RCP_STAT_PRINT \ + rmonPrintf("current=%x start=%x end=%x dpstat=%x spstat=%x\n", \ + IO_READ(DPC_CURRENT_REG), \ + IO_READ(DPC_START_REG), \ + IO_READ(DPC_END_REG), \ + IO_READ(DPC_STATUS_REG), \ + IO_READ(SP_STATUS_REG)) + +#endif + +#endif /* _RCP_H_ */ + diff --git a/include/ultra64.h b/include/ultra64.h index f9dfe94f..e38edfd4 100644 --- a/include/ultra64.h +++ b/include/ultra64.h @@ -31,5 +31,6 @@ #include #include #include +#include #endif diff --git a/include/viint.h b/include/viint.h new file mode 100644 index 00000000..608e16a4 --- /dev/null +++ b/include/viint.h @@ -0,0 +1,70 @@ +#ifndef _VIINT_H +#define _VIINT_H +#include + +#define OS_TV_TYPE_PAL 0 +#define OS_TV_TYPE_NTSC 1 +#define OS_TV_TYPE_MPAL 2 + +//TODO: figure out what this is +#define VI_STATE_01 0x01 +#define VI_STATE_XSCALE_UPDATED 0x02 +#define VI_STATE_YSCALE_UPDATED 0x04 +#define VI_STATE_08 0x08 //related to control regs changing +#define VI_STATE_10 0x10 //swap buffer +#define VI_STATE_BLACK 0x20 //probably related to a black screen +#define VI_STATE_REPEATLINE 0x40 //repeat line? +#define VI_STATE_FADE 0x80 //fade + +#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 VI_SCALE_MASK 0xfff //see rcp scale_x/scale_y +#define VI_2_10_FPART_MASK 0x3ff +#define VI_SUBPIXEL_SH 0x10 + +#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 + +typedef struct +{ + /* 0x0 */ f32 factor; + /* 0x4 */ u16 offset; + /* 0x8 */ u32 scale; +} __OSViScale; + +typedef struct +{ + /* 0x0 */ u16 state; + /* 0x2 */ u16 retraceCount; + /* 0x4 */ void *framep; + /* 0x8 */ OSViMode *modep; + /* 0xC */ u32 control; + /* 0x10 */ OSMesgQueue *msgq; + /* 0x14 */ OSMesg msg; + /* 0x18 */ __OSViScale x; + /* 0x24 */ __OSViScale y; +} __OSViContext; + +void __osViSwapContext(void); +extern __OSViContext *__osViCurr; +extern __OSViContext *__osViNext; +__OSViContext *__osViGetCurrentContext(void); +void __osViInit(void); +#endif diff --git a/lib/src/unknown_0D29F0.c b/lib/src/unknown_0D29F0.c index 851b883f..e9de3a33 100644 --- a/lib/src/unknown_0D29F0.c +++ b/lib/src/unknown_0D29F0.c @@ -77,7 +77,7 @@ void *osViGetNextFramebuffer(void){ ptr = (void *)osVirtualToPhysical(ptr); \ } -OSTask D_8012D1A0; +extern OSTask D_8012D1A0; OSTask *_VirtualToPhysicalTask(OSTask *intp) { OSTask *tp; diff --git a/lib/src/unknown_0D5EC0.c b/lib/src/unknown_0D5EC0.c index 5465d81e..1a03639b 100644 --- a/lib/src/unknown_0D5EC0.c +++ b/lib/src/unknown_0D5EC0.c @@ -3,9 +3,7 @@ #include "macros.h" #include "libultra_internal.h" - -extern OSThread* __osRunningThread; -extern OSThread* __RunQueue; +#include "viint.h" GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSiDeviceBusy.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSumcalc.s") @@ -17,28 +15,8 @@ GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osCheckId.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osPfsSelectBank.s") GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osDpDeviceBusy.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osViGetCurrentContext.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/func_800D63F0.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpSetPc.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpDeviceBusy.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osEPiRawWriteIo.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osYieldThread.s") -/*extern void __osEnqueueAndYield(OSThread **); -extern void __osRestoreInt(u32); -void osYieldThread(void){ - register u32 saveMask = __osDisableInt(); - __osRunningThread->state = OS_STATE_RUNNABLE; - __osEnqueueAndYield(&__RunQueue); - __osRestoreInt(saveMask); -}*/ -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Litob.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Genld.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Ldtob.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSetCompare.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/lldiv.s") -GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/ldiv.s") \ No newline at end of file +__OSViContext *__osViGetCurrentContext(void){ + return __osViCurr; +} + diff --git a/lib/src/unknown_0D6C90.c b/lib/src/unknown_0D6C90.c new file mode 100644 index 00000000..5f57cdd4 --- /dev/null +++ b/lib/src/unknown_0D6C90.c @@ -0,0 +1,34 @@ +/* The comment below is needed for this file to be picked up by generate_ld */ +/* RAM_POS: 0x800D6090 */ + +#include "macros.h" +#include "libultra_internal.h" +#include "viint.h" + +extern OSThread* __osRunningThread; +extern OSThread* __RunQueue; + +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/func_800D63F0.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpSetPc.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpDeviceBusy.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osEPiRawWriteIo.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osYieldThread.s") +/*extern void __osEnqueueAndYield(OSThread **); +extern void __osRestoreInt(u32); +void osYieldThread(void){ + register u32 saveMask = __osDisableInt(); + __osRunningThread->state = OS_STATE_RUNNABLE; + __osEnqueueAndYield(&__RunQueue); + __osRestoreInt(saveMask); +}*/ + +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Litob.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Genld.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/_Ldtob.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSetCompare.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/lldiv.s") +GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/ldiv.s") \ No newline at end of file From 475b3bb3e5c3e4d052ff273a7a677fc45fdfbf8c Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 20:51:40 -0500 Subject: [PATCH 12/14] c: func_80070B78 --- .../unknown_071730/func_80070B78.s | 29 - .../unknown_0D3020/__osViGetCurrentContext.s | 6 - osSearch.txt | 1708 +++++++++++++++++ src/unknown_071730.c | 15 +- src/unknown_072E50.c | 1 - 5 files changed, 1715 insertions(+), 44 deletions(-) delete mode 100644 asm/non_matchings/unknown_071730/func_80070B78.s delete mode 100644 lib/asm/non_matchings/unknown_0D3020/__osViGetCurrentContext.s create mode 100644 osSearch.txt diff --git a/asm/non_matchings/unknown_071730/func_80070B78.s b/asm/non_matchings/unknown_071730/func_80070B78.s deleted file mode 100644 index 2d9e5046..00000000 --- a/asm/non_matchings/unknown_071730/func_80070B78.s +++ /dev/null @@ -1,29 +0,0 @@ -glabel func_80070B78 -/* 071778 80070B78 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 07177C 80070B7C AFBF0014 */ sw $ra, 0x14($sp) -/* 071780 80070B80 AFA40030 */ sw $a0, 0x30($sp) -/* 071784 80070B84 0C01BD44 */ jal func_8006F510 -/* 071788 80070B88 AFA50034 */ sw $a1, 0x34($sp) -/* 07178C 80070B8C 8FAF0034 */ lw $t7, 0x34($sp) -/* 071790 80070B90 8FAE0030 */ lw $t6, 0x30($sp) -/* 071794 80070B94 000FC080 */ sll $t8, $t7, 2 -/* 071798 80070B98 030FC021 */ addu $t8, $t8, $t7 -/* 07179C 80070B9C 0018C080 */ sll $t8, $t8, 2 -/* 0717A0 80070BA0 01D83821 */ addu $a3, $t6, $t8 -/* 0717A4 80070BA4 AFA20020 */ sw $v0, 0x20($sp) -/* 0717A8 80070BA8 00E02025 */ move $a0, $a3 -/* 0717AC 80070BAC AFA70018 */ sw $a3, 0x18($sp) -/* 0717B0 80070BB0 0C01C327 */ jal func_80070C9C -/* 0717B4 80070BB4 2405FFFF */ li $a1, -1 -/* 0717B8 80070BB8 8FA50018 */ lw $a1, 0x18($sp) -/* 0717BC 80070BBC 8FA60034 */ lw $a2, 0x34($sp) -/* 0717C0 80070BC0 0C01C2F9 */ jal func_80070BE4 -/* 0717C4 80070BC4 00402025 */ move $a0, $v0 -/* 0717C8 80070BC8 8FA40020 */ lw $a0, 0x20($sp) -/* 0717CC 80070BCC 0C01BD4F */ jal func_8006F53C -/* 0717D0 80070BD0 AFA2001C */ sw $v0, 0x1c($sp) -/* 0717D4 80070BD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 0717D8 80070BD8 8FA2001C */ lw $v0, 0x1c($sp) -/* 0717DC 80070BDC 03E00008 */ jr $ra -/* 0717E0 80070BE0 27BD0030 */ addiu $sp, $sp, 0x30 - diff --git a/lib/asm/non_matchings/unknown_0D3020/__osViGetCurrentContext.s b/lib/asm/non_matchings/unknown_0D3020/__osViGetCurrentContext.s deleted file mode 100644 index aaf4a0b6..00000000 --- a/lib/asm/non_matchings/unknown_0D3020/__osViGetCurrentContext.s +++ /dev/null @@ -1,6 +0,0 @@ -glabel __osViGetCurrentContext -/* 0D6C80 800D6080 3C02800E */ lui $v0, 0x800e -/* 0D6C84 800D6084 03E00008 */ jr $ra -/* 0D6C88 800D6088 8C424870 */ lw $v0, 0x4870($v0) - -/* 0D6C8C 800D608C 00000000 */ nop diff --git a/osSearch.txt b/osSearch.txt new file mode 100644 index 00000000..69cc077d --- /dev/null +++ b/osSearch.txt @@ -0,0 +1,1708 @@ +asm/assets/assets.s:.incbin "./build/us_1.0/levels/levelHeader03_FossilCanyon.3A17A8.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/levels/levelHeader0D_EverfrostPeak.3A1F78.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/levels/levelHeader1C_FrostyVillage.3A2B30.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/levels/name03_FossilCanyon.3A49C9.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/levels/name0D_EverfrostPeak.3A4BD7.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/levels/name1C_FrostyVillage.3A4F0F.bin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/levels/levelModel03_FossilCanyon.3CD820.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/levels/levelModel0E_EverfrostPeak.42C9D0.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/levels/levelModel1D_FrostyVillage.48CF00.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0ef_YellowDinosaur.5DF3E0.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0f0_GreenDinosaur.5DFF90.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0fe_RedBalloonSignpost.5E3030.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0ff_30Signpost.5E3230.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel100_60Signpost.5E3430.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel101_100Signpost.5E3630.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel154_BossGate.6054D0.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel155_BossGate2.605790.cbin" +asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel156_BossGate3.605AE0.cbin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader037_LampPost.6C33B0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader03B_Dinosaur1.6C35C8.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader03C_Dinosaur2.6C3650.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader03D_Dinosaur3.6C36D8.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader04E_BossDoor.6C3F88.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader04F_BigBossDoor.6C4010.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader06E_BombExplosion.6C5030.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader086_OverRidePos.6C5CD0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader08A_WizpigGhosts.6C5F60.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0A1_RocketSignpost.6C6B70.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0D7_PostForParty.6C88D0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0DB_AnimDinosaur2.6C8AF8.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0DE_AnimDinosaur1.6C8D38.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0EB_WizpigBoss.6C98C0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0EC_WizpigBoss2.6C9960.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0FD_TerryBoss.6CA2F8.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0FE_SmokeyBoss.6CA398.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader101_SnowballBoss.6CA578.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader10E_Boost.6CACB0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader114_PosArrow.6CAFB0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhostsHeader.ABBDC0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_FossilCanyon.ABBE70.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_PirateLagoon.ABC830.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_AncientLake.ABD1E0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_WalrusCove.ABD920.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_HotTopVolcano.ABE690.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_WhaleBay.ABF070.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_SnowballValley.ABF840.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_CrescentIsland.AC0020.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_EverfrostPeak.AC0AB0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_SpaceportAlpha.AC1610.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_SpacedustAlley.AC2380.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_GreenwoodVillage.AC3070.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_BoulderCanyon.AC3B40.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_WindmillPlains.AC4A60.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_FrostyVillage.AC5B50.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_JungleFalls.AC65A0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_TreasureCaves.AC6CB0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_HauntedWoods.AC73D0.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_DarkmoonCaverns.AC7B50.bin" +asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_StarCity.AC89B0.bin" +asm/entrypoint.s:.include "macros.inc" +asm/gzip.s:.include "macros.inc" +asm/non_matchings/unknown_001050/func_800015F8.s:/* 002200 80001600 0C031E34 */ jal osGetCount +asm/non_matchings/unknown_003260/audioNewThread.s:/* 0035C8 800029C8 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_003260/audioNewThread.s:/* 0035E0 800029E0 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_003260/audioNewThread.s:/* 0035F8 800029F8 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_003260/audioNewThread.s:/* 003628 80002A28 0C032214 */ jal osCreateThread +asm/non_matchings/unknown_003260/D_80002E38.s:/* 003AA0 80002EA0 0C03233C */ jal osVirtualToPhysical +asm/non_matchings/unknown_003260/D_80002E38.s:/* 003AE8 80002EE8 0C03233C */ jal osVirtualToPhysical +asm/non_matchings/unknown_003260/D_80002E38.s:/* 003BD8 80002FD8 0C0323E0 */ jal osPiStartDma +asm/non_matchings/unknown_003260/D_80002E38.s:/* 003BE4 80002FE4 0C03233C */ jal osVirtualToPhysical +asm/non_matchings/unknown_003260/func_80002A98.s:/* 0036EC 80002AEC 0C01E520 */ jal osScAddClient +asm/non_matchings/unknown_003260/func_80002A98.s:/* 00372C 80002B2C 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_003260/func_80002A98.s:/* 00379C 80002B9C 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_003260/func_80002A98.s:/* 0037C8 80002BC8 0C0321ED */ jal alClose +asm/non_matchings/unknown_003260/func_80002C00.s:/* 00381C 80002C1C 0C03233C */ jal osVirtualToPhysical +asm/non_matchings/unknown_003260/func_80002C00.s:/* 0039BC 80002DBC 0C01E55D */ jal osScGetCmdQ +asm/non_matchings/unknown_003260/func_80002C00.s:/* 0039CC 80002DCC 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_003260/func_80003040.s:/* 003C88 80003088 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_003260/func_8000418C.s:/* 004DE4 800041E4 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/func_800041FC.s:/* 004E28 80004228 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_800041FC.s:/* 004EA4 800042A4 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_800042CC.s:/* 004EDC 800042DC 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_800042CC.s:/* 004F6C 8000436C 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_80004384.s:/* 004FB0 800043B0 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_80004384.s:/* 00501C 8000441C 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_80004668.s:/* 005384 80004784 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/func_80004668.s:/* 0053A4 800047A4 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/func_80004668.s:/* 005440 80004840 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/func_800048D8.s:/* 0054FC 800048FC 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_800048D8.s:/* 005554 80004954 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/func_800048D8.s:/* 005570 80004970 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_80004A60.s:/* 005688 80004A88 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/func_80004A60.s:/* 0056F4 80004AF4 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/func_80004A60.s:/* 005710 80004B10 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_003260/_handleEvent.s:/* 004294 80003694 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/_handleEvent.s:/* 0042FC 800036FC 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/_handleEvent.s:/* 00434C 8000374C 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/_handleEvent.s:/* 0045F0 800039F0 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/_handleEvent.s:/* 0046D8 80003AD8 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/_handleEvent.s:/* 004BB8 80003FB8 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_003260/_sndpVoiceHandler.s:/* 004014 80003414 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_005740/__seqpReleaseVoice.s:/* 00B804 8000AC04 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_00BC20/func_8000BADC.s:/* 00C7C4 8000BBC4 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_00BC20/func_8000BADC.s:/* 00C7C8 8000BBC8 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_00BC20/func_800120C8.s:/* 013378 80012778 3C0D8000 */ lui $t5, %hi(osCicId) # $t5, 0x8000 +asm/non_matchings/unknown_00BC20/func_800120C8.s:/* 013398 80012798 8DAD0310 */ lw $t5, %lo(osCicId)($t5) +asm/non_matchings/unknown_00BC20/func_8001A8F4.s:/* 01B960 8001AD60 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 +asm/non_matchings/unknown_00BC20/func_8001A8F4.s:/* 01B964 8001AD64 8D8C0300 */ lw $t4, %lo(osTvType)($t4) +asm/non_matchings/unknown_00BC20/func_8001AE64.s:/* 01BDD0 8001B1D0 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 +asm/non_matchings/unknown_00BC20/func_8001AE64.s:/* 01BDD4 8001B1D4 8F390300 */ lw $t9, %lo(osTvType)($t9) +asm/non_matchings/unknown_00BC20/func_8001C6C4.s:/* 01D2C8 8001C6C8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_00BC20/func_8001C6C4.s:/* 01D2CC 8001C6CC 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_00BC20/func_8001F460.s:/* 0200D0 8001F4D0 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_00BC20/func_8001F460.s:/* 0200D8 8001F4D8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_0255E0/D_80024D54.s:/* 026014 80025414 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 +asm/non_matchings/unknown_0255E0/D_80024D54.s:/* 026018 80025418 8F390300 */ lw $t9, %lo(osTvType)($t9) +asm/non_matchings/unknown_0255E0/func_800289B8.s:/* 02968C 80028A8C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_0255E0/func_800289B8.s:/* 029698 80028A98 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_032760/func_80033F60.s:/* 034B68 80033F68 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_80033F60.s:/* 034B70 80033F70 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_80034860.s:/* 035464 80034864 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_80034860.s:/* 03546C 8003486C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_80035260.s:/* 035E68 80035268 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_032760/func_80035260.s:/* 035E70 80035270 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_032760/func_800361E0.s:/* 036DF8 800361F8 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_800361E0.s:/* 036E04 80036204 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_800389B8.s:/* 0395BC 800389BC 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_032760/func_800389B8.s:/* 0395C4 800389C4 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_032760/func_80038AD4.s:/* 0396D8 80038AD8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_032760/func_80038AD4.s:/* 0396E0 80038AE0 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_032760/func_80039330.s:/* 039F4C 8003934C 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_80039330.s:/* 039F58 80039358 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_8003B4BC.s:/* 03C0C4 8003B4C4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_8003B4BC.s:/* 03C0CC 8003B4CC 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_8003B988.s:/* 03C59C 8003B99C 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_032760/func_8003B988.s:/* 03C5A8 8003B9A8 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_032760/func_8003CA68.s:/* 03D67C 8003CA7C 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_8003CA68.s:/* 03D684 8003CA84 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_8003D2B8.s:/* 03DEBC 8003D2BC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_8003D2B8.s:/* 03DEC4 8003D2C4 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_8003D5A0.s:/* 03E1A4 8003D5A4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_8003D5A0.s:/* 03E1AC 8003D5AC 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_032760/func_8003E694.s:/* 03F348 8003E748 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 +asm/non_matchings/unknown_032760/func_8003E694.s:/* 03F350 8003E750 8D8C0300 */ lw $t4, %lo(osTvType)($t4) +asm/non_matchings/unknown_032760/func_8003F2E8.s:/* 03FF08 8003F308 3C0B8000 */ lui $t3, %hi(osTvType) # $t3, 0x8000 +asm/non_matchings/unknown_032760/func_8003F2E8.s:/* 03FF10 8003F310 8D6B0300 */ lw $t3, %lo(osTvType)($t3) +asm/non_matchings/unknown_032760/func_800422F0.s:/* 042EF8 800422F8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_032760/func_800422F0.s:/* 042F00 80042300 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_032760/func_80042A90.s:/* 043790 80042B90 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_032760/func_80042A90.s:/* 043794 80042B94 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_043920/func_8004DE38.s:/* 04EADC 8004DEDC 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_043920/func_8004DE38.s:/* 04EC50 8004E050 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_043920/func_80059E40.s:/* 05AA7C 80059E7C 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_043920/func_80059E40.s:/* 05AA8C 80059E8C 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_061D30/__CSPHandleMetaMsg.s:/* 06454C 8006394C 0C018E61 */ jal __CSPRepostEvent +asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063A28 80062E28 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063B40 80062F40 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063C0C 8006300C 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063C58 80063058 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 063698 80062A98 0C018A73 */ jal __CSPPostNextSeqEvent +asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 0636B0 80062AB0 0C018A73 */ jal __CSPPostNextSeqEvent +asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 0636D8 80062AD8 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 0636E8 80062AE8 0C018A73 */ jal __CSPPostNextSeqEvent +asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s:glabel __CSPPostNextSeqEvent +asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s:/* 063624 80062A24 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPRepostEvent.s:glabel __CSPRepostEvent +asm/non_matchings/unknown_061D30/__CSPRepostEvent.s:/* 064594 80063994 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_061D30/__CSPRepostEvent.s:/* 06461C 80063A1C 0C03268C */ jal osSetIntMask +asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 06309C 8006249C 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 063258 80062658 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 0632E8 800626E8 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 06339C 8006279C 0C018A73 */ jal __CSPPostNextSeqEvent +asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 063514 80062914 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_0646F0/func_80063AF0.s:/* 06472C 80063B2C 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_0646F0/func_80063B44.s:/* 064780 80063B80 0C03246B */ jal alEvtqPostEvent +asm/non_matchings/unknown_064830/_loadOutputBuffer.s:/* 06501C 8006441C 0C03233C */ jal osVirtualToPhysical +asm/non_matchings/unknown_0667D0/func_80065D98.s:/* 0669D0 80065DD0 0C032214 */ jal osCreateThread +asm/non_matchings/unknown_0667D0/func_80065D98.s:/* 066A04 80065E04 0C032268 */ jal osStartThread +asm/non_matchings/unknown_0667D0/func_80065D98.s:/* 066A10 80065E10 0C033210 */ jal osSetThreadPri +asm/non_matchings/unknown_066AA0/D_8006C330.s:/* 06CF98 8006C398 0C033490 */ jal __osSpSetStatus +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067B20 80066F20 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067B24 80066F24 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067C08 80067008 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067C40 80067040 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067E38 80067238 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067E3C 8006723C 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067E58 80067258 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 068034 80067434 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0681AC 800675AC 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0681E0 800675E0 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0682D4 800676D4 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 068308 80067708 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0683F8 800677F8 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 06842C 8006782C 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 068574 80067974 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0685A8 800679A8 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_066AA0/func_8006A10C.s:/* 06AD24 8006A124 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_066AA0/func_8006A10C.s:/* 06AD3C 8006A13C 0C0332EC */ jal osSetEventMesg +asm/non_matchings/unknown_066AA0/func_8006A1C4.s:/* 06ADEC 8006A1EC 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D01C 8006C41C 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 +asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D020 8006C420 8C420300 */ lw $v0, %lo(osTvType)($v0) +asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D07C 8006C47C 0C01E4D4 */ jal osCreateScheduler +asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D15C 8006C55C 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D17C 8006C57C 0C01E520 */ jal osScAddClient +asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D1F4 8006C5F4 0C033498 */ jal osSetTime +asm/non_matchings/unknown_066AA0/func_8006C60C.s:/* 06D218 8006C618 0C033498 */ jal osSetTime +asm/non_matchings/unknown_066AA0/func_8006C60C.s:/* 06D674 8006CA74 3C0B8000 */ lui $t3, %hi(osTvType) # $t3, 0x8000 +asm/non_matchings/unknown_066AA0/func_8006C60C.s:/* 06D678 8006CA78 8D6B0300 */ lw $t3, %lo(osTvType)($t3) +asm/non_matchings/unknown_071730/func_80071D30.s:/* 072938 80071D38 0C033594 */ jal __osSiGetAccess +asm/non_matchings/unknown_071730/func_80071D30.s:/* 072964 80071D64 0C0335B0 */ jal __osSiRawStartDma +asm/non_matchings/unknown_071730/func_80071D30.s:/* 072978 80071D78 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_071730/func_80071D30.s:/* 072980 80071D80 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +asm/non_matchings/unknown_071730/func_80071D30.s:/* 072984 80071D84 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +asm/non_matchings/unknown_071730/func_80071D30.s:/* 072988 80071D88 0C0335B0 */ jal __osSiRawStartDma +asm/non_matchings/unknown_071730/func_80071D30.s:/* 07299C 80071D9C 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_071730/func_80071D30.s:/* 0729A8 80071DA8 3C038013 */ lui $v1, %hi(__osPfsPifRam) # $v1, 0x8013 +asm/non_matchings/unknown_071730/func_80071D30.s:/* 0729B0 80071DB0 2463CDE0 */ addiu $v1, %lo(__osPfsPifRam) # addiu $v1, $v1, -0x3220 +asm/non_matchings/unknown_071730/func_80071D30.s:/* 072A40 80071E40 0C0335A5 */ jal __osSiRelAccess +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072A60 80071E60 0C033594 */ jal __osSiGetAccess +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072A8C 80071E8C 0C0335B0 */ jal __osSiRawStartDma +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AA0 80071EA0 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AA8 80071EA8 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AAC 80071EAC 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AB0 80071EB0 0C0335B0 */ jal __osSiRawStartDma +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AC4 80071EC4 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AD0 80071ED0 3C038013 */ lui $v1, %hi(__osPfsPifRam) # $v1, 0x8013 +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AD8 80071ED8 2463CDE0 */ addiu $v1, %lo(__osPfsPifRam) # addiu $v1, $v1, -0x3220 +asm/non_matchings/unknown_071730/func_80071E58.s:/* 072B68 80071F68 0C0335A5 */ jal __osSiRelAccess +asm/non_matchings/unknown_071730/func_80071F80.s:/* 072BE4 80071FE4 0C0335DC */ jal __osContAddressCrc +asm/non_matchings/unknown_071730/func_800720DC.s:/* 072D28 80072128 0C03363C */ jal __osContRamWrite +asm/non_matchings/unknown_071730/func_800720DC.s:/* 072D4C 8007214C 0C03363C */ jal __osContRamWrite +asm/non_matchings/unknown_071730/func_800720DC.s:/* 072D70 80072170 0C033728 */ jal __osContRamRead +asm/non_matchings/unknown_072E50/func_80072718.s:/* 0733A4 800727A4 0C0334A4 */ jal osPfsIsPlug +asm/non_matchings/unknown_072E50/func_80072718.s:/* 0734C4 800728C4 0C0334A4 */ jal osPfsIsPlug +asm/non_matchings/unknown_072E50/func_80074204.s:/* 074E28 80074228 0C033884 */ jal osEepromProbe +asm/non_matchings/unknown_072E50/func_80074204.s:/* 074EA4 800742A4 0C0338A0 */ jal osEepromRead +asm/non_matchings/unknown_072E50/func_8007431C.s:/* 074F40 80074340 0C033884 */ jal osEepromProbe +asm/non_matchings/unknown_072E50/func_8007431C.s:/* 0750A4 800744A4 0C033960 */ jal osEepromWrite +asm/non_matchings/unknown_072E50/func_800744DC.s:/* 075100 80074500 0C033884 */ jal osEepromProbe +asm/non_matchings/unknown_072E50/func_800744DC.s:/* 075194 80074594 0C033960 */ jal osEepromWrite +asm/non_matchings/unknown_072E50/func_800745D0.s:/* 0751F4 800745F4 0C033884 */ jal osEepromProbe +asm/non_matchings/unknown_072E50/func_800745D0.s:/* 075248 80074648 0C0338A0 */ jal osEepromRead +asm/non_matchings/unknown_072E50/func_800745D0.s:/* 0752A4 800746A4 0C0338A0 */ jal osEepromRead +asm/non_matchings/unknown_072E50/func_800746F0.s:/* 075314 80074714 0C033884 */ jal osEepromProbe +asm/non_matchings/unknown_072E50/func_800746F0.s:/* 07537C 8007477C 0C033960 */ jal osEepromWrite +asm/non_matchings/unknown_072E50/func_800746F0.s:/* 0753D4 800747D4 0C033960 */ jal osEepromWrite +asm/non_matchings/unknown_072E50/func_80074874.s:/* 075488 80074888 0C033884 */ jal osEepromProbe +asm/non_matchings/unknown_072E50/func_80074874.s:/* 0754B0 800748B0 0C0338A0 */ jal osEepromRead +asm/non_matchings/unknown_072E50/func_8007497C.s:/* 075590 80074990 0C033884 */ jal osEepromProbe +asm/non_matchings/unknown_072E50/func_8007497C.s:/* 075630 80074A30 0C033960 */ jal osEepromWrite +asm/non_matchings/unknown_072E50/func_800758DC.s:/* 07658C 8007598C 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_072E50/func_800758DC.s:/* 0765C4 800759C4 0C033CF8 */ jal osPfsFreeBlocks +asm/non_matchings/unknown_072E50/func_80075B18.s:/* 0767B8 80075BB8 0C0334A4 */ jal osPfsIsPlug +asm/non_matchings/unknown_072E50/func_80075E60.s:/* 076B2C 80075F2C 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000 +asm/non_matchings/unknown_072E50/func_80075E60.s:/* 076B30 80075F30 8D080300 */ lw $t0, %lo(osTvType)($t0) +asm/non_matchings/unknown_072E50/func_80076194.s:/* 076DE0 800761E0 0C033CF8 */ jal osPfsFreeBlocks +asm/non_matchings/unknown_072E50/func_800764E8.s:/* 077140 80076540 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_072E50/func_800764E8.s:/* 077144 80076544 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_072E50/func_800764E8.s:/* 077194 80076594 0C0343A0 */ jal osPfsFindFile +asm/non_matchings/unknown_072E50/func_800766D4.s:/* 077358 80076758 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_072E50/func_800766D4.s:/* 07736C 8007676C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_072E50/func_800766D4.s:/* 077438 80076838 0C034410 */ jal osPfsAllocateFile +asm/non_matchings/unknown_078050/func_80077A54.s:/* 078680 80077A80 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_078050/func_80077A54.s:/* 0786BC 80077ABC 0C034628 */ jal osWritebackDCacheAll +asm/non_matchings/unknown_078050/func_80077A54.s:/* 0786F4 80077AF4 0C034638 */ jal osDpSetNextBuffer +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078184 80077584 0C034628 */ jal osWritebackDCacheAll +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078198 80077598 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 0782EC 800776EC 0C034628 */ jal osWritebackDCacheAll +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078300 80077700 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 07831C 8007771C 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078480 80077880 0C034628 */ jal osWritebackDCacheAll +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078494 80077894 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 0784B0 800778B0 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 07860C 80077A0C 0C034628 */ jal osWritebackDCacheAll +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078620 80077A20 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_078050/setupOSTasks.s:/* 07863C 80077A3C 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A4A8 800798A8 0C033490 */ jal __osSpSetStatus +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A4FC 800798FC 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A51C 8007991C 0C033490 */ jal __osSpSetStatus +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A564 80079964 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A58C 8007998C 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A674 80079A74 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A684 80079A84 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A6E0 80079AE0 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A718 80079B18 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/func_80079B44.s:/* 07A770 80079B70 0C031E34 */ jal osGetCount +asm/non_matchings/unknown_079F50/func_8007A080.s:/* 07ACAC 8007A0AC 0C03486C */ jal osGetTime +asm/non_matchings/unknown_079F50/func_8007A080.s:/* 07ACBC 8007A0BC 0C034890 */ jal osSpTaskYield +asm/non_matchings/unknown_079F50/__scMain.s:/* 07A208 80079608 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_079F50/__scMain.s:/* 07A2A0 800796A0 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AAC4 80079EC4 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AAD4 80079ED4 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AB10 80079F10 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AB20 80079F20 0C03238C */ jal osSendMesg +asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07AF10 8007A310 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 +asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07AF14 8007A314 8C420300 */ lw $v0, %lo(osTvType)($v0) +asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07B060 8007A460 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07B07C 8007A47C 0C01E520 */ jal osScAddClient +asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07B098 8007A498 0C034744 */ jal osViBlack +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B150 8007A550 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B154 8007A554 8C420300 */ lw $v0, %lo(osTvType)($v0) +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B1C0 8007A5C0 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B208 8007A608 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000 +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B20C 8007A60C 8D080300 */ lw $t0, %lo(osTvType)($t0) +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B248 8007A648 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B2B0 8007A6B0 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B318 8007A718 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B340 8007A740 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B368 8007A768 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B390 8007A790 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3B8 8007A7B8 0C034728 */ jal osViSetMode +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3C0 8007A7C0 0C034898 */ jal osViSetSpecialFeatures +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3C8 8007A7C8 0C034898 */ jal osViSetSpecialFeatures +asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3D0 8007A7D0 0C034898 */ jal osViSetSpecialFeatures +asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B5C4 8007A9C4 0C034744 */ jal osViBlack +asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B5F0 8007A9F0 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B618 8007AA18 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B6C8 8007AAC8 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B6F0 8007AAF0 0C034908 */ jal osViSwapBuffer +asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B700 8007AB00 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_080500/func_8008377C.s:/* 08449C 8008389C 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 +asm/non_matchings/unknown_080500/func_8008377C.s:/* 0844A0 800838A0 8DAD0300 */ lw $t5, %lo(osTvType)($t5) +asm/non_matchings/unknown_080500/func_80084854.s:/* 085588 80084988 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000 +asm/non_matchings/unknown_080500/func_80084854.s:/* 08558C 8008498C 8D080300 */ lw $t0, %lo(osTvType)($t0) +asm/non_matchings/unknown_080500/func_800853D0.s:/* 08649C 8008589C 3C038000 */ lui $v1, %hi(osTvType) # $v1, 0x8000 +asm/non_matchings/unknown_080500/func_800853D0.s:/* 0864A0 800858A0 8C630300 */ lw $v1, %lo(osTvType)($v1) +asm/non_matchings/unknown_080500/func_80085B9C.s:/* 086908 80085D08 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_080500/func_80085B9C.s:/* 086914 80085D14 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_080500/func_80088938.s:/* 089AC0 80088EC0 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 +asm/non_matchings/unknown_080500/func_80088938.s:/* 089ACC 80088ECC 8DAD0300 */ lw $t5, %lo(osTvType)($t5) +asm/non_matchings/unknown_080500/func_800896A4.s:/* 08A574 80089974 3C168000 */ lui $s6, %hi(osTvType) # $s6, 0x8000 +asm/non_matchings/unknown_080500/func_800896A4.s:/* 08A578 80089978 26D60300 */ addiu $s6, %lo(osTvType) # addiu $s6, $s6, 0x300 +asm/non_matchings/unknown_080500/func_8008C698.s:/* 08D354 8008C754 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 +asm/non_matchings/unknown_080500/func_8008C698.s:/* 08D358 8008C758 8DAD0300 */ lw $t5, %lo(osTvType)($t5) +asm/non_matchings/unknown_080500/func_8008CD74.s:/* 08D978 8008CD78 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/func_8008CD74.s:/* 08D97C 8008CD7C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/func_8008FA54.s:/* 09065C 8008FA5C 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_080500/func_8008FA54.s:/* 090664 8008FA64 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_080500/func_8008FA54.s:/* 09083C 8008FC3C 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 +asm/non_matchings/unknown_080500/func_8008FA54.s:/* 090840 8008FC40 8F390300 */ lw $t9, %lo(osTvType)($t9) +asm/non_matchings/unknown_080500/func_8008FA54.s:/* 0909DC 8008FDDC 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000 +asm/non_matchings/unknown_080500/func_8008FA54.s:/* 0909E8 8008FDE8 8D290300 */ lw $t1, %lo(osTvType)($t1) +asm/non_matchings/unknown_080500/func_80090F30.s:/* 091B70 80090F70 3C108000 */ lui $s0, %hi(osTvType) # $s0, 0x8000 +asm/non_matchings/unknown_080500/func_80090F30.s:/* 091B74 80090F74 26100300 */ addiu $s0, %lo(osTvType) # addiu $s0, $s0, 0x300 +asm/non_matchings/unknown_080500/func_80092E94.s:/* 093ABC 80092EBC 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/func_80092E94.s:/* 093AC0 80092EC0 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/func_80093D40.s:/* 0949C0 80093DC0 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/func_80093D40.s:/* 0949C4 80093DC4 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/func_80094D28.s:/* 095E78 80095278 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_080500/func_80094D28.s:/* 095E80 80095280 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_080500/func_80094D28.s:/* 0961C0 800955C0 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 +asm/non_matchings/unknown_080500/func_80094D28.s:/* 0961C4 800955C4 8D8C0300 */ lw $t4, %lo(osTvType)($t4) +asm/non_matchings/unknown_080500/func_80095728.s:/* 096378 80095778 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/func_80095728.s:/* 09637C 8009577C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/func_80096978.s:/* 0975C0 800969C0 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/func_80096978.s:/* 0975C4 800969C4 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/func_80098774.s:/* 0993E8 800987E8 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 +asm/non_matchings/unknown_080500/func_80098774.s:/* 0993EC 800987EC 8F390300 */ lw $t9, %lo(osTvType)($t9) +asm/non_matchings/unknown_080500/func_80099E8C.s:/* 09AAD4 80099ED4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/func_80099E8C.s:/* 09AAD8 80099ED8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/func_8009E3D0.s:/* 09F02C 8009E42C 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_080500/func_8009E3D0.s:/* 09F030 8009E430 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_080500/MenuBootLoop.s:/* 08920C 8008860C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/MenuBootLoop.s:/* 089210 80088610 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09BFB0 8009B3B0 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09BFB4 8009B3B4 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09C288 8009B688 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 +asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09C28C 8009B68C 8D8C0300 */ lw $t4, %lo(osTvType)($t4) +asm/non_matchings/unknown_080500/MenuGameSelectLoop.s:/* 08EDFC 8008E1FC 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 +asm/non_matchings/unknown_080500/MenuGameSelectLoop.s:/* 08EE00 8008E200 8D8C0300 */ lw $t4, %lo(osTvType)($t4) +asm/non_matchings/unknown_080500/MenuGhostDataInit.s:glabel MenuGhostDataInit +asm/non_matchings/unknown_080500/MenuGhostDataLoop.s:glabel MenuGhostDataLoop +asm/non_matchings/unknown_080500/MenuInit.s:/* 082054 80081454 0C020AAB */ jal menu_logos_screen_init +asm/non_matchings/unknown_080500/MenuInit.s:/* 082154 80081554 0C026697 */ jal MenuGhostDataInit +asm/non_matchings/unknown_080500/MenuLogoScreenLoop.s:/* 083784 80082B84 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_080500/MenuLogoScreenLoop.s:/* 083788 80082B88 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_080500/MenuLoop.s:/* 082364 80081764 0C0269F5 */ jal MenuGhostDataLoop +asm/non_matchings/unknown_080500/MenuTitleScreenLoop.s:/* 084618 80083A18 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000 +asm/non_matchings/unknown_080500/MenuTitleScreenLoop.s:/* 08461C 80083A1C 8D290300 */ lw $t1, %lo(osTvType)($t1) +asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 09FC94 8009F094 3C108000 */ lui $s0, %hi(osTvType) # $s0, 0x8000 +asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 09FD38 8009F138 26100300 */ addiu $s0, %lo(osTvType) # addiu $s0, $s0, 0x300 +asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A0704 8009FB04 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A081C 8009FC1C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A0A04 8009FE04 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A0A08 8009FE08 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_09F8F0/func_800A14F0.s:/* 0A2480 800A1880 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A14F0.s:/* 0A2488 800A1888 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_09F8F0/func_800A1E48.s:/* 0A2CFC 800A20FC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A1E48.s:/* 0A2D00 800A2100 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_09F8F0/func_800A277C.s:/* 0A37A8 800A2BA8 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A277C.s:/* 0A37D8 800A2BD8 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_09F8F0/func_800A6254.s:/* 0A70B8 800A64B8 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A6254.s:/* 0A70BC 800A64BC 24840300 */ addiu $a0, %lo(osTvType) # addiu $a0, $a0, 0x300 +asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7D9C 800A719C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7DA0 800A71A0 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7FB4 800A73B4 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7FB8 800A73B8 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A94E8 800A88E8 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9588 800A8988 8D8C0300 */ lw $t4, %lo(osTvType)($t4) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A98C4 800A8CC4 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A98CC 800A8CCC 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A98D0 800A8CD0 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9904 800A8D04 8DAD0300 */ lw $t5, %lo(osTvType)($t5) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9A0C 800A8E0C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9B40 800A8F40 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9E64 800A9264 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9E68 800A9268 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA0BC 800A94BC 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA15C 800A955C 8D8C0300 */ lw $t4, %lo(osTvType)($t4) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA738 800A9B38 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA73C 800A9B3C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA7CC 800A9BCC 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA7D4 800A9BD4 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AAE70 800AA270 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AAE84 800AA284 8D4A0300 */ lw $t2, %lo(osTvType)($t2) +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4B8 800AA8B8 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4BC 800AA8BC 8C840300 */ lw $a0, %lo(osTvType)($a0) +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4D4 800AA8D4 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4E4 800AA8E4 8C840300 */ lw $a0, %lo(osTvType)($a0) +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB6D4 800AAAD4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB6D8 800AAAD8 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB704 800AAB04 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB710 800AAB10 8F180300 */ lw $t8, %lo(osTvType)($t8) +asm/non_matchings/unknown_09F8F0/func_800AD2C4.s:/* 0ADEC4 800AD2C4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_09F8F0/func_800AD2C4.s:/* 0ADEC8 800AD2C8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7BFC 800B6FFC 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C0C 800B700C 0C0332EC */ jal osSetEventMesg +asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C1C 800B701C 0C0332EC */ jal osSetEventMesg +asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C38 800B7038 0C031800 */ jal osCreatePiManager +asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C54 800B7054 0C0322EC */ jal osRecvMesg +asm/non_matchings/unknown_0AEE70/func_800B6F50.s:/* 0B7B80 800B6F80 0C032214 */ jal osCreateThread +asm/non_matchings/unknown_0AEE70/func_800B6F50.s:/* 0B7B8C 800B6F8C 0C032268 */ jal osStartThread +asm/non_matchings/unknown_0AEE70/func_800B7144.s:/* 0B7D7C 800B717C 0C0322BC */ jal osStopThread +asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C0430 800BF830 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C045C 800BF85C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C08B4 800BFCB4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C08CC 800BFCCC 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_0B8920/func_800C05C8.s:/* 0C11EC 800C05EC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 +asm/non_matchings/unknown_0B8920/func_800C05C8.s:/* 0C11F0 800C05F0 8DEF0300 */ lw $t7, %lo(osTvType)($t7) +asm/non_matchings/unknown_0B8920/func_800C29F0.s:/* 0C364C 800C2A4C 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 +asm/non_matchings/unknown_0B8920/func_800C29F0.s:/* 0C3650 800C2A50 8F390300 */ lw $t9, %lo(osTvType)($t9) +asm/non_matchings/unknown_0B8920/func_800C3158.s:/* 0C3D58 800C3158 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_0B8920/func_800C3158.s:/* 0C3D5C 800C315C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_0B8920/func_800C38B4.s:/* 0C4588 800C3988 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 +asm/non_matchings/unknown_0B8920/func_800C38B4.s:/* 0C45A8 800C39A8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) +asm/non_matchings/unknown_0B8920/func_800C6000.s:glabel osCreatePiManager +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C08 800C6008 3C10800E */ lui $s0, %hi(__osPiDevMgr) # $s0, 0x800e +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C0C 800C600C 26103740 */ addiu $s0, %lo(__osPiDevMgr) # addiu $s0, $s0, 0x3740 +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C30 800C6030 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C48 800C6048 0C032208 */ jal osCreateMesgQueue +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C50 800C6050 3C0F800E */ lui $t7, %hi(__osPiAccessQueueEnabled) # $t7, 0x800e +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C54 800C6054 8DEF4800 */ lw $t7, %lo(__osPiAccessQueueEnabled)($t7) +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C64 800C6064 0C034920 */ jal __osPiCreateAccessQueue +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C7C 800C607C 0C0332EC */ jal osSetEventMesg +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C8C 800C608C 0C034950 */ jal osGetThreadPri +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CA8 800C60A8 0C033210 */ jal osSetThreadPri +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CB0 800C60B0 0C034958 */ jal __osDisableInt +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CCC 800C60CC 3C0C800D */ lui $t4, %hi(osPiRawStartDma) # $t4, 0x800d +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CD0 800C60D0 3C0D800D */ lui $t5, %hi(osEPiRawStartDma) # $t5, 0x800d +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CE8 800C60E8 258C25A0 */ addiu $t4, %lo(osPiRawStartDma) # addiu $t4, $t4, 0x25a0 +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CEC 800C60EC 25AD2680 */ addiu $t5, %lo(osEPiRawStartDma) # addiu $t5, $t5, 0x2680 +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CF4 800C60F4 3C06800D */ lui $a2, %hi(__osDevMgrMain) # $a2, 0x800d +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D14 800C6114 24C62760 */ addiu $a2, %lo(__osDevMgrMain) # addiu $a2, $a2, 0x2760 +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D28 800C6128 0C032214 */ jal osCreateThread +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D34 800C6134 0C032268 */ jal osStartThread +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D40 800C6140 0C034960 */ jal __osRestoreInt +asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D58 800C6158 0C033210 */ jal osSetThreadPri +asm/non_matchings/unknown_0C8450/alCSPSetVol.s:/* 0C8474 800C7874 0C03246B */ jal alEvtqPostEvent +asm/unknown_0251F0.s:.include "macros.inc" +asm/unknown_031D30.s:.include "macros.inc" +asm/unknown_062930.s:.include "macros.inc" +asm/unknown_070110.s:.include "macros.inc" +src/unknown_001050.c:#include "macros.h" +src/unknown_001050.c: audioPrevCount = osGetCount(); +src/unknown_001050.c: u32 current_cnt = osGetCount(); +src/unknown_003260.c:#include "macros.h" +src/unknown_003260.c: osCreateMesgQueue(&D_80116198, &D_801161B0, 8); +src/unknown_003260.c: osCreateMesgQueue(&OSMesgQueue_80116160, &D_80116178, 8); +src/unknown_003260.c: osCreateMesgQueue(&D_80119AF0, &D_80119B08, 50); +src/unknown_003260.c: osCreateThread(&audioThread, 4, &func_80002A98, NULL, &D_80119230, p); +src/unknown_003260.c: osStartThread(&audioThread); +src/unknown_003260.c: osStopThread(&audioThread); +src/unknown_003260.c: alEvtqPostEvent(&(gAlSndPlayer->evtq), &sp_38, gAlSndPlayer->frameTime); +src/unknown_003260.c: alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, sndp->frameTime); +src/unknown_003260.c: alEvtqPostEvent(&(gAlSndPlayer->evtq), &sp_18, 0); +src/unknown_003260.c: alEvtqPostEvent(&(gAlSndPlayer->evtq), &sndEvt,0); +src/unknown_005740.c:#include "macros.h" +src/unknown_00BC20.c:#include "macros.h" +src/unknown_00BC20.c:extern s32 osTvType; +src/unknown_00BC20.c: if (osTvType != 0 || arg0 < 0) { +src/unknown_00BC20.c: arg0->y_position -= D_8011ADD0; +src/unknown_00BC20.c: arg0->x_position -= arg0->unk64->unk78; +src/unknown_00BC20.c: arg0->y_position -= arg0->unk64->unk7C; +src/unknown_00BC20.c: arg0->z_position -= arg0->unk64->unk80; +src/unknown_0255E0.c:#include "macros.h" +src/unknown_032760.c:#include "macros.h" +src/unknown_032760.c: temp->unk0 = arg0->y_position; +src/unknown_032760.c: arg0->unk64 = func_800BE654(arg0->unk2E, arg0->x_position, arg0->z_position); +src/unknown_032760.c: arg0->y_position = func_800BEEB4(arg0->unk64); +src/unknown_043920.c:#include "macros.h" +src/unknown_05CEF0.c:#include "macros.h" +src/unknown_05DCD0.c:#include "macros.h" +src/unknown_05F0C0.c:#include "macros.h" +src/unknown_05F690.c:#include "macros.h" +src/unknown_061D30.c:#include "macros.h" +src/unknown_061D30.c:GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s") +src/unknown_061D30.c:GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPRepostEvent.s") +src/unknown_064690.c:#include "macros.h" +src/unknown_064690.c: alEvtqPostEvent(arg0 + 0x48, &unknownStruct, 0); +src/unknown_0646F0.c:#include "macros.h" +src/unknown_0647A0.c:#include "macros.h" +src/unknown_0647A0.c: alEvtqPostEvent(arg0 + 0x48, &unknownStruct, 0); +src/unknown_064800.c:#include "macros.h" +src/unknown_064800.c: unk80063C00* unk60; // Array of unk80063C00, unknown number of elements (At most 256). +src/unknown_064830.c:#include "macros.h" +src/unknown_064830.c: lastCnt[++cnt_index] = osGetCount(); +src/unknown_064830.c: __osError(ERR_ALMODDELAYOVERFLOW, 1, delay_end - curr_ptr); +src/unknown_064830.c: aLoadBuffer(ptr++, osVirtualToPhysical(curr_ptr)); +src/unknown_064830.c: aLoadBuffer(ptr++, osVirtualToPhysical(r->base)); +src/unknown_064830.c: aLoadBuffer(ptr++, osVirtualToPhysical(curr_ptr)); +src/unknown_064830.c: lastCnt[++cnt_index] = osGetCount(); +src/unknown_064830.c: aSaveBuffer(ptr++, osVirtualToPhysical(curr_ptr)); +src/unknown_064830.c: aSaveBuffer(ptr++, osVirtualToPhysical(r->base)); +src/unknown_064830.c: aSaveBuffer(ptr++, osVirtualToPhysical(curr_ptr)); +src/unknown_064830.c: aLoadADPCM(ptr++, 32, osVirtualToPhysical(lp->fcvec.fccoef)); +src/unknown_064830.c: aPoleFilter(ptr++, lp->first, lp->fgain, osVirtualToPhysical(lp->fstate)); +src/unknown_065D30.c:#include "macros.h" +src/unknown_066460.c:#include "macros.h" +src/unknown_066500.c:#include "macros.h" +src/unknown_0667D0.c:#include "macros.h" +src/unknown_0667D0.c: osInitialize(); +src/unknown_0667D0.c: osCreateThread(&D_8011F760, 1, &D_80065D98, 0, &D_8011D750, 0); +src/unknown_0667D0.c: osStartThread(&D_8011F760); +src/unknown_066AA0.c:#include "macros.h" +src/unknown_066AA0.c:extern u32 osTvType; +src/unknown_066AA0.c:void osSetTime(u64); +src/unknown_066AA0.c: if (!osTvType) { +src/unknown_066AA0.c: if (osTvType == 0) { +src/unknown_066AA0.c: if (osTvType == 0) { +src/unknown_066AA0.c: if (osTvType == 0) { +src/unknown_066AA0.c: if (osTvType == 0) { +src/unknown_066AA0.c: if (osTvType == 0) { +src/unknown_066AA0.c: osCreateMesgQueue(&D_801210E0, &D_801210F8, 1); +src/unknown_066AA0.c: osSetEventMesg(5, &D_801210E0, D_801210FC); +src/unknown_066AA0.c: if ((settings->bosses & (1 << settings->worldId)) != 0) { +src/unknown_066AA0.c: __osSpSetStatus(0xAAAA82); +src/unknown_066AA0.c:void osCreateScheduler(u16*, s32*, s32, u8, s32); +src/unknown_066AA0.c:void osScAddClient(u16*, u8*, s32**, s32); +src/unknown_066AA0.c: if (osTvType == 0) { +src/unknown_066AA0.c: } else if (osTvType == 1) { +src/unknown_066AA0.c: } else if (osTvType == 2) { +src/unknown_066AA0.c: osCreateScheduler(&D_80121260, &D_801234E8, 0xD, sp24, 1); +src/unknown_066AA0.c: osCreateMesgQueue(&D_80123548, &D_80123544, 1); +src/unknown_066AA0.c: osScAddClient(&D_80121260, &D_80123538, &D_80123548, 3); +src/unknown_066AA0.c: osSetTime(0); +src/unknown_066AA0.c: osSetTime(0); +src/unknown_066AA0.c: osSetTime(0); +src/unknown_066AA0.c: gSettingsPtr->racers[i].starting_position = i; +src/unknown_066AA0.c: gSettingsPtr->racers[i].starting_position = 5 - i; +src/unknown_066AA0.c: gSettingsPtr->racers[i].starting_position = 7 - i; +src/unknown_066AA0.c: settings->bosses = 0; +src/unknown_066AA0.c: D_80123560 = (s32) ((osRecvMesg(&D_80123548, NULL, 0) + 1) != 0); +src/unknown_066AA0.c: if ((gSettingsPtr->trophies & 0xFF) == 0xFF && !(gSettingsPtr->cutsceneFlags & 1) && gSettingsPtr->bosses & 1) { +src/unknown_071730.c:#include "macros.h" +src/unknown_072E50.c:#include "macros.h" +src/unknown_0777A0.c:#include "macros.h" +src/unknown_0777A0.c:void osCreateMesgQueue(s32*, s32*, s32); +src/unknown_0777A0.c:void osCreatePiManager(s32, s32*, s32*, s32); +src/unknown_0777A0.c: osCreateMesgQueue(&D_80124278, &D_80124238, 0x10); +src/unknown_0777A0.c: osCreateMesgQueue(&D_80124220, &D_80124218, 1); +src/unknown_0777A0.c: osCreatePiManager(0x96, &D_80124278, &D_80124238, 0x10); +src/unknown_0777A0.c: osInvalDCache(ramAddress, numBytes); +src/unknown_0777A0.c: osPiStartDma(&D_80124200, 0, 0, romOffset, ramAddress, numBytesToDMA, &D_80124220); +src/unknown_0777A0.c: osRecvMesg(&D_80124220, &sp4C, 1); +src/unknown_077C50.c:#include "macros.h" +src/unknown_078050.c:#include "macros.h" +src/unknown_078050.c: osCreateMesgQueue(&D_80125EA0, &D_80125EB8,1); +src/unknown_078050.c: osCreateMesgQueue(&D_80125EC0, &D_80125EF0,8); +src/unknown_078050.c: osCreateMesgQueue(&D_80125ED8, &D_80125F10,8); +src/unknown_079F50.c:#include "macros.h" +src/unknown_079F50.c: OSTime totalTime; /* possible conflict if */ +src/unknown_079F50.c:extern OSViMode D_800E3900[];//osViModeTable; +src/unknown_079F50.c:void osCreateScheduler(OSSched *sc, void *stack, OSPri priority, u8 mode, u8 numFields){ +src/unknown_079F50.c: osCreateViManager(OS_PRIORITY_VIMGR); +src/unknown_079F50.c: osViSetMode(&D_800E3900[mode]); +src/unknown_079F50.c: osViBlack(TRUE); +src/unknown_079F50.c: osCreateMesgQueue(&sc->interruptQ, sc->intBuf, OS_SC_MAX_MESGS); +src/unknown_079F50.c: osCreateMesgQueue(&sc->cmdQ, sc->cmdMsgBuf, OS_SC_MAX_MESGS); +src/unknown_079F50.c: osSetEventMesg(OS_EVENT_SP, &sc->interruptQ, (OSMesg)667); +src/unknown_079F50.c: osSetEventMesg(OS_EVENT_DP, &sc->interruptQ, (OSMesg)668); +src/unknown_079F50.c: osSetEventMesg(OS_EVENT_PRENMI, &sc->interruptQ, (OSMesg)669); +src/unknown_079F50.c: osViSetEventMsg(&sc->interruptQ, (OSMesg)666, numFields); +src/unknown_079F50.c: osCreateThread(&sc->thread, 5, __scMain, (void *)sc, stack, priority); +src/unknown_079F50.c: osStartThread(&sc->thread); +src/unknown_079F50.c:void osScAddClient(OSSched *sc, OSScClient *c, OSMesgQueue *msgQ, u8 arg3){ +src/unknown_079F50.c: mask = osSetIntMask(OS_IM_NONE); +src/unknown_079F50.c: osSetIntMask(mask); +src/unknown_079F50.c:void osScRemoveClient(OSSched *sc, OSScClient *c) +src/unknown_079F50.c: mask = osSetIntMask(OS_IM_NONE); +src/unknown_079F50.c: osSetIntMask(mask); +src/unknown_079F50.c:OSMesgQueue *osScGetCmdQ(OSSched *sc){ +src/unknown_079F50.c: D_80126124 = osGetCount(); +src/unknown_079F50.c: if (osViGetCurrentFramebuffer() != osViGetNextFramebuffer()) { +src/unknown_079F50.c: //rv = osSendMesg(t->msgQ, &t->msg, OS_MESG_BLOCK); +src/unknown_079F50.c: osSendMesg(t->msgQ, t->msg, 1); +src/unknown_079F50.c: // osViBlack(FALSE); +src/unknown_079F50.c: //osViSwapBuffer(t->framebuffer); +src/unknown_079F50.c: osWritebackDCacheAll(); /* flush the cache */ +src/unknown_079F50.c: D_80126120 = osGetCount(); +src/unknown_079F50.c: osSpTaskLoad(&sp->list); +src/unknown_079F50.c: osSpTaskStartGo(&sp->list); +src/unknown_079F50.c: osDpSetNextBuffer(dp->list.t.output_buff, +src/unknown_079F50.c: D_80126118 = osGetTime(); //TODO extra lui +src/unknown_079F50.c: osSpTaskYield(); +src/unknown_07AF10.c:#include "macros.h" +src/unknown_07B870.c:#include "macros.h" +src/unknown_080240.c:#include "macros.h" +src/unknown_080240.c: s32 y_pos; +src/unknown_080240.c: y_pos = 0; +src/unknown_080240.c: while(y_pos != 240) { +src/unknown_080240.c: fast3d_cmd((*dlist)++, 0xE4500000 | (((y_pos + 6) << 2) & 0xFFF), (y_pos << 2) & 0xFFF) +src/unknown_080240.c: y_pos += 6; +src/unknown_080500.c:#include "macros.h" +src/unknown_080500.c:extern s32 osTvType; +src/unknown_080500.c: settings->bosses = 0; +src/unknown_080500.c: settings->bosses |= D_80126530[i]->bosses; +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c:void menu_logos_screen_init(void) { +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c:// Almost matches, except for an extra `lui` instruction when the loop unrolls. +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c:// Close to done with this function. Just a regalloc issue remains. :/ +src/unknown_080500.c: settings->racers[i].starting_position = i; +src/unknown_080500.c: temp_a2 = settings->racers[i].starting_position; +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c:GLOBAL_ASM("asm/non_matchings/unknown_080500/MenuGhostDataInit.s") +src/unknown_080500.c:GLOBAL_ASM("asm/non_matchings/unknown_080500/MenuGhostDataLoop.s") +src/unknown_080500.c: if (osTvType == 0) { +src/unknown_080500.c: if (settings->bosses & 0x20) { +src/unknown_09F8F0.c:#include "macros.h" +src/unknown_0AEE70.c:#include "macros.h" +src/unknown_0B8920.c:#include "macros.h" +src/unknown_0B8920.c:extern u32 __osPiAccessQueueEnabled; //__osPiAccessQueueEnabled +src/unknown_0B8920.c:extern OSDevMgr __osPiDevMgr; +src/unknown_0B8920.c:void __osDevMgrMain(void); +src/unknown_0B8920.c: // How is temp supposed to be setup for all of these functions? This is driving me nuts. +src/unknown_0B8920.c:void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt) +src/unknown_0B8920.c: if (!__osPiDevMgr.active) +src/unknown_0B8920.c: osCreateMesgQueue(cmdQ, cmdBuf, cmdMsgCnt); +src/unknown_0B8920.c: osCreateMesgQueue(&piEventQueue, (OSMesg*)&piEventBuf, 1); +src/unknown_0B8920.c: if (!__osPiAccessQueueEnabled) +src/unknown_0B8920.c: __osPiCreateAccessQueue(); +src/unknown_0B8920.c: osSetEventMesg(OS_EVENT_PI, &piEventQueue, (OSMesg)0x22222222); +src/unknown_0B8920.c: myPri = osGetThreadPri(NULL); +src/unknown_0B8920.c: osSetThreadPri(NULL, pri); +src/unknown_0B8920.c: savedMask = __osDisableInt(); +src/unknown_0B8920.c: __osPiDevMgr.active = 1; +src/unknown_0B8920.c: __osPiDevMgr.thread = &piThread; +src/unknown_0B8920.c: __osPiDevMgr.cmdQueue = cmdQ; +src/unknown_0B8920.c: __osPiDevMgr.evtQueue = &piEventQueue; +src/unknown_0B8920.c: __osPiDevMgr.acsQueue = &piAccessQueue; +src/unknown_0B8920.c: __osPiDevMgr.dma = osPiRawStartDma; +src/unknown_0B8920.c: __osPiDevMgr.edma = osEPiRawStartDma; +src/unknown_0B8920.c: osCreateThread(&piThread, 0, __osDevMgrMain, &__osPiDevMgr, &piThreadStack[OS_PIM_STACKSIZE], pri); +src/unknown_0B8920.c: osStartThread(&piThread); +src/unknown_0B8920.c: __osRestoreInt(savedMask); +src/unknown_0B8920.c: osSetThreadPri(NULL, oldPri); +src/unknown_0C7F40.c:#include "macros.h" +src/unknown_0C7F50.c:#include "macros.h" +src/unknown_0C7F50.c: osCreateMesgQueue(&D_8012ACA0, &D_8012ACB8, 2); +src/unknown_0C7F50.c: osCreateThread(&D_8012AAF0, 0x1E, &func_800C74A0, 0, &D_8012CCC0, 8); +src/unknown_0C7F50.c: osStartThread(&D_8012AAF0); +src/unknown_0C7F50.c: osStopThread(&D_8012AAF0); +src/unknown_0C7F50.c: osSendMesg(&D_8012ACA0, (OSMesg)10, 0); +src/unknown_0C7F50.c: osRecvMesg(&D_8012ACA0, &sp34, 1); +src/unknown_0C8160.c:#include "macros.h" +src/unknown_0C81A0.c:#include "macros.h" +src/unknown_0C83F0.c:#include "macros.h" +src/unknown_0C8450.c:#include "macros.h" +lib/src/osCreateThread.c:extern OSThread *__osActiveQueue; //__osActiveQueue; +lib/src/osCreateThread.c:void __osCleanupThread(void); //__osCleanupThread +lib/src/osCreateThread.c:void osCreateThread(OSThread *t, OSId id, void (*entry)(void *), void *arg, void *sp, OSPri p) +lib/src/osCreateThread.c: t->context.ra = (u64)__osCleanupThread; +lib/src/osCreateThread.c: saveMask = __osDisableInt(); +lib/src/osCreateThread.c: t->tlnext = __osActiveQueue; +lib/src/osCreateThread.c: __osActiveQueue = t; +lib/src/osCreateThread.c: __osRestoreInt(saveMask); +lib/src/osEepromRead.c:#include "macros.h" +lib/src/osEepromRead.c:GLOBAL_ASM("lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s") +lib/src/osEepromWrite.c:#include "macros.h" +lib/src/osEepromWrite.c:GLOBAL_ASM("lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s") +lib/src/osGetThreadPri.c:extern OSThread *__osRunningThread; +lib/src/osGetThreadPri.c:OSPri osGetThreadPri(OSThread *thread) +lib/src/osGetThreadPri.c: thread = __osRunningThread; +lib/src/osGetTime.c:extern OSTime __osCurrentTime;//__osCurrentTime +lib/src/osGetTime.c:extern u32 __osBaseCounter; //__osBaseCounter +lib/src/osGetTime.c:OSTime osGetTime() +lib/src/osGetTime.c: saveMask = __osDisableInt(); +lib/src/osGetTime.c: tmptime = osGetCount(); +lib/src/osGetTime.c: elapseCount = tmptime - __osBaseCounter; +lib/src/osGetTime.c: currentCount = __osCurrentTime; +lib/src/osGetTime.c: __osRestoreInt(saveMask); +lib/src/osJamMesg.c:extern OSThread* __osRunningThread; +lib/src/osJamMesg.c:s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag) +lib/src/osJamMesg.c: register u32 saveMask = __osDisableInt(); +lib/src/osJamMesg.c: __osRunningThread->state = OS_STATE_WAITING; +lib/src/osJamMesg.c: __osEnqueueAndYield(&mq->fullqueue); +lib/src/osJamMesg.c: __osRestoreInt(saveMask); +lib/src/osJamMesg.c: osStartThread(__osPopThread(&mq->mtqueue)); +lib/src/osJamMesg.c: __osRestoreInt(saveMask); +lib/src/osPfsFreeBlocks.c:s32 osPfsFreeBlocks(OSPfs *pfs, s32 *bytes_not_used) +lib/src/osPfsFreeBlocks.c: ERRCK(__osPfsRWInode(pfs, &inode, OS_READ, bank)); +lib/src/osPiGetCmdQueue.c:extern OSDevMgr __osPiDevMgr; +lib/src/osPiGetCmdQueue.c:OSMesgQueue *osPiGetCmdQueue(void) +lib/src/osPiGetCmdQueue.c: if (!__osPiDevMgr.active) +lib/src/osPiGetCmdQueue.c: return __osPiDevMgr.cmdQueue; +lib/src/osPiStartDma.c:extern OSDevMgr __osPiDevMgr; //__osPiDevMgr; +lib/src/osPiStartDma.c:s32 osPiStartDma(OSIoMesg *mb, s32 priority, s32 direction, u32 devAddr, void *dramAddr, u32 size, OSMesgQueue *mq) +lib/src/osPiStartDma.c: if (!__osPiDevMgr.active) +lib/src/osPiStartDma.c: ret = osJamMesg(osPiGetCmdQueue(), (OSMesg)mb, OS_MESG_NOBLOCK); +lib/src/osPiStartDma.c: ret = osSendMesg(osPiGetCmdQueue(), (OSMesg)mb, OS_MESG_NOBLOCK); +lib/src/osRecvMesg.c:#include "macros.h" +lib/src/osRecvMesg.c:extern OSThread *__osRunningThread; +lib/src/osRecvMesg.c:s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flags) +lib/src/osRecvMesg.c: saveMask = __osDisableInt(); +lib/src/osRecvMesg.c: __osRestoreInt(saveMask); +lib/src/osRecvMesg.c: __osRunningThread->state = OS_STATE_WAITING; +lib/src/osRecvMesg.c: __osEnqueueAndYield(&mq->mtqueue); +lib/src/osRecvMesg.c: osStartThread(__osPopThread(&mq->fullqueue)); +lib/src/osRecvMesg.c: __osRestoreInt(saveMask); +lib/src/osSendMesg.c:extern OSThread *__osRunningThread; +lib/src/osSendMesg.c:s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flags) +lib/src/osSendMesg.c: saveMask = __osDisableInt(); +lib/src/osSendMesg.c: __osRunningThread->state = OS_STATE_WAITING; +lib/src/osSendMesg.c: __osEnqueueAndYield(&mq->fullqueue); +lib/src/osSendMesg.c: __osRestoreInt(saveMask); +lib/src/osSendMesg.c: osStartThread(__osPopThread(&mq->mtqueue)); +lib/src/osSendMesg.c: __osRestoreInt(saveMask); +lib/src/osSetEventMesg.c:__OSEventState __osEventStateTab[OS_NUM_EVENTS];//__osEventStateTab[OS_NUM_EVENTS]; +lib/src/osSetEventMesg.c:void osSetEventMesg(OSEvent event, OSMesgQueue *mq, OSMesg msg) +lib/src/osSetEventMesg.c: register u32 saveMask = __osDisableInt(); +lib/src/osSetEventMesg.c: es = &__osEventStateTab[event]; +lib/src/osSetEventMesg.c: __osRestoreInt(saveMask); +lib/src/osSetTime.c:extern OSTime __osCurrentTime; +lib/src/osSetTime.c:void osSetTime(OSTime time){ +lib/src/osSetTime.c: __osCurrentTime = time; +lib/src/osSetTimer.c:#include "macros.h" +lib/src/osSetTimer.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osSetTimer.s") +lib/src/osSetTimer.c:u32 osSetTimer(OSTimer *t, OSTime value, OSTime interval, OSMesgQueue *mq, OSMesg msg) +lib/src/osSetTimer.c: time = (OSTime) __osInsertTimer(t); +lib/src/osSetTimer.c: __osSetTimerIntr(time); +lib/src/__osSiRawReadIo.c:s32 __osSiRawReadIo(u32 devAddr, u32 *data) +lib/src/__osSiRawReadIo.c: if (__osSiDeviceBusy()) +lib/src/__osSiRawWriteIo.c:s32 __osSiRawWriteIo(u32 devAddr, u32 data) +lib/src/__osSiRawWriteIo.c: if (__osSiDeviceBusy()) +lib/src/__osSpSetStatus.c:#include "macros.h" +lib/src/__osSpSetStatus.c:void __osSpSetStatus(u32 status) { +lib/src/osStartThread.c:extern OSThread* __osRunningThread; +lib/src/osStartThread.c:extern OSThread* __RunQueue; //__osRunQueue +lib/src/osStartThread.c:void osStartThread(OSThread *t) +lib/src/osStartThread.c: register u32 saveMask = __osDisableInt(); +lib/src/osStartThread.c: __osEnqueueThread(&__RunQueue, t); +lib/src/osStartThread.c: __osEnqueueThread(&__RunQueue, t); +lib/src/osStartThread.c: __osEnqueueThread(t->queue, t); +lib/src/osStartThread.c: __osEnqueueThread(&__RunQueue, __osPopThread(t->queue)); +lib/src/osStartThread.c: if (__osRunningThread == NULL) +lib/src/osStartThread.c: __osDispatchThread(); +lib/src/osStartThread.c: if (__osRunningThread->priority < __RunQueue->priority) +lib/src/osStartThread.c: __osRunningThread->state = OS_STATE_RUNNABLE; +lib/src/osStartThread.c: __osEnqueueAndYield(&__RunQueue); +lib/src/osStartThread.c: __osRestoreInt(saveMask); +lib/src/osStopThread.c:extern OSThread *__osRunningThread; +lib/src/osStopThread.c:void osStopThread(OSThread *t) +lib/src/osStopThread.c: register u32 saveMask = __osDisableInt(); +lib/src/osStopThread.c: __osRunningThread->state = OS_STATE_STOPPED; +lib/src/osStopThread.c: __osEnqueueAndYield(NULL); +lib/src/osStopThread.c: __osDequeueThread(t->queue, t); +lib/src/osStopThread.c: __osRestoreInt(saveMask); +lib/src/osTimer.c:#include "macros.h" +lib/src/osTimer.c:extern OSTime __osCurrentTime; +lib/src/osTimer.c:extern u32 __osBaseCounter; +lib/src/osTimer.c:OSTime __osInsertTimer(OSTimer *t); +lib/src/osTimer.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s") +lib/src/osTimer.c:void __osTimerServicesInit(void) +lib/src/osTimer.c: __osCurrentTime = 0; +lib/src/osTimer.c: __osBaseCounter = 0; +lib/src/osTimer.c:void __osTimerInterrupt(void) +lib/src/osTimer.c: __osSetCompare(0); +lib/src/osTimer.c: count = osGetCount(); +lib/src/osTimer.c: __osSetTimerIntr(t->remaining); +lib/src/osTimer.c: osSendMesg(t->mq, t->msg, OS_MESG_NOBLOCK); +lib/src/osTimer.c: __osInsertTimer(t); +lib/src/osTimer.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s") +lib/src/osTimer.c:void __osSetTimerIntr(OSTime tim) +lib/src/osTimer.c: savedMask = __osDisableInt(); +lib/src/osTimer.c: D_8012D230 = osGetCount(); +lib/src/osTimer.c: __osSetCompare(NewTime); +lib/src/osTimer.c: __osRestoreInt(savedMask); +lib/src/osTimer.c:OSTime __osInsertTimer(OSTimer *t) +lib/src/osTimer.c: savedMask = __osDisableInt(); +lib/src/osTimer.c: __osRestoreInt(savedMask); +lib/src/osViBlack.c:extern OSViContext *__osViNext; +lib/src/osViBlack.c:void osViBlack(u8 active) { +lib/src/osViBlack.c: register u32 int_disabled = __osDisableInt(); +lib/src/osViBlack.c: __osViNext->unk00 |= 0x20; +lib/src/osViBlack.c: __osViNext->unk00 &= ~0x20; +lib/src/osViBlack.c: __osRestoreInt(int_disabled); +lib/src/osViMgr.c:#include "macros.h" +lib/src/osViMgr.c:extern OSTime __osCurrentTime; +lib/src/osViMgr.c:extern u32 __osBaseCounter; +lib/src/osViMgr.c:extern u32 D_8012D22C; //__osViIntrCount +lib/src/osViMgr.c:extern OSDevMgr __osViDevMgr; +lib/src/osViMgr.c:void osCreateViManager(OSPri pri) +lib/src/osViMgr.c: if (__osViDevMgr.active == 0) +lib/src/osViMgr.c: __osTimerServicesInit(); +lib/src/osViMgr.c: osCreateMesgQueue(&viEventQueue, viEventBuf, 5); +lib/src/osViMgr.c: osSetEventMesg(OS_EVENT_VI, &viEventQueue, &viRetraceMsg); +lib/src/osViMgr.c: osSetEventMesg(OS_EVENT_COUNTER, &viEventQueue, &viCounterMsg); +lib/src/osViMgr.c: myPri = osGetThreadPri(NULL); +lib/src/osViMgr.c: osSetThreadPri(NULL, pri); +lib/src/osViMgr.c: savedMask = __osDisableInt(); +lib/src/osViMgr.c: __osViDevMgr.active = 1; +lib/src/osViMgr.c: __osViDevMgr.thread = &viThread; +lib/src/osViMgr.c: __osViDevMgr.cmdQueue = &viEventQueue; +lib/src/osViMgr.c: __osViDevMgr.evtQueue = &viEventQueue; +lib/src/osViMgr.c: __osViDevMgr.acsQueue = NULL; +lib/src/osViMgr.c: __osViDevMgr.dma = NULL; +lib/src/osViMgr.c: __osViDevMgr.edma = NULL; +lib/src/osViMgr.c: osCreateThread(&viThread, 0, viMgrMain, &__osViDevMgr, &viThreadStack[OS_VIM_STACKSIZE], pri); //TODO give 0x8012C130 a proper symbol +lib/src/osViMgr.c: __osViInit(); +lib/src/osViMgr.c: osStartThread(&viThread); +lib/src/osViMgr.c: __osRestoreInt(savedMask); +lib/src/osViMgr.c: osSetThreadPri(0, oldPri); +lib/src/osViMgr.c:GLOBAL_ASM("lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s") +lib/src/osViSetEventMsg.c:#include "macros.h" +lib/src/osViSetEventMsg.c:GLOBAL_ASM("lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s") +lib/src/osViSwapBuffer.c:extern OSViContext* __osViNext; +lib/src/osViSwapBuffer.c:void osViSwapBuffer(void* frameBufPtr){ +lib/src/osViSwapBuffer.c: u32 saveMask = __osDisableInt(); +lib/src/osViSwapBuffer.c: __osViNext->buffer = frameBufPtr; +lib/src/osViSwapBuffer.c: __osViNext->unk00 |= 0x10; +lib/src/osViSwapBuffer.c: __osRestoreInt(saveMask); +lib/src/string.c:#include "macros.h" +lib/src/unknown_0C8490.c:#include "macros.h" +lib/src/unknown_0C8490.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C8490/osGetCount.s") +lib/src/unknown_0C84E0.c:#include "macros.h" +lib/src/unknown_0C84E0.c: alEvtqPostEvent(&seqp->evtq, &evt, 0); +lib/src/unknown_0C8540.c:#include "macros.h" +lib/src/unknown_0C85E0.c:#include "macros.h" +lib/src/unknown_0C85E0.c: alEvtqPostEvent(&seqp->evtq, &evt, 0); +lib/src/unknown_0C8650.c:#include "macros.h" +lib/src/unknown_0C8660.c:#include "macros.h" +lib/src/unknown_0C86A0.c:#include "macros.h" +lib/src/unknown_0C9160.c:#include "macros.h" +lib/src/unknown_0C91A0.c:#include "macros.h" +lib/src/unknown_0C91A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/alClose.s") +lib/src/unknown_0C91A0.c:extern OSThread __osThreadTail; +lib/src/unknown_0C91A0.c:void osCreateMesgQueue(OSMesgQueue *mq, OSMesg *msg, s32 msgCount) +lib/src/unknown_0C91A0.c: mq->mtqueue = (OSThread *)&__osThreadTail; +lib/src/unknown_0C91A0.c: mq->fullqueue = (OSThread *)&__osThreadTail; +lib/src/unknown_0C98F0.c:#include "macros.h" +lib/src/unknown_0C98F0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C98F0/osVirtualToPhysical.s") +lib/src/unknown_0C9970.c:#include "macros.h" +lib/src/unknown_0C9A20.c:#include "macros.h" +lib/src/unknown_0C9C90.c:#include "macros.h" +lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); +lib/src/unknown_0C9C90.c: osSetIntMask(mask); +lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); +lib/src/unknown_0C9C90.c: osSetIntMask(mask); +lib/src/unknown_0C9C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s") +lib/src/unknown_0C9C90.c:void alEvtqPostEvent(ALEventQueue *evtq, ALEvent *evt, ALMicroTime delta) +lib/src/unknown_0C9C90.c: s32 postAtEnd=0; +lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); +lib/src/unknown_0C9C90.c: osSetIntMask(mask); +lib/src/unknown_0C9C90.c: __osError(ERR_ALEVENTNOFREE, 0); +lib/src/unknown_0C9C90.c: postAtEnd = -1; +lib/src/unknown_0C9C90.c: if (postAtEnd) +lib/src/unknown_0C9C90.c: osSetIntMask(mask); +lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); +lib/src/unknown_0C9C90.c: /* sct 11/28/95 - If we get here, most like we overflowed the event queue */ +lib/src/unknown_0C9C90.c: osSetIntMask(mask); +lib/src/unknown_0C9C90.c: OSIntMask mask = osSetIntMask(OS_IM_NONE); +lib/src/unknown_0C9C90.c: osSetIntMask(mask); +lib/src/unknown_0C9C90.c: __osError(ERR_ALSYN_NO_UPDATE, 0); +lib/src/unknown_0C9C90.c: __osError(ERR_ALSYN_NO_UPDATE, 0); +lib/src/unknown_0C9C90.c: __osError(ERR_ALSYN_NO_UPDATE, 0); +lib/src/unknown_0CA250.c:#include "macros.h" +lib/src/unknown_0CA2F0.c:#include "macros.h" +lib/src/unknown_0CA380.c:#include "macros.h" +lib/src/unknown_0CA410.c:#include "macros.h" +lib/src/unknown_0CA4B0.c:#include "macros.h" +lib/src/unknown_0CA530.c:#include "macros.h" +lib/src/unknown_0CA530.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA530/osSetIntMask.s") +lib/src/unknown_0CA6E0.c:#include "macros.h" +lib/src/unknown_0CA730.c:#include "macros.h" +lib/src/unknown_0CA940.c:#include "macros.h" +lib/src/unknown_0CA9A0.c:#include "macros.h" +lib/src/unknown_0CCF90.c:#include "macros.h" +lib/src/unknown_0CCF90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/osInitialize.s") +lib/src/unknown_0CCF90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s") +lib/src/unknown_0CD820.c:#include "macros.h" +lib/src/unknown_0CDE50.c:#include "macros.h" +lib/src/unknown_0CDE90.c:#include "macros.h" +lib/src/unknown_0CDE90.c:extern OSPifRam __osPfsPifRam; //__osPfsPifRam +lib/src/unknown_0CDE90.c:extern u8 D_8012CD90; //__osContLastCmd +lib/src/unknown_0CDE90.c:extern u8 __osMaxControllers;//__osMaxControllers +lib/src/unknown_0CDE90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s") +lib/src/unknown_0CDE90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s") +lib/src/unknown_0CDE90.c:void __osPfsGetInitData(u8 *pattern, OSContStatus *data) +lib/src/unknown_0CDE90.c: ptr = (u8 *)&__osPfsPifRam; +lib/src/unknown_0CDE90.c: for (i = 0; i < __osMaxControllers; i++, ptr += sizeof(__OSContRequesFormat)) +lib/src/unknown_0CE200.c:#include "macros.h" +lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s") +lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s") +lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiRelAccess.s") +lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s") +lib/src/unknown_0CE370.c:#include "macros.h" +lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osContAddressCrc.s") +lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osContDataCrc.s") +lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s") +lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s") +lib/src/unknown_0CE8A0.c:#include "macros.h" +lib/src/unknown_0CE8A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s") +lib/src/unknown_0CE8A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s") +lib/src/unknown_0CEC50.c:#include "macros.h" +lib/src/unknown_0CEE10.c:#include "macros.h" +lib/src/unknown_0CEE10.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s") +lib/src/unknown_0CF070.c:#include "macros.h" +lib/src/unknown_0CF070.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF070/__osPackEepReadData.s") +lib/src/unknown_0CF330.c:#include "macros.h" +lib/src/unknown_0CF330.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__osPackEepWriteData.s") +lib/src/unknown_0CF330.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s") +lib/src/unknown_0CF330.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s") +lib/src/unknown_0D0130.c:#include "macros.h" +lib/src/unknown_0D10E0.c:#include "macros.h" +lib/src/unknown_0D1180.c:#include "macros.h" +lib/src/unknown_0D1A80.c:#include "macros.h" +lib/src/unknown_0D1A80.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s") +lib/src/unknown_0D1C40.c:#include "macros.h" +lib/src/unknown_0D1C40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s") +lib/src/unknown_0D1C40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s") +lib/src/unknown_0D1C40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s") +lib/src/unknown_0D23F0.c:#include "macros.h" +lib/src/unknown_0D23F0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D23F0/osInvalDCache.s") +lib/src/unknown_0D24A0.c:#include "macros.h" +lib/src/unknown_0D24A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D24A0/osWritebackDCacheAll.s") +lib/src/unknown_0D24D0.c:#include "macros.h" +lib/src/unknown_0D24E0.c:#include "macros.h" +lib/src/unknown_0D24E0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s") +lib/src/unknown_0D28A0.c:#include "macros.h" +lib/src/unknown_0D28A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s") +lib/src/unknown_0D29F0.c:#include "macros.h" +lib/src/unknown_0D29F0.c:extern __OSViContext *__osViCurr; +lib/src/unknown_0D29F0.c:extern __OSViContext *__osViNext; +lib/src/unknown_0D29F0.c:void *osViGetCurrentFramebuffer(void){ +lib/src/unknown_0D29F0.c: saveMask = __osDisableInt(); +lib/src/unknown_0D29F0.c: framep = __osViCurr->framep; +lib/src/unknown_0D29F0.c: __osRestoreInt(saveMask); +lib/src/unknown_0D29F0.c:void *osViGetNextFramebuffer(void){ +lib/src/unknown_0D29F0.c: saveMask = __osDisableInt(); +lib/src/unknown_0D29F0.c: framep = __osViNext->framep; +lib/src/unknown_0D29F0.c: __osRestoreInt(saveMask); +lib/src/unknown_0D29F0.c:#define _osVirtualToPhysical(ptr) \ +lib/src/unknown_0D29F0.c: ptr = (void *)osVirtualToPhysical(ptr); \ +lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.ucode); +lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.ucode_data); +lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.dram_stack); +lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.output_buff); +lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.output_buff_size); +lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.data_ptr); +lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.yield_data_ptr); +lib/src/unknown_0D29F0.c:void osSpTaskLoad(OSTask *intp){ +lib/src/unknown_0D29F0.c: osWritebackDCache(tp, sizeof(OSTask)); +lib/src/unknown_0D29F0.c: __osSpSetStatus(SP_CLR_YIELD | SP_CLR_YIELDED | SP_CLR_TASKDONE | SP_SET_INTR_BREAK); +lib/src/unknown_0D29F0.c: while (__osSpSetPc(SP_IMEM_START) == -1) +lib/src/unknown_0D29F0.c: while (__osSpRawStartDma(1, (SP_IMEM_START - sizeof(*tp)), tp, +lib/src/unknown_0D29F0.c: while (__osSpDeviceBusy()) +lib/src/unknown_0D29F0.c: while (__osSpRawStartDma(1, SP_IMEM_START, tp->t.ucode_boot, +lib/src/unknown_0D29F0.c:void osSpTaskStartGo(OSTask *tp){ +lib/src/unknown_0D29F0.c: while (__osSpDeviceBusy()); +lib/src/unknown_0D29F0.c: __osSpSetStatus(SP_SET_INTR_BREAK | SP_CLR_SSTEP | SP_CLR_BROKE | SP_CLR_HALT); +lib/src/unknown_0D2E40.c:#include "macros.h" +lib/src/unknown_0D2E40.c:void osSpTaskYield(void) { +lib/src/unknown_0D2E40.c: __osSpSetStatus(SPSTATUS_SET_SIGNAL0); +lib/src/unknown_0D2E40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s") +lib/src/unknown_0D3020.c:#include "macros.h" +lib/src/unknown_0D3020.c:extern u32 __osPiAccessQueueEnabled;//__osPiAccessQueueEnabled +lib/src/unknown_0D3020.c:extern OSMesgQueue piAccessQueue; //__osPiAccessQueue +lib/src/unknown_0D3020.c:void __osPiCreateAccessQueue(void) +lib/src/unknown_0D3020.c: __osPiAccessQueueEnabled = 1; +lib/src/unknown_0D3020.c: osCreateMesgQueue(&piAccessQueue, D_8012D1E0, PI_Q_BUF_LEN); +lib/src/unknown_0D3020.c: osSendMesg(&piAccessQueue, NULL, OS_MESG_NOBLOCK); +lib/src/unknown_0D3020.c:void __osPiGetAccess(void) +lib/src/unknown_0D3020.c: if (!__osPiAccessQueueEnabled) +lib/src/unknown_0D3020.c: __osPiCreateAccessQueue(); +lib/src/unknown_0D3020.c: osRecvMesg(&piAccessQueue, &dummyMesg, OS_MESG_BLOCK); +lib/src/unknown_0D3020.c:void __osPiRelAccess(void) +lib/src/unknown_0D3020.c: osSendMesg(&piAccessQueue, NULL, OS_MESG_NOBLOCK); +lib/src/unknown_0D3160.c:#include "macros.h" +lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osDisableInt.s") +lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osRestoreInt.s") +lib/src/unknown_0D3160.c:s32 osPiRawStartDma(s32 direction, u32 devAddr, void *dramAddr, u32 size) +lib/src/unknown_0D3160.c: HW_REG(PI_DRAM_ADDR_REG, void *) = (void *) osVirtualToPhysical(dramAddr); +lib/src/unknown_0D3160.c: HW_REG(PI_CART_ADDR_REG, void *) = (void *) (((uintptr_t) osRomBase | devAddr) & 0x1fffffff); +lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/osEPiRawStartDma.s") +lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s") +lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osViInit.s") +lib/src/unknown_0D3160.c:void __osDequeueThread(OSThread **queue, OSThread *t) +lib/src/unknown_0D4270.c:#include "macros.h" +lib/src/unknown_0D43F0.c:#include "macros.h" +lib/src/unknown_0D5390.c:#include "macros.h" +lib/src/unknown_0D5390.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s") +lib/src/unknown_0D56B0.c:#include "macros.h" +lib/src/unknown_0D56B0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/cosf.s") +lib/src/unknown_0D5EC0.c:#include "macros.h" +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSiDeviceBusy.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSumcalc.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osIdCheckSum.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osGetId.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osCheckId.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osPfsSelectBank.s") +lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osDpDeviceBusy.s") +lib/src/unknown_0D5EC0.c:__OSViContext *__osViGetCurrentContext(void){ +lib/src/unknown_0D5EC0.c: return __osViCurr; +lib/src/unknown_0D6C90.c:#include "macros.h" +lib/src/unknown_0D6C90.c:extern OSThread* __osRunningThread; +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s") +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpSetPc.s") +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s") +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpDeviceBusy.s") +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s") +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osEPiRawWriteIo.s") +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osYieldThread.s") +lib/src/unknown_0D6C90.c:/*extern void __osEnqueueAndYield(OSThread **); +lib/src/unknown_0D6C90.c:extern void __osRestoreInt(u32); +lib/src/unknown_0D6C90.c:void osYieldThread(void){ +lib/src/unknown_0D6C90.c: register u32 saveMask = __osDisableInt(); +lib/src/unknown_0D6C90.c: __osRunningThread->state = OS_STATE_RUNNABLE; +lib/src/unknown_0D6C90.c: __osEnqueueAndYield(&__RunQueue); +lib/src/unknown_0D6C90.c: __osRestoreInt(saveMask); +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s") +lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSetCompare.s") +lib/asm/bcopy.s:.include "macros.inc" +lib/asm/exception/D_800D35A0.s:/* 0D41A0 800D35A0 0C035980 */ jal osDestroyThread +lib/asm/exception/__osDispatchThread.s:glabel __osDispatchThread +lib/asm/exception/__osDispatchThread.s:/* 0D4028 800D3428 0C034D05 */ jal __osPopThread +lib/asm/exception/__osDispatchThread.s:/* 0D4030 800D3430 3C01800E */ lui $at, %hi(__osRunningThread) # $at, 0x800e +lib/asm/exception/__osDispatchThread.s:/* 0D4034 800D3434 AC224890 */ sw $v0, %lo(__osRunningThread)($at) +lib/asm/exception/__osEnqueueAndYield.s:glabel __osEnqueueAndYield +lib/asm/exception/__osEnqueueAndYield.s:/* 0D3ECC 800D32CC 3C05800E */ lui $a1, %hi(__osRunningThread) # $a1, 0x800e +lib/asm/exception/__osEnqueueAndYield.s:/* 0D3ED0 800D32D0 8CA54890 */ lw $a1, %lo(__osRunningThread)($a1) +lib/asm/exception/__osEnqueueAndYield.s:/* 0D3FBC 800D33BC 0C034CF3 */ jal __osEnqueueThread +lib/asm/exception/__osEnqueueAndYield.s:/* 0D3FC4 800D33C4 08034D09 */ j __osDispatchThread +lib/asm/exception/__osEnqueueThread.s:glabel __osEnqueueThread +lib/asm/exception/__osExceptionPreamble.s:glabel __osExceptionPreamble +lib/asm/exception/__osExceptionPreamble.s:/* 0D38B0 800D2CB0 3C1A800D */ lui $k0, %hi(__osException) # $k0, 0x800d +lib/asm/exception/__osExceptionPreamble.s:/* 0D38B4 800D2CB4 275A2CC0 */ addiu $k0, %lo(__osException) # addiu $k0, $k0, 0x2cc0 +lib/asm/exception/__osException.s:glabel __osException +lib/asm/exception/__osException.s:/* 0D38F8 800D2CF8 3C1A800E */ lui $k0, %hi(__osRunningThread) # $k0, 0x800e +lib/asm/exception/__osException.s:/* 0D38FC 800D2CFC 8F5A4890 */ lw $k0, %lo(__osRunningThread)($k0) +lib/asm/exception/__osException.s:/* 0D3D8C 800D318C 0C034CF3 */ jal __osEnqueueThread +lib/asm/exception/__osException.s:/* 0D3D94 800D3194 08034D09 */ j __osDispatchThread +lib/asm/exception/__osException.s:/* 0D3DAC 800D31AC 08034D09 */ j __osDispatchThread +lib/asm/exception/__osException.s:/* 0D3DDC 800D31DC 08034D09 */ j __osDispatchThread +lib/asm/exception/__osPopThread.s:glabel __osPopThread +lib/asm/exception.s:.include "macros.inc" +lib/asm/exception.s:.include "lib/asm/exception/__osExceptionPreamble.s" +lib/asm/exception.s:.include "lib/asm/exception/__osException.s" +lib/asm/exception.s:.include "lib/asm/exception/__osEnqueueAndYield.s" +lib/asm/exception.s:.include "lib/asm/exception/__osEnqueueThread.s" +lib/asm/exception.s:.include "lib/asm/exception/__osPopThread.s" +lib/asm/exception.s:.include "lib/asm/exception/__osDispatchThread.s" +lib/asm/exception/send_mesg.s:/* 0D3DE4 800D31E4 3C0A8013 */ lui $t2, %hi(__osEventStateTab) # $t2, 0x8013 +lib/asm/exception/send_mesg.s:/* 0D3DE8 800D31E8 254ACCD0 */ addiu $t2, %lo(__osEventStateTab) # addiu $t2, $t2, -0x3330 +lib/asm/exception/send_mesg.s:/* 0D3E74 800D3274 0C034D05 */ jal __osPopThread +lib/asm/exception/send_mesg.s:/* 0D3E88 800D3288 0C034CF3 */ jal __osEnqueueThread +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:glabel osEepromRead +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEEBC 800CE2BC 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEEC8 800CE2C8 0C033A0F */ jal __osEepStatus +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF0C 800CE30C 0C033A0F */ jal __osEepStatus +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF24 800CE324 0C03391C */ jal __osPackEepReadData +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF34 800CE334 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF48 800CE348 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF90 800CE390 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEFB0 800CE3B0 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CF054 800CE454 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:glabel osEepromWrite +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF1B8 800CE5B8 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF1C4 800CE5C4 0C033A0F */ jal __osEepStatus +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF208 800CE608 0C033A0F */ jal __osEepStatus +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF224 800CE624 0C0339CC */ jal __osPackEepWriteData +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF234 800CE634 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF248 800CE648 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF290 800CE690 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF2B0 800CE6B0 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF314 800CE714 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2734 800D1B34 0C035820 */ jal __osViGetCurrentContext +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2760 800D1B60 3C128013 */ lui $s2, %hi(__osBaseCounter) # $s2, 0x8013 +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2764 800D1B64 3C118013 */ lui $s1, %hi(__osCurrentTime) # $s1, 0x8013 +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2768 800D1B68 2631D220 */ addiu $s1, %lo(__osCurrentTime) # addiu $s1, $s1, -0x2de0 +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D276C 800D1B6C 2652D228 */ addiu $s2, %lo(__osBaseCounter) # addiu $s2, $s2, -0x2dd8 +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2784 800D1B84 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D27AC 800D1BAC 0C035824 */ jal __osViSwapContext +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D27D0 800D1BD0 0C035820 */ jal __osViGetCurrentContext +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D27F0 800D1BF0 0C03238C */ jal osSendMesg +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2810 800D1C10 0C031E34 */ jal osGetCount +lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2848 800D1C48 0C0353D3 */ jal __osTimerInterrupt +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:glabel osViSetEventMsg +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D2994 800D1D94 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D299C 800D1D9C 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29A0 800D1DA0 8DEF4874 */ lw $t7, %lo(__osViNext)($t7) +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29A8 800D1DA8 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29AC 800D1DAC 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29B4 800D1DB4 8F394874 */ lw $t9, %lo(__osViNext)($t9) +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29C8 800D1DC8 8D294874 */ lw $t1, %lo(__osViNext)($t1) +lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29D0 800D1DD0 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0C8490/osGetCount.s:glabel osGetCount +lib/asm/non_matchings/unknown_0C84E0/alCSPSetChlPan.s:/* 0C8520 800C7920 0C03246B */ jal alEvtqPostEvent +lib/asm/non_matchings/unknown_0C8540/alCSPSetChlVol.s:/* 0C8580 800C7980 0C03246B */ jal alEvtqPostEvent +lib/asm/non_matchings/unknown_0C85E0/alCSPSetTempo.s:/* 0C862C 800C7A2C 0C03246B */ jal alEvtqPostEvent +lib/asm/non_matchings/unknown_0C8660/alCSPSetBank.s:/* 0C867C 800C7A7C 0C03246B */ jal alEvtqPostEvent +lib/asm/non_matchings/unknown_0C9160/alCSPSetSeq.s:/* 0C917C 800C857C 0C03246B */ jal alEvtqPostEvent +lib/asm/non_matchings/unknown_0C91A0/alClose.s:glabel alClose +lib/asm/non_matchings/unknown_0C91A0/alCSPPlay.s:/* 0C91B8 800C85B8 0C03246B */ jal alEvtqPostEvent +lib/asm/non_matchings/unknown_0C91A0/alCSPStop.s:/* 0C91E8 800C85E8 0C03246B */ jal alEvtqPostEvent +lib/asm/non_matchings/unknown_0C98F0/osVirtualToPhysical.s:glabel osVirtualToPhysical +lib/asm/non_matchings/unknown_0C98F0/osVirtualToPhysical.s:/* 0C9954 800C8D54 0C034D6C */ jal __osProbeTLB +lib/asm/non_matchings/unknown_0C9970/func_800C8D70.s:/* 0C99E8 800C8DE8 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:glabel osSendMesg +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A4C 800C8E4C 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A80 800C8E80 3C09800E */ lui $t1, %hi(__osRunningThread) # $t1, 0x800e +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A84 800C8E84 8D294890 */ lw $t1, %lo(__osRunningThread)($t1) +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A94 800C8E94 0C034CB3 */ jal __osEnqueueAndYield +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9AA4 800C8EA4 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9B44 800C8F44 0C034D05 */ jal __osPopThread +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9B50 800C8F50 0C032268 */ jal osStartThread +lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9B58 800C8F58 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:glabel alEvtqPostEvent +lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:/* 0C9DC4 800C91C4 0C03268C */ jal osSetIntMask +lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:/* 0C9DE4 800C91E4 0C03268C */ jal osSetIntMask +lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:/* 0C9EB8 800C92B8 0C03268C */ jal osSetIntMask +lib/asm/non_matchings/unknown_0CA530/osSetIntMask.s:glabel osSetIntMask +lib/asm/non_matchings/unknown_0CA9A0/alResamplePull.s:/* 0CCF54 800CC354 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0CA9A0/func_800CAC5C.s:/* 0CBC6C 800CB06C 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0CA9A0/func_800CAC5C.s:/* 0CBCB4 800CB0B4 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0CCF90/guPerspectiveF.s:/* 0CD564 800CC964 0C0352AC */ jal cosf +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:glabel osInitialize +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1B8 800CC5B8 0C03515C */ jal __osGetSR +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1C8 800CC5C8 0C035158 */ jal __osSetSR +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1D4 800CC5D4 0C035160 */ jal __osSetFpcCsr +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1E4 800CC5E4 0C035164 */ jal __osSiRawReadIo +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1FC 800CC5FC 0C035164 */ jal __osSiRawReadIo +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD21C 800CC61C 0C035178 */ jal __osSiRawWriteIo +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD23C 800CC63C 0C035178 */ jal __osSiRawWriteIo +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD24C 800CC64C 3C08800D */ lui $t0, %hi(__osExceptionPreamble) # $t0, 0x800d +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD250 800CC650 25082CB0 */ addiu $t0, %lo(__osExceptionPreamble) # addiu $t0, $t0, 0x2cb0 +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD25C 800CC65C 3C0D800D */ lui $t5, %hi(__osExceptionPreamble) # $t5, 0x800d +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD268 800CC668 25AD2CB0 */ addiu $t5, %lo(__osExceptionPreamble) # addiu $t5, $t5, 0x2cb0 +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD27C 800CC67C 3C09800D */ lui $t1, %hi(__osExceptionPreamble) # $t1, 0x800d +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD288 800CC688 25292CB0 */ addiu $t1, %lo(__osExceptionPreamble) # addiu $t1, $t1, 0x2cb0 +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD29C 800CC69C 3C0E800D */ lui $t6, %hi(__osExceptionPreamble) # $t6, 0x800d +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD2A8 800CC6A8 25CE2CB0 */ addiu $t6, %lo(__osExceptionPreamble) # addiu $t6, $t6, 0x2cb0 +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD30C 800CC70C 0C03518C */ jal osWritebackDCache +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD318 800CC718 0C0351AC */ jal osInvalICache +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD320 800CC720 0C0351CC */ jal osMapTLBRdb +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD32C 800CC72C 0C0351E4 */ jal osPiRawWriteIo +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD394 800CC794 3C098000 */ lui $t1, %hi(osResetType) # $t1, 0x8000 +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD398 800CC798 8D29030C */ lw $t1, %lo(osResetType)($t1) +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD3AC 800CC7AC 3C048000 */ lui $a0, %hi(osAppNMIBuffer) # $a0, 0x8000 +lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD3B0 800CC7B0 2484031C */ addiu $a0, %lo(osAppNMIBuffer) # addiu $a0, $a0, 0x31c +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:glabel osSetThreadPri +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD450 800CC850 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD468 800CC868 3C0F800E */ lui $t7, %hi(__osRunningThread) # $t7, 0x800e +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD46C 800CC86C 8DEF4890 */ lw $t7, %lo(__osRunningThread)($t7) +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD48C 800CC88C 3C0A800E */ lui $t2, %hi(__osRunningThread) # $t2, 0x800e +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD490 800CC890 8D4A4890 */ lw $t2, %lo(__osRunningThread)($t2) +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4B4 800CC8B4 0C034B1C */ jal __osDequeueThread +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4C4 800CC8C4 0C034CF3 */ jal __osEnqueueThread +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4CC 800CC8CC 3C0D800E */ lui $t5, %hi(__osRunningThread) # $t5, 0x800e +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4D8 800CC8D8 8DAD4890 */ lw $t5, %lo(__osRunningThread)($t5) +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4FC 800CC8FC 0C034CB3 */ jal __osEnqueueAndYield +lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD504 800CC904 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD854 800CCC54 0C03486C */ jal osGetTime +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD8D0 800CCCD0 0C032208 */ jal osCreateMesgQueue +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD960 800CCD60 0C035378 */ jal osSetTimer +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD970 800CCD70 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD97C 800CCD7C 3C018013 */ lui $at, %hi(__osMaxControllers) # $at, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD980 800CCD80 A038CD91 */ sb $t8, %lo(__osMaxControllers)($at) +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD994 800CCD94 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9A8 800CCDA8 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9B8 800CCDB8 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9CC 800CCDCC 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9E4 800CCDE4 0C033580 */ jal __osSiCreateAccessQueue +lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9FC 800CCDFC 0C032208 */ jal osCreateMesgQueue +lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDA18 800CCE18 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDA1C 800CCE1C 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) +lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDAB0 800CCEB0 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDAB4 800CCEB4 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) +lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDB1C 800CCF1C 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDB20 800CCF20 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) +lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDB8C 800CCF8C 3C188013 */ lui $t8, %hi(__osMaxControllers) # $t8, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDBA8 800CCFA8 9318CD91 */ lbu $t8, %lo(__osMaxControllers)($t8) +lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDBEC 800CCFEC 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC18 800CD018 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC2C 800CD02C 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC74 800CD074 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC88 800CD088 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDCA4 800CD0A4 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDCA8 800CD0A8 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) +lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDD1C 800CD11C 3C0B8013 */ lui $t3, %hi(__osMaxControllers) # $t3, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDD20 800CD120 916BCD91 */ lbu $t3, %lo(__osMaxControllers)($t3) +lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDD88 800CD188 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDD8C 800CD18C 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) +lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDDE8 800CD1E8 3C188013 */ lui $t8, %hi(__osMaxControllers) # $t8, 0x8013 +lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDE04 800CD204 9318CD91 */ lbu $t8, %lo(__osMaxControllers)($t8) +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:glabel osPfsIsPlug +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEAC 800CD2AC 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEB4 800CD2B4 0C03350C */ jal __osPfsRequestData +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEBC 800CD2BC 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEC0 800CD2C0 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEC4 800CD2C4 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDED8 800CD2D8 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEE0 800CD2E0 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEE4 800CD2E4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEE8 800CD2E8 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEFC 800CD2FC 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF08 800CD308 0C03354B */ jal __osPfsGetInitData +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF10 800CD310 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF14 800CD314 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF54 800CD354 3C0E8013 */ lui $t6, %hi(__osMaxControllers) # $t6, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF58 800CD358 91CECD91 */ lbu $t6, %lo(__osMaxControllers)($t6) +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF70 800CD370 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF74 800CD374 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF94 800CD394 3C088013 */ lui $t0, %hi(__osMaxControllers) # $t0, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF98 800CD398 9108CD91 */ lbu $t0, %lo(__osMaxControllers)($t0) +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDFEC 800CD3EC 3C0C8013 */ lui $t4, %hi(__osMaxControllers) # $t4, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDFF0 800CD3F0 918CCD91 */ lbu $t4, %lo(__osMaxControllers)($t4) +lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CE008 800CD408 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:glabel __osPfsRequestData +lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE06C 800CD46C 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE070 800CD470 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) +lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE074 800CD474 3C098013 */ lui $t1, %hi(__osPfsPifRam) # $t1, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE080 800CD480 2529CDE0 */ addiu $t1, %lo(__osPfsPifRam) # addiu $t1, $t1, -0x3220 +lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE0DC 800CD4DC 3C188013 */ lui $t8, %hi(__osMaxControllers) # $t8, 0x8013 +lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE0F8 800CD4F8 9318CD91 */ lbu $t8, %lo(__osMaxControllers)($t8) +lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s:glabel __osSiCreateAccessQueue +lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s:/* 0CE224 800CD624 0C032208 */ jal osCreateMesgQueue +lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s:/* 0CE238 800CD638 0C03238C */ jal osSendMesg +lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s:glabel __osSiGetAccess +lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s:/* 0CE268 800CD668 0C033580 */ jal __osSiCreateAccessQueue +lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s:/* 0CE27C 800CD67C 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:glabel __osSiRawStartDma +lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE2CC 800CD6CC 0C0354B0 */ jal __osSiDeviceBusy +lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE2F8 800CD6F8 0C03518C */ jal osWritebackDCache +lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE300 800CD700 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE350 800CD750 0C0345FC */ jal osInvalDCache +lib/asm/non_matchings/unknown_0CE200/__osSiRelAccess.s:glabel __osSiRelAccess +lib/asm/non_matchings/unknown_0CE200/__osSiRelAccess.s:/* 0CE2A8 800CD6A8 0C03238C */ jal osSendMesg +lib/asm/non_matchings/unknown_0CE370/__osContAddressCrc.s:glabel __osContAddressCrc +lib/asm/non_matchings/unknown_0CE370/__osContDataCrc.s:glabel __osContDataCrc +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:glabel __osContRamWrite +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE4F8 800CD8F8 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE4FC 800CD8FC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE550 800CD950 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE56C 800CD96C 0C0336C8 */ jal __osPackRamWriteData +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE574 800CD974 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE578 800CD978 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE57C 800CD97C 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE590 800CD990 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5CC 800CD9CC 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5D4 800CD9D4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5D8 800CD9D8 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5EC 800CD9EC 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5F8 800CD9F8 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5FC 800CD9FC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE690 800CDA90 0C033608 */ jal __osContDataCrc +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE6A8 800CDAA8 0C033B75 */ jal __osPfsGetStatus +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE6C0 800CDAC0 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE700 800CDB00 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:glabel __osPackRamWriteData +lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:/* 0CE724 800CDB24 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 +lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:/* 0CE728 800CDB28 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 +lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:/* 0CE798 800CDB98 0C0335DC */ jal __osContAddressCrc +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:glabel __osContRamRead +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8A4 800CDCA4 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8AC 800CDCAC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8D0 800CDCD0 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8E8 800CDCE8 0C0337B9 */ jal __osPackRamReadData +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8F0 800CDCF0 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8F4 800CDCF4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8F8 800CDCF8 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE90C 800CDD0C 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE948 800CDD48 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE950 800CDD50 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE954 800CDD54 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE968 800CDD68 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE974 800CDD74 3C0C8013 */ lui $t4, %hi(__osPfsPifRam) # $t4, 0x8013 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE978 800CDD78 258CCDE0 */ addiu $t4, %lo(__osPfsPifRam) # addiu $t4, $t4, -0x3220 +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEA10 800CDE10 0C033608 */ jal __osContDataCrc +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEA30 800CDE30 0C033B75 */ jal __osPfsGetStatus +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEA48 800CDE48 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEAC4 800CDEC4 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:glabel __osPackRamReadData +lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:/* 0CEAE8 800CDEE8 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 +lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:/* 0CEAEC 800CDEEC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 +lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:/* 0CEB58 800CDF58 0C0335DC */ jal __osContAddressCrc +lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:glabel osEepromProbe +lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:/* 0CEE1C 800CE21C 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:/* 0CEE28 800CE228 0C033A0F */ jal __osEepStatus +lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:/* 0CEE60 800CE260 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CF070/__osPackEepReadData.s:glabel __osPackEepReadData +lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF934 800CED34 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF940 800CED40 0C033B75 */ jal __osPfsGetStatus +lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF948 800CED48 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF984 800CED84 0C035659 */ jal __osGetId +lib/asm/non_matchings/unknown_0CF330/func_800CEEE0.s:/* 0CFB24 800CEF24 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFC78 800CF078 0C0356F0 */ jal __osCheckId +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFCA8 800CF0A8 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFCE0 800CF0E0 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFE80 800CF280 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFECC 800CF2CC 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFEF0 800CF2F0 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFF6C 800CF36C 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFFA8 800CF3A8 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:glabel __osEepStatus +lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF544 800CE944 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF558 800CE958 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF574 800CE974 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF588 800CE988 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CF330/__osPackEepWriteData.s:glabel __osPackEepWriteData +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:glabel __osPfsGetStatus +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9E8 800CEDE8 0C03350C */ jal __osPfsRequestData +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9F0 800CEDF0 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9F4 800CEDF4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9F8 800CEDF8 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA0C 800CEE0C 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA14 800CEE14 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA18 800CEE18 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA1C 800CEE1C 0C0335B0 */ jal __osSiRawStartDma +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA30 800CEE30 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA3C 800CEE3C 0C03354B */ jal __osPfsGetInitData +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0140 800CF540 0C0356F0 */ jal __osCheckId +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D015C 800CF55C 0C035659 */ jal __osGetId +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D01CC 800CF5CC 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D027C 800CF67C 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D037C 800CF77C 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D03B8 800CF7B8 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0428 800CF828 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0464 800CF864 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D04DC 800CF8DC 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0590 800CF990 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0768 800CFB68 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D0130/func_800CFBF4.s:/* 0D087C 800CFC7C 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D0130/func_800CFDA8.s:/* 0D0A9C 800CFE9C 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BA0 800CFFA0 0C033594 */ jal __osSiGetAccess +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BAC 800CFFAC 0C033B75 */ jal __osPfsGetStatus +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BF0 800CFFF0 0C0335A5 */ jal __osSiRelAccess +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BF8 800CFFF8 0C035659 */ jal __osGetId +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0C2C 800D002C 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0CA0 800D00A0 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0D80 800D0180 0C0354BC */ jal __osSumcalc +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0DC0 800D01C0 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0E04 800D0204 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0E8C 800D028C 0C0354BC */ jal __osSumcalc +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0ED8 800D02D8 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0F28 800D0328 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D0130/func_800D0390.s:/* 0D0FC4 800D03C4 0C0356F0 */ jal __osCheckId +lib/asm/non_matchings/unknown_0D0130/func_800D0390.s:/* 0D0FF4 800D03F4 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D0130/func_800D0390.s:/* 0D1040 800D0440 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D11D8 800D05D8 0C0356F0 */ jal __osCheckId +lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D1208 800D0608 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D1240 800D0640 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D12D4 800D06D4 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D14C4 800D08C4 0C0356F0 */ jal __osCheckId +lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D14F4 800D08F4 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1530 800D0930 0C0343A0 */ jal osPfsFindFile +lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1580 800D0980 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D15D0 800D09D0 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1640 800D0A40 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1730 800D0B30 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D19B0 800D0DB0 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D19F0 800D0DF0 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D1A10 800D0E10 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D1A24 800D0E24 0C0354BC */ jal __osSumcalc +lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D1A58 800D0E58 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s:glabel osPfsFindFile +lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s:/* 0D1A9C 800D0E9C 0C0356F0 */ jal __osCheckId +lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s:/* 0D1AE4 800D0EE4 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:glabel __osClearPage +lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:/* 0D2350 800D1750 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:/* 0D2394 800D1794 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:/* 0D23C8 800D17C8 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:glabel osPfsAllocateFile +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1CBC 800D10BC 0C0356F0 */ jal __osCheckId +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1CF4 800D10F4 0C0343A0 */ jal osPfsFindFile +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1D3C 800D113C 0C033CF8 */ jal osPfsFreeBlocks +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1D88 800D1188 0C0343A0 */ jal osPfsFindFile +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1DEC 800D11EC 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1E30 800D1230 0C034531 */ jal __osPfsDeclearPage +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1EB0 800D12B0 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1FBC 800D13BC 0C03572F */ jal __osPfsRWInode +lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D2088 800D1488 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s:glabel __osPfsDeclearPage +lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s:/* 0D2228 800D1628 0C0345CA */ jal __osClearPage +lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s:/* 0D2300 800D1700 0C0345CA */ jal __osClearPage +lib/asm/non_matchings/unknown_0D23F0/osInvalDCache.s:glabel osInvalDCache +lib/asm/non_matchings/unknown_0D24A0/osWritebackDCacheAll.s:glabel osWritebackDCacheAll +lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:glabel osDpSetNextBuffer +lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:/* 0D24F4 800D18F4 0C035814 */ jal __osDpDeviceBusy +lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:/* 0D252C 800D192C 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:/* 0D253C 800D193C 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:glabel osViSetMode +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28AC 800D1CAC 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28B4 800D1CB4 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28B8 800D1CB8 8DEF4874 */ lw $t7, %lo(__osViNext)($t7) +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28C0 800D1CC0 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28CC 800D1CCC 8F394874 */ lw $t9, %lo(__osViNext)($t9) +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28D0 800D1CD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28DC 800D1CDC 8D084874 */ lw $t0, %lo(__osViNext)($t0) +lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28EC 800D1CEC 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:glabel osViSetSpecialFeatures +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2E6C 800D226C 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2E88 800D2288 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2E8C 800D228C 8F184874 */ lw $t8, %lo(__osViNext)($t8) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EAC 800D22AC 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EB0 800D22B0 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2ED4 800D22D4 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2ED8 800D22D8 8F394874 */ lw $t9, %lo(__osViNext)($t9) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EF8 800D22F8 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EFC 800D22FC 8D8C4874 */ lw $t4, %lo(__osViNext)($t4) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F20 800D2320 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F24 800D2324 8D084874 */ lw $t0, %lo(__osViNext)($t0) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F44 800D2344 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F48 800D2348 8DAD4874 */ lw $t5, %lo(__osViNext)($t5) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F6C 800D236C 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F70 800D2370 8F184874 */ lw $t8, %lo(__osViNext)($t8) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F78 800D2378 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F88 800D2388 8D294874 */ lw $t1, %lo(__osViNext)($t1) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FAC 800D23AC 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FB0 800D23B0 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FC0 800D23C0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FCC 800D23CC 8D084874 */ lw $t0, %lo(__osViNext)($t0) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FE8 800D23E8 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FEC 800D23EC 8DAD4874 */ lw $t5, %lo(__osViNext)($t5) +lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FFC 800D23FC 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D3020/cosf.s:glabel cosf +lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:glabel __osCheckId +lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:/* 0D67E0 800D5BE0 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:/* 0D6810 800D5C10 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:/* 0D6848 800D5C48 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:glabel __osCheckPackId +lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D63F4 800D57F4 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D6468 800D5868 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D6490 800D5890 0C0354D3 */ jal __osIdCheckSum +lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D651C 800D591C 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osCleanupThread.s:glabel __osCleanupThread +lib/asm/non_matchings/unknown_0D3020/__osCleanupThread.s:/* 0D41A0 800D35A0 0C035980 */ jal osDestroyThread +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:glabel osDestroyThread +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7214 800D6614 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D722C 800D662C 3C0F800E */ lui $t7, %hi(__osRunningThread) # $t7, 0x800e +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7230 800D6630 8DEF4890 */ lw $t7, %lo(__osRunningThread)($t7) +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7254 800D6654 0C034B1C */ jal __osDequeueThread +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D725C 800D665C 3C08800E */ lui $t0, %hi(__osActiveQueue) # $t0, 0x800e +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7260 800D6660 8D08488C */ lw $t0, %lo(__osActiveQueue)($t0) +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7274 800D6674 3C01800E */ lui $at, %hi(__osActiveQueue) # $at, 0x800e +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D727C 800D667C AC2A488C */ sw $t2, %lo(__osActiveQueue)($at) +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7280 800D6680 3C11800E */ lui $s1, %hi(__osActiveQueue) # $s1, 0x800e +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7284 800D6684 8E31488C */ lw $s1, %lo(__osActiveQueue)($s1) +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72BC 800D66BC 3C0E800E */ lui $t6, %hi(__osRunningThread) # $t6, 0x800e +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72C0 800D66C0 8DCE4890 */ lw $t6, %lo(__osRunningThread)($t6) +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72D0 800D66D0 0C034D09 */ jal __osDispatchThread +lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72D8 800D66D8 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D3020/__osDpDeviceBusy.s:glabel __osDpDeviceBusy +lib/asm/non_matchings/unknown_0D3020/osEPiRawWriteIo.s:glabel osEPiRawWriteIo +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:glabel __osGetId +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6584 800D5984 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D65B4 800D59B4 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D65DC 800D59DC 0C0354D3 */ jal __osIdCheckSum +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6610 800D5A10 0C0355F3 */ jal __osCheckPackId +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6634 800D5A34 0C0354ED */ jal __osRepairPackId +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6690 800D5A90 0C0354ED */ jal __osRepairPackId +lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D678C 800D5B8C 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osIdCheckSum.s:glabel __osIdCheckSum +lib/asm/non_matchings/unknown_0D3020/__osInsertTimer.s:glabel __osInsertTimer +lib/asm/non_matchings/unknown_0D3020/__osInsertTimer.s:/* 0D5D40 800D5140 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D3020/__osInsertTimer.s:/* 0D5EA4 800D52A4 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:glabel __osPfsRWInode +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D68E8 800D5CE8 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6958 800D5D58 0C0354BC */ jal __osSumcalc +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D69B0 800D5DB0 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D69E4 800D5DE4 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6A18 800D5E18 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6A74 800D5E74 0C0354BC */ jal __osSumcalc +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6ACC 800D5ECC 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6B44 800D5F44 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6BA8 800D5FA8 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osPfsSelectBank.s:glabel __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osPfsSelectBank.s:/* 0D6C2C 800D602C 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:glabel __osRepairPackId +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D5FE4 800D53E4 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D600C 800D540C 0C031E34 */ jal osGetCount +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D605C 800D545C 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D608C 800D548C 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6104 800D5504 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6134 800D5534 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D61AC 800D55AC 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D61DC 800D55DC 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6234 800D5634 0C0357F7 */ jal __osPfsSelectBank +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D62B4 800D56B4 0C0354D3 */ jal __osIdCheckSum +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6314 800D5714 0C03363C */ jal __osContRamWrite +lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6358 800D5758 0C033728 */ jal __osContRamRead +lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s:glabel __osResetGlobalIntMask +lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s:/* 0D710C 800D650C 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s:/* 0D713C 800D653C 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D3020/__osSetCompare.s:glabel __osSetCompare +lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:glabel __osSetTimerIntr +lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5CD0 800D50D0 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5CD8 800D50D8 0C031E34 */ jal osGetCount +lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5D18 800D5118 0C035D18 */ jal __osSetCompare +lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5D20 800D5120 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D3020/osSetTimer.s:glabel osSetTimer +lib/asm/non_matchings/unknown_0D3020/osSetTimer.s:/* 0D5A6C 800D4E6C 0C03544E */ jal __osInsertTimer +lib/asm/non_matchings/unknown_0D3020/osSetTimer.s:/* 0D5A98 800D4E98 0C035431 */ jal __osSetTimerIntr +lib/asm/non_matchings/unknown_0D3020/__osSiDeviceBusy.s:glabel __osSiDeviceBusy +lib/asm/non_matchings/unknown_0D3020/__osSpDeviceBusy.s:glabel __osSpDeviceBusy +lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s:glabel __osSpRawStartDma +lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s:/* 0D7054 800D6454 0C035934 */ jal __osSpDeviceBusy +lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s:/* 0D7078 800D6478 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0D3020/__osSpSetPc.s:glabel __osSpSetPc +lib/asm/non_matchings/unknown_0D3020/__osSumcalc.s:glabel __osSumcalc +lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:glabel __osTimerServicesInit +lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AC0 800D4EC0 3C018013 */ lui $at, %hi(__osCurrentTime) # $at, 0x8013 +lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AD0 800D4ED0 AC2ED220 */ sw $t6, %lo(__osCurrentTime)($at) +lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AD4 800D4ED4 3C018013 */ lui $at, %hi(__osBaseCounter) # $at, 0x8013 +lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AE0 800D4EE0 AC20D228 */ sw $zero, %lo(__osBaseCounter)($at) +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:glabel __osViSwapContext +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6CA8 800D60A8 3C11800E */ lui $s1, %hi(__osViNext) # $s1, 0x800e +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6CB0 800D60B0 8E314874 */ lw $s1, %lo(__osViNext)($s1) +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6CC4 800D60C4 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6E80 800D6280 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6EB0 800D62B0 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6EE4 800D62E4 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F6C 800D636C 3C0F800E */ lui $t7, %hi(__osViCurr) # $t7, 0x800e +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F78 800D6378 3C18800E */ lui $t8, %hi(__osViCurr) # $t8, 0x800e +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F7C 800D637C 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F94 800D6394 8DEF4870 */ lw $t7, %lo(__osViCurr)($t7) +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F98 800D6398 AC2F4874 */ sw $t7, %lo(__osViNext)($at) +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F9C 800D639C 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6FA0 800D63A0 AC314870 */ sw $s1, %lo(__osViCurr)($at) +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6FA4 800D63A4 8F184870 */ lw $t8, %lo(__osViCurr)($t8) +lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6FA8 800D63A8 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) +lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:glabel osYieldThread +lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71B8 800D65B8 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71C0 800D65C0 3C0F800E */ lui $t7, %hi(__osRunningThread) # $t7, 0x800e +lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71C4 800D65C4 8DEF4890 */ lw $t7, %lo(__osRunningThread)($t7) +lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71D8 800D65D8 0C034CB3 */ jal __osEnqueueAndYield +lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71E0 800D65E0 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:glabel __osDevMgrMain +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D338C 800D278C 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3468 800D2868 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3474 800D2874 0C035940 */ jal __osResetGlobalIntMask +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D349C 800D289C 0C035958 */ jal osEPiRawWriteIo +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D34B0 800D28B0 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D34C4 800D28C4 0C03238C */ jal osSendMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3504 800D2904 0C03238C */ jal osSendMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3524 800D2924 0C03596C */ jal osYieldThread +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3570 800D2970 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D35B0 800D29B0 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D35EC 800D29EC 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3634 800D2A34 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D367C 800D2A7C 0C03238C */ jal osSendMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D36B0 800D2AB0 0C0322EC */ jal osRecvMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D36C4 800D2AC4 0C03238C */ jal osSendMesg +lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D36D8 800D2AD8 0C03238C */ jal osSendMesg +lib/asm/non_matchings/unknown_0D3160/__osDisableInt.s:glabel __osDisableInt +lib/asm/non_matchings/unknown_0D3160/osEPiRawStartDma.s:glabel osEPiRawStartDma +lib/asm/non_matchings/unknown_0D3160/osEPiRawStartDma.s:/* 0D32C8 800D26C8 0C03233C */ jal osVirtualToPhysical +lib/asm/non_matchings/unknown_0D3160/__osRestoreInt.s:glabel __osRestoreInt +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:glabel __osViInit +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3730 800D2B30 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3734 800D2B34 AC2E4870 */ sw $t6, %lo(__osViCurr)($at) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3738 800D2B38 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3740 800D2B40 AC2F4874 */ sw $t7, %lo(__osViNext)($at) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D374C 800D2B4C 3C08800E */ lui $t0, %hi(__osViCurr) # $t0, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3750 800D2B50 8D084870 */ lw $t0, %lo(__osViCurr)($t0) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3758 800D2B58 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000 +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3760 800D2B60 8D290300 */ lw $t1, %lo(osTvType)($t1) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D376C 800D2B6C 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3770 800D2B70 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3794 800D2B94 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3798 800D2B98 8DAD0300 */ lw $t5, %lo(osTvType)($t5) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37A8 800D2BA8 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37AC 800D2BAC 8F184874 */ lw $t8, %lo(__osViNext)($t8) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37D0 800D2BD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37D4 800D2BD4 8D084874 */ lw $t0, %lo(__osViNext)($t0) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37F4 800D2BF4 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37F8 800D2BF8 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3800 800D2C00 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3808 800D2C08 8D8C4874 */ lw $t4, %lo(__osViNext)($t4) +lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3844 800D2C44 0C035824 */ jal __osViSwapContext +lib/asm/non_matchings/unknown_0D5390/func_800D47F0.s:/* 0D5400 800D4800 0C034958 */ jal __osDisableInt +lib/asm/non_matchings/unknown_0D5390/func_800D47F0.s:/* 0D5424 800D4824 0C034960 */ jal __osRestoreInt +lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s:glabel osPiRawWriteIo +lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s:/* 0D53BC 800D47BC 3C088000 */ lui $t0, %hi(osRomBase) # $t0, 0x8000 +lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s:/* 0D53C0 800D47C0 8D080308 */ lw $t0, %lo(osRomBase)($t0) +lib/asm/__osGetSR.s:.include "macros.inc" +lib/asm/__osGetSR.s:glabel __osGetSR +lib/asm/osInvalICache.s:.include "macros.inc" +lib/asm/osInvalICache.s:glabel osInvalICache +lib/asm/osMapTLBRdb.s:.include "macros.inc" +lib/asm/osMapTLBRdb.s:glabel osMapTLBRdb +lib/asm/__osProbeTLB.s:.include "macros.inc" +lib/asm/__osProbeTLB.s:glabel __osProbeTLB +lib/asm/__osSetFpcCsr.s:.include "macros.inc" +lib/asm/__osSetFpcCsr.s:glabel __osSetFpcCsr +lib/asm/__osSetSR.s:.include "macros.inc" +lib/asm/__osSetSR.s:glabel __osSetSR +lib/asm/osWritebackDCache.s:.include "macros.inc" +lib/asm/osWritebackDCache.s:glabel osWritebackDCache +include/controller.h://some version of this almost certainly existed since there's plenty of times where it's used right before a return 0 +include/controller.h: ERRCK(__osPfsSelectBank(pfs)) \ +include/controller.h: if (__osCheckId(pfs) == PFS_ERR_NEW_PACK) \ +include/controller.h: __osSiGetAccess(); \ +include/controller.h: ret = __osPfsGetStatus(queue, channel); \ +include/controller.h: __osSiRelAccess(); \ +include/macros.h:#error Matching build is only possible on IDO; please build with NON_MATCHING=1. +include/structs.h: /* 0x00 */ s16 unk0; // This is something related to position, not sure what though. +include/structs.h: /* 0x02 */ s16 unk2; // This is something related to position, not sure what though. +include/structs.h: /* 0x06 */ s8 starting_position; +include/structs.h: /* 0x000C */ u16 bosses; +include/structs.h: * 0x8 = Dino domain boss cutscene +include/structs.h: * 0x10 = Sherbet island boss cutscene +include/structs.h: * 0x20 = Snowflake mountain boss cutscene +include/structs.h: * 0x40 = Dragon forest boss cutscene +include/structs.h: * 0x80 = Future Fun Land boss cutscene +include/structs.h: * 0x100 = Dino domain boss cutscene 2 +include/structs.h: * 0x200 = Shertbet island boss cutscene 2 +include/structs.h: * 0x400 = Snowflake mountain boss cutscene 2 +include/structs.h: * 0x800 = Dragon forest boss cutscene 2 +include/structs.h: /* 0x000C */ f32 x_position; +include/structs.h: /* 0x0010 */ f32 y_position; +include/structs.h: /* 0x0014 */ f32 z_position; +include/structs.h: /* 0x00F4 */ f32 prev_x_position; +include/structs.h: /* 0x00F8 */ f32 prev_y_position; +include/structs.h: /* 0x00FC */ f32 prev_z_position; +include/structs.h: /* 0x0287 */ u8 boost_sound; +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/ultra64.h:#include +include/viint.h:#include +include/viint.h:void __osViSwapContext(void); +include/viint.h:extern __OSViContext *__osViCurr; +include/viint.h:extern __OSViContext *__osViNext; +include/viint.h:__OSViContext *__osViGetCurrentContext(void); +include/viint.h:void __osViInit(void); +data/dkr.data.s:.include "macros.inc" +data/dkr.data.s:glabel __osPiDevMgr +data/dkr.data.s:glabel __osViDevMgr +data/dkr.data.s:glabel __osPiAccessQueueEnabled +data/dkr.data.s:glabel __osViCurr +data/dkr.data.s:glabel __osViNext +data/dkr.data.s:glabel __osThreadTail +data/dkr.data.s:glabel __osActiveQueue +data/dkr.data.s:glabel __osRunningThread +data/dkr.data.s:.aligned_text "BossLev problem\n" +data/dkr.data.s:.aligned_text "warning: corrupt ghost\n" +undefined_syms.txt:osTvType = 0x80000300; +undefined_syms.txt:osRomBase = 0x80000308; +undefined_syms.txt:osResetType = 0x8000030C; +undefined_syms.txt:osCicId = 0x80000310; +undefined_syms.txt:osAppNMIBuffer = 0x8000031C; +undefined_syms.txt:osPiRawStartDma = 0x800D25A0; +undefined_syms.txt:osEPiRawStartDma = 0x800D2680; +undefined_syms.txt:__osDevMgrMain = 0x800D2760; +undefined_syms.txt:__osExceptionPreamble = 0x800D2CB0; +undefined_syms.txt:__osException = 0x800D2CC0; +undefined_syms.txt:__osCleanupThread = 0x800D35A0; +undefined_syms.txt:__osPiDevMgr = 0x800E3740; +undefined_syms.txt:__osViDevMgr = 0x800E38E0; +undefined_syms.txt:__osPiAccessQueueEnabled = 0x800E4800; +undefined_syms.txt:__osViCurr = 0x800E4870; +undefined_syms.txt:__osViNext = 0x800E4874; +undefined_syms.txt:__osThreadTail = 0x800E4880; +undefined_syms.txt:__osActiveQueue = 0x800E488C; +undefined_syms.txt:__osRunningThread = 0x800E4890; +undefined_syms.txt:__osEventStateTab = 0x8012CCD0; +undefined_syms.txt:__osMaxControllers = 0x8012CD91; +undefined_syms.txt:__osPfsPifRam = 0x8012CDE0; +undefined_syms.txt:__osCurrentTime = 0x8012D220; +undefined_syms.txt:__osBaseCounter = 0x8012D228; diff --git a/src/unknown_071730.c b/src/unknown_071730.c index 4bac24e2..a5efa410 100644 --- a/src/unknown_071730.c +++ b/src/unknown_071730.c @@ -80,20 +80,19 @@ void func_80070B30(void) { } #endif -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_071730/func_80070B78.s") -#else -// Has stack issues s32 *func_80070B78(s32 arg0, s32 arg1) { - s32 *temp, *temp2; s32 temp3; - temp = func_8006F510(); + unk80070BE4_8 * unused_1; + s32 unused_2; + s32 *temp = func_8006F510(); + s32 *temp2; + temp3 = arg0 + (arg1 * sizeof(unk80070BE4_8)); - temp2 = func_80070BE4((unk80070BE4_8 *)func_80070C9C(temp3, -1), temp3, arg1); + unused_1 = (unk80070BE4_8 *)func_80070C9C(temp3, -1); + temp2 = func_80070BE4(unused_1, temp3, arg1); func_8006F53C(temp); return temp2; } -#endif #if 1 GLOBAL_ASM("asm/non_matchings/unknown_071730/func_80070BE4.s") diff --git a/src/unknown_072E50.c b/src/unknown_072E50.c index c4294797..662879aa 100644 --- a/src/unknown_072E50.c +++ b/src/unknown_072E50.c @@ -83,7 +83,6 @@ GLOBAL_ASM("asm/non_matchings/unknown_072E50/func_800766D4.s") GLOBAL_ASM("asm/non_matchings/unknown_072E50/func_80076924.s") GLOBAL_ASM("asm/non_matchings/unknown_072E50/func_8007698C.s") GLOBAL_ASM("asm/non_matchings/unknown_072E50/func_80076A38.s") -//GLOBAL_ASM("asm/non_matchings/unknown_072E50/func_80076AF4.s") s32 func_80076AF4(s32 arg0, s32 arg1) { s32* temp; From 73751e403178881bb6e3e2339a9874864cee7d40 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Wed, 19 Aug 2020 20:54:53 -0500 Subject: [PATCH 13/14] c: func_80070B30 --- .../unknown_071730/func_80070B30.s | 20 ------------------- src/unknown_071730.c | 13 ++++++------ 2 files changed, 6 insertions(+), 27 deletions(-) delete mode 100644 asm/non_matchings/unknown_071730/func_80070B30.s diff --git a/asm/non_matchings/unknown_071730/func_80070B30.s b/asm/non_matchings/unknown_071730/func_80070B30.s deleted file mode 100644 index fcdf1ab4..00000000 --- a/asm/non_matchings/unknown_071730/func_80070B30.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_80070B30 -/* 071730 80070B30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 071734 80070B34 3C048013 */ lui $a0, %hi(D_8012D3F0) # $a0, 0x8013 -/* 071738 80070B38 AFBF0014 */ sw $ra, 0x14($sp) -/* 07173C 80070B3C 240EFFFF */ li $t6, -1 -/* 071740 80070B40 3C018012 */ lui $at, %hi(D_801235C0) # $at, 0x8012 -/* 071744 80070B44 2484D3F0 */ addiu $a0, %lo(D_8012D3F0) # addiu $a0, $a0, -0x2c10 -/* 071748 80070B48 3C0F8040 */ lui $t7, 0x8040 -/* 07174C 80070B4C AC2E35C0 */ sw $t6, %lo(D_801235C0)($at) -/* 071750 80070B50 01E42823 */ subu $a1, $t7, $a0 -/* 071754 80070B54 0C01C2F9 */ jal func_80070BE4 -/* 071758 80070B58 24060640 */ li $a2, 1600 -/* 07175C 80070B5C 0C01C42C */ jal func_800710B0 -/* 071760 80070B60 24040002 */ li $a0, 2 -/* 071764 80070B64 8FBF0014 */ lw $ra, 0x14($sp) -/* 071768 80070B68 3C018012 */ lui $at, %hi(D_80123DC8) # $at, 0x8012 -/* 07176C 80070B6C AC203DC8 */ sw $zero, %lo(D_80123DC8)($at) -/* 071770 80070B70 03E00008 */ jr $ra -/* 071774 80070B74 27BD0018 */ addiu $sp, $sp, 0x18 - diff --git a/src/unknown_071730.c b/src/unknown_071730.c index a5efa410..21bc1146 100644 --- a/src/unknown_071730.c +++ b/src/unknown_071730.c @@ -68,17 +68,16 @@ void func_8006F53C(s32*); void func_80071440(s32 arg0); -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_071730/func_80070B30.s") -#else + void func_80070B30(void) { - D_801235C0 = -1; - // Issue with a0 - func_80070BE4(&D_8012D3F0, 0x80400000 - (s32)(&D_8012D3F0), 1600); + s32 tmp = -1; + D_801235C0 = tmp; + if(1){ + func_80070BE4(&D_8012D3F0, 0x80400000 - (s32)(&D_8012D3F0), 1600); + } func_800710B0(2); D_80123DC8 = 0; } -#endif s32 *func_80070B78(s32 arg0, s32 arg1) { s32 temp3; From 8287fa70cc1b45dce7f046d7f55f81a65e4ad913 Mon Sep 17 00:00:00 2001 From: Mittenz Date: Thu, 20 Aug 2020 00:40:32 -0500 Subject: [PATCH 14/14] fixed D_8012A7E8 typing -> decomp of many functions in unknown_0B8920 --- .../unknown_0B8920/func_800C4440.s | 103 - .../unknown_0B8920/func_800C4EDC.s | 47 - .../unknown_0B8920/func_800C4F7C.s | 19 - .../unknown_0B8920/func_800C4FBC.s | 20 - .../unknown_0B8920/func_800C5000.s | 23 - .../unknown_0B8920/func_800C5050.s | 78 - osSearch.txt | 1708 ----------------- src/unknown_071730.c | 11 +- src/unknown_0B8920.c | 54 +- 9 files changed, 23 insertions(+), 2040 deletions(-) delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C4440.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C4EDC.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C4F7C.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C4FBC.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C5000.s delete mode 100644 asm/non_matchings/unknown_0B8920/func_800C5050.s delete mode 100644 osSearch.txt diff --git a/asm/non_matchings/unknown_0B8920/func_800C4440.s b/asm/non_matchings/unknown_0B8920/func_800C4440.s deleted file mode 100644 index 2e9a2a4e..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C4440.s +++ /dev/null @@ -1,103 +0,0 @@ -glabel func_800C4440 -/* 0C5040 800C4440 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 0C5044 800C4444 AFB00020 */ sw $s0, 0x20($sp) -/* 0C5048 800C4448 3C108013 */ lui $s0, %hi(D_8012A7E8) # $s0, 0x8013 -/* 0C504C 800C444C 24028000 */ li $v0, -32768 -/* 0C5050 800C4450 8E10A7E8 */ lw $s0, %lo(D_8012A7E8)($s0) -/* 0C5054 800C4454 AFBF0024 */ sw $ra, 0x24($sp) -/* 0C5058 800C4458 14A20006 */ bne $a1, $v0, .L800C4474 -/* 0C505C 800C445C AFA70034 */ sw $a3, 0x34($sp) -/* 0C5060 800C4460 860E000C */ lh $t6, 0xc($s0) -/* 0C5064 800C4464 00000000 */ nop -/* 0C5068 800C4468 000E7843 */ sra $t7, $t6, 1 -/* 0C506C 800C446C 10000002 */ b .L800C4478 -/* 0C5070 800C4470 A60F0000 */ sh $t7, ($s0) -.L800C4474: -/* 0C5074 800C4474 A6050000 */ sh $a1, ($s0) -.L800C4478: -/* 0C5078 800C4478 14C20006 */ bne $a2, $v0, .L800C4494 -/* 0C507C 800C447C 02002825 */ move $a1, $s0 -/* 0C5080 800C4480 8618000E */ lh $t8, 0xe($s0) -/* 0C5084 800C4484 00000000 */ nop -/* 0C5088 800C4488 0018C843 */ sra $t9, $t8, 1 -/* 0C508C 800C448C 10000002 */ b .L800C4498 -/* 0C5090 800C4490 A6190002 */ sh $t9, 2($s0) -.L800C4494: -/* 0C5094 800C4494 A6060002 */ sh $a2, 2($s0) -.L800C4498: -/* 0C5098 800C4498 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C509C 800C449C 44812000 */ mtc1 $at, $f4 -/* 0C50A0 800C44A0 8FA60034 */ lw $a2, 0x34($sp) -/* 0C50A4 800C44A4 8FA70038 */ lw $a3, 0x38($sp) -/* 0C50A8 800C44A8 0C031169 */ jal func_800C45A4 -/* 0C50AC 800C44AC E7A40010 */ swc1 $f4, 0x10($sp) -/* 0C50B0 800C44B0 8FBF0024 */ lw $ra, 0x24($sp) -/* 0C50B4 800C44B4 8FB00020 */ lw $s0, 0x20($sp) -/* 0C50B8 800C44B8 03E00008 */ jr $ra -/* 0C50BC 800C44BC 27BD0028 */ addiu $sp, $sp, 0x28 - -/* 0C50C0 800C44C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C50C4 800C44C4 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C50C8 800C44C8 04A0000D */ bltz $a1, .L800C4500 -/* 0C50CC 800C44CC AFA50024 */ sw $a1, 0x24($sp) -/* 0C50D0 800C44D0 28A10008 */ slti $at, $a1, 8 -/* 0C50D4 800C44D4 1020000A */ beqz $at, .L800C4500 -/* 0C50D8 800C44D8 00057880 */ sll $t7, $a1, 2 -/* 0C50DC 800C44DC 3C188013 */ lui $t8, %hi(D_8012A7E8) # $t8, 0x8013 -/* 0C50E0 800C44E0 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C50E4 800C44E4 8F18A7E8 */ lw $t8, %lo(D_8012A7E8)($t8) -/* 0C50E8 800C44E8 44812000 */ mtc1 $at, $f4 -/* 0C50EC 800C44EC 01E57821 */ addu $t7, $t7, $a1 -/* 0C50F0 800C44F0 000F78C0 */ sll $t7, $t7, 3 -/* 0C50F4 800C44F4 01F82821 */ addu $a1, $t7, $t8 -/* 0C50F8 800C44F8 0C031169 */ jal func_800C45A4 -/* 0C50FC 800C44FC E7A40010 */ swc1 $f4, 0x10($sp) -.L800C4500: -/* 0C5100 800C4500 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C5104 800C4504 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C5108 800C4508 03E00008 */ jr $ra -/* 0C510C 800C450C 00000000 */ nop - -/* 0C5110 800C4510 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C5114 800C4514 AFBF001C */ sw $ra, 0x1c($sp) -/* 0C5118 800C4518 04A0001E */ bltz $a1, .L800C4594 -/* 0C511C 800C451C AFA50024 */ sw $a1, 0x24($sp) -/* 0C5120 800C4520 28A10008 */ slti $at, $a1, 8 -/* 0C5124 800C4524 1020001B */ beqz $at, .L800C4594 -/* 0C5128 800C4528 24028000 */ li $v0, -32768 -/* 0C512C 800C452C 00057880 */ sll $t7, $a1, 2 -/* 0C5130 800C4530 3C188013 */ lui $t8, %hi(D_8012A7E8) # $t8, 0x8013 -/* 0C5134 800C4534 8F18A7E8 */ lw $t8, %lo(D_8012A7E8)($t8) -/* 0C5138 800C4538 01E57821 */ addu $t7, $t7, $a1 -/* 0C513C 800C453C 000F78C0 */ sll $t7, $t7, 3 -/* 0C5140 800C4540 14C20006 */ bne $a2, $v0, .L800C455C -/* 0C5144 800C4544 01F82821 */ addu $a1, $t7, $t8 -/* 0C5148 800C4548 84B9000C */ lh $t9, 0xc($a1) -/* 0C514C 800C454C 00000000 */ nop -/* 0C5150 800C4550 00194043 */ sra $t0, $t9, 1 -/* 0C5154 800C4554 10000002 */ b .L800C4560 -/* 0C5158 800C4558 A4A80000 */ sh $t0, ($a1) -.L800C455C: -/* 0C515C 800C455C A4A60000 */ sh $a2, ($a1) -.L800C4560: -/* 0C5160 800C4560 14E20006 */ bne $a3, $v0, .L800C457C -/* 0C5164 800C4564 3C013F80 */ li $at, 0x3F800000 # 1.000000 -/* 0C5168 800C4568 84A9000E */ lh $t1, 0xe($a1) -/* 0C516C 800C456C 00000000 */ nop -/* 0C5170 800C4570 00095043 */ sra $t2, $t1, 1 -/* 0C5174 800C4574 10000002 */ b .L800C4580 -/* 0C5178 800C4578 A4AA0002 */ sh $t2, 2($a1) -.L800C457C: -/* 0C517C 800C457C A4A70002 */ sh $a3, 2($a1) -.L800C4580: -/* 0C5180 800C4580 44812000 */ mtc1 $at, $f4 -/* 0C5184 800C4584 8FA60030 */ lw $a2, 0x30($sp) -/* 0C5188 800C4588 8FA70034 */ lw $a3, 0x34($sp) -/* 0C518C 800C458C 0C031169 */ jal func_800C45A4 -/* 0C5190 800C4590 E7A40010 */ swc1 $f4, 0x10($sp) -.L800C4594: -/* 0C5194 800C4594 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C5198 800C4598 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C519C 800C459C 03E00008 */ jr $ra -/* 0C51A0 800C45A0 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C4EDC.s b/asm/non_matchings/unknown_0B8920/func_800C4EDC.s deleted file mode 100644 index 2b126b32..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C4EDC.s +++ /dev/null @@ -1,47 +0,0 @@ -glabel func_800C4EDC -/* 0C5ADC 800C4EDC 18800025 */ blez $a0, .L800C4F74 -/* 0C5AE0 800C4EE0 28810008 */ slti $at, $a0, 8 -/* 0C5AE4 800C4EE4 10200023 */ beqz $at, .L800C4F74 -/* 0C5AE8 800C4EE8 00047080 */ sll $t6, $a0, 2 -/* 0C5AEC 800C4EEC 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 -/* 0C5AF0 800C4EF0 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) -/* 0C5AF4 800C4EF4 01C47021 */ addu $t6, $t6, $a0 -/* 0C5AF8 800C4EF8 000E70C0 */ sll $t6, $t6, 3 -/* 0C5AFC 800C4EFC 00A7082A */ slt $at, $a1, $a3 -/* 0C5B00 800C4F00 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5B04 800C4F04 A4400000 */ sh $zero, ($v0) -/* 0C5B08 800C4F08 10200004 */ beqz $at, .L800C4F1C -/* 0C5B0C 800C4F0C A4400002 */ sh $zero, 2($v0) -/* 0C5B10 800C4F10 A4450004 */ sh $a1, 4($v0) -/* 0C5B14 800C4F14 10000003 */ b .L800C4F24 -/* 0C5B18 800C4F18 A4470008 */ sh $a3, 8($v0) -.L800C4F1C: -/* 0C5B1C 800C4F1C A4450008 */ sh $a1, 8($v0) -/* 0C5B20 800C4F20 A4470004 */ sh $a3, 4($v0) -.L800C4F24: -/* 0C5B24 800C4F24 8FA30010 */ lw $v1, 0x10($sp) -/* 0C5B28 800C4F28 00000000 */ nop -/* 0C5B2C 800C4F2C 00C3082A */ slt $at, $a2, $v1 -/* 0C5B30 800C4F30 10200004 */ beqz $at, .L800C4F44 -/* 0C5B34 800C4F34 00000000 */ nop -/* 0C5B38 800C4F38 A4460006 */ sh $a2, 6($v0) -/* 0C5B3C 800C4F3C 10000003 */ b .L800C4F4C -/* 0C5B40 800C4F40 A443000A */ sh $v1, 0xa($v0) -.L800C4F44: -/* 0C5B44 800C4F44 A446000A */ sh $a2, 0xa($v0) -/* 0C5B48 800C4F48 A4430006 */ sh $v1, 6($v0) -.L800C4F4C: -/* 0C5B4C 800C4F4C 84580008 */ lh $t8, 8($v0) -/* 0C5B50 800C4F50 84590004 */ lh $t9, 4($v0) -/* 0C5B54 800C4F54 844A000A */ lh $t2, 0xa($v0) -/* 0C5B58 800C4F58 844B0006 */ lh $t3, 6($v0) -/* 0C5B5C 800C4F5C 03194023 */ subu $t0, $t8, $t9 -/* 0C5B60 800C4F60 014B6023 */ subu $t4, $t2, $t3 -/* 0C5B64 800C4F64 25090001 */ addiu $t1, $t0, 1 -/* 0C5B68 800C4F68 258D0001 */ addiu $t5, $t4, 1 -/* 0C5B6C 800C4F6C A449000C */ sh $t1, 0xc($v0) -/* 0C5B70 800C4F70 A44D000E */ sh $t5, 0xe($v0) -.L800C4F74: -/* 0C5B74 800C4F74 03E00008 */ jr $ra -/* 0C5B78 800C4F78 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C4F7C.s b/asm/non_matchings/unknown_0B8920/func_800C4F7C.s deleted file mode 100644 index cf276b19..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C4F7C.s +++ /dev/null @@ -1,19 +0,0 @@ -glabel func_800C4F7C -/* 0C5B7C 800C4F7C 0480000D */ bltz $a0, .L800C4FB4 -/* 0C5B80 800C4F80 28810008 */ slti $at, $a0, 8 -/* 0C5B84 800C4F84 1020000B */ beqz $at, .L800C4FB4 -/* 0C5B88 800C4F88 00047080 */ sll $t6, $a0, 2 -/* 0C5B8C 800C4F8C 3C188013 */ lui $t8, %hi(D_8012A7E0) # $t8, 0x8013 -/* 0C5B90 800C4F90 8F18A7E0 */ lw $t8, %lo(D_8012A7E0)($t8) -/* 0C5B94 800C4F94 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 -/* 0C5B98 800C4F98 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) -/* 0C5B9C 800C4F9C 01C47021 */ addu $t6, $t6, $a0 -/* 0C5BA0 800C4FA0 000E70C0 */ sll $t6, $t6, 3 -/* 0C5BA4 800C4FA4 00B8082A */ slt $at, $a1, $t8 -/* 0C5BA8 800C4FA8 10200002 */ beqz $at, .L800C4FB4 -/* 0C5BAC 800C4FAC 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5BB0 800C4FB0 A045001D */ sb $a1, 0x1d($v0) -.L800C4FB4: -/* 0C5BB4 800C4FB4 03E00008 */ jr $ra -/* 0C5BB8 800C4FB8 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C4FBC.s b/asm/non_matchings/unknown_0B8920/func_800C4FBC.s deleted file mode 100644 index 1c60f1c5..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C4FBC.s +++ /dev/null @@ -1,20 +0,0 @@ -glabel func_800C4FBC -/* 0C5BBC 800C4FBC 1880000E */ blez $a0, .L800C4FF8 -/* 0C5BC0 800C4FC0 28810008 */ slti $at, $a0, 8 -/* 0C5BC4 800C4FC4 1020000C */ beqz $at, .L800C4FF8 -/* 0C5BC8 800C4FC8 00047080 */ sll $t6, $a0, 2 -/* 0C5BCC 800C4FCC 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 -/* 0C5BD0 800C4FD0 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) -/* 0C5BD4 800C4FD4 01C47021 */ addu $t6, $t6, $a0 -/* 0C5BD8 800C4FD8 000E70C0 */ sll $t6, $t6, 3 -/* 0C5BDC 800C4FDC 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5BE0 800C4FE0 A0450010 */ sb $a1, 0x10($v0) -/* 0C5BE4 800C4FE4 A0460011 */ sb $a2, 0x11($v0) -/* 0C5BE8 800C4FE8 A0470012 */ sb $a3, 0x12($v0) -/* 0C5BEC 800C4FEC 8FB80010 */ lw $t8, 0x10($sp) -/* 0C5BF0 800C4FF0 00000000 */ nop -/* 0C5BF4 800C4FF4 A0580013 */ sb $t8, 0x13($v0) -.L800C4FF8: -/* 0C5BF8 800C4FF8 03E00008 */ jr $ra -/* 0C5BFC 800C4FFC 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C5000.s b/asm/non_matchings/unknown_0B8920/func_800C5000.s deleted file mode 100644 index 745c4747..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C5000.s +++ /dev/null @@ -1,23 +0,0 @@ -glabel func_800C5000 -/* 0C5C00 800C5000 18800011 */ blez $a0, .L800C5048 -/* 0C5C04 800C5004 28810008 */ slti $at, $a0, 8 -/* 0C5C08 800C5008 1020000F */ beqz $at, .L800C5048 -/* 0C5C0C 800C500C 00047080 */ sll $t6, $a0, 2 -/* 0C5C10 800C5010 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 -/* 0C5C14 800C5014 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) -/* 0C5C18 800C5018 01C47021 */ addu $t6, $t6, $a0 -/* 0C5C1C 800C501C 000E70C0 */ sll $t6, $t6, 3 -/* 0C5C20 800C5020 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5C24 800C5024 A0450014 */ sb $a1, 0x14($v0) -/* 0C5C28 800C5028 A0460015 */ sb $a2, 0x15($v0) -/* 0C5C2C 800C502C A0470016 */ sb $a3, 0x16($v0) -/* 0C5C30 800C5030 8FB80010 */ lw $t8, 0x10($sp) -/* 0C5C34 800C5034 00000000 */ nop -/* 0C5C38 800C5038 A0580017 */ sb $t8, 0x17($v0) -/* 0C5C3C 800C503C 8FB90014 */ lw $t9, 0x14($sp) -/* 0C5C40 800C5040 00000000 */ nop -/* 0C5C44 800C5044 A059001C */ sb $t9, 0x1c($v0) -.L800C5048: -/* 0C5C48 800C5048 03E00008 */ jr $ra -/* 0C5C4C 800C504C 00000000 */ nop - diff --git a/asm/non_matchings/unknown_0B8920/func_800C5050.s b/asm/non_matchings/unknown_0B8920/func_800C5050.s deleted file mode 100644 index b9e76c53..00000000 --- a/asm/non_matchings/unknown_0B8920/func_800C5050.s +++ /dev/null @@ -1,78 +0,0 @@ -glabel func_800C5050 -/* 0C5C50 800C5050 1880000E */ blez $a0, .L800C508C -/* 0C5C54 800C5054 28810008 */ slti $at, $a0, 8 -/* 0C5C58 800C5058 1020000C */ beqz $at, .L800C508C -/* 0C5C5C 800C505C 00047080 */ sll $t6, $a0, 2 -/* 0C5C60 800C5060 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 -/* 0C5C64 800C5064 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) -/* 0C5C68 800C5068 01C47021 */ addu $t6, $t6, $a0 -/* 0C5C6C 800C506C 000E70C0 */ sll $t6, $t6, 3 -/* 0C5C70 800C5070 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5C74 800C5074 A0450018 */ sb $a1, 0x18($v0) -/* 0C5C78 800C5078 A0460019 */ sb $a2, 0x19($v0) -/* 0C5C7C 800C507C A047001A */ sb $a3, 0x1a($v0) -/* 0C5C80 800C5080 8FB80010 */ lw $t8, 0x10($sp) -/* 0C5C84 800C5084 00000000 */ nop -/* 0C5C88 800C5088 A058001B */ sb $t8, 0x1b($v0) -.L800C508C: -/* 0C5C8C 800C508C 03E00008 */ jr $ra -/* 0C5C90 800C5090 00000000 */ nop - -/* 0C5C94 800C5094 1880000E */ blez $a0, .L800C50D0 -/* 0C5C98 800C5098 28810008 */ slti $at, $a0, 8 -/* 0C5C9C 800C509C 1020000C */ beqz $at, .L800C50D0 -/* 0C5CA0 800C50A0 00047080 */ sll $t6, $a0, 2 -/* 0C5CA4 800C50A4 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 -/* 0C5CA8 800C50A8 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) -/* 0C5CAC 800C50AC 01C47021 */ addu $t6, $t6, $a0 -/* 0C5CB0 800C50B0 000E70C0 */ sll $t6, $t6, 3 -/* 0C5CB4 800C50B4 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5CB8 800C50B8 84580020 */ lh $t8, 0x20($v0) -/* 0C5CBC 800C50BC 84480022 */ lh $t0, 0x22($v0) -/* 0C5CC0 800C50C0 0305C821 */ addu $t9, $t8, $a1 -/* 0C5CC4 800C50C4 01064821 */ addu $t1, $t0, $a2 -/* 0C5CC8 800C50C8 A4590020 */ sh $t9, 0x20($v0) -/* 0C5CCC 800C50CC A4490022 */ sh $t1, 0x22($v0) -.L800C50D0: -/* 0C5CD0 800C50D0 03E00008 */ jr $ra -/* 0C5CD4 800C50D4 00000000 */ nop - -/* 0C5CD8 800C50D8 1880000A */ blez $a0, .L800C5104 -/* 0C5CDC 800C50DC 28810008 */ slti $at, $a0, 8 -/* 0C5CE0 800C50E0 10200008 */ beqz $at, .L800C5104 -/* 0C5CE4 800C50E4 00047080 */ sll $t6, $a0, 2 -/* 0C5CE8 800C50E8 3C0F8013 */ lui $t7, %hi(D_8012A7E8) # $t7, 0x8013 -/* 0C5CEC 800C50EC 8DEFA7E8 */ lw $t7, %lo(D_8012A7E8)($t7) -/* 0C5CF0 800C50F0 01C47021 */ addu $t6, $t6, $a0 -/* 0C5CF4 800C50F4 000E70C0 */ sll $t6, $t6, 3 -/* 0C5CF8 800C50F8 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5CFC 800C50FC A4400020 */ sh $zero, 0x20($v0) -/* 0C5D00 800C5100 A4400022 */ sh $zero, 0x22($v0) -.L800C5104: -/* 0C5D04 800C5104 03E00008 */ jr $ra -/* 0C5D08 800C5108 00000000 */ nop - -/* 0C5D0C 800C510C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 0C5D10 800C5110 3C0E8013 */ lui $t6, %hi(D_8012A7E8) # $t6, 0x8013 -/* 0C5D14 800C5114 00047880 */ sll $t7, $a0, 2 -/* 0C5D18 800C5118 8DCEA7E8 */ lw $t6, %lo(D_8012A7E8)($t6) -/* 0C5D1C 800C511C AFA7002C */ sw $a3, 0x2c($sp) -/* 0C5D20 800C5120 01E47821 */ addu $t7, $t7, $a0 -/* 0C5D24 800C5124 AFA60028 */ sw $a2, 0x28($sp) -/* 0C5D28 800C5128 000F78C0 */ sll $t7, $t7, 3 -/* 0C5D2C 800C512C AFBF001C */ sw $ra, 0x1c($sp) -/* 0C5D30 800C5130 AFA50024 */ sw $a1, 0x24($sp) -/* 0C5D34 800C5134 01CF1021 */ addu $v0, $t6, $t7 -/* 0C5D38 800C5138 00A03825 */ move $a3, $a1 -/* 0C5D3C 800C513C 8FB80028 */ lw $t8, 0x28($sp) -/* 0C5D40 800C5140 8FB9002C */ lw $t9, 0x2c($sp) -/* 0C5D44 800C5144 84450000 */ lh $a1, ($v0) -/* 0C5D48 800C5148 84460002 */ lh $a2, 2($v0) -/* 0C5D4C 800C514C AFB80010 */ sw $t8, 0x10($sp) -/* 0C5D50 800C5150 0C03145A */ jal func_800C5168 -/* 0C5D54 800C5154 AFB90014 */ sw $t9, 0x14($sp) -/* 0C5D58 800C5158 8FBF001C */ lw $ra, 0x1c($sp) -/* 0C5D5C 800C515C 27BD0020 */ addiu $sp, $sp, 0x20 -/* 0C5D60 800C5160 03E00008 */ jr $ra -/* 0C5D64 800C5164 00000000 */ nop - diff --git a/osSearch.txt b/osSearch.txt deleted file mode 100644 index 69cc077d..00000000 --- a/osSearch.txt +++ /dev/null @@ -1,1708 +0,0 @@ -asm/assets/assets.s:.incbin "./build/us_1.0/levels/levelHeader03_FossilCanyon.3A17A8.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/levels/levelHeader0D_EverfrostPeak.3A1F78.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/levels/levelHeader1C_FrostyVillage.3A2B30.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/levels/name03_FossilCanyon.3A49C9.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/levels/name0D_EverfrostPeak.3A4BD7.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/levels/name1C_FrostyVillage.3A4F0F.bin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/levels/levelModel03_FossilCanyon.3CD820.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/levels/levelModel0E_EverfrostPeak.42C9D0.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/levels/levelModel1D_FrostyVillage.48CF00.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0ef_YellowDinosaur.5DF3E0.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0f0_GreenDinosaur.5DFF90.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0fe_RedBalloonSignpost.5E3030.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel0ff_30Signpost.5E3230.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel100_60Signpost.5E3430.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel101_100Signpost.5E3630.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel154_BossGate.6054D0.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel155_BossGate2.605790.cbin" -asm/assets/assets.s:.incbinaligned "./build/us_1.0/objects/objModel156_BossGate3.605AE0.cbin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader037_LampPost.6C33B0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader03B_Dinosaur1.6C35C8.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader03C_Dinosaur2.6C3650.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader03D_Dinosaur3.6C36D8.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader04E_BossDoor.6C3F88.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader04F_BigBossDoor.6C4010.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader06E_BombExplosion.6C5030.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader086_OverRidePos.6C5CD0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader08A_WizpigGhosts.6C5F60.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0A1_RocketSignpost.6C6B70.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0D7_PostForParty.6C88D0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0DB_AnimDinosaur2.6C8AF8.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0DE_AnimDinosaur1.6C8D38.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0EB_WizpigBoss.6C98C0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0EC_WizpigBoss2.6C9960.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0FD_TerryBoss.6CA2F8.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader0FE_SmokeyBoss.6CA398.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader101_SnowballBoss.6CA578.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader10E_Boost.6CACB0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/objects/objHeader114_PosArrow.6CAFB0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhostsHeader.ABBDC0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_FossilCanyon.ABBE70.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_PirateLagoon.ABC830.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_AncientLake.ABD1E0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_WalrusCove.ABD920.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_HotTopVolcano.ABE690.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_WhaleBay.ABF070.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_SnowballValley.ABF840.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_CrescentIsland.AC0020.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_EverfrostPeak.AC0AB0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_SpaceportAlpha.AC1610.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_SpacedustAlley.AC2380.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_GreenwoodVillage.AC3070.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_BoulderCanyon.AC3B40.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_WindmillPlains.AC4A60.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_FrostyVillage.AC5B50.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_JungleFalls.AC65A0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_TreasureCaves.AC6CB0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_HauntedWoods.AC73D0.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_DarkmoonCaverns.AC7B50.bin" -asm/assets/assets.s:.incbin "./build/us_1.0/tt_ghosts/ttGhost_StarCity.AC89B0.bin" -asm/entrypoint.s:.include "macros.inc" -asm/gzip.s:.include "macros.inc" -asm/non_matchings/unknown_001050/func_800015F8.s:/* 002200 80001600 0C031E34 */ jal osGetCount -asm/non_matchings/unknown_003260/audioNewThread.s:/* 0035C8 800029C8 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_003260/audioNewThread.s:/* 0035E0 800029E0 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_003260/audioNewThread.s:/* 0035F8 800029F8 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_003260/audioNewThread.s:/* 003628 80002A28 0C032214 */ jal osCreateThread -asm/non_matchings/unknown_003260/D_80002E38.s:/* 003AA0 80002EA0 0C03233C */ jal osVirtualToPhysical -asm/non_matchings/unknown_003260/D_80002E38.s:/* 003AE8 80002EE8 0C03233C */ jal osVirtualToPhysical -asm/non_matchings/unknown_003260/D_80002E38.s:/* 003BD8 80002FD8 0C0323E0 */ jal osPiStartDma -asm/non_matchings/unknown_003260/D_80002E38.s:/* 003BE4 80002FE4 0C03233C */ jal osVirtualToPhysical -asm/non_matchings/unknown_003260/func_80002A98.s:/* 0036EC 80002AEC 0C01E520 */ jal osScAddClient -asm/non_matchings/unknown_003260/func_80002A98.s:/* 00372C 80002B2C 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_003260/func_80002A98.s:/* 00379C 80002B9C 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_003260/func_80002A98.s:/* 0037C8 80002BC8 0C0321ED */ jal alClose -asm/non_matchings/unknown_003260/func_80002C00.s:/* 00381C 80002C1C 0C03233C */ jal osVirtualToPhysical -asm/non_matchings/unknown_003260/func_80002C00.s:/* 0039BC 80002DBC 0C01E55D */ jal osScGetCmdQ -asm/non_matchings/unknown_003260/func_80002C00.s:/* 0039CC 80002DCC 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_003260/func_80003040.s:/* 003C88 80003088 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_003260/func_8000418C.s:/* 004DE4 800041E4 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/func_800041FC.s:/* 004E28 80004228 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_800041FC.s:/* 004EA4 800042A4 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_800042CC.s:/* 004EDC 800042DC 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_800042CC.s:/* 004F6C 8000436C 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_80004384.s:/* 004FB0 800043B0 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_80004384.s:/* 00501C 8000441C 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_80004668.s:/* 005384 80004784 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/func_80004668.s:/* 0053A4 800047A4 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/func_80004668.s:/* 005440 80004840 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/func_800048D8.s:/* 0054FC 800048FC 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_800048D8.s:/* 005554 80004954 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/func_800048D8.s:/* 005570 80004970 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_80004A60.s:/* 005688 80004A88 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/func_80004A60.s:/* 0056F4 80004AF4 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/func_80004A60.s:/* 005710 80004B10 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_003260/_handleEvent.s:/* 004294 80003694 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/_handleEvent.s:/* 0042FC 800036FC 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/_handleEvent.s:/* 00434C 8000374C 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/_handleEvent.s:/* 0045F0 800039F0 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/_handleEvent.s:/* 0046D8 80003AD8 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/_handleEvent.s:/* 004BB8 80003FB8 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_003260/_sndpVoiceHandler.s:/* 004014 80003414 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_005740/__seqpReleaseVoice.s:/* 00B804 8000AC04 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_00BC20/func_8000BADC.s:/* 00C7C4 8000BBC4 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_00BC20/func_8000BADC.s:/* 00C7C8 8000BBC8 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_00BC20/func_800120C8.s:/* 013378 80012778 3C0D8000 */ lui $t5, %hi(osCicId) # $t5, 0x8000 -asm/non_matchings/unknown_00BC20/func_800120C8.s:/* 013398 80012798 8DAD0310 */ lw $t5, %lo(osCicId)($t5) -asm/non_matchings/unknown_00BC20/func_8001A8F4.s:/* 01B960 8001AD60 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -asm/non_matchings/unknown_00BC20/func_8001A8F4.s:/* 01B964 8001AD64 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -asm/non_matchings/unknown_00BC20/func_8001AE64.s:/* 01BDD0 8001B1D0 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 -asm/non_matchings/unknown_00BC20/func_8001AE64.s:/* 01BDD4 8001B1D4 8F390300 */ lw $t9, %lo(osTvType)($t9) -asm/non_matchings/unknown_00BC20/func_8001C6C4.s:/* 01D2C8 8001C6C8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_00BC20/func_8001C6C4.s:/* 01D2CC 8001C6CC 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_00BC20/func_8001F460.s:/* 0200D0 8001F4D0 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_00BC20/func_8001F460.s:/* 0200D8 8001F4D8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_0255E0/D_80024D54.s:/* 026014 80025414 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 -asm/non_matchings/unknown_0255E0/D_80024D54.s:/* 026018 80025418 8F390300 */ lw $t9, %lo(osTvType)($t9) -asm/non_matchings/unknown_0255E0/func_800289B8.s:/* 02968C 80028A8C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_0255E0/func_800289B8.s:/* 029698 80028A98 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_032760/func_80033F60.s:/* 034B68 80033F68 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_80033F60.s:/* 034B70 80033F70 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_80034860.s:/* 035464 80034864 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_80034860.s:/* 03546C 8003486C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_80035260.s:/* 035E68 80035268 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_032760/func_80035260.s:/* 035E70 80035270 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_032760/func_800361E0.s:/* 036DF8 800361F8 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_800361E0.s:/* 036E04 80036204 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_800389B8.s:/* 0395BC 800389BC 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_032760/func_800389B8.s:/* 0395C4 800389C4 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_032760/func_80038AD4.s:/* 0396D8 80038AD8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_032760/func_80038AD4.s:/* 0396E0 80038AE0 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_032760/func_80039330.s:/* 039F4C 8003934C 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_80039330.s:/* 039F58 80039358 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_8003B4BC.s:/* 03C0C4 8003B4C4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_8003B4BC.s:/* 03C0CC 8003B4CC 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_8003B988.s:/* 03C59C 8003B99C 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_032760/func_8003B988.s:/* 03C5A8 8003B9A8 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_032760/func_8003CA68.s:/* 03D67C 8003CA7C 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_8003CA68.s:/* 03D684 8003CA84 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_8003D2B8.s:/* 03DEBC 8003D2BC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_8003D2B8.s:/* 03DEC4 8003D2C4 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_8003D5A0.s:/* 03E1A4 8003D5A4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_8003D5A0.s:/* 03E1AC 8003D5AC 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_032760/func_8003E694.s:/* 03F348 8003E748 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -asm/non_matchings/unknown_032760/func_8003E694.s:/* 03F350 8003E750 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -asm/non_matchings/unknown_032760/func_8003F2E8.s:/* 03FF08 8003F308 3C0B8000 */ lui $t3, %hi(osTvType) # $t3, 0x8000 -asm/non_matchings/unknown_032760/func_8003F2E8.s:/* 03FF10 8003F310 8D6B0300 */ lw $t3, %lo(osTvType)($t3) -asm/non_matchings/unknown_032760/func_800422F0.s:/* 042EF8 800422F8 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_032760/func_800422F0.s:/* 042F00 80042300 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_032760/func_80042A90.s:/* 043790 80042B90 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_032760/func_80042A90.s:/* 043794 80042B94 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_043920/func_8004DE38.s:/* 04EADC 8004DEDC 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_043920/func_8004DE38.s:/* 04EC50 8004E050 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_043920/func_80059E40.s:/* 05AA7C 80059E7C 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_043920/func_80059E40.s:/* 05AA8C 80059E8C 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_061D30/__CSPHandleMetaMsg.s:/* 06454C 8006394C 0C018E61 */ jal __CSPRepostEvent -asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063A28 80062E28 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063B40 80062F40 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063C0C 8006300C 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPHandleMIDIMsg.s:/* 063C58 80063058 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 063698 80062A98 0C018A73 */ jal __CSPPostNextSeqEvent -asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 0636B0 80062AB0 0C018A73 */ jal __CSPPostNextSeqEvent -asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 0636D8 80062AD8 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPHandleNextSeqEvent.s:/* 0636E8 80062AE8 0C018A73 */ jal __CSPPostNextSeqEvent -asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s:glabel __CSPPostNextSeqEvent -asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s:/* 063624 80062A24 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPRepostEvent.s:glabel __CSPRepostEvent -asm/non_matchings/unknown_061D30/__CSPRepostEvent.s:/* 064594 80063994 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_061D30/__CSPRepostEvent.s:/* 06461C 80063A1C 0C03268C */ jal osSetIntMask -asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 06309C 8006249C 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 063258 80062658 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 0632E8 800626E8 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 06339C 8006279C 0C018A73 */ jal __CSPPostNextSeqEvent -asm/non_matchings/unknown_061D30/__CSPVoiceHandler.s:/* 063514 80062914 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_0646F0/func_80063AF0.s:/* 06472C 80063B2C 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_0646F0/func_80063B44.s:/* 064780 80063B80 0C03246B */ jal alEvtqPostEvent -asm/non_matchings/unknown_064830/_loadOutputBuffer.s:/* 06501C 8006441C 0C03233C */ jal osVirtualToPhysical -asm/non_matchings/unknown_0667D0/func_80065D98.s:/* 0669D0 80065DD0 0C032214 */ jal osCreateThread -asm/non_matchings/unknown_0667D0/func_80065D98.s:/* 066A04 80065E04 0C032268 */ jal osStartThread -asm/non_matchings/unknown_0667D0/func_80065D98.s:/* 066A10 80065E10 0C033210 */ jal osSetThreadPri -asm/non_matchings/unknown_066AA0/D_8006C330.s:/* 06CF98 8006C398 0C033490 */ jal __osSpSetStatus -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067B20 80066F20 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067B24 80066F24 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067C08 80067008 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067C40 80067040 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067E38 80067238 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067E3C 8006723C 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 067E58 80067258 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 068034 80067434 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0681AC 800675AC 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0681E0 800675E0 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0682D4 800676D4 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 068308 80067708 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0683F8 800677F8 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 06842C 8006782C 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 068574 80067974 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_066AA0/func_80066CDC.s:/* 0685A8 800679A8 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_066AA0/func_8006A10C.s:/* 06AD24 8006A124 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_066AA0/func_8006A10C.s:/* 06AD3C 8006A13C 0C0332EC */ jal osSetEventMesg -asm/non_matchings/unknown_066AA0/func_8006A1C4.s:/* 06ADEC 8006A1EC 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D01C 8006C41C 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 -asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D020 8006C420 8C420300 */ lw $v0, %lo(osTvType)($v0) -asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D07C 8006C47C 0C01E4D4 */ jal osCreateScheduler -asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D15C 8006C55C 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D17C 8006C57C 0C01E520 */ jal osScAddClient -asm/non_matchings/unknown_066AA0/func_8006C3E0.s:/* 06D1F4 8006C5F4 0C033498 */ jal osSetTime -asm/non_matchings/unknown_066AA0/func_8006C60C.s:/* 06D218 8006C618 0C033498 */ jal osSetTime -asm/non_matchings/unknown_066AA0/func_8006C60C.s:/* 06D674 8006CA74 3C0B8000 */ lui $t3, %hi(osTvType) # $t3, 0x8000 -asm/non_matchings/unknown_066AA0/func_8006C60C.s:/* 06D678 8006CA78 8D6B0300 */ lw $t3, %lo(osTvType)($t3) -asm/non_matchings/unknown_071730/func_80071D30.s:/* 072938 80071D38 0C033594 */ jal __osSiGetAccess -asm/non_matchings/unknown_071730/func_80071D30.s:/* 072964 80071D64 0C0335B0 */ jal __osSiRawStartDma -asm/non_matchings/unknown_071730/func_80071D30.s:/* 072978 80071D78 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_071730/func_80071D30.s:/* 072980 80071D80 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -asm/non_matchings/unknown_071730/func_80071D30.s:/* 072984 80071D84 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -asm/non_matchings/unknown_071730/func_80071D30.s:/* 072988 80071D88 0C0335B0 */ jal __osSiRawStartDma -asm/non_matchings/unknown_071730/func_80071D30.s:/* 07299C 80071D9C 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_071730/func_80071D30.s:/* 0729A8 80071DA8 3C038013 */ lui $v1, %hi(__osPfsPifRam) # $v1, 0x8013 -asm/non_matchings/unknown_071730/func_80071D30.s:/* 0729B0 80071DB0 2463CDE0 */ addiu $v1, %lo(__osPfsPifRam) # addiu $v1, $v1, -0x3220 -asm/non_matchings/unknown_071730/func_80071D30.s:/* 072A40 80071E40 0C0335A5 */ jal __osSiRelAccess -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072A60 80071E60 0C033594 */ jal __osSiGetAccess -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072A8C 80071E8C 0C0335B0 */ jal __osSiRawStartDma -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AA0 80071EA0 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AA8 80071EA8 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AAC 80071EAC 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AB0 80071EB0 0C0335B0 */ jal __osSiRawStartDma -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AC4 80071EC4 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AD0 80071ED0 3C038013 */ lui $v1, %hi(__osPfsPifRam) # $v1, 0x8013 -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072AD8 80071ED8 2463CDE0 */ addiu $v1, %lo(__osPfsPifRam) # addiu $v1, $v1, -0x3220 -asm/non_matchings/unknown_071730/func_80071E58.s:/* 072B68 80071F68 0C0335A5 */ jal __osSiRelAccess -asm/non_matchings/unknown_071730/func_80071F80.s:/* 072BE4 80071FE4 0C0335DC */ jal __osContAddressCrc -asm/non_matchings/unknown_071730/func_800720DC.s:/* 072D28 80072128 0C03363C */ jal __osContRamWrite -asm/non_matchings/unknown_071730/func_800720DC.s:/* 072D4C 8007214C 0C03363C */ jal __osContRamWrite -asm/non_matchings/unknown_071730/func_800720DC.s:/* 072D70 80072170 0C033728 */ jal __osContRamRead -asm/non_matchings/unknown_072E50/func_80072718.s:/* 0733A4 800727A4 0C0334A4 */ jal osPfsIsPlug -asm/non_matchings/unknown_072E50/func_80072718.s:/* 0734C4 800728C4 0C0334A4 */ jal osPfsIsPlug -asm/non_matchings/unknown_072E50/func_80074204.s:/* 074E28 80074228 0C033884 */ jal osEepromProbe -asm/non_matchings/unknown_072E50/func_80074204.s:/* 074EA4 800742A4 0C0338A0 */ jal osEepromRead -asm/non_matchings/unknown_072E50/func_8007431C.s:/* 074F40 80074340 0C033884 */ jal osEepromProbe -asm/non_matchings/unknown_072E50/func_8007431C.s:/* 0750A4 800744A4 0C033960 */ jal osEepromWrite -asm/non_matchings/unknown_072E50/func_800744DC.s:/* 075100 80074500 0C033884 */ jal osEepromProbe -asm/non_matchings/unknown_072E50/func_800744DC.s:/* 075194 80074594 0C033960 */ jal osEepromWrite -asm/non_matchings/unknown_072E50/func_800745D0.s:/* 0751F4 800745F4 0C033884 */ jal osEepromProbe -asm/non_matchings/unknown_072E50/func_800745D0.s:/* 075248 80074648 0C0338A0 */ jal osEepromRead -asm/non_matchings/unknown_072E50/func_800745D0.s:/* 0752A4 800746A4 0C0338A0 */ jal osEepromRead -asm/non_matchings/unknown_072E50/func_800746F0.s:/* 075314 80074714 0C033884 */ jal osEepromProbe -asm/non_matchings/unknown_072E50/func_800746F0.s:/* 07537C 8007477C 0C033960 */ jal osEepromWrite -asm/non_matchings/unknown_072E50/func_800746F0.s:/* 0753D4 800747D4 0C033960 */ jal osEepromWrite -asm/non_matchings/unknown_072E50/func_80074874.s:/* 075488 80074888 0C033884 */ jal osEepromProbe -asm/non_matchings/unknown_072E50/func_80074874.s:/* 0754B0 800748B0 0C0338A0 */ jal osEepromRead -asm/non_matchings/unknown_072E50/func_8007497C.s:/* 075590 80074990 0C033884 */ jal osEepromProbe -asm/non_matchings/unknown_072E50/func_8007497C.s:/* 075630 80074A30 0C033960 */ jal osEepromWrite -asm/non_matchings/unknown_072E50/func_800758DC.s:/* 07658C 8007598C 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_072E50/func_800758DC.s:/* 0765C4 800759C4 0C033CF8 */ jal osPfsFreeBlocks -asm/non_matchings/unknown_072E50/func_80075B18.s:/* 0767B8 80075BB8 0C0334A4 */ jal osPfsIsPlug -asm/non_matchings/unknown_072E50/func_80075E60.s:/* 076B2C 80075F2C 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000 -asm/non_matchings/unknown_072E50/func_80075E60.s:/* 076B30 80075F30 8D080300 */ lw $t0, %lo(osTvType)($t0) -asm/non_matchings/unknown_072E50/func_80076194.s:/* 076DE0 800761E0 0C033CF8 */ jal osPfsFreeBlocks -asm/non_matchings/unknown_072E50/func_800764E8.s:/* 077140 80076540 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_072E50/func_800764E8.s:/* 077144 80076544 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_072E50/func_800764E8.s:/* 077194 80076594 0C0343A0 */ jal osPfsFindFile -asm/non_matchings/unknown_072E50/func_800766D4.s:/* 077358 80076758 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_072E50/func_800766D4.s:/* 07736C 8007676C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_072E50/func_800766D4.s:/* 077438 80076838 0C034410 */ jal osPfsAllocateFile -asm/non_matchings/unknown_078050/func_80077A54.s:/* 078680 80077A80 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_078050/func_80077A54.s:/* 0786BC 80077ABC 0C034628 */ jal osWritebackDCacheAll -asm/non_matchings/unknown_078050/func_80077A54.s:/* 0786F4 80077AF4 0C034638 */ jal osDpSetNextBuffer -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078184 80077584 0C034628 */ jal osWritebackDCacheAll -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078198 80077598 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 0782EC 800776EC 0C034628 */ jal osWritebackDCacheAll -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078300 80077700 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 07831C 8007771C 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078480 80077880 0C034628 */ jal osWritebackDCacheAll -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078494 80077894 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 0784B0 800778B0 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 07860C 80077A0C 0C034628 */ jal osWritebackDCacheAll -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 078620 80077A20 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_078050/setupOSTasks.s:/* 07863C 80077A3C 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A4A8 800798A8 0C033490 */ jal __osSpSetStatus -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A4FC 800798FC 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A51C 8007991C 0C033490 */ jal __osSpSetStatus -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A564 80079964 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A58C 8007998C 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A674 80079A74 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A684 80079A84 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A6E0 80079AE0 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/func_80079818.s:/* 07A718 80079B18 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/func_80079B44.s:/* 07A770 80079B70 0C031E34 */ jal osGetCount -asm/non_matchings/unknown_079F50/func_8007A080.s:/* 07ACAC 8007A0AC 0C03486C */ jal osGetTime -asm/non_matchings/unknown_079F50/func_8007A080.s:/* 07ACBC 8007A0BC 0C034890 */ jal osSpTaskYield -asm/non_matchings/unknown_079F50/__scMain.s:/* 07A208 80079608 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_079F50/__scMain.s:/* 07A2A0 800796A0 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AAC4 80079EC4 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AAD4 80079ED4 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AB10 80079F10 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_079F50/__scTaskComplete.s:/* 07AB20 80079F20 0C03238C */ jal osSendMesg -asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07AF10 8007A310 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 -asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07AF14 8007A314 8C420300 */ lw $v0, %lo(osTvType)($v0) -asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07B060 8007A460 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07B07C 8007A47C 0C01E520 */ jal osScAddClient -asm/non_matchings/unknown_07AF10/func_8007A310.s:/* 07B098 8007A498 0C034744 */ jal osViBlack -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B150 8007A550 3C028000 */ lui $v0, %hi(osTvType) # $v0, 0x8000 -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B154 8007A554 8C420300 */ lw $v0, %lo(osTvType)($v0) -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B1C0 8007A5C0 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B208 8007A608 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000 -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B20C 8007A60C 8D080300 */ lw $t0, %lo(osTvType)($t0) -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B248 8007A648 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B2B0 8007A6B0 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B318 8007A718 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B340 8007A740 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B368 8007A768 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B390 8007A790 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3B8 8007A7B8 0C034728 */ jal osViSetMode -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3C0 8007A7C0 0C034898 */ jal osViSetSpecialFeatures -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3C8 8007A7C8 0C034898 */ jal osViSetSpecialFeatures -asm/non_matchings/unknown_07AF10/func_8007A550.s:/* 07B3D0 8007A7D0 0C034898 */ jal osViSetSpecialFeatures -asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B5C4 8007A9C4 0C034744 */ jal osViBlack -asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B5F0 8007A9F0 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B618 8007AA18 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B6C8 8007AAC8 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B6F0 8007AAF0 0C034908 */ jal osViSwapBuffer -asm/non_matchings/unknown_07AF10/func_8007A98C.s:/* 07B700 8007AB00 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_080500/func_8008377C.s:/* 08449C 8008389C 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 -asm/non_matchings/unknown_080500/func_8008377C.s:/* 0844A0 800838A0 8DAD0300 */ lw $t5, %lo(osTvType)($t5) -asm/non_matchings/unknown_080500/func_80084854.s:/* 085588 80084988 3C088000 */ lui $t0, %hi(osTvType) # $t0, 0x8000 -asm/non_matchings/unknown_080500/func_80084854.s:/* 08558C 8008498C 8D080300 */ lw $t0, %lo(osTvType)($t0) -asm/non_matchings/unknown_080500/func_800853D0.s:/* 08649C 8008589C 3C038000 */ lui $v1, %hi(osTvType) # $v1, 0x8000 -asm/non_matchings/unknown_080500/func_800853D0.s:/* 0864A0 800858A0 8C630300 */ lw $v1, %lo(osTvType)($v1) -asm/non_matchings/unknown_080500/func_80085B9C.s:/* 086908 80085D08 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_080500/func_80085B9C.s:/* 086914 80085D14 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_080500/func_80088938.s:/* 089AC0 80088EC0 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 -asm/non_matchings/unknown_080500/func_80088938.s:/* 089ACC 80088ECC 8DAD0300 */ lw $t5, %lo(osTvType)($t5) -asm/non_matchings/unknown_080500/func_800896A4.s:/* 08A574 80089974 3C168000 */ lui $s6, %hi(osTvType) # $s6, 0x8000 -asm/non_matchings/unknown_080500/func_800896A4.s:/* 08A578 80089978 26D60300 */ addiu $s6, %lo(osTvType) # addiu $s6, $s6, 0x300 -asm/non_matchings/unknown_080500/func_8008C698.s:/* 08D354 8008C754 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 -asm/non_matchings/unknown_080500/func_8008C698.s:/* 08D358 8008C758 8DAD0300 */ lw $t5, %lo(osTvType)($t5) -asm/non_matchings/unknown_080500/func_8008CD74.s:/* 08D978 8008CD78 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/func_8008CD74.s:/* 08D97C 8008CD7C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/func_8008FA54.s:/* 09065C 8008FA5C 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_080500/func_8008FA54.s:/* 090664 8008FA64 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_080500/func_8008FA54.s:/* 09083C 8008FC3C 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 -asm/non_matchings/unknown_080500/func_8008FA54.s:/* 090840 8008FC40 8F390300 */ lw $t9, %lo(osTvType)($t9) -asm/non_matchings/unknown_080500/func_8008FA54.s:/* 0909DC 8008FDDC 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000 -asm/non_matchings/unknown_080500/func_8008FA54.s:/* 0909E8 8008FDE8 8D290300 */ lw $t1, %lo(osTvType)($t1) -asm/non_matchings/unknown_080500/func_80090F30.s:/* 091B70 80090F70 3C108000 */ lui $s0, %hi(osTvType) # $s0, 0x8000 -asm/non_matchings/unknown_080500/func_80090F30.s:/* 091B74 80090F74 26100300 */ addiu $s0, %lo(osTvType) # addiu $s0, $s0, 0x300 -asm/non_matchings/unknown_080500/func_80092E94.s:/* 093ABC 80092EBC 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/func_80092E94.s:/* 093AC0 80092EC0 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/func_80093D40.s:/* 0949C0 80093DC0 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/func_80093D40.s:/* 0949C4 80093DC4 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/func_80094D28.s:/* 095E78 80095278 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_080500/func_80094D28.s:/* 095E80 80095280 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_080500/func_80094D28.s:/* 0961C0 800955C0 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -asm/non_matchings/unknown_080500/func_80094D28.s:/* 0961C4 800955C4 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -asm/non_matchings/unknown_080500/func_80095728.s:/* 096378 80095778 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/func_80095728.s:/* 09637C 8009577C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/func_80096978.s:/* 0975C0 800969C0 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/func_80096978.s:/* 0975C4 800969C4 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/func_80098774.s:/* 0993E8 800987E8 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 -asm/non_matchings/unknown_080500/func_80098774.s:/* 0993EC 800987EC 8F390300 */ lw $t9, %lo(osTvType)($t9) -asm/non_matchings/unknown_080500/func_80099E8C.s:/* 09AAD4 80099ED4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/func_80099E8C.s:/* 09AAD8 80099ED8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/func_8009E3D0.s:/* 09F02C 8009E42C 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_080500/func_8009E3D0.s:/* 09F030 8009E430 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_080500/MenuBootLoop.s:/* 08920C 8008860C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/MenuBootLoop.s:/* 089210 80088610 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09BFB0 8009B3B0 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09BFB4 8009B3B4 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09C288 8009B688 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -asm/non_matchings/unknown_080500/MenuCreditsLoop.s:/* 09C28C 8009B68C 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -asm/non_matchings/unknown_080500/MenuGameSelectLoop.s:/* 08EDFC 8008E1FC 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -asm/non_matchings/unknown_080500/MenuGameSelectLoop.s:/* 08EE00 8008E200 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -asm/non_matchings/unknown_080500/MenuGhostDataInit.s:glabel MenuGhostDataInit -asm/non_matchings/unknown_080500/MenuGhostDataLoop.s:glabel MenuGhostDataLoop -asm/non_matchings/unknown_080500/MenuInit.s:/* 082054 80081454 0C020AAB */ jal menu_logos_screen_init -asm/non_matchings/unknown_080500/MenuInit.s:/* 082154 80081554 0C026697 */ jal MenuGhostDataInit -asm/non_matchings/unknown_080500/MenuLogoScreenLoop.s:/* 083784 80082B84 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_080500/MenuLogoScreenLoop.s:/* 083788 80082B88 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_080500/MenuLoop.s:/* 082364 80081764 0C0269F5 */ jal MenuGhostDataLoop -asm/non_matchings/unknown_080500/MenuTitleScreenLoop.s:/* 084618 80083A18 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000 -asm/non_matchings/unknown_080500/MenuTitleScreenLoop.s:/* 08461C 80083A1C 8D290300 */ lw $t1, %lo(osTvType)($t1) -asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 09FC94 8009F094 3C108000 */ lui $s0, %hi(osTvType) # $s0, 0x8000 -asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 09FD38 8009F138 26100300 */ addiu $s0, %lo(osTvType) # addiu $s0, $s0, 0x300 -asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A0704 8009FB04 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A081C 8009FC1C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A0A04 8009FE04 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_09F8F0/func_8009F034.s:/* 0A0A08 8009FE08 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_09F8F0/func_800A14F0.s:/* 0A2480 800A1880 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A14F0.s:/* 0A2488 800A1888 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_09F8F0/func_800A1E48.s:/* 0A2CFC 800A20FC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A1E48.s:/* 0A2D00 800A2100 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_09F8F0/func_800A277C.s:/* 0A37A8 800A2BA8 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A277C.s:/* 0A37D8 800A2BD8 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_09F8F0/func_800A6254.s:/* 0A70B8 800A64B8 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A6254.s:/* 0A70BC 800A64BC 24840300 */ addiu $a0, %lo(osTvType) # addiu $a0, $a0, 0x300 -asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7D9C 800A719C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7DA0 800A71A0 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7FB4 800A73B4 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A718C.s:/* 0A7FB8 800A73B8 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A94E8 800A88E8 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9588 800A8988 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A98C4 800A8CC4 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A98CC 800A8CCC 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A98D0 800A8CD0 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9904 800A8D04 8DAD0300 */ lw $t5, %lo(osTvType)($t5) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9A0C 800A8E0C 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9B40 800A8F40 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9E64 800A9264 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0A9E68 800A9268 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA0BC 800A94BC 3C0C8000 */ lui $t4, %hi(osTvType) # $t4, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA15C 800A955C 8D8C0300 */ lw $t4, %lo(osTvType)($t4) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA738 800A9B38 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA73C 800A9B3C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA7CC 800A9BCC 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AA7D4 800A9BD4 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AAE70 800AA270 3C0A8000 */ lui $t2, %hi(osTvType) # $t2, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800A8474.s:/* 0AAE84 800AA284 8D4A0300 */ lw $t2, %lo(osTvType)($t2) -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4B8 800AA8B8 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4BC 800AA8BC 8C840300 */ lw $a0, %lo(osTvType)($a0) -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4D4 800AA8D4 3C048000 */ lui $a0, %hi(osTvType) # $a0, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB4E4 800AA8E4 8C840300 */ lw $a0, %lo(osTvType)($a0) -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB6D4 800AAAD4 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB6D8 800AAAD8 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB704 800AAB04 3C188000 */ lui $t8, %hi(osTvType) # $t8, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800AA600.s:/* 0AB710 800AAB10 8F180300 */ lw $t8, %lo(osTvType)($t8) -asm/non_matchings/unknown_09F8F0/func_800AD2C4.s:/* 0ADEC4 800AD2C4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_09F8F0/func_800AD2C4.s:/* 0ADEC8 800AD2C8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7BFC 800B6FFC 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C0C 800B700C 0C0332EC */ jal osSetEventMesg -asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C1C 800B701C 0C0332EC */ jal osSetEventMesg -asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C38 800B7038 0C031800 */ jal osCreatePiManager -asm/non_matchings/unknown_0AEE70/D_800B6FC4.s:/* 0B7C54 800B7054 0C0322EC */ jal osRecvMesg -asm/non_matchings/unknown_0AEE70/func_800B6F50.s:/* 0B7B80 800B6F80 0C032214 */ jal osCreateThread -asm/non_matchings/unknown_0AEE70/func_800B6F50.s:/* 0B7B8C 800B6F8C 0C032268 */ jal osStartThread -asm/non_matchings/unknown_0AEE70/func_800B7144.s:/* 0B7D7C 800B717C 0C0322BC */ jal osStopThread -asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C0430 800BF830 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C045C 800BF85C 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C08B4 800BFCB4 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_0B8920/func_800BF634.s:/* 0C08CC 800BFCCC 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_0B8920/func_800C05C8.s:/* 0C11EC 800C05EC 3C0F8000 */ lui $t7, %hi(osTvType) # $t7, 0x8000 -asm/non_matchings/unknown_0B8920/func_800C05C8.s:/* 0C11F0 800C05F0 8DEF0300 */ lw $t7, %lo(osTvType)($t7) -asm/non_matchings/unknown_0B8920/func_800C29F0.s:/* 0C364C 800C2A4C 3C198000 */ lui $t9, %hi(osTvType) # $t9, 0x8000 -asm/non_matchings/unknown_0B8920/func_800C29F0.s:/* 0C3650 800C2A50 8F390300 */ lw $t9, %lo(osTvType)($t9) -asm/non_matchings/unknown_0B8920/func_800C3158.s:/* 0C3D58 800C3158 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_0B8920/func_800C3158.s:/* 0C3D5C 800C315C 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_0B8920/func_800C38B4.s:/* 0C4588 800C3988 3C0E8000 */ lui $t6, %hi(osTvType) # $t6, 0x8000 -asm/non_matchings/unknown_0B8920/func_800C38B4.s:/* 0C45A8 800C39A8 8DCE0300 */ lw $t6, %lo(osTvType)($t6) -asm/non_matchings/unknown_0B8920/func_800C6000.s:glabel osCreatePiManager -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C08 800C6008 3C10800E */ lui $s0, %hi(__osPiDevMgr) # $s0, 0x800e -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C0C 800C600C 26103740 */ addiu $s0, %lo(__osPiDevMgr) # addiu $s0, $s0, 0x3740 -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C30 800C6030 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C48 800C6048 0C032208 */ jal osCreateMesgQueue -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C50 800C6050 3C0F800E */ lui $t7, %hi(__osPiAccessQueueEnabled) # $t7, 0x800e -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C54 800C6054 8DEF4800 */ lw $t7, %lo(__osPiAccessQueueEnabled)($t7) -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C64 800C6064 0C034920 */ jal __osPiCreateAccessQueue -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C7C 800C607C 0C0332EC */ jal osSetEventMesg -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6C8C 800C608C 0C034950 */ jal osGetThreadPri -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CA8 800C60A8 0C033210 */ jal osSetThreadPri -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CB0 800C60B0 0C034958 */ jal __osDisableInt -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CCC 800C60CC 3C0C800D */ lui $t4, %hi(osPiRawStartDma) # $t4, 0x800d -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CD0 800C60D0 3C0D800D */ lui $t5, %hi(osEPiRawStartDma) # $t5, 0x800d -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CE8 800C60E8 258C25A0 */ addiu $t4, %lo(osPiRawStartDma) # addiu $t4, $t4, 0x25a0 -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CEC 800C60EC 25AD2680 */ addiu $t5, %lo(osEPiRawStartDma) # addiu $t5, $t5, 0x2680 -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6CF4 800C60F4 3C06800D */ lui $a2, %hi(__osDevMgrMain) # $a2, 0x800d -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D14 800C6114 24C62760 */ addiu $a2, %lo(__osDevMgrMain) # addiu $a2, $a2, 0x2760 -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D28 800C6128 0C032214 */ jal osCreateThread -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D34 800C6134 0C032268 */ jal osStartThread -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D40 800C6140 0C034960 */ jal __osRestoreInt -asm/non_matchings/unknown_0B8920/func_800C6000.s:/* 0C6D58 800C6158 0C033210 */ jal osSetThreadPri -asm/non_matchings/unknown_0C8450/alCSPSetVol.s:/* 0C8474 800C7874 0C03246B */ jal alEvtqPostEvent -asm/unknown_0251F0.s:.include "macros.inc" -asm/unknown_031D30.s:.include "macros.inc" -asm/unknown_062930.s:.include "macros.inc" -asm/unknown_070110.s:.include "macros.inc" -src/unknown_001050.c:#include "macros.h" -src/unknown_001050.c: audioPrevCount = osGetCount(); -src/unknown_001050.c: u32 current_cnt = osGetCount(); -src/unknown_003260.c:#include "macros.h" -src/unknown_003260.c: osCreateMesgQueue(&D_80116198, &D_801161B0, 8); -src/unknown_003260.c: osCreateMesgQueue(&OSMesgQueue_80116160, &D_80116178, 8); -src/unknown_003260.c: osCreateMesgQueue(&D_80119AF0, &D_80119B08, 50); -src/unknown_003260.c: osCreateThread(&audioThread, 4, &func_80002A98, NULL, &D_80119230, p); -src/unknown_003260.c: osStartThread(&audioThread); -src/unknown_003260.c: osStopThread(&audioThread); -src/unknown_003260.c: alEvtqPostEvent(&(gAlSndPlayer->evtq), &sp_38, gAlSndPlayer->frameTime); -src/unknown_003260.c: alEvtqPostEvent(&sndp->evtq, (ALEvent *)&evt, sndp->frameTime); -src/unknown_003260.c: alEvtqPostEvent(&(gAlSndPlayer->evtq), &sp_18, 0); -src/unknown_003260.c: alEvtqPostEvent(&(gAlSndPlayer->evtq), &sndEvt,0); -src/unknown_005740.c:#include "macros.h" -src/unknown_00BC20.c:#include "macros.h" -src/unknown_00BC20.c:extern s32 osTvType; -src/unknown_00BC20.c: if (osTvType != 0 || arg0 < 0) { -src/unknown_00BC20.c: arg0->y_position -= D_8011ADD0; -src/unknown_00BC20.c: arg0->x_position -= arg0->unk64->unk78; -src/unknown_00BC20.c: arg0->y_position -= arg0->unk64->unk7C; -src/unknown_00BC20.c: arg0->z_position -= arg0->unk64->unk80; -src/unknown_0255E0.c:#include "macros.h" -src/unknown_032760.c:#include "macros.h" -src/unknown_032760.c: temp->unk0 = arg0->y_position; -src/unknown_032760.c: arg0->unk64 = func_800BE654(arg0->unk2E, arg0->x_position, arg0->z_position); -src/unknown_032760.c: arg0->y_position = func_800BEEB4(arg0->unk64); -src/unknown_043920.c:#include "macros.h" -src/unknown_05CEF0.c:#include "macros.h" -src/unknown_05DCD0.c:#include "macros.h" -src/unknown_05F0C0.c:#include "macros.h" -src/unknown_05F690.c:#include "macros.h" -src/unknown_061D30.c:#include "macros.h" -src/unknown_061D30.c:GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPPostNextSeqEvent.s") -src/unknown_061D30.c:GLOBAL_ASM("asm/non_matchings/unknown_061D30/__CSPRepostEvent.s") -src/unknown_064690.c:#include "macros.h" -src/unknown_064690.c: alEvtqPostEvent(arg0 + 0x48, &unknownStruct, 0); -src/unknown_0646F0.c:#include "macros.h" -src/unknown_0647A0.c:#include "macros.h" -src/unknown_0647A0.c: alEvtqPostEvent(arg0 + 0x48, &unknownStruct, 0); -src/unknown_064800.c:#include "macros.h" -src/unknown_064800.c: unk80063C00* unk60; // Array of unk80063C00, unknown number of elements (At most 256). -src/unknown_064830.c:#include "macros.h" -src/unknown_064830.c: lastCnt[++cnt_index] = osGetCount(); -src/unknown_064830.c: __osError(ERR_ALMODDELAYOVERFLOW, 1, delay_end - curr_ptr); -src/unknown_064830.c: aLoadBuffer(ptr++, osVirtualToPhysical(curr_ptr)); -src/unknown_064830.c: aLoadBuffer(ptr++, osVirtualToPhysical(r->base)); -src/unknown_064830.c: aLoadBuffer(ptr++, osVirtualToPhysical(curr_ptr)); -src/unknown_064830.c: lastCnt[++cnt_index] = osGetCount(); -src/unknown_064830.c: aSaveBuffer(ptr++, osVirtualToPhysical(curr_ptr)); -src/unknown_064830.c: aSaveBuffer(ptr++, osVirtualToPhysical(r->base)); -src/unknown_064830.c: aSaveBuffer(ptr++, osVirtualToPhysical(curr_ptr)); -src/unknown_064830.c: aLoadADPCM(ptr++, 32, osVirtualToPhysical(lp->fcvec.fccoef)); -src/unknown_064830.c: aPoleFilter(ptr++, lp->first, lp->fgain, osVirtualToPhysical(lp->fstate)); -src/unknown_065D30.c:#include "macros.h" -src/unknown_066460.c:#include "macros.h" -src/unknown_066500.c:#include "macros.h" -src/unknown_0667D0.c:#include "macros.h" -src/unknown_0667D0.c: osInitialize(); -src/unknown_0667D0.c: osCreateThread(&D_8011F760, 1, &D_80065D98, 0, &D_8011D750, 0); -src/unknown_0667D0.c: osStartThread(&D_8011F760); -src/unknown_066AA0.c:#include "macros.h" -src/unknown_066AA0.c:extern u32 osTvType; -src/unknown_066AA0.c:void osSetTime(u64); -src/unknown_066AA0.c: if (!osTvType) { -src/unknown_066AA0.c: if (osTvType == 0) { -src/unknown_066AA0.c: if (osTvType == 0) { -src/unknown_066AA0.c: if (osTvType == 0) { -src/unknown_066AA0.c: if (osTvType == 0) { -src/unknown_066AA0.c: if (osTvType == 0) { -src/unknown_066AA0.c: osCreateMesgQueue(&D_801210E0, &D_801210F8, 1); -src/unknown_066AA0.c: osSetEventMesg(5, &D_801210E0, D_801210FC); -src/unknown_066AA0.c: if ((settings->bosses & (1 << settings->worldId)) != 0) { -src/unknown_066AA0.c: __osSpSetStatus(0xAAAA82); -src/unknown_066AA0.c:void osCreateScheduler(u16*, s32*, s32, u8, s32); -src/unknown_066AA0.c:void osScAddClient(u16*, u8*, s32**, s32); -src/unknown_066AA0.c: if (osTvType == 0) { -src/unknown_066AA0.c: } else if (osTvType == 1) { -src/unknown_066AA0.c: } else if (osTvType == 2) { -src/unknown_066AA0.c: osCreateScheduler(&D_80121260, &D_801234E8, 0xD, sp24, 1); -src/unknown_066AA0.c: osCreateMesgQueue(&D_80123548, &D_80123544, 1); -src/unknown_066AA0.c: osScAddClient(&D_80121260, &D_80123538, &D_80123548, 3); -src/unknown_066AA0.c: osSetTime(0); -src/unknown_066AA0.c: osSetTime(0); -src/unknown_066AA0.c: osSetTime(0); -src/unknown_066AA0.c: gSettingsPtr->racers[i].starting_position = i; -src/unknown_066AA0.c: gSettingsPtr->racers[i].starting_position = 5 - i; -src/unknown_066AA0.c: gSettingsPtr->racers[i].starting_position = 7 - i; -src/unknown_066AA0.c: settings->bosses = 0; -src/unknown_066AA0.c: D_80123560 = (s32) ((osRecvMesg(&D_80123548, NULL, 0) + 1) != 0); -src/unknown_066AA0.c: if ((gSettingsPtr->trophies & 0xFF) == 0xFF && !(gSettingsPtr->cutsceneFlags & 1) && gSettingsPtr->bosses & 1) { -src/unknown_071730.c:#include "macros.h" -src/unknown_072E50.c:#include "macros.h" -src/unknown_0777A0.c:#include "macros.h" -src/unknown_0777A0.c:void osCreateMesgQueue(s32*, s32*, s32); -src/unknown_0777A0.c:void osCreatePiManager(s32, s32*, s32*, s32); -src/unknown_0777A0.c: osCreateMesgQueue(&D_80124278, &D_80124238, 0x10); -src/unknown_0777A0.c: osCreateMesgQueue(&D_80124220, &D_80124218, 1); -src/unknown_0777A0.c: osCreatePiManager(0x96, &D_80124278, &D_80124238, 0x10); -src/unknown_0777A0.c: osInvalDCache(ramAddress, numBytes); -src/unknown_0777A0.c: osPiStartDma(&D_80124200, 0, 0, romOffset, ramAddress, numBytesToDMA, &D_80124220); -src/unknown_0777A0.c: osRecvMesg(&D_80124220, &sp4C, 1); -src/unknown_077C50.c:#include "macros.h" -src/unknown_078050.c:#include "macros.h" -src/unknown_078050.c: osCreateMesgQueue(&D_80125EA0, &D_80125EB8,1); -src/unknown_078050.c: osCreateMesgQueue(&D_80125EC0, &D_80125EF0,8); -src/unknown_078050.c: osCreateMesgQueue(&D_80125ED8, &D_80125F10,8); -src/unknown_079F50.c:#include "macros.h" -src/unknown_079F50.c: OSTime totalTime; /* possible conflict if */ -src/unknown_079F50.c:extern OSViMode D_800E3900[];//osViModeTable; -src/unknown_079F50.c:void osCreateScheduler(OSSched *sc, void *stack, OSPri priority, u8 mode, u8 numFields){ -src/unknown_079F50.c: osCreateViManager(OS_PRIORITY_VIMGR); -src/unknown_079F50.c: osViSetMode(&D_800E3900[mode]); -src/unknown_079F50.c: osViBlack(TRUE); -src/unknown_079F50.c: osCreateMesgQueue(&sc->interruptQ, sc->intBuf, OS_SC_MAX_MESGS); -src/unknown_079F50.c: osCreateMesgQueue(&sc->cmdQ, sc->cmdMsgBuf, OS_SC_MAX_MESGS); -src/unknown_079F50.c: osSetEventMesg(OS_EVENT_SP, &sc->interruptQ, (OSMesg)667); -src/unknown_079F50.c: osSetEventMesg(OS_EVENT_DP, &sc->interruptQ, (OSMesg)668); -src/unknown_079F50.c: osSetEventMesg(OS_EVENT_PRENMI, &sc->interruptQ, (OSMesg)669); -src/unknown_079F50.c: osViSetEventMsg(&sc->interruptQ, (OSMesg)666, numFields); -src/unknown_079F50.c: osCreateThread(&sc->thread, 5, __scMain, (void *)sc, stack, priority); -src/unknown_079F50.c: osStartThread(&sc->thread); -src/unknown_079F50.c:void osScAddClient(OSSched *sc, OSScClient *c, OSMesgQueue *msgQ, u8 arg3){ -src/unknown_079F50.c: mask = osSetIntMask(OS_IM_NONE); -src/unknown_079F50.c: osSetIntMask(mask); -src/unknown_079F50.c:void osScRemoveClient(OSSched *sc, OSScClient *c) -src/unknown_079F50.c: mask = osSetIntMask(OS_IM_NONE); -src/unknown_079F50.c: osSetIntMask(mask); -src/unknown_079F50.c:OSMesgQueue *osScGetCmdQ(OSSched *sc){ -src/unknown_079F50.c: D_80126124 = osGetCount(); -src/unknown_079F50.c: if (osViGetCurrentFramebuffer() != osViGetNextFramebuffer()) { -src/unknown_079F50.c: //rv = osSendMesg(t->msgQ, &t->msg, OS_MESG_BLOCK); -src/unknown_079F50.c: osSendMesg(t->msgQ, t->msg, 1); -src/unknown_079F50.c: // osViBlack(FALSE); -src/unknown_079F50.c: //osViSwapBuffer(t->framebuffer); -src/unknown_079F50.c: osWritebackDCacheAll(); /* flush the cache */ -src/unknown_079F50.c: D_80126120 = osGetCount(); -src/unknown_079F50.c: osSpTaskLoad(&sp->list); -src/unknown_079F50.c: osSpTaskStartGo(&sp->list); -src/unknown_079F50.c: osDpSetNextBuffer(dp->list.t.output_buff, -src/unknown_079F50.c: D_80126118 = osGetTime(); //TODO extra lui -src/unknown_079F50.c: osSpTaskYield(); -src/unknown_07AF10.c:#include "macros.h" -src/unknown_07B870.c:#include "macros.h" -src/unknown_080240.c:#include "macros.h" -src/unknown_080240.c: s32 y_pos; -src/unknown_080240.c: y_pos = 0; -src/unknown_080240.c: while(y_pos != 240) { -src/unknown_080240.c: fast3d_cmd((*dlist)++, 0xE4500000 | (((y_pos + 6) << 2) & 0xFFF), (y_pos << 2) & 0xFFF) -src/unknown_080240.c: y_pos += 6; -src/unknown_080500.c:#include "macros.h" -src/unknown_080500.c:extern s32 osTvType; -src/unknown_080500.c: settings->bosses = 0; -src/unknown_080500.c: settings->bosses |= D_80126530[i]->bosses; -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c:void menu_logos_screen_init(void) { -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c:// Almost matches, except for an extra `lui` instruction when the loop unrolls. -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c:// Close to done with this function. Just a regalloc issue remains. :/ -src/unknown_080500.c: settings->racers[i].starting_position = i; -src/unknown_080500.c: temp_a2 = settings->racers[i].starting_position; -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c:GLOBAL_ASM("asm/non_matchings/unknown_080500/MenuGhostDataInit.s") -src/unknown_080500.c:GLOBAL_ASM("asm/non_matchings/unknown_080500/MenuGhostDataLoop.s") -src/unknown_080500.c: if (osTvType == 0) { -src/unknown_080500.c: if (settings->bosses & 0x20) { -src/unknown_09F8F0.c:#include "macros.h" -src/unknown_0AEE70.c:#include "macros.h" -src/unknown_0B8920.c:#include "macros.h" -src/unknown_0B8920.c:extern u32 __osPiAccessQueueEnabled; //__osPiAccessQueueEnabled -src/unknown_0B8920.c:extern OSDevMgr __osPiDevMgr; -src/unknown_0B8920.c:void __osDevMgrMain(void); -src/unknown_0B8920.c: // How is temp supposed to be setup for all of these functions? This is driving me nuts. -src/unknown_0B8920.c:void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt) -src/unknown_0B8920.c: if (!__osPiDevMgr.active) -src/unknown_0B8920.c: osCreateMesgQueue(cmdQ, cmdBuf, cmdMsgCnt); -src/unknown_0B8920.c: osCreateMesgQueue(&piEventQueue, (OSMesg*)&piEventBuf, 1); -src/unknown_0B8920.c: if (!__osPiAccessQueueEnabled) -src/unknown_0B8920.c: __osPiCreateAccessQueue(); -src/unknown_0B8920.c: osSetEventMesg(OS_EVENT_PI, &piEventQueue, (OSMesg)0x22222222); -src/unknown_0B8920.c: myPri = osGetThreadPri(NULL); -src/unknown_0B8920.c: osSetThreadPri(NULL, pri); -src/unknown_0B8920.c: savedMask = __osDisableInt(); -src/unknown_0B8920.c: __osPiDevMgr.active = 1; -src/unknown_0B8920.c: __osPiDevMgr.thread = &piThread; -src/unknown_0B8920.c: __osPiDevMgr.cmdQueue = cmdQ; -src/unknown_0B8920.c: __osPiDevMgr.evtQueue = &piEventQueue; -src/unknown_0B8920.c: __osPiDevMgr.acsQueue = &piAccessQueue; -src/unknown_0B8920.c: __osPiDevMgr.dma = osPiRawStartDma; -src/unknown_0B8920.c: __osPiDevMgr.edma = osEPiRawStartDma; -src/unknown_0B8920.c: osCreateThread(&piThread, 0, __osDevMgrMain, &__osPiDevMgr, &piThreadStack[OS_PIM_STACKSIZE], pri); -src/unknown_0B8920.c: osStartThread(&piThread); -src/unknown_0B8920.c: __osRestoreInt(savedMask); -src/unknown_0B8920.c: osSetThreadPri(NULL, oldPri); -src/unknown_0C7F40.c:#include "macros.h" -src/unknown_0C7F50.c:#include "macros.h" -src/unknown_0C7F50.c: osCreateMesgQueue(&D_8012ACA0, &D_8012ACB8, 2); -src/unknown_0C7F50.c: osCreateThread(&D_8012AAF0, 0x1E, &func_800C74A0, 0, &D_8012CCC0, 8); -src/unknown_0C7F50.c: osStartThread(&D_8012AAF0); -src/unknown_0C7F50.c: osStopThread(&D_8012AAF0); -src/unknown_0C7F50.c: osSendMesg(&D_8012ACA0, (OSMesg)10, 0); -src/unknown_0C7F50.c: osRecvMesg(&D_8012ACA0, &sp34, 1); -src/unknown_0C8160.c:#include "macros.h" -src/unknown_0C81A0.c:#include "macros.h" -src/unknown_0C83F0.c:#include "macros.h" -src/unknown_0C8450.c:#include "macros.h" -lib/src/osCreateThread.c:extern OSThread *__osActiveQueue; //__osActiveQueue; -lib/src/osCreateThread.c:void __osCleanupThread(void); //__osCleanupThread -lib/src/osCreateThread.c:void osCreateThread(OSThread *t, OSId id, void (*entry)(void *), void *arg, void *sp, OSPri p) -lib/src/osCreateThread.c: t->context.ra = (u64)__osCleanupThread; -lib/src/osCreateThread.c: saveMask = __osDisableInt(); -lib/src/osCreateThread.c: t->tlnext = __osActiveQueue; -lib/src/osCreateThread.c: __osActiveQueue = t; -lib/src/osCreateThread.c: __osRestoreInt(saveMask); -lib/src/osEepromRead.c:#include "macros.h" -lib/src/osEepromRead.c:GLOBAL_ASM("lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s") -lib/src/osEepromWrite.c:#include "macros.h" -lib/src/osEepromWrite.c:GLOBAL_ASM("lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s") -lib/src/osGetThreadPri.c:extern OSThread *__osRunningThread; -lib/src/osGetThreadPri.c:OSPri osGetThreadPri(OSThread *thread) -lib/src/osGetThreadPri.c: thread = __osRunningThread; -lib/src/osGetTime.c:extern OSTime __osCurrentTime;//__osCurrentTime -lib/src/osGetTime.c:extern u32 __osBaseCounter; //__osBaseCounter -lib/src/osGetTime.c:OSTime osGetTime() -lib/src/osGetTime.c: saveMask = __osDisableInt(); -lib/src/osGetTime.c: tmptime = osGetCount(); -lib/src/osGetTime.c: elapseCount = tmptime - __osBaseCounter; -lib/src/osGetTime.c: currentCount = __osCurrentTime; -lib/src/osGetTime.c: __osRestoreInt(saveMask); -lib/src/osJamMesg.c:extern OSThread* __osRunningThread; -lib/src/osJamMesg.c:s32 osJamMesg(OSMesgQueue *mq, OSMesg msg, s32 flag) -lib/src/osJamMesg.c: register u32 saveMask = __osDisableInt(); -lib/src/osJamMesg.c: __osRunningThread->state = OS_STATE_WAITING; -lib/src/osJamMesg.c: __osEnqueueAndYield(&mq->fullqueue); -lib/src/osJamMesg.c: __osRestoreInt(saveMask); -lib/src/osJamMesg.c: osStartThread(__osPopThread(&mq->mtqueue)); -lib/src/osJamMesg.c: __osRestoreInt(saveMask); -lib/src/osPfsFreeBlocks.c:s32 osPfsFreeBlocks(OSPfs *pfs, s32 *bytes_not_used) -lib/src/osPfsFreeBlocks.c: ERRCK(__osPfsRWInode(pfs, &inode, OS_READ, bank)); -lib/src/osPiGetCmdQueue.c:extern OSDevMgr __osPiDevMgr; -lib/src/osPiGetCmdQueue.c:OSMesgQueue *osPiGetCmdQueue(void) -lib/src/osPiGetCmdQueue.c: if (!__osPiDevMgr.active) -lib/src/osPiGetCmdQueue.c: return __osPiDevMgr.cmdQueue; -lib/src/osPiStartDma.c:extern OSDevMgr __osPiDevMgr; //__osPiDevMgr; -lib/src/osPiStartDma.c:s32 osPiStartDma(OSIoMesg *mb, s32 priority, s32 direction, u32 devAddr, void *dramAddr, u32 size, OSMesgQueue *mq) -lib/src/osPiStartDma.c: if (!__osPiDevMgr.active) -lib/src/osPiStartDma.c: ret = osJamMesg(osPiGetCmdQueue(), (OSMesg)mb, OS_MESG_NOBLOCK); -lib/src/osPiStartDma.c: ret = osSendMesg(osPiGetCmdQueue(), (OSMesg)mb, OS_MESG_NOBLOCK); -lib/src/osRecvMesg.c:#include "macros.h" -lib/src/osRecvMesg.c:extern OSThread *__osRunningThread; -lib/src/osRecvMesg.c:s32 osRecvMesg(OSMesgQueue *mq, OSMesg *msg, s32 flags) -lib/src/osRecvMesg.c: saveMask = __osDisableInt(); -lib/src/osRecvMesg.c: __osRestoreInt(saveMask); -lib/src/osRecvMesg.c: __osRunningThread->state = OS_STATE_WAITING; -lib/src/osRecvMesg.c: __osEnqueueAndYield(&mq->mtqueue); -lib/src/osRecvMesg.c: osStartThread(__osPopThread(&mq->fullqueue)); -lib/src/osRecvMesg.c: __osRestoreInt(saveMask); -lib/src/osSendMesg.c:extern OSThread *__osRunningThread; -lib/src/osSendMesg.c:s32 osSendMesg(OSMesgQueue *mq, OSMesg msg, s32 flags) -lib/src/osSendMesg.c: saveMask = __osDisableInt(); -lib/src/osSendMesg.c: __osRunningThread->state = OS_STATE_WAITING; -lib/src/osSendMesg.c: __osEnqueueAndYield(&mq->fullqueue); -lib/src/osSendMesg.c: __osRestoreInt(saveMask); -lib/src/osSendMesg.c: osStartThread(__osPopThread(&mq->mtqueue)); -lib/src/osSendMesg.c: __osRestoreInt(saveMask); -lib/src/osSetEventMesg.c:__OSEventState __osEventStateTab[OS_NUM_EVENTS];//__osEventStateTab[OS_NUM_EVENTS]; -lib/src/osSetEventMesg.c:void osSetEventMesg(OSEvent event, OSMesgQueue *mq, OSMesg msg) -lib/src/osSetEventMesg.c: register u32 saveMask = __osDisableInt(); -lib/src/osSetEventMesg.c: es = &__osEventStateTab[event]; -lib/src/osSetEventMesg.c: __osRestoreInt(saveMask); -lib/src/osSetTime.c:extern OSTime __osCurrentTime; -lib/src/osSetTime.c:void osSetTime(OSTime time){ -lib/src/osSetTime.c: __osCurrentTime = time; -lib/src/osSetTimer.c:#include "macros.h" -lib/src/osSetTimer.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osSetTimer.s") -lib/src/osSetTimer.c:u32 osSetTimer(OSTimer *t, OSTime value, OSTime interval, OSMesgQueue *mq, OSMesg msg) -lib/src/osSetTimer.c: time = (OSTime) __osInsertTimer(t); -lib/src/osSetTimer.c: __osSetTimerIntr(time); -lib/src/__osSiRawReadIo.c:s32 __osSiRawReadIo(u32 devAddr, u32 *data) -lib/src/__osSiRawReadIo.c: if (__osSiDeviceBusy()) -lib/src/__osSiRawWriteIo.c:s32 __osSiRawWriteIo(u32 devAddr, u32 data) -lib/src/__osSiRawWriteIo.c: if (__osSiDeviceBusy()) -lib/src/__osSpSetStatus.c:#include "macros.h" -lib/src/__osSpSetStatus.c:void __osSpSetStatus(u32 status) { -lib/src/osStartThread.c:extern OSThread* __osRunningThread; -lib/src/osStartThread.c:extern OSThread* __RunQueue; //__osRunQueue -lib/src/osStartThread.c:void osStartThread(OSThread *t) -lib/src/osStartThread.c: register u32 saveMask = __osDisableInt(); -lib/src/osStartThread.c: __osEnqueueThread(&__RunQueue, t); -lib/src/osStartThread.c: __osEnqueueThread(&__RunQueue, t); -lib/src/osStartThread.c: __osEnqueueThread(t->queue, t); -lib/src/osStartThread.c: __osEnqueueThread(&__RunQueue, __osPopThread(t->queue)); -lib/src/osStartThread.c: if (__osRunningThread == NULL) -lib/src/osStartThread.c: __osDispatchThread(); -lib/src/osStartThread.c: if (__osRunningThread->priority < __RunQueue->priority) -lib/src/osStartThread.c: __osRunningThread->state = OS_STATE_RUNNABLE; -lib/src/osStartThread.c: __osEnqueueAndYield(&__RunQueue); -lib/src/osStartThread.c: __osRestoreInt(saveMask); -lib/src/osStopThread.c:extern OSThread *__osRunningThread; -lib/src/osStopThread.c:void osStopThread(OSThread *t) -lib/src/osStopThread.c: register u32 saveMask = __osDisableInt(); -lib/src/osStopThread.c: __osRunningThread->state = OS_STATE_STOPPED; -lib/src/osStopThread.c: __osEnqueueAndYield(NULL); -lib/src/osStopThread.c: __osDequeueThread(t->queue, t); -lib/src/osStopThread.c: __osRestoreInt(saveMask); -lib/src/osTimer.c:#include "macros.h" -lib/src/osTimer.c:extern OSTime __osCurrentTime; -lib/src/osTimer.c:extern u32 __osBaseCounter; -lib/src/osTimer.c:OSTime __osInsertTimer(OSTimer *t); -lib/src/osTimer.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s") -lib/src/osTimer.c:void __osTimerServicesInit(void) -lib/src/osTimer.c: __osCurrentTime = 0; -lib/src/osTimer.c: __osBaseCounter = 0; -lib/src/osTimer.c:void __osTimerInterrupt(void) -lib/src/osTimer.c: __osSetCompare(0); -lib/src/osTimer.c: count = osGetCount(); -lib/src/osTimer.c: __osSetTimerIntr(t->remaining); -lib/src/osTimer.c: osSendMesg(t->mq, t->msg, OS_MESG_NOBLOCK); -lib/src/osTimer.c: __osInsertTimer(t); -lib/src/osTimer.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s") -lib/src/osTimer.c:void __osSetTimerIntr(OSTime tim) -lib/src/osTimer.c: savedMask = __osDisableInt(); -lib/src/osTimer.c: D_8012D230 = osGetCount(); -lib/src/osTimer.c: __osSetCompare(NewTime); -lib/src/osTimer.c: __osRestoreInt(savedMask); -lib/src/osTimer.c:OSTime __osInsertTimer(OSTimer *t) -lib/src/osTimer.c: savedMask = __osDisableInt(); -lib/src/osTimer.c: __osRestoreInt(savedMask); -lib/src/osViBlack.c:extern OSViContext *__osViNext; -lib/src/osViBlack.c:void osViBlack(u8 active) { -lib/src/osViBlack.c: register u32 int_disabled = __osDisableInt(); -lib/src/osViBlack.c: __osViNext->unk00 |= 0x20; -lib/src/osViBlack.c: __osViNext->unk00 &= ~0x20; -lib/src/osViBlack.c: __osRestoreInt(int_disabled); -lib/src/osViMgr.c:#include "macros.h" -lib/src/osViMgr.c:extern OSTime __osCurrentTime; -lib/src/osViMgr.c:extern u32 __osBaseCounter; -lib/src/osViMgr.c:extern u32 D_8012D22C; //__osViIntrCount -lib/src/osViMgr.c:extern OSDevMgr __osViDevMgr; -lib/src/osViMgr.c:void osCreateViManager(OSPri pri) -lib/src/osViMgr.c: if (__osViDevMgr.active == 0) -lib/src/osViMgr.c: __osTimerServicesInit(); -lib/src/osViMgr.c: osCreateMesgQueue(&viEventQueue, viEventBuf, 5); -lib/src/osViMgr.c: osSetEventMesg(OS_EVENT_VI, &viEventQueue, &viRetraceMsg); -lib/src/osViMgr.c: osSetEventMesg(OS_EVENT_COUNTER, &viEventQueue, &viCounterMsg); -lib/src/osViMgr.c: myPri = osGetThreadPri(NULL); -lib/src/osViMgr.c: osSetThreadPri(NULL, pri); -lib/src/osViMgr.c: savedMask = __osDisableInt(); -lib/src/osViMgr.c: __osViDevMgr.active = 1; -lib/src/osViMgr.c: __osViDevMgr.thread = &viThread; -lib/src/osViMgr.c: __osViDevMgr.cmdQueue = &viEventQueue; -lib/src/osViMgr.c: __osViDevMgr.evtQueue = &viEventQueue; -lib/src/osViMgr.c: __osViDevMgr.acsQueue = NULL; -lib/src/osViMgr.c: __osViDevMgr.dma = NULL; -lib/src/osViMgr.c: __osViDevMgr.edma = NULL; -lib/src/osViMgr.c: osCreateThread(&viThread, 0, viMgrMain, &__osViDevMgr, &viThreadStack[OS_VIM_STACKSIZE], pri); //TODO give 0x8012C130 a proper symbol -lib/src/osViMgr.c: __osViInit(); -lib/src/osViMgr.c: osStartThread(&viThread); -lib/src/osViMgr.c: __osRestoreInt(savedMask); -lib/src/osViMgr.c: osSetThreadPri(0, oldPri); -lib/src/osViMgr.c:GLOBAL_ASM("lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s") -lib/src/osViSetEventMsg.c:#include "macros.h" -lib/src/osViSetEventMsg.c:GLOBAL_ASM("lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s") -lib/src/osViSwapBuffer.c:extern OSViContext* __osViNext; -lib/src/osViSwapBuffer.c:void osViSwapBuffer(void* frameBufPtr){ -lib/src/osViSwapBuffer.c: u32 saveMask = __osDisableInt(); -lib/src/osViSwapBuffer.c: __osViNext->buffer = frameBufPtr; -lib/src/osViSwapBuffer.c: __osViNext->unk00 |= 0x10; -lib/src/osViSwapBuffer.c: __osRestoreInt(saveMask); -lib/src/string.c:#include "macros.h" -lib/src/unknown_0C8490.c:#include "macros.h" -lib/src/unknown_0C8490.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C8490/osGetCount.s") -lib/src/unknown_0C84E0.c:#include "macros.h" -lib/src/unknown_0C84E0.c: alEvtqPostEvent(&seqp->evtq, &evt, 0); -lib/src/unknown_0C8540.c:#include "macros.h" -lib/src/unknown_0C85E0.c:#include "macros.h" -lib/src/unknown_0C85E0.c: alEvtqPostEvent(&seqp->evtq, &evt, 0); -lib/src/unknown_0C8650.c:#include "macros.h" -lib/src/unknown_0C8660.c:#include "macros.h" -lib/src/unknown_0C86A0.c:#include "macros.h" -lib/src/unknown_0C9160.c:#include "macros.h" -lib/src/unknown_0C91A0.c:#include "macros.h" -lib/src/unknown_0C91A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C91A0/alClose.s") -lib/src/unknown_0C91A0.c:extern OSThread __osThreadTail; -lib/src/unknown_0C91A0.c:void osCreateMesgQueue(OSMesgQueue *mq, OSMesg *msg, s32 msgCount) -lib/src/unknown_0C91A0.c: mq->mtqueue = (OSThread *)&__osThreadTail; -lib/src/unknown_0C91A0.c: mq->fullqueue = (OSThread *)&__osThreadTail; -lib/src/unknown_0C98F0.c:#include "macros.h" -lib/src/unknown_0C98F0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C98F0/osVirtualToPhysical.s") -lib/src/unknown_0C9970.c:#include "macros.h" -lib/src/unknown_0C9A20.c:#include "macros.h" -lib/src/unknown_0C9C90.c:#include "macros.h" -lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); -lib/src/unknown_0C9C90.c: osSetIntMask(mask); -lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); -lib/src/unknown_0C9C90.c: osSetIntMask(mask); -lib/src/unknown_0C9C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s") -lib/src/unknown_0C9C90.c:void alEvtqPostEvent(ALEventQueue *evtq, ALEvent *evt, ALMicroTime delta) -lib/src/unknown_0C9C90.c: s32 postAtEnd=0; -lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); -lib/src/unknown_0C9C90.c: osSetIntMask(mask); -lib/src/unknown_0C9C90.c: __osError(ERR_ALEVENTNOFREE, 0); -lib/src/unknown_0C9C90.c: postAtEnd = -1; -lib/src/unknown_0C9C90.c: if (postAtEnd) -lib/src/unknown_0C9C90.c: osSetIntMask(mask); -lib/src/unknown_0C9C90.c: mask = osSetIntMask(OS_IM_NONE); -lib/src/unknown_0C9C90.c: /* sct 11/28/95 - If we get here, most like we overflowed the event queue */ -lib/src/unknown_0C9C90.c: osSetIntMask(mask); -lib/src/unknown_0C9C90.c: OSIntMask mask = osSetIntMask(OS_IM_NONE); -lib/src/unknown_0C9C90.c: osSetIntMask(mask); -lib/src/unknown_0C9C90.c: __osError(ERR_ALSYN_NO_UPDATE, 0); -lib/src/unknown_0C9C90.c: __osError(ERR_ALSYN_NO_UPDATE, 0); -lib/src/unknown_0C9C90.c: __osError(ERR_ALSYN_NO_UPDATE, 0); -lib/src/unknown_0CA250.c:#include "macros.h" -lib/src/unknown_0CA2F0.c:#include "macros.h" -lib/src/unknown_0CA380.c:#include "macros.h" -lib/src/unknown_0CA410.c:#include "macros.h" -lib/src/unknown_0CA4B0.c:#include "macros.h" -lib/src/unknown_0CA530.c:#include "macros.h" -lib/src/unknown_0CA530.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CA530/osSetIntMask.s") -lib/src/unknown_0CA6E0.c:#include "macros.h" -lib/src/unknown_0CA730.c:#include "macros.h" -lib/src/unknown_0CA940.c:#include "macros.h" -lib/src/unknown_0CA9A0.c:#include "macros.h" -lib/src/unknown_0CCF90.c:#include "macros.h" -lib/src/unknown_0CCF90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/osInitialize.s") -lib/src/unknown_0CCF90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s") -lib/src/unknown_0CD820.c:#include "macros.h" -lib/src/unknown_0CDE50.c:#include "macros.h" -lib/src/unknown_0CDE90.c:#include "macros.h" -lib/src/unknown_0CDE90.c:extern OSPifRam __osPfsPifRam; //__osPfsPifRam -lib/src/unknown_0CDE90.c:extern u8 D_8012CD90; //__osContLastCmd -lib/src/unknown_0CDE90.c:extern u8 __osMaxControllers;//__osMaxControllers -lib/src/unknown_0CDE90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s") -lib/src/unknown_0CDE90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s") -lib/src/unknown_0CDE90.c:void __osPfsGetInitData(u8 *pattern, OSContStatus *data) -lib/src/unknown_0CDE90.c: ptr = (u8 *)&__osPfsPifRam; -lib/src/unknown_0CDE90.c: for (i = 0; i < __osMaxControllers; i++, ptr += sizeof(__OSContRequesFormat)) -lib/src/unknown_0CE200.c:#include "macros.h" -lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s") -lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s") -lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiRelAccess.s") -lib/src/unknown_0CE200.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s") -lib/src/unknown_0CE370.c:#include "macros.h" -lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osContAddressCrc.s") -lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osContDataCrc.s") -lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s") -lib/src/unknown_0CE370.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s") -lib/src/unknown_0CE8A0.c:#include "macros.h" -lib/src/unknown_0CE8A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s") -lib/src/unknown_0CE8A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s") -lib/src/unknown_0CEC50.c:#include "macros.h" -lib/src/unknown_0CEE10.c:#include "macros.h" -lib/src/unknown_0CEE10.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s") -lib/src/unknown_0CF070.c:#include "macros.h" -lib/src/unknown_0CF070.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF070/__osPackEepReadData.s") -lib/src/unknown_0CF330.c:#include "macros.h" -lib/src/unknown_0CF330.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__osPackEepWriteData.s") -lib/src/unknown_0CF330.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s") -lib/src/unknown_0CF330.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s") -lib/src/unknown_0D0130.c:#include "macros.h" -lib/src/unknown_0D10E0.c:#include "macros.h" -lib/src/unknown_0D1180.c:#include "macros.h" -lib/src/unknown_0D1A80.c:#include "macros.h" -lib/src/unknown_0D1A80.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s") -lib/src/unknown_0D1C40.c:#include "macros.h" -lib/src/unknown_0D1C40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s") -lib/src/unknown_0D1C40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s") -lib/src/unknown_0D1C40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s") -lib/src/unknown_0D23F0.c:#include "macros.h" -lib/src/unknown_0D23F0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D23F0/osInvalDCache.s") -lib/src/unknown_0D24A0.c:#include "macros.h" -lib/src/unknown_0D24A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D24A0/osWritebackDCacheAll.s") -lib/src/unknown_0D24D0.c:#include "macros.h" -lib/src/unknown_0D24E0.c:#include "macros.h" -lib/src/unknown_0D24E0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s") -lib/src/unknown_0D28A0.c:#include "macros.h" -lib/src/unknown_0D28A0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s") -lib/src/unknown_0D29F0.c:#include "macros.h" -lib/src/unknown_0D29F0.c:extern __OSViContext *__osViCurr; -lib/src/unknown_0D29F0.c:extern __OSViContext *__osViNext; -lib/src/unknown_0D29F0.c:void *osViGetCurrentFramebuffer(void){ -lib/src/unknown_0D29F0.c: saveMask = __osDisableInt(); -lib/src/unknown_0D29F0.c: framep = __osViCurr->framep; -lib/src/unknown_0D29F0.c: __osRestoreInt(saveMask); -lib/src/unknown_0D29F0.c:void *osViGetNextFramebuffer(void){ -lib/src/unknown_0D29F0.c: saveMask = __osDisableInt(); -lib/src/unknown_0D29F0.c: framep = __osViNext->framep; -lib/src/unknown_0D29F0.c: __osRestoreInt(saveMask); -lib/src/unknown_0D29F0.c:#define _osVirtualToPhysical(ptr) \ -lib/src/unknown_0D29F0.c: ptr = (void *)osVirtualToPhysical(ptr); \ -lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.ucode); -lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.ucode_data); -lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.dram_stack); -lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.output_buff); -lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.output_buff_size); -lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.data_ptr); -lib/src/unknown_0D29F0.c: _osVirtualToPhysical(tp->t.yield_data_ptr); -lib/src/unknown_0D29F0.c:void osSpTaskLoad(OSTask *intp){ -lib/src/unknown_0D29F0.c: osWritebackDCache(tp, sizeof(OSTask)); -lib/src/unknown_0D29F0.c: __osSpSetStatus(SP_CLR_YIELD | SP_CLR_YIELDED | SP_CLR_TASKDONE | SP_SET_INTR_BREAK); -lib/src/unknown_0D29F0.c: while (__osSpSetPc(SP_IMEM_START) == -1) -lib/src/unknown_0D29F0.c: while (__osSpRawStartDma(1, (SP_IMEM_START - sizeof(*tp)), tp, -lib/src/unknown_0D29F0.c: while (__osSpDeviceBusy()) -lib/src/unknown_0D29F0.c: while (__osSpRawStartDma(1, SP_IMEM_START, tp->t.ucode_boot, -lib/src/unknown_0D29F0.c:void osSpTaskStartGo(OSTask *tp){ -lib/src/unknown_0D29F0.c: while (__osSpDeviceBusy()); -lib/src/unknown_0D29F0.c: __osSpSetStatus(SP_SET_INTR_BREAK | SP_CLR_SSTEP | SP_CLR_BROKE | SP_CLR_HALT); -lib/src/unknown_0D2E40.c:#include "macros.h" -lib/src/unknown_0D2E40.c:void osSpTaskYield(void) { -lib/src/unknown_0D2E40.c: __osSpSetStatus(SPSTATUS_SET_SIGNAL0); -lib/src/unknown_0D2E40.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s") -lib/src/unknown_0D3020.c:#include "macros.h" -lib/src/unknown_0D3020.c:extern u32 __osPiAccessQueueEnabled;//__osPiAccessQueueEnabled -lib/src/unknown_0D3020.c:extern OSMesgQueue piAccessQueue; //__osPiAccessQueue -lib/src/unknown_0D3020.c:void __osPiCreateAccessQueue(void) -lib/src/unknown_0D3020.c: __osPiAccessQueueEnabled = 1; -lib/src/unknown_0D3020.c: osCreateMesgQueue(&piAccessQueue, D_8012D1E0, PI_Q_BUF_LEN); -lib/src/unknown_0D3020.c: osSendMesg(&piAccessQueue, NULL, OS_MESG_NOBLOCK); -lib/src/unknown_0D3020.c:void __osPiGetAccess(void) -lib/src/unknown_0D3020.c: if (!__osPiAccessQueueEnabled) -lib/src/unknown_0D3020.c: __osPiCreateAccessQueue(); -lib/src/unknown_0D3020.c: osRecvMesg(&piAccessQueue, &dummyMesg, OS_MESG_BLOCK); -lib/src/unknown_0D3020.c:void __osPiRelAccess(void) -lib/src/unknown_0D3020.c: osSendMesg(&piAccessQueue, NULL, OS_MESG_NOBLOCK); -lib/src/unknown_0D3160.c:#include "macros.h" -lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osDisableInt.s") -lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osRestoreInt.s") -lib/src/unknown_0D3160.c:s32 osPiRawStartDma(s32 direction, u32 devAddr, void *dramAddr, u32 size) -lib/src/unknown_0D3160.c: HW_REG(PI_DRAM_ADDR_REG, void *) = (void *) osVirtualToPhysical(dramAddr); -lib/src/unknown_0D3160.c: HW_REG(PI_CART_ADDR_REG, void *) = (void *) (((uintptr_t) osRomBase | devAddr) & 0x1fffffff); -lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/osEPiRawStartDma.s") -lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s") -lib/src/unknown_0D3160.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3160/__osViInit.s") -lib/src/unknown_0D3160.c:void __osDequeueThread(OSThread **queue, OSThread *t) -lib/src/unknown_0D4270.c:#include "macros.h" -lib/src/unknown_0D43F0.c:#include "macros.h" -lib/src/unknown_0D5390.c:#include "macros.h" -lib/src/unknown_0D5390.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s") -lib/src/unknown_0D56B0.c:#include "macros.h" -lib/src/unknown_0D56B0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/cosf.s") -lib/src/unknown_0D5EC0.c:#include "macros.h" -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSiDeviceBusy.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSumcalc.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osIdCheckSum.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osGetId.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osCheckId.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osPfsSelectBank.s") -lib/src/unknown_0D5EC0.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osDpDeviceBusy.s") -lib/src/unknown_0D5EC0.c:__OSViContext *__osViGetCurrentContext(void){ -lib/src/unknown_0D5EC0.c: return __osViCurr; -lib/src/unknown_0D6C90.c:#include "macros.h" -lib/src/unknown_0D6C90.c:extern OSThread* __osRunningThread; -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s") -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpSetPc.s") -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s") -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSpDeviceBusy.s") -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s") -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osEPiRawWriteIo.s") -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osYieldThread.s") -lib/src/unknown_0D6C90.c:/*extern void __osEnqueueAndYield(OSThread **); -lib/src/unknown_0D6C90.c:extern void __osRestoreInt(u32); -lib/src/unknown_0D6C90.c:void osYieldThread(void){ -lib/src/unknown_0D6C90.c: register u32 saveMask = __osDisableInt(); -lib/src/unknown_0D6C90.c: __osRunningThread->state = OS_STATE_RUNNABLE; -lib/src/unknown_0D6C90.c: __osEnqueueAndYield(&__RunQueue); -lib/src/unknown_0D6C90.c: __osRestoreInt(saveMask); -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s") -lib/src/unknown_0D6C90.c:GLOBAL_ASM("lib/asm/non_matchings/unknown_0D3020/__osSetCompare.s") -lib/asm/bcopy.s:.include "macros.inc" -lib/asm/exception/D_800D35A0.s:/* 0D41A0 800D35A0 0C035980 */ jal osDestroyThread -lib/asm/exception/__osDispatchThread.s:glabel __osDispatchThread -lib/asm/exception/__osDispatchThread.s:/* 0D4028 800D3428 0C034D05 */ jal __osPopThread -lib/asm/exception/__osDispatchThread.s:/* 0D4030 800D3430 3C01800E */ lui $at, %hi(__osRunningThread) # $at, 0x800e -lib/asm/exception/__osDispatchThread.s:/* 0D4034 800D3434 AC224890 */ sw $v0, %lo(__osRunningThread)($at) -lib/asm/exception/__osEnqueueAndYield.s:glabel __osEnqueueAndYield -lib/asm/exception/__osEnqueueAndYield.s:/* 0D3ECC 800D32CC 3C05800E */ lui $a1, %hi(__osRunningThread) # $a1, 0x800e -lib/asm/exception/__osEnqueueAndYield.s:/* 0D3ED0 800D32D0 8CA54890 */ lw $a1, %lo(__osRunningThread)($a1) -lib/asm/exception/__osEnqueueAndYield.s:/* 0D3FBC 800D33BC 0C034CF3 */ jal __osEnqueueThread -lib/asm/exception/__osEnqueueAndYield.s:/* 0D3FC4 800D33C4 08034D09 */ j __osDispatchThread -lib/asm/exception/__osEnqueueThread.s:glabel __osEnqueueThread -lib/asm/exception/__osExceptionPreamble.s:glabel __osExceptionPreamble -lib/asm/exception/__osExceptionPreamble.s:/* 0D38B0 800D2CB0 3C1A800D */ lui $k0, %hi(__osException) # $k0, 0x800d -lib/asm/exception/__osExceptionPreamble.s:/* 0D38B4 800D2CB4 275A2CC0 */ addiu $k0, %lo(__osException) # addiu $k0, $k0, 0x2cc0 -lib/asm/exception/__osException.s:glabel __osException -lib/asm/exception/__osException.s:/* 0D38F8 800D2CF8 3C1A800E */ lui $k0, %hi(__osRunningThread) # $k0, 0x800e -lib/asm/exception/__osException.s:/* 0D38FC 800D2CFC 8F5A4890 */ lw $k0, %lo(__osRunningThread)($k0) -lib/asm/exception/__osException.s:/* 0D3D8C 800D318C 0C034CF3 */ jal __osEnqueueThread -lib/asm/exception/__osException.s:/* 0D3D94 800D3194 08034D09 */ j __osDispatchThread -lib/asm/exception/__osException.s:/* 0D3DAC 800D31AC 08034D09 */ j __osDispatchThread -lib/asm/exception/__osException.s:/* 0D3DDC 800D31DC 08034D09 */ j __osDispatchThread -lib/asm/exception/__osPopThread.s:glabel __osPopThread -lib/asm/exception.s:.include "macros.inc" -lib/asm/exception.s:.include "lib/asm/exception/__osExceptionPreamble.s" -lib/asm/exception.s:.include "lib/asm/exception/__osException.s" -lib/asm/exception.s:.include "lib/asm/exception/__osEnqueueAndYield.s" -lib/asm/exception.s:.include "lib/asm/exception/__osEnqueueThread.s" -lib/asm/exception.s:.include "lib/asm/exception/__osPopThread.s" -lib/asm/exception.s:.include "lib/asm/exception/__osDispatchThread.s" -lib/asm/exception/send_mesg.s:/* 0D3DE4 800D31E4 3C0A8013 */ lui $t2, %hi(__osEventStateTab) # $t2, 0x8013 -lib/asm/exception/send_mesg.s:/* 0D3DE8 800D31E8 254ACCD0 */ addiu $t2, %lo(__osEventStateTab) # addiu $t2, $t2, -0x3330 -lib/asm/exception/send_mesg.s:/* 0D3E74 800D3274 0C034D05 */ jal __osPopThread -lib/asm/exception/send_mesg.s:/* 0D3E88 800D3288 0C034CF3 */ jal __osEnqueueThread -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:glabel osEepromRead -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEEBC 800CE2BC 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEEC8 800CE2C8 0C033A0F */ jal __osEepStatus -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF0C 800CE30C 0C033A0F */ jal __osEepStatus -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF24 800CE324 0C03391C */ jal __osPackEepReadData -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF34 800CE334 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF48 800CE348 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEF90 800CE390 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CEFB0 800CE3B0 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/osEepromRead_0CEE80/osEepromRead.s:/* 0CF054 800CE454 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:glabel osEepromWrite -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF1B8 800CE5B8 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF1C4 800CE5C4 0C033A0F */ jal __osEepStatus -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF208 800CE608 0C033A0F */ jal __osEepStatus -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF224 800CE624 0C0339CC */ jal __osPackEepWriteData -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF234 800CE634 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF248 800CE648 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF290 800CE690 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF2B0 800CE6B0 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/osEepromWrite_0CF180/osEepromWrite.s:/* 0CF314 800CE714 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2734 800D1B34 0C035820 */ jal __osViGetCurrentContext -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2760 800D1B60 3C128013 */ lui $s2, %hi(__osBaseCounter) # $s2, 0x8013 -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2764 800D1B64 3C118013 */ lui $s1, %hi(__osCurrentTime) # $s1, 0x8013 -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2768 800D1B68 2631D220 */ addiu $s1, %lo(__osCurrentTime) # addiu $s1, $s1, -0x2de0 -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D276C 800D1B6C 2652D228 */ addiu $s2, %lo(__osBaseCounter) # addiu $s2, $s2, -0x2dd8 -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2784 800D1B84 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D27AC 800D1BAC 0C035824 */ jal __osViSwapContext -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D27D0 800D1BD0 0C035820 */ jal __osViGetCurrentContext -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D27F0 800D1BF0 0C03238C */ jal osSendMesg -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2810 800D1C10 0C031E34 */ jal osGetCount -lib/asm/non_matchings/osViMgr_0D2590/viMgrMain.s:/* 0D2848 800D1C48 0C0353D3 */ jal __osTimerInterrupt -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:glabel osViSetEventMsg -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D2994 800D1D94 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D299C 800D1D9C 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29A0 800D1DA0 8DEF4874 */ lw $t7, %lo(__osViNext)($t7) -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29A8 800D1DA8 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29AC 800D1DAC 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29B4 800D1DB4 8F394874 */ lw $t9, %lo(__osViNext)($t9) -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29C8 800D1DC8 8D294874 */ lw $t1, %lo(__osViNext)($t1) -lib/asm/non_matchings/osViSetEventMsg_0D2980/osViSetEventMsg.s:/* 0D29D0 800D1DD0 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0C8490/osGetCount.s:glabel osGetCount -lib/asm/non_matchings/unknown_0C84E0/alCSPSetChlPan.s:/* 0C8520 800C7920 0C03246B */ jal alEvtqPostEvent -lib/asm/non_matchings/unknown_0C8540/alCSPSetChlVol.s:/* 0C8580 800C7980 0C03246B */ jal alEvtqPostEvent -lib/asm/non_matchings/unknown_0C85E0/alCSPSetTempo.s:/* 0C862C 800C7A2C 0C03246B */ jal alEvtqPostEvent -lib/asm/non_matchings/unknown_0C8660/alCSPSetBank.s:/* 0C867C 800C7A7C 0C03246B */ jal alEvtqPostEvent -lib/asm/non_matchings/unknown_0C9160/alCSPSetSeq.s:/* 0C917C 800C857C 0C03246B */ jal alEvtqPostEvent -lib/asm/non_matchings/unknown_0C91A0/alClose.s:glabel alClose -lib/asm/non_matchings/unknown_0C91A0/alCSPPlay.s:/* 0C91B8 800C85B8 0C03246B */ jal alEvtqPostEvent -lib/asm/non_matchings/unknown_0C91A0/alCSPStop.s:/* 0C91E8 800C85E8 0C03246B */ jal alEvtqPostEvent -lib/asm/non_matchings/unknown_0C98F0/osVirtualToPhysical.s:glabel osVirtualToPhysical -lib/asm/non_matchings/unknown_0C98F0/osVirtualToPhysical.s:/* 0C9954 800C8D54 0C034D6C */ jal __osProbeTLB -lib/asm/non_matchings/unknown_0C9970/func_800C8D70.s:/* 0C99E8 800C8DE8 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:glabel osSendMesg -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A4C 800C8E4C 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A80 800C8E80 3C09800E */ lui $t1, %hi(__osRunningThread) # $t1, 0x800e -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A84 800C8E84 8D294890 */ lw $t1, %lo(__osRunningThread)($t1) -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9A94 800C8E94 0C034CB3 */ jal __osEnqueueAndYield -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9AA4 800C8EA4 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9B44 800C8F44 0C034D05 */ jal __osPopThread -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9B50 800C8F50 0C032268 */ jal osStartThread -lib/asm/non_matchings/unknown_0C9A30/osSendMesg.s:/* 0C9B58 800C8F58 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:glabel alEvtqPostEvent -lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:/* 0C9DC4 800C91C4 0C03268C */ jal osSetIntMask -lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:/* 0C9DE4 800C91E4 0C03268C */ jal osSetIntMask -lib/asm/non_matchings/unknown_0C9C90/alEvtqPostEvent.s:/* 0C9EB8 800C92B8 0C03268C */ jal osSetIntMask -lib/asm/non_matchings/unknown_0CA530/osSetIntMask.s:glabel osSetIntMask -lib/asm/non_matchings/unknown_0CA9A0/alResamplePull.s:/* 0CCF54 800CC354 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0CA9A0/func_800CAC5C.s:/* 0CBC6C 800CB06C 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0CA9A0/func_800CAC5C.s:/* 0CBCB4 800CB0B4 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0CCF90/guPerspectiveF.s:/* 0CD564 800CC964 0C0352AC */ jal cosf -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:glabel osInitialize -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1B8 800CC5B8 0C03515C */ jal __osGetSR -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1C8 800CC5C8 0C035158 */ jal __osSetSR -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1D4 800CC5D4 0C035160 */ jal __osSetFpcCsr -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1E4 800CC5E4 0C035164 */ jal __osSiRawReadIo -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD1FC 800CC5FC 0C035164 */ jal __osSiRawReadIo -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD21C 800CC61C 0C035178 */ jal __osSiRawWriteIo -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD23C 800CC63C 0C035178 */ jal __osSiRawWriteIo -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD24C 800CC64C 3C08800D */ lui $t0, %hi(__osExceptionPreamble) # $t0, 0x800d -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD250 800CC650 25082CB0 */ addiu $t0, %lo(__osExceptionPreamble) # addiu $t0, $t0, 0x2cb0 -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD25C 800CC65C 3C0D800D */ lui $t5, %hi(__osExceptionPreamble) # $t5, 0x800d -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD268 800CC668 25AD2CB0 */ addiu $t5, %lo(__osExceptionPreamble) # addiu $t5, $t5, 0x2cb0 -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD27C 800CC67C 3C09800D */ lui $t1, %hi(__osExceptionPreamble) # $t1, 0x800d -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD288 800CC688 25292CB0 */ addiu $t1, %lo(__osExceptionPreamble) # addiu $t1, $t1, 0x2cb0 -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD29C 800CC69C 3C0E800D */ lui $t6, %hi(__osExceptionPreamble) # $t6, 0x800d -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD2A8 800CC6A8 25CE2CB0 */ addiu $t6, %lo(__osExceptionPreamble) # addiu $t6, $t6, 0x2cb0 -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD30C 800CC70C 0C03518C */ jal osWritebackDCache -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD318 800CC718 0C0351AC */ jal osInvalICache -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD320 800CC720 0C0351CC */ jal osMapTLBRdb -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD32C 800CC72C 0C0351E4 */ jal osPiRawWriteIo -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD394 800CC794 3C098000 */ lui $t1, %hi(osResetType) # $t1, 0x8000 -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD398 800CC798 8D29030C */ lw $t1, %lo(osResetType)($t1) -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD3AC 800CC7AC 3C048000 */ lui $a0, %hi(osAppNMIBuffer) # $a0, 0x8000 -lib/asm/non_matchings/unknown_0CCF90/osInitialize.s:/* 0CD3B0 800CC7B0 2484031C */ addiu $a0, %lo(osAppNMIBuffer) # addiu $a0, $a0, 0x31c -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:glabel osSetThreadPri -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD450 800CC850 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD468 800CC868 3C0F800E */ lui $t7, %hi(__osRunningThread) # $t7, 0x800e -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD46C 800CC86C 8DEF4890 */ lw $t7, %lo(__osRunningThread)($t7) -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD48C 800CC88C 3C0A800E */ lui $t2, %hi(__osRunningThread) # $t2, 0x800e -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD490 800CC890 8D4A4890 */ lw $t2, %lo(__osRunningThread)($t2) -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4B4 800CC8B4 0C034B1C */ jal __osDequeueThread -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4C4 800CC8C4 0C034CF3 */ jal __osEnqueueThread -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4CC 800CC8CC 3C0D800E */ lui $t5, %hi(__osRunningThread) # $t5, 0x800e -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4D8 800CC8D8 8DAD4890 */ lw $t5, %lo(__osRunningThread)($t5) -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD4FC 800CC8FC 0C034CB3 */ jal __osEnqueueAndYield -lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s:/* 0CD504 800CC904 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD854 800CCC54 0C03486C */ jal osGetTime -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD8D0 800CCCD0 0C032208 */ jal osCreateMesgQueue -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD960 800CCD60 0C035378 */ jal osSetTimer -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD970 800CCD70 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD97C 800CCD7C 3C018013 */ lui $at, %hi(__osMaxControllers) # $at, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD980 800CCD80 A038CD91 */ sb $t8, %lo(__osMaxControllers)($at) -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD994 800CCD94 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9A8 800CCDA8 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9B8 800CCDB8 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9CC 800CCDCC 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9E4 800CCDE4 0C033580 */ jal __osSiCreateAccessQueue -lib/asm/non_matchings/unknown_0CD820/func_800CCC20.s:/* 0CD9FC 800CCDFC 0C032208 */ jal osCreateMesgQueue -lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDA18 800CCE18 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDA1C 800CCE1C 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) -lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDAB0 800CCEB0 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CCE18.s:/* 0CDAB4 800CCEB4 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) -lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDB1C 800CCF1C 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDB20 800CCF20 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) -lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDB8C 800CCF8C 3C188013 */ lui $t8, %hi(__osMaxControllers) # $t8, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CCEE8.s:/* 0CDBA8 800CCFA8 9318CD91 */ lbu $t8, %lo(__osMaxControllers)($t8) -lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDBEC 800CCFEC 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC18 800CD018 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC2C 800CD02C 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC74 800CD074 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CD820/func_800CCFE0.s:/* 0CDC88 800CD088 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDCA4 800CD0A4 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDCA8 800CD0A8 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) -lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDD1C 800CD11C 3C0B8013 */ lui $t3, %hi(__osMaxControllers) # $t3, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CD0A4.s:/* 0CDD20 800CD120 916BCD91 */ lbu $t3, %lo(__osMaxControllers)($t3) -lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDD88 800CD188 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDD8C 800CD18C 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) -lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDDE8 800CD1E8 3C188013 */ lui $t8, %hi(__osMaxControllers) # $t8, 0x8013 -lib/asm/non_matchings/unknown_0CD820/func_800CD14C.s:/* 0CDE04 800CD204 9318CD91 */ lbu $t8, %lo(__osMaxControllers)($t8) -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:glabel osPfsIsPlug -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEAC 800CD2AC 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEB4 800CD2B4 0C03350C */ jal __osPfsRequestData -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEBC 800CD2BC 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEC0 800CD2C0 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEC4 800CD2C4 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDED8 800CD2D8 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEE0 800CD2E0 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEE4 800CD2E4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEE8 800CD2E8 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDEFC 800CD2FC 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF08 800CD308 0C03354B */ jal __osPfsGetInitData -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF10 800CD310 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF14 800CD314 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF54 800CD354 3C0E8013 */ lui $t6, %hi(__osMaxControllers) # $t6, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF58 800CD358 91CECD91 */ lbu $t6, %lo(__osMaxControllers)($t6) -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF70 800CD370 3C0F8013 */ lui $t7, %hi(__osMaxControllers) # $t7, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF74 800CD374 91EFCD91 */ lbu $t7, %lo(__osMaxControllers)($t7) -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF94 800CD394 3C088013 */ lui $t0, %hi(__osMaxControllers) # $t0, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDF98 800CD398 9108CD91 */ lbu $t0, %lo(__osMaxControllers)($t0) -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDFEC 800CD3EC 3C0C8013 */ lui $t4, %hi(__osMaxControllers) # $t4, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CDFF0 800CD3F0 918CCD91 */ lbu $t4, %lo(__osMaxControllers)($t4) -lib/asm/non_matchings/unknown_0CDE90/osPfsIsPlug.s:/* 0CE008 800CD408 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:glabel __osPfsRequestData -lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE06C 800CD46C 3C198013 */ lui $t9, %hi(__osMaxControllers) # $t9, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE070 800CD470 9339CD91 */ lbu $t9, %lo(__osMaxControllers)($t9) -lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE074 800CD474 3C098013 */ lui $t1, %hi(__osPfsPifRam) # $t1, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE080 800CD480 2529CDE0 */ addiu $t1, %lo(__osPfsPifRam) # addiu $t1, $t1, -0x3220 -lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE0DC 800CD4DC 3C188013 */ lui $t8, %hi(__osMaxControllers) # $t8, 0x8013 -lib/asm/non_matchings/unknown_0CDE90/__osPfsRequestData.s:/* 0CE0F8 800CD4F8 9318CD91 */ lbu $t8, %lo(__osMaxControllers)($t8) -lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s:glabel __osSiCreateAccessQueue -lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s:/* 0CE224 800CD624 0C032208 */ jal osCreateMesgQueue -lib/asm/non_matchings/unknown_0CE200/__osSiCreateAccessQueue.s:/* 0CE238 800CD638 0C03238C */ jal osSendMesg -lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s:glabel __osSiGetAccess -lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s:/* 0CE268 800CD668 0C033580 */ jal __osSiCreateAccessQueue -lib/asm/non_matchings/unknown_0CE200/__osSiGetAccess.s:/* 0CE27C 800CD67C 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:glabel __osSiRawStartDma -lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE2CC 800CD6CC 0C0354B0 */ jal __osSiDeviceBusy -lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE2F8 800CD6F8 0C03518C */ jal osWritebackDCache -lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE300 800CD700 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0CE200/__osSiRawStartDma.s:/* 0CE350 800CD750 0C0345FC */ jal osInvalDCache -lib/asm/non_matchings/unknown_0CE200/__osSiRelAccess.s:glabel __osSiRelAccess -lib/asm/non_matchings/unknown_0CE200/__osSiRelAccess.s:/* 0CE2A8 800CD6A8 0C03238C */ jal osSendMesg -lib/asm/non_matchings/unknown_0CE370/__osContAddressCrc.s:glabel __osContAddressCrc -lib/asm/non_matchings/unknown_0CE370/__osContDataCrc.s:glabel __osContDataCrc -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:glabel __osContRamWrite -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE4F8 800CD8F8 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE4FC 800CD8FC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE550 800CD950 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE56C 800CD96C 0C0336C8 */ jal __osPackRamWriteData -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE574 800CD974 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE578 800CD978 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE57C 800CD97C 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE590 800CD990 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5CC 800CD9CC 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5D4 800CD9D4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5D8 800CD9D8 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5EC 800CD9EC 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5F8 800CD9F8 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE5FC 800CD9FC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE690 800CDA90 0C033608 */ jal __osContDataCrc -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE6A8 800CDAA8 0C033B75 */ jal __osPfsGetStatus -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE6C0 800CDAC0 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CE370/__osContRamWrite.s:/* 0CE700 800CDB00 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:glabel __osPackRamWriteData -lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:/* 0CE724 800CDB24 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 -lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:/* 0CE728 800CDB28 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 -lib/asm/non_matchings/unknown_0CE370/__osPackRamWriteData.s:/* 0CE798 800CDB98 0C0335DC */ jal __osContAddressCrc -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:glabel __osContRamRead -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8A4 800CDCA4 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8AC 800CDCAC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8D0 800CDCD0 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8E8 800CDCE8 0C0337B9 */ jal __osPackRamReadData -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8F0 800CDCF0 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8F4 800CDCF4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE8F8 800CDCF8 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE90C 800CDD0C 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE948 800CDD48 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE950 800CDD50 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE954 800CDD54 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE968 800CDD68 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE974 800CDD74 3C0C8013 */ lui $t4, %hi(__osPfsPifRam) # $t4, 0x8013 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CE978 800CDD78 258CCDE0 */ addiu $t4, %lo(__osPfsPifRam) # addiu $t4, $t4, -0x3220 -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEA10 800CDE10 0C033608 */ jal __osContDataCrc -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEA30 800CDE30 0C033B75 */ jal __osPfsGetStatus -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEA48 800CDE48 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CE8A0/__osContRamRead.s:/* 0CEAC4 800CDEC4 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:glabel __osPackRamReadData -lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:/* 0CEAE8 800CDEE8 3C0E8013 */ lui $t6, %hi(__osPfsPifRam) # $t6, 0x8013 -lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:/* 0CEAEC 800CDEEC 25CECDE0 */ addiu $t6, %lo(__osPfsPifRam) # addiu $t6, $t6, -0x3220 -lib/asm/non_matchings/unknown_0CE8A0/__osPackRamReadData.s:/* 0CEB58 800CDF58 0C0335DC */ jal __osContAddressCrc -lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:glabel osEepromProbe -lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:/* 0CEE1C 800CE21C 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:/* 0CEE28 800CE228 0C033A0F */ jal __osEepStatus -lib/asm/non_matchings/unknown_0CEE10/osEepromProbe.s:/* 0CEE60 800CE260 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CF070/__osPackEepReadData.s:glabel __osPackEepReadData -lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF934 800CED34 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF940 800CED40 0C033B75 */ jal __osPfsGetStatus -lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF948 800CED48 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0CF330/func_800CED20.s:/* 0CF984 800CED84 0C035659 */ jal __osGetId -lib/asm/non_matchings/unknown_0CF330/func_800CEEE0.s:/* 0CFB24 800CEF24 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFC78 800CF078 0C0356F0 */ jal __osCheckId -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFCA8 800CF0A8 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFCE0 800CF0E0 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFE80 800CF280 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFECC 800CF2CC 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFEF0 800CF2F0 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFF6C 800CF36C 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0CF330/func_800CEFDC.s:/* 0CFFA8 800CF3A8 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:glabel __osEepStatus -lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF544 800CE944 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF558 800CE958 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF574 800CE974 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CF330/__osEepStatus.s:/* 0CF588 800CE988 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CF330/__osPackEepWriteData.s:glabel __osPackEepWriteData -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:glabel __osPfsGetStatus -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9E8 800CEDE8 0C03350C */ jal __osPfsRequestData -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9F0 800CEDF0 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9F4 800CEDF4 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CF9F8 800CEDF8 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA0C 800CEE0C 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA14 800CEE14 3C058013 */ lui $a1, %hi(__osPfsPifRam) # $a1, 0x8013 -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA18 800CEE18 24A5CDE0 */ addiu $a1, %lo(__osPfsPifRam) # addiu $a1, $a1, -0x3220 -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA1C 800CEE1C 0C0335B0 */ jal __osSiRawStartDma -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA30 800CEE30 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0CF330/__osPfsGetStatus.s:/* 0CFA3C 800CEE3C 0C03354B */ jal __osPfsGetInitData -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0140 800CF540 0C0356F0 */ jal __osCheckId -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D015C 800CF55C 0C035659 */ jal __osGetId -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D01CC 800CF5CC 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D027C 800CF67C 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D037C 800CF77C 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D03B8 800CF7B8 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0428 800CF828 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0464 800CF864 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D04DC 800CF8DC 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0590 800CF990 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D0130/func_800CF530.s:/* 0D0768 800CFB68 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D0130/func_800CFBF4.s:/* 0D087C 800CFC7C 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D0130/func_800CFDA8.s:/* 0D0A9C 800CFE9C 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BA0 800CFFA0 0C033594 */ jal __osSiGetAccess -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BAC 800CFFAC 0C033B75 */ jal __osPfsGetStatus -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BF0 800CFFF0 0C0335A5 */ jal __osSiRelAccess -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0BF8 800CFFF8 0C035659 */ jal __osGetId -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0C2C 800D002C 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0CA0 800D00A0 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0D80 800D0180 0C0354BC */ jal __osSumcalc -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0DC0 800D01C0 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0E04 800D0204 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0E8C 800D028C 0C0354BC */ jal __osSumcalc -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0ED8 800D02D8 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D0130/func_800CFF90.s:/* 0D0F28 800D0328 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D0130/func_800D0390.s:/* 0D0FC4 800D03C4 0C0356F0 */ jal __osCheckId -lib/asm/non_matchings/unknown_0D0130/func_800D0390.s:/* 0D0FF4 800D03F4 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D0130/func_800D0390.s:/* 0D1040 800D0440 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D11D8 800D05D8 0C0356F0 */ jal __osCheckId -lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D1208 800D0608 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D1240 800D0640 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D1180/func_800D0580.s:/* 0D12D4 800D06D4 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D14C4 800D08C4 0C0356F0 */ jal __osCheckId -lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D14F4 800D08F4 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1530 800D0930 0C0343A0 */ jal osPfsFindFile -lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1580 800D0980 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D15D0 800D09D0 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1640 800D0A40 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D1180/func_800D0870.s:/* 0D1730 800D0B30 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D19B0 800D0DB0 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D19F0 800D0DF0 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D1A10 800D0E10 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D1A24 800D0E24 0C0354BC */ jal __osSumcalc -lib/asm/non_matchings/unknown_0D1180/func_800D0D88.s:/* 0D1A58 800D0E58 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s:glabel osPfsFindFile -lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s:/* 0D1A9C 800D0E9C 0C0356F0 */ jal __osCheckId -lib/asm/non_matchings/unknown_0D1A80/osPfsFindFile.s:/* 0D1AE4 800D0EE4 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:glabel __osClearPage -lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:/* 0D2350 800D1750 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:/* 0D2394 800D1794 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D1C40/__osClearPage.s:/* 0D23C8 800D17C8 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:glabel osPfsAllocateFile -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1CBC 800D10BC 0C0356F0 */ jal __osCheckId -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1CF4 800D10F4 0C0343A0 */ jal osPfsFindFile -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1D3C 800D113C 0C033CF8 */ jal osPfsFreeBlocks -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1D88 800D1188 0C0343A0 */ jal osPfsFindFile -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1DEC 800D11EC 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1E30 800D1230 0C034531 */ jal __osPfsDeclearPage -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1EB0 800D12B0 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D1FBC 800D13BC 0C03572F */ jal __osPfsRWInode -lib/asm/non_matchings/unknown_0D1C40/osPfsAllocateFile.s:/* 0D2088 800D1488 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s:glabel __osPfsDeclearPage -lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s:/* 0D2228 800D1628 0C0345CA */ jal __osClearPage -lib/asm/non_matchings/unknown_0D1C40/__osPfsDeclearPage.s:/* 0D2300 800D1700 0C0345CA */ jal __osClearPage -lib/asm/non_matchings/unknown_0D23F0/osInvalDCache.s:glabel osInvalDCache -lib/asm/non_matchings/unknown_0D24A0/osWritebackDCacheAll.s:glabel osWritebackDCacheAll -lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:glabel osDpSetNextBuffer -lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:/* 0D24F4 800D18F4 0C035814 */ jal __osDpDeviceBusy -lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:/* 0D252C 800D192C 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0D24E0/osDpSetNextBuffer.s:/* 0D253C 800D193C 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:glabel osViSetMode -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28AC 800D1CAC 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28B4 800D1CB4 3C0F800E */ lui $t7, %hi(__osViNext) # $t7, 0x800e -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28B8 800D1CB8 8DEF4874 */ lw $t7, %lo(__osViNext)($t7) -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28C0 800D1CC0 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28CC 800D1CCC 8F394874 */ lw $t9, %lo(__osViNext)($t9) -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28D0 800D1CD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28DC 800D1CDC 8D084874 */ lw $t0, %lo(__osViNext)($t0) -lib/asm/non_matchings/unknown_0D28A0/osViSetMode.s:/* 0D28EC 800D1CEC 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:glabel osViSetSpecialFeatures -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2E6C 800D226C 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2E88 800D2288 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2E8C 800D228C 8F184874 */ lw $t8, %lo(__osViNext)($t8) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EAC 800D22AC 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EB0 800D22B0 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2ED4 800D22D4 3C19800E */ lui $t9, %hi(__osViNext) # $t9, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2ED8 800D22D8 8F394874 */ lw $t9, %lo(__osViNext)($t9) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EF8 800D22F8 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2EFC 800D22FC 8D8C4874 */ lw $t4, %lo(__osViNext)($t4) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F20 800D2320 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F24 800D2324 8D084874 */ lw $t0, %lo(__osViNext)($t0) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F44 800D2344 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F48 800D2348 8DAD4874 */ lw $t5, %lo(__osViNext)($t5) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F6C 800D236C 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F70 800D2370 8F184874 */ lw $t8, %lo(__osViNext)($t8) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F78 800D2378 3C09800E */ lui $t1, %hi(__osViNext) # $t1, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2F88 800D2388 8D294874 */ lw $t1, %lo(__osViNext)($t1) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FAC 800D23AC 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FB0 800D23B0 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FC0 800D23C0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FCC 800D23CC 8D084874 */ lw $t0, %lo(__osViNext)($t0) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FE8 800D23E8 3C0D800E */ lui $t5, %hi(__osViNext) # $t5, 0x800e -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FEC 800D23EC 8DAD4874 */ lw $t5, %lo(__osViNext)($t5) -lib/asm/non_matchings/unknown_0D2E40/osViSetSpecialFeatures.s:/* 0D2FFC 800D23FC 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D3020/cosf.s:glabel cosf -lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:glabel __osCheckId -lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:/* 0D67E0 800D5BE0 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:/* 0D6810 800D5C10 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osCheckId.s:/* 0D6848 800D5C48 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:glabel __osCheckPackId -lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D63F4 800D57F4 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D6468 800D5868 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D6490 800D5890 0C0354D3 */ jal __osIdCheckSum -lib/asm/non_matchings/unknown_0D3020/__osCheckPackId.s:/* 0D651C 800D591C 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osCleanupThread.s:glabel __osCleanupThread -lib/asm/non_matchings/unknown_0D3020/__osCleanupThread.s:/* 0D41A0 800D35A0 0C035980 */ jal osDestroyThread -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:glabel osDestroyThread -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7214 800D6614 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D722C 800D662C 3C0F800E */ lui $t7, %hi(__osRunningThread) # $t7, 0x800e -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7230 800D6630 8DEF4890 */ lw $t7, %lo(__osRunningThread)($t7) -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7254 800D6654 0C034B1C */ jal __osDequeueThread -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D725C 800D665C 3C08800E */ lui $t0, %hi(__osActiveQueue) # $t0, 0x800e -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7260 800D6660 8D08488C */ lw $t0, %lo(__osActiveQueue)($t0) -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7274 800D6674 3C01800E */ lui $at, %hi(__osActiveQueue) # $at, 0x800e -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D727C 800D667C AC2A488C */ sw $t2, %lo(__osActiveQueue)($at) -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7280 800D6680 3C11800E */ lui $s1, %hi(__osActiveQueue) # $s1, 0x800e -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D7284 800D6684 8E31488C */ lw $s1, %lo(__osActiveQueue)($s1) -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72BC 800D66BC 3C0E800E */ lui $t6, %hi(__osRunningThread) # $t6, 0x800e -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72C0 800D66C0 8DCE4890 */ lw $t6, %lo(__osRunningThread)($t6) -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72D0 800D66D0 0C034D09 */ jal __osDispatchThread -lib/asm/non_matchings/unknown_0D3020/osDestroyThread.s:/* 0D72D8 800D66D8 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D3020/__osDpDeviceBusy.s:glabel __osDpDeviceBusy -lib/asm/non_matchings/unknown_0D3020/osEPiRawWriteIo.s:glabel osEPiRawWriteIo -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:glabel __osGetId -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6584 800D5984 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D65B4 800D59B4 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D65DC 800D59DC 0C0354D3 */ jal __osIdCheckSum -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6610 800D5A10 0C0355F3 */ jal __osCheckPackId -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6634 800D5A34 0C0354ED */ jal __osRepairPackId -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D6690 800D5A90 0C0354ED */ jal __osRepairPackId -lib/asm/non_matchings/unknown_0D3020/__osGetId.s:/* 0D678C 800D5B8C 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osIdCheckSum.s:glabel __osIdCheckSum -lib/asm/non_matchings/unknown_0D3020/__osInsertTimer.s:glabel __osInsertTimer -lib/asm/non_matchings/unknown_0D3020/__osInsertTimer.s:/* 0D5D40 800D5140 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D3020/__osInsertTimer.s:/* 0D5EA4 800D52A4 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:glabel __osPfsRWInode -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D68E8 800D5CE8 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6958 800D5D58 0C0354BC */ jal __osSumcalc -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D69B0 800D5DB0 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D69E4 800D5DE4 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6A18 800D5E18 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6A74 800D5E74 0C0354BC */ jal __osSumcalc -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6ACC 800D5ECC 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6B44 800D5F44 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osPfsRWInode.s:/* 0D6BA8 800D5FA8 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osPfsSelectBank.s:glabel __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osPfsSelectBank.s:/* 0D6C2C 800D602C 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:glabel __osRepairPackId -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D5FE4 800D53E4 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D600C 800D540C 0C031E34 */ jal osGetCount -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D605C 800D545C 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D608C 800D548C 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6104 800D5504 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6134 800D5534 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D61AC 800D55AC 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D61DC 800D55DC 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6234 800D5634 0C0357F7 */ jal __osPfsSelectBank -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D62B4 800D56B4 0C0354D3 */ jal __osIdCheckSum -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6314 800D5714 0C03363C */ jal __osContRamWrite -lib/asm/non_matchings/unknown_0D3020/__osRepairPackId.s:/* 0D6358 800D5758 0C033728 */ jal __osContRamRead -lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s:glabel __osResetGlobalIntMask -lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s:/* 0D710C 800D650C 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D3020/__osResetGlobalIntMask.s:/* 0D713C 800D653C 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D3020/__osSetCompare.s:glabel __osSetCompare -lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:glabel __osSetTimerIntr -lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5CD0 800D50D0 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5CD8 800D50D8 0C031E34 */ jal osGetCount -lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5D18 800D5118 0C035D18 */ jal __osSetCompare -lib/asm/non_matchings/unknown_0D3020/__osSetTimerIntr.s:/* 0D5D20 800D5120 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D3020/osSetTimer.s:glabel osSetTimer -lib/asm/non_matchings/unknown_0D3020/osSetTimer.s:/* 0D5A6C 800D4E6C 0C03544E */ jal __osInsertTimer -lib/asm/non_matchings/unknown_0D3020/osSetTimer.s:/* 0D5A98 800D4E98 0C035431 */ jal __osSetTimerIntr -lib/asm/non_matchings/unknown_0D3020/__osSiDeviceBusy.s:glabel __osSiDeviceBusy -lib/asm/non_matchings/unknown_0D3020/__osSpDeviceBusy.s:glabel __osSpDeviceBusy -lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s:glabel __osSpRawStartDma -lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s:/* 0D7054 800D6454 0C035934 */ jal __osSpDeviceBusy -lib/asm/non_matchings/unknown_0D3020/__osSpRawStartDma.s:/* 0D7078 800D6478 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0D3020/__osSpSetPc.s:glabel __osSpSetPc -lib/asm/non_matchings/unknown_0D3020/__osSumcalc.s:glabel __osSumcalc -lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:glabel __osTimerServicesInit -lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AC0 800D4EC0 3C018013 */ lui $at, %hi(__osCurrentTime) # $at, 0x8013 -lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AD0 800D4ED0 AC2ED220 */ sw $t6, %lo(__osCurrentTime)($at) -lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AD4 800D4ED4 3C018013 */ lui $at, %hi(__osBaseCounter) # $at, 0x8013 -lib/asm/non_matchings/unknown_0D3020/__osTimerServicesInit.s:/* 0D5AE0 800D4EE0 AC20D228 */ sw $zero, %lo(__osBaseCounter)($at) -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:glabel __osViSwapContext -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6CA8 800D60A8 3C11800E */ lui $s1, %hi(__osViNext) # $s1, 0x800e -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6CB0 800D60B0 8E314874 */ lw $s1, %lo(__osViNext)($s1) -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6CC4 800D60C4 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6E80 800D6280 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6EB0 800D62B0 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6EE4 800D62E4 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F6C 800D636C 3C0F800E */ lui $t7, %hi(__osViCurr) # $t7, 0x800e -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F78 800D6378 3C18800E */ lui $t8, %hi(__osViCurr) # $t8, 0x800e -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F7C 800D637C 3C0E800E */ lui $t6, %hi(__osViNext) # $t6, 0x800e -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F94 800D6394 8DEF4870 */ lw $t7, %lo(__osViCurr)($t7) -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F98 800D6398 AC2F4874 */ sw $t7, %lo(__osViNext)($at) -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6F9C 800D639C 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6FA0 800D63A0 AC314870 */ sw $s1, %lo(__osViCurr)($at) -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6FA4 800D63A4 8F184870 */ lw $t8, %lo(__osViCurr)($t8) -lib/asm/non_matchings/unknown_0D3020/__osViSwapContext.s:/* 0D6FA8 800D63A8 8DCE4874 */ lw $t6, %lo(__osViNext)($t6) -lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:glabel osYieldThread -lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71B8 800D65B8 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71C0 800D65C0 3C0F800E */ lui $t7, %hi(__osRunningThread) # $t7, 0x800e -lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71C4 800D65C4 8DEF4890 */ lw $t7, %lo(__osRunningThread)($t7) -lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71D8 800D65D8 0C034CB3 */ jal __osEnqueueAndYield -lib/asm/non_matchings/unknown_0D3020/osYieldThread.s:/* 0D71E0 800D65E0 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:glabel __osDevMgrMain -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D338C 800D278C 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3468 800D2868 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3474 800D2874 0C035940 */ jal __osResetGlobalIntMask -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D349C 800D289C 0C035958 */ jal osEPiRawWriteIo -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D34B0 800D28B0 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D34C4 800D28C4 0C03238C */ jal osSendMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3504 800D2904 0C03238C */ jal osSendMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3524 800D2924 0C03596C */ jal osYieldThread -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3570 800D2970 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D35B0 800D29B0 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D35EC 800D29EC 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D3634 800D2A34 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D367C 800D2A7C 0C03238C */ jal osSendMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D36B0 800D2AB0 0C0322EC */ jal osRecvMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D36C4 800D2AC4 0C03238C */ jal osSendMesg -lib/asm/non_matchings/unknown_0D3160/__osDevMgrMain.s:/* 0D36D8 800D2AD8 0C03238C */ jal osSendMesg -lib/asm/non_matchings/unknown_0D3160/__osDisableInt.s:glabel __osDisableInt -lib/asm/non_matchings/unknown_0D3160/osEPiRawStartDma.s:glabel osEPiRawStartDma -lib/asm/non_matchings/unknown_0D3160/osEPiRawStartDma.s:/* 0D32C8 800D26C8 0C03233C */ jal osVirtualToPhysical -lib/asm/non_matchings/unknown_0D3160/__osRestoreInt.s:glabel __osRestoreInt -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:glabel __osViInit -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3730 800D2B30 3C01800E */ lui $at, %hi(__osViCurr) # $at, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3734 800D2B34 AC2E4870 */ sw $t6, %lo(__osViCurr)($at) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3738 800D2B38 3C01800E */ lui $at, %hi(__osViNext) # $at, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3740 800D2B40 AC2F4874 */ sw $t7, %lo(__osViNext)($at) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D374C 800D2B4C 3C08800E */ lui $t0, %hi(__osViCurr) # $t0, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3750 800D2B50 8D084870 */ lw $t0, %lo(__osViCurr)($t0) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3758 800D2B58 3C098000 */ lui $t1, %hi(osTvType) # $t1, 0x8000 -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3760 800D2B60 8D290300 */ lw $t1, %lo(osTvType)($t1) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D376C 800D2B6C 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3770 800D2B70 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3794 800D2B94 3C0D8000 */ lui $t5, %hi(osTvType) # $t5, 0x8000 -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3798 800D2B98 8DAD0300 */ lw $t5, %lo(osTvType)($t5) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37A8 800D2BA8 3C18800E */ lui $t8, %hi(__osViNext) # $t8, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37AC 800D2BAC 8F184874 */ lw $t8, %lo(__osViNext)($t8) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37D0 800D2BD0 3C08800E */ lui $t0, %hi(__osViNext) # $t0, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37D4 800D2BD4 8D084874 */ lw $t0, %lo(__osViNext)($t0) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37F4 800D2BF4 3C0B800E */ lui $t3, %hi(__osViNext) # $t3, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D37F8 800D2BF8 8D6B4874 */ lw $t3, %lo(__osViNext)($t3) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3800 800D2C00 3C0C800E */ lui $t4, %hi(__osViNext) # $t4, 0x800e -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3808 800D2C08 8D8C4874 */ lw $t4, %lo(__osViNext)($t4) -lib/asm/non_matchings/unknown_0D3160/__osViInit.s:/* 0D3844 800D2C44 0C035824 */ jal __osViSwapContext -lib/asm/non_matchings/unknown_0D5390/func_800D47F0.s:/* 0D5400 800D4800 0C034958 */ jal __osDisableInt -lib/asm/non_matchings/unknown_0D5390/func_800D47F0.s:/* 0D5424 800D4824 0C034960 */ jal __osRestoreInt -lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s:glabel osPiRawWriteIo -lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s:/* 0D53BC 800D47BC 3C088000 */ lui $t0, %hi(osRomBase) # $t0, 0x8000 -lib/asm/non_matchings/unknown_0D5390/osPiRawWriteIo.s:/* 0D53C0 800D47C0 8D080308 */ lw $t0, %lo(osRomBase)($t0) -lib/asm/__osGetSR.s:.include "macros.inc" -lib/asm/__osGetSR.s:glabel __osGetSR -lib/asm/osInvalICache.s:.include "macros.inc" -lib/asm/osInvalICache.s:glabel osInvalICache -lib/asm/osMapTLBRdb.s:.include "macros.inc" -lib/asm/osMapTLBRdb.s:glabel osMapTLBRdb -lib/asm/__osProbeTLB.s:.include "macros.inc" -lib/asm/__osProbeTLB.s:glabel __osProbeTLB -lib/asm/__osSetFpcCsr.s:.include "macros.inc" -lib/asm/__osSetFpcCsr.s:glabel __osSetFpcCsr -lib/asm/__osSetSR.s:.include "macros.inc" -lib/asm/__osSetSR.s:glabel __osSetSR -lib/asm/osWritebackDCache.s:.include "macros.inc" -lib/asm/osWritebackDCache.s:glabel osWritebackDCache -include/controller.h://some version of this almost certainly existed since there's plenty of times where it's used right before a return 0 -include/controller.h: ERRCK(__osPfsSelectBank(pfs)) \ -include/controller.h: if (__osCheckId(pfs) == PFS_ERR_NEW_PACK) \ -include/controller.h: __osSiGetAccess(); \ -include/controller.h: ret = __osPfsGetStatus(queue, channel); \ -include/controller.h: __osSiRelAccess(); \ -include/macros.h:#error Matching build is only possible on IDO; please build with NON_MATCHING=1. -include/structs.h: /* 0x00 */ s16 unk0; // This is something related to position, not sure what though. -include/structs.h: /* 0x02 */ s16 unk2; // This is something related to position, not sure what though. -include/structs.h: /* 0x06 */ s8 starting_position; -include/structs.h: /* 0x000C */ u16 bosses; -include/structs.h: * 0x8 = Dino domain boss cutscene -include/structs.h: * 0x10 = Sherbet island boss cutscene -include/structs.h: * 0x20 = Snowflake mountain boss cutscene -include/structs.h: * 0x40 = Dragon forest boss cutscene -include/structs.h: * 0x80 = Future Fun Land boss cutscene -include/structs.h: * 0x100 = Dino domain boss cutscene 2 -include/structs.h: * 0x200 = Shertbet island boss cutscene 2 -include/structs.h: * 0x400 = Snowflake mountain boss cutscene 2 -include/structs.h: * 0x800 = Dragon forest boss cutscene 2 -include/structs.h: /* 0x000C */ f32 x_position; -include/structs.h: /* 0x0010 */ f32 y_position; -include/structs.h: /* 0x0014 */ f32 z_position; -include/structs.h: /* 0x00F4 */ f32 prev_x_position; -include/structs.h: /* 0x00F8 */ f32 prev_y_position; -include/structs.h: /* 0x00FC */ f32 prev_z_position; -include/structs.h: /* 0x0287 */ u8 boost_sound; -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/ultra64.h:#include -include/viint.h:#include -include/viint.h:void __osViSwapContext(void); -include/viint.h:extern __OSViContext *__osViCurr; -include/viint.h:extern __OSViContext *__osViNext; -include/viint.h:__OSViContext *__osViGetCurrentContext(void); -include/viint.h:void __osViInit(void); -data/dkr.data.s:.include "macros.inc" -data/dkr.data.s:glabel __osPiDevMgr -data/dkr.data.s:glabel __osViDevMgr -data/dkr.data.s:glabel __osPiAccessQueueEnabled -data/dkr.data.s:glabel __osViCurr -data/dkr.data.s:glabel __osViNext -data/dkr.data.s:glabel __osThreadTail -data/dkr.data.s:glabel __osActiveQueue -data/dkr.data.s:glabel __osRunningThread -data/dkr.data.s:.aligned_text "BossLev problem\n" -data/dkr.data.s:.aligned_text "warning: corrupt ghost\n" -undefined_syms.txt:osTvType = 0x80000300; -undefined_syms.txt:osRomBase = 0x80000308; -undefined_syms.txt:osResetType = 0x8000030C; -undefined_syms.txt:osCicId = 0x80000310; -undefined_syms.txt:osAppNMIBuffer = 0x8000031C; -undefined_syms.txt:osPiRawStartDma = 0x800D25A0; -undefined_syms.txt:osEPiRawStartDma = 0x800D2680; -undefined_syms.txt:__osDevMgrMain = 0x800D2760; -undefined_syms.txt:__osExceptionPreamble = 0x800D2CB0; -undefined_syms.txt:__osException = 0x800D2CC0; -undefined_syms.txt:__osCleanupThread = 0x800D35A0; -undefined_syms.txt:__osPiDevMgr = 0x800E3740; -undefined_syms.txt:__osViDevMgr = 0x800E38E0; -undefined_syms.txt:__osPiAccessQueueEnabled = 0x800E4800; -undefined_syms.txt:__osViCurr = 0x800E4870; -undefined_syms.txt:__osViNext = 0x800E4874; -undefined_syms.txt:__osThreadTail = 0x800E4880; -undefined_syms.txt:__osActiveQueue = 0x800E488C; -undefined_syms.txt:__osRunningThread = 0x800E4890; -undefined_syms.txt:__osEventStateTab = 0x8012CCD0; -undefined_syms.txt:__osMaxControllers = 0x8012CD91; -undefined_syms.txt:__osPfsPifRam = 0x8012CDE0; -undefined_syms.txt:__osCurrentTime = 0x8012D220; -undefined_syms.txt:__osBaseCounter = 0x8012D228; diff --git a/src/unknown_071730.c b/src/unknown_071730.c index 21bc1146..3e1952b5 100644 --- a/src/unknown_071730.c +++ b/src/unknown_071730.c @@ -81,14 +81,14 @@ void func_80070B30(void) { s32 *func_80070B78(s32 arg0, s32 arg1) { s32 temp3; - unk80070BE4_8 * unused_1; + unk80070BE4_8 * temp4; s32 unused_2; s32 *temp = func_8006F510(); s32 *temp2; temp3 = arg0 + (arg1 * sizeof(unk80070BE4_8)); - unused_1 = (unk80070BE4_8 *)func_80070C9C(temp3, -1); - temp2 = func_80070BE4(unused_1, temp3, arg1); + temp4 = (unk80070BE4_8 *)func_80070C9C(temp3, -1); + temp2 = func_80070BE4(temp4, temp3, arg1); func_8006F53C(temp); return temp2; } @@ -101,13 +101,16 @@ unk80070BE4_8 *func_80070BE4(unk80070BE4_8 *arg0, s32 size, s32 arg2) { unk80070BE4 *temp; unk80070BE4_8 *temp2; unk80070BE4_8_0 *temp3; + s32 tmp = ++D_801235C0; + //s32 tmp2; - temp = &D_80123580[++D_801235C0]; + temp = D_80123580 + tmp; temp->unk0 = arg2; temp->unk4 = 0; temp->unk8 = arg0; temp->size = size; + for(i = 0; i < temp->unk0; i++) { arg0[i].unkE = i; } diff --git a/src/unknown_0B8920.c b/src/unknown_0B8920.c index 8b0d9eb9..eb6c5439 100644 --- a/src/unknown_0B8920.c +++ b/src/unknown_0B8920.c @@ -79,7 +79,7 @@ typedef struct unk8012A7E8 { u8 pad24[0x4]; } unk8012A7E8; -extern unk8012A7E8 *D_8012A7E8[8]; +extern unk8012A7E8 (*D_8012A7E8)[1]; extern s32 D_8012A7F0; extern s8 D_8012A7F4; extern s32 D_8012AAD8; @@ -298,9 +298,6 @@ void func_800C4404(s32 arg0, s32 arg1, s32 arg2) { func_800C45A4(arg0, *D_8012A7E8, arg1, arg2, 1.0f); } -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C4440.s") -#else // This function is OK void func_800C4440(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { unk8012A7E8 *temp = &(*D_8012A7E8)[0]; @@ -309,37 +306,33 @@ void func_800C4440(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { func_800C45A4(arg0, temp, arg3, arg4, 1.0f); } -// Unused? void func_800C44C0(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { - if (arg1 >= 0 && arg1 < 8) { - unk8012A7E8 *temp = &(*D_8012A7E8)[arg1]; // Issue with temp - func_800C45A4(arg0, temp, arg2, arg3, 1.0f); + if (arg1 >= 0) { + if(arg1 < 8){ + unk8012A7E8 *temp = &D_8012A7E8[arg1]; + func_800C45A4(arg0, temp, arg2, arg3, 1.0f); + } } } -// Unused? void func_800C4510(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { if (arg1 >= 0 && arg1 < 8) { - unk8012A7E8 *temp = &(*D_8012A7E8)[arg1]; // Issue with temp + unk8012A7E8 *temp = &D_8012A7E8[arg1]; temp->unk0 = (arg2 == -0x8000) ? temp->unkC >> 1 : arg2; temp->unk2 = (arg3 == -0x8000) ? temp->unkE >> 1 : arg3; func_800C45A4(arg0, temp, arg4, arg5, 1.0f); } } -#endif // Has a jump table GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C45A4.s") GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C4DA0.s") -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C4EDC.s") -#else void func_800C4EDC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { if (arg0 > 0 && arg0 < 8) { // How is temp supposed to be setup for all of these functions? This is driving me nuts. - unk8012A7E8 *temp = &(*D_8012A7E8)[arg0]; // Issue with temp + unk8012A7E8 *temp = &D_8012A7E8[arg0]; // Issue with temp temp->unk0 = 0; temp->unk2 = 0; if (arg1 < arg3) { @@ -360,61 +353,46 @@ void func_800C4EDC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { temp->unkE = (temp->unkA - temp->unk6) + 1; } } -#endif -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C4F7C.s") -#else void func_800C4F7C(s32 arg0, s32 arg1) { if (arg0 >= 0 && arg0 < 8) { - unk8012A7E8 *temp = &(*D_8012A7E8)[arg0]; // Issue with temp + unk8012A7E8 *temp = &D_8012A7E8[arg0]; if (arg1 < D_8012A7E0) { temp->unk1D = arg1; } } } -#endif -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C4FBC.s") -#else + void func_800C4FBC(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { if (arg0 > 0 && arg0 < 8) { - unk8012A7E8 *temp = &(*D_8012A7E8[arg0]); // Issue with temp + unk8012A7E8 *temp = &D_8012A7E8[arg0]; temp->unk10 = arg1; temp->unk11 = arg2; temp->unk12 = arg3; temp->unk13 = arg4; } } -#endif -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C5000.s") -#else void func_800C5000(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5) { unk8012A7E8 *temp; if (arg0 <= 0 || arg0 >= 8) { return; } - temp = &(*D_8012A7E8)[arg0]; // Issue with temp + temp = &D_8012A7E8[arg0]; temp->unk14 = arg1; temp->unk15 = arg2; temp->unk16 = arg3; temp->unk17 = arg4; temp->unk1C = arg5; } -#endif -#if 1 -GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C5050.s") -#else void func_800C5050(s32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4) { unk8012A7E8 *temp; if (arg0 <= 0 || arg0 >= 8) { return; } - temp = &(*D_8012A7E8)[arg0]; // Issue with temp + temp = &D_8012A7E8[arg0]; // Issue with temp temp->unk18 = arg1; temp->unk19 = arg2; temp->unk1A = arg3; @@ -427,7 +405,7 @@ void func_800C5094(s32 arg0, s32 arg1, s32 arg2) { if (arg0 <= 0 || arg0 >= 8) { return; } - temp = &(*D_8012A7E8)[arg0]; // Issue with temp + temp = &D_8012A7E8[arg0]; // Issue with temp temp->unk20 += arg1; temp->unk22 += arg2; } @@ -438,7 +416,7 @@ void func_800C50D8(s32 arg0) { if (arg0 <= 0 || arg0 >= 8) { return; } - temp = &(*D_8012A7E8)[arg0]; // Issue with temp + temp = &D_8012A7E8[arg0]; // Issue with temp temp->unk20 = 0; temp->unk22 = 0; } @@ -448,7 +426,7 @@ void func_800C50D8(s32 arg0) { void func_800C510C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { func_800C5168(arg0, (*D_8012A7E8)[arg0].unk0, (*D_8012A7E8)[arg0].unk2, arg1, arg2, arg3); } -#endif + GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C5168.s") GLOBAL_ASM("asm/non_matchings/unknown_0B8920/func_800C5494.s")