Decompile __osGetCurrFaultedThread

This commit is contained in:
Ryan Dwyer 2021-01-30 00:55:25 +10:00
parent e375f43a8f
commit 4d969f500e
7 changed files with 14 additions and 15 deletions

View File

@ -160,7 +160,7 @@
build/ROMID/lib/ultra/io/aigetlen.o (section); \
build/ROMID/lib/ultra/os/invaldcache.o (section); \
build/ROMID/lib/ultra/io/pidma.o (section); \
build/ROMID/lib/lib_4e640.o (section); \
build/ROMID/lib/ultra/os/getcurrfaultthread.o (section); \
build/ROMID/lib/ultra/io/piread.o (section); \
build/ROMID/lib/ultra/libc/xprintf.o (section); \
build/ROMID/lib/ultra/io/contquery.o (section); \

View File

@ -2292,7 +2292,7 @@ u32 var80060934 = 0xffffffff;
OSThread *__osRunQueue = (OSThread *)&__osThreadTail;
OSThread *__osActiveQueue = (OSThread *)&__osThreadTail;
OSThread *__osRunningThread = NULL;
u32 var80060944 = 0x00000000;
OSThread *__osFaultedThread = NULL;
u32 var80060948 = 0x00000000;
u32 var8006094c = 0x00000000;
u32 __osSiAccessQueueEnabled = 0x00000000;

View File

@ -193,6 +193,7 @@ extern u32 __osThreadTail;
extern OSThread *__osRunQueue;
extern OSThread *__osActiveQueue;
extern OSThread *__osRunningThread;
extern OSThread *__osFaultedThread;
extern u32 __osSiAccessQueueEnabled;
extern u32 var80060970;
extern u32 var800609a0;

View File

@ -428,7 +428,7 @@ glabel faultproc
/* c0b8: 24060001 */ addiu $a2,$zero,0x1
/* c0bc: 0c012194 */ jal osSetIntMask
/* c0c0: 24040001 */ addiu $a0,$zero,0x1
/* c0c4: 0c013990 */ jal func0004e640
/* c0c4: 0c013990 */ jal __osGetCurrFaultedThread
/* c0c8: 00408025 */ or $s0,$v0,$zero
/* c0cc: 3c018009 */ lui $at,%hi(var80094acc)
/* c0d0: 1040fff6 */ beqz $v0,.L0000c0ac
@ -467,7 +467,7 @@ glabel faultproc
// do {
// osRecvMesg(&g_FaultMesgQueue, &msg, 1);
// mask = osSetIntMask(1);
// result = func0004e640();
// result = __osGetCurrFaultedThread();
// } while (!result);
//
// osSetIntMask(mask);

View File

@ -1,9 +0,0 @@
#include <ultra64.h>
GLOBAL_ASM(
glabel func0004e640
/* 4e640: 3c028006 */ lui $v0,%hi(var80060944)
/* 4e644: 03e00008 */ jr $ra
/* 4e648: 8c420944 */ lw $v0,%lo(var80060944)($v0)
/* 4e64c: 00000000 */ nop
);

View File

@ -406,8 +406,8 @@ glabel __osException
/* 3a80: 08000f44 */ j 0x3d10
/* 3a84: ad3a0000 */ sw $k0,0x0($t1)
.L00003a88:
/* 3a88: 3c018006 */ lui $at,%hi(var80060944)
/* 3a8c: ac3a0944 */ sw $k0,%lo(var80060944)($at)
/* 3a88: 3c018006 */ lui $at,%hi(__osFaultedThread)
/* 3a8c: ac3a0944 */ sw $k0,%lo(__osFaultedThread)($at)
/* 3a90: 24090001 */ addiu $t1,$zero,0x1
/* 3a94: a7490010 */ sh $t1,0x10($k0)
/* 3a98: 24090002 */ addiu $t1,$zero,0x2

View File

@ -0,0 +1,7 @@
#include <ultra64.h>
#include "game/data/data_000000.h"
OSThread *__osGetCurrFaultedThread()
{
return __osFaultedThread;
}