Decompile irqmgr

This commit is contained in:
rozlette
2020-01-22 21:47:05 -06:00
parent 36f1c42bf9
commit bb4123c073
10 changed files with 232 additions and 56 deletions
+18 -18
View File
@@ -30,18 +30,18 @@ u8* Yaz0_LoadFirstChunk(void); // func_80080E30
u8* Yaz0_LoadNextChunk(void* currDecompPos); // func_80080ED0
s32 Yaz0_Decompress(u8* src, u8* dest); // func_80080FF0
void Yaz0_LoadAndDecompressFile(u32 romStart, u32 vramStart, u32 size); // func_80081178
void Irqmgr_AddCallback(Irqmgr* irqmgr, OSMesgQueueListNode* param_2, OSMesgQueue* param_3); // func_80081250
void Irqmgr_RemoveCallback(Irqmgr* irqmgr, OSMesgQueueListNode* puParm2); // func_800812DC
void Irqmgr_NotifyAllCallbacks(Irqmgr* irqmgr, s16* msg); // func_80081368
void Irqmgr_NotifyAllCallbacksWithCapacity(Irqmgr* irqmgr, OSMesg msg); // func_800813B8
void Irqmgr_HandlePrenmi1(Irqmgr* irqmgr); // func_8008141C
void Irqmgr_CheckThreadStatus2(void); // func_800814B4
void Irqmgr_HandlePrenmi2(Irqmgr* irqmgr); // func_800814D4
void Irqmgr_HandlePrenmi3(Irqmgr* irqmgr); // func_80081550
void Irqmgr_CheckThreadStatus(Irqmgr* irqmgr); // func_800815A8
void Irqmgr_HandleFrame(Irqmgr* irqmgr); // func_800815CC
void Irqmgr_ThreadEntry(Irqmgr* irqmgr); // func_80081684
void Irqmgr_Start(Irqmgr* irqmgr, void* stack, OSPri pri, u8 retraceCount); // func_80081754
void IrqMgr_AddCallback(IrqMgr* irqmgr, OSMesgQueueListNode* param_2, OSMesgQueue* param_3); // func_80081250
void IrqMgr_RemoveCallback(IrqMgr* irqmgr, OSMesgQueueListNode* remove); // func_800812DC
void IrqMgr_NotifyAllCallbacks(IrqMgr* irqmgr, OSMesg msg); // func_80081368
void IrqMgr_NotifyAllCallbacksWithCapacity(IrqMgr* irqmgr, OSMesg msg); // func_800813B8
void IrqMgr_HandlePrenmi1(IrqMgr* irqmgr); // func_8008141C
void IrqMgr_CheckThreadStatusImpl(void); // func_800814B4
void IrqMgr_HandlePrenmi2(IrqMgr* irqmgr); // func_800814D4
void IrqMgr_HandlePrenmi3(IrqMgr* irqmgr); // func_80081550
void IrqMgr_CheckThreadStatus(IrqMgr* irqmgr); // func_800815A8
void IrqMgr_HandleFrame(IrqMgr* irqmgr); // func_800815CC
void IrqMgr_ThreadEntry(IrqMgr* irqmgr); // func_80081684
void IrqMgr_Start(IrqMgr* irqmgr, void* stack, OSPri pri, u8 retraceCount); // func_80081754
void CIC6105_Nop80081820(void); // func_80081820
void CIC6105_Nop80081828(void); // func_80081828
void CIC6105_PrintRomInfo(void); // func_80081830
@@ -487,7 +487,7 @@ void func_80096410(void); // func_80096410
void func_800964D0(void); // func_800964D0
s32 __osSpSetPc(u32 data); // func_80096510
void func_80096540(void); // func_80096540
// UNK_RET func_80096770(UNK_ARGS);
void FUN_80096770(int param_1, UNK_PTR param_2, UNK_PTR param_3); // func_80096770
void func_800967A0(void); // func_800967A0
u32 __osGetWatchLo(void); // func_80096810
void __osSetWatchLo(u32 value); // func_80096820
@@ -3095,7 +3095,7 @@ void func_80172C68(AudioThreadStruct* audio); // func_80172C68
void Audio_Stop(void); // func_80172EAC
void Audio_ThreadEntry(AudioThreadStruct* audio); // func_80172ED0
void Audio_WaitForInit(AudioThreadStruct* param_1); // func_80173048
void Audio_Start(AudioThreadStruct* audio, s32* audioThreadStackEnd, OSPri pri, OSId id, SchedThreadStruct* sched, Irqmgr* irq); // func_80173074
void Audio_Start(AudioThreadStruct* audio, s32* audioThreadStackEnd, OSPri pri, OSId id, SchedThreadStruct* sched, IrqMgr* irq); // func_80173074
void func_80173130(void); // func_80173130
void Initial_Init2(ContextCommon* ctxt); // func_801732DC
void Initial_Fini(void); // func_8017332C
@@ -3171,7 +3171,7 @@ void func_80175E68(Input* input, int param_2); // func_80175E68
void Padmgr_GetInput(Input* input, int param_2); // func_80175F98
void Padmgr_GetInput2(Input* input, int param_2); // func_80175FD4
void Padmgr_ThreadEntry(PadmgrThreadStruct* padmgr); // func_80176010
void Padmgr_Start(OSMesgQueue* siEventCallbackQueue, Irqmgr* irqmgr, OSId threadId, OSPri threadPri, void* stack); // func_80176194
void Padmgr_Start(OSMesgQueue* siEventCallbackQueue, IrqMgr* irqmgr, OSId threadId, OSPri threadPri, void* stack); // func_80176194
void func_80176280(void); // func_80176280
void func_80176314(void); // func_80176314
void Sched_Nop80176364(SchedThreadStruct* sched); // func_80176364
@@ -3195,7 +3195,7 @@ void func_80177060(SchedThreadStruct* sched); // func_80177060
void func_80177084(SchedThreadStruct* sched); // func_80177084
void Sched_ThreadEntry(SchedThreadStruct* sched); // func_8017715C
void func_80177280(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12); // func_80177280
void Sched_Start(SchedThreadStruct* sched, void* stack, OSPri pri, UNK_TYPE4 param_4, UNK_TYPE4 param_5, Irqmgr* irqmgrStruct); // func_801772A0
void Sched_Start(SchedThreadStruct* sched, void* stack, OSPri pri, UNK_TYPE4 param_4, UNK_TYPE4 param_5, IrqMgr* irqmgrStruct); // func_801772A0
void func_80177390(void); // func_80177390
void func_801773A0(void); // func_801773A0
void func_801773C4(void); // func_801773C4
@@ -3739,8 +3739,8 @@ void func_8019AB40(void); // func_8019AB40
void func_8019AC10(void); // func_8019AC10
void func_8019ACEC(void); // func_8019ACEC
void func_8019ADBC(void); // func_8019ADBC
// UNK_RET func_8019AE40(UNK_ARGS);
// UNK_RET func_8019AEC0(UNK_ARGS);
void FUN_8019ae40(int param_1, int param_2, unsigned int param_3, int param_4); // func_8019AE40
void FUN_8019aec0(UNK_PTR param_1, UNK_PTR param_2); // func_8019AEC0
void func_8019AF00(void); // func_8019AF00
void func_8019AF58(void); // func_8019AF58
void func_8019AFE8(void); // func_8019AFE8
+7 -7
View File
@@ -1636,7 +1636,7 @@ struct HeapNode {
/* 0xC */ HeapNode* prev;
};
typedef struct Irqmgr Irqmgr;
typedef struct IrqMgr IrqMgr;
typedef struct AudioThreadStruct AudioThreadStruct;
@@ -1654,8 +1654,8 @@ struct EffectTableInfo {
typedef struct OSMesgQueueListNode OSMesgQueueListNode;
struct Irqmgr {
/* 0x000 */ s16 verticalRetraceMesg;
struct IrqMgr {
/* 0x000 */ s16 verticalRetraceMesg; // Is this a struct of size 0x20? (same below)
/* 0x002 */ UNK_TYPE1 pad2[30];
/* 0x020 */ s16 prenmi1Msg;
/* 0x022 */ UNK_TYPE1 pad22[30];
@@ -1665,10 +1665,10 @@ struct Irqmgr {
/* 0x078 */ UNK_TYPE4 irqBuffer[8];
/* 0x098 */ OSThread thread;
/* 0x248 */ OSMesgQueueListNode* callbacks;
/* 0x24C */ s8 prenmiStage;
/* 0x24C */ u8 prenmiStage;
/* 0x24D */ UNK_TYPE1 pad24D[3];
/* 0x250 */ OSTime lastPrenmiTime;
/* 0x258 */ OSTimer unk258;
/* 0x258 */ OSTimer prenmiTimer;
/* 0x278 */ OSTime lastFrameTime;
};
@@ -1688,7 +1688,7 @@ typedef struct {
/* 0x064 */ OSMesgQueue lock;
/* 0x07C */ OSMesgQueue irqmgrCallbackQueue;
/* 0x094 */ OSMesgQueueListNode irqmgrCallbackQueueNode;
/* 0x09C */ Irqmgr* irqmgr;
/* 0x09C */ IrqMgr* irqmgr;
/* 0x0A0 */ OSThread thread;
/* 0x250 */ Input input[4];
/* 0x2B0 */ OSContPad controllerState1[4];
@@ -1722,7 +1722,7 @@ typedef struct {
} SchedThreadStruct;
struct AudioThreadStruct {
/* 0x000 */ Irqmgr* irqmgr;
/* 0x000 */ IrqMgr* irqmgr;
/* 0x004 */ SchedThreadStruct* sched;
/* 0x008 */ UNK_TYPE1 pad8[88];
/* 0x060 */ UNK_TYPE4 unk60;
+5 -5
View File
@@ -16,10 +16,10 @@ extern f32 screenXScale; // D_80096B30
extern f32 screenYScale; // D_80096B34
extern OSPiHandle* D_80096B40; // D_80096B40
extern UNK_TYPE4 dmamgrChunkSize; // D_80096B50
extern vs32 prenmiStage; // D_80096B60
extern OSTime lastPrenmiTime; // D_80096B68
extern u64 lastFrameDuration; // D_80096B70
extern s32 frameCount; // D_80096B78
extern vs32 gPrenmiStage; // D_80096B60
extern volatile OSTime sLastPrenmiTime; // D_80096B68
extern vu64 gLastFrameDuration; // D_80096B70
extern s32 sFrameCount; // D_80096B78
extern char* D_80096B80[18]; // D_80096B80
extern char* D_80096BC8[6]; // D_80096BC8
extern FaultDrawer* faultDrawContext; // D_80096BE0
@@ -277,7 +277,7 @@ extern OSThread idleOSThread; // D_80099520
extern u8 idleStack[1024]; // D_800996D0
extern StackEntry idleStackEntry; // D_80099AD0
extern u8 bootStack[1024]; // D_80099AF0
extern Irqmgr irqmgrContext; // D_80099EF0
extern IrqMgr irqmgrContext; // D_80099EF0
extern u8 irqmgrStack[1280]; // D_8009A170
extern StackEntry irqmgrStackEntry; // D_8009A670
extern OSThread mainOSThread; // D_8009A690
+2 -2
View File
@@ -12,7 +12,7 @@ SECTIONS
build/src/boot_O2_g3/boot_0x800805E0.o(.text)
build/src/boot_O2_g3/z_std_dma.o(.text)
build/asm/boot_0x80080E30.o(.text)
build/asm/boot_0x80081250.o(.text)
build/src/boot_O2_g3/irqmgr.o(.text)
build/src/boot_O2_g3/CIC6105.o(.text)
build/src/boot_O2_g3/boot_0x80081920.o(.text)
build/src/boot_O2_g3_trapuv/fault.o(.text)
@@ -212,7 +212,7 @@ SECTIONS
build/src/boot_O2_g3/idle.o(.rodata)
build/asm/boot_rodata_z_std_dma.o(.text)
build/asm/boot_rodata_0x80080E30.o(.text)
build/asm/boot_rodata_0x80081250.o(.text)
build/src/boot_O2_g3/irqmgr.o(.rodata)
build/src/boot_O2_g3/CIC6105.o(.rodata)
build/asm/boot_rodata_fault.o(.text)
build/asm/boot_rodata_fault_drawer.o(.text)
+1 -1
View File
@@ -63,7 +63,7 @@ GLOBAL_ASM("./asm/nonmatching/idle/Idle_InitCodeAndMemory.asm")
void Idle_MainThreadEntry(void* arg) {
StackCheck_Init(&irqmgrStackEntry, (u32)&irqmgrStack, (u32)&irqmgrStack[1280], 0, 256, "irqmgr");
Irqmgr_Start(&irqmgrContext, &irqmgrStackEntry, 18, 1);
IrqMgr_Start(&irqmgrContext, &irqmgrStackEntry, 18, 1);
Dmamgr_Start();
Idle_InitCodeAndMemory();
main(arg);
+173
View File
@@ -0,0 +1,173 @@
#include <ultra64.h>
#include <global.h>
// TODO move out
#define OS_CLOCK_RATE 62500000LL
#define OS_CPU_COUNTER (OS_CLOCK_RATE*3/4)
#define OS_USEC_TO_CYCLES(n) (((u64)(n)*(OS_CPU_COUNTER/15625LL))/(1000000LL/15625LL))
// TODO .data section
//vs32 gPrenmiStage;
//volatile OSTime sLastPrenmiTime;
//vu64 gLastFrameDuration;
//s32 sFrameCount;
void IrqMgr_AddCallback(IrqMgr* irqmgr, OSMesgQueueListNode* param_2, OSMesgQueue* param_3) {
u32 saveMask;
saveMask = osSetIntMask(1);
param_2->queue = param_3;
param_2->next = irqmgr->callbacks;
irqmgr->callbacks = param_2;
osSetIntMask(saveMask);
if (irqmgr->prenmiStage > 0) {
osSendMesg(param_2->queue, &irqmgr->prenmi1Msg, 0);
}
if (irqmgr->prenmiStage > 1) {
osSendMesg(param_2->queue, &irqmgr->prenmi2Msg, 0);
}
}
void IrqMgr_RemoveCallback(IrqMgr* irqmgr, OSMesgQueueListNode* remove) {
OSMesgQueueListNode* iter;
OSMesgQueueListNode* last;
u32 saveMask;
iter = irqmgr->callbacks;
last = NULL;
saveMask = osSetIntMask(1);
while (iter != NULL) {
if (iter == remove) {
if (last != NULL) {
last->next = remove->next;
} else {
irqmgr->callbacks = remove->next;
}
break;
}
last = iter;
iter = iter->next;
}
osSetIntMask(saveMask);
}
void IrqMgr_NotifyAllCallbacks(IrqMgr* irqmgr, OSMesg msg) {
OSMesgQueueListNode* iter = irqmgr->callbacks;
while (iter != NULL) {
osSendMesg(iter->queue, msg, 0);
iter = iter->next;
}
}
void IrqMgr_NotifyAllCallbacksWithCapacity(IrqMgr* irqmgr, OSMesg msg) {
OSMesgQueueListNode* iter = irqmgr->callbacks;
while (iter != NULL) {
if (iter->queue->validCount < iter->queue->msgCount) {
osSendMesg(iter->queue, msg, 0);
}
iter = iter->next;
}
}
void IrqMgr_HandlePrenmi1(IrqMgr* irqmgr) {
gPrenmiStage = 1;
irqmgr->prenmiStage = 1;
sLastPrenmiTime = irqmgr->lastPrenmiTime = osGetTime();
// Wait .45 seconds then generate a stage 2 prenmi interrupt
osSetTimer(&irqmgr->prenmiTimer, OS_USEC_TO_CYCLES(450000), 0, &irqmgr->irqQueue, (OSMesg)0x29F);
IrqMgr_NotifyAllCallbacksWithCapacity(irqmgr, &irqmgr->prenmi1Msg);
}
void IrqMgr_CheckThreadStatusImpl(void) {
StackCheck_Check(NULL);
}
void IrqMgr_HandlePrenmi2(IrqMgr* irqmgr) {
gPrenmiStage = 2;
irqmgr->prenmiStage = 2;
// Wait .03 seconds then generate a stage 3 prenmi interrupt
osSetTimer(&irqmgr->prenmiTimer, OS_USEC_TO_CYCLES(30000), 0, &irqmgr->irqQueue, (OSMesg)0x2A0);
IrqMgr_NotifyAllCallbacks(irqmgr, &irqmgr->prenmi2Msg);
}
void IrqMgr_HandlePrenmi3(IrqMgr* irqmgr) {
// Wait .52 seconds. After this we will have waited an entire second
osSetTimer(&irqmgr->prenmiTimer, OS_USEC_TO_CYCLES(520000), 0, &irqmgr->irqQueue, (OSMesg)0x2A1);
func_8008D710();
}
void IrqMgr_CheckThreadStatus(IrqMgr* irqmgr) {
IrqMgr_CheckThreadStatusImpl();
}
void IrqMgr_HandleFrame(IrqMgr* irqmgr) {
if (gLastFrameDuration == 0) {
if (irqmgr->lastFrameTime == 0) {
irqmgr->lastFrameTime = osGetTime();
} else {
gLastFrameDuration = osGetTime() - irqmgr->lastFrameTime;
}
}
sFrameCount += 1;
IrqMgr_NotifyAllCallbacks(irqmgr,irqmgr);
}
void IrqMgr_ThreadEntry(IrqMgr* irqmgr) {
u32 interrupt;
u32 stop;
interrupt = 0;
stop = 0;
while (stop == 0) {
if (stop);
osRecvMesg(&irqmgr->irqQueue, (OSMesg*)&interrupt, 1);
switch (interrupt) {
case 0x29A:
IrqMgr_HandleFrame(irqmgr);
break;
case 0x29D:
IrqMgr_HandlePrenmi1(irqmgr);
break;
case 0x29F:
IrqMgr_HandlePrenmi2(irqmgr);
break;
case 0x2A0:
IrqMgr_HandlePrenmi3(irqmgr);
break;
case 0x2A1:
IrqMgr_CheckThreadStatus(irqmgr);
break;
}
}
}
void IrqMgr_Start(IrqMgr* irqmgr, void* stack, OSPri pri, u8 retraceCount) {
irqmgr->callbacks = NULL;
irqmgr->verticalRetraceMesg = 1;
irqmgr->prenmi1Msg = 4;
irqmgr->prenmi2Msg = 3;
irqmgr->prenmiStage = 0;
irqmgr->lastPrenmiTime = 0;
osCreateMesgQueue(&irqmgr->irqQueue,(OSMesg *)irqmgr->irqBuffer,8);
osSetEventMesg(0xE, &irqmgr->irqQueue, (OSMesg)0x29D);
osViSetEvent(&irqmgr->irqQueue, (OSMesg)0x29A, retraceCount);
osCreateThread(&irqmgr->thread, 0x13, (osCreateThread_func)IrqMgr_ThreadEntry, irqmgr, stack, pri);
osStartThread(&irqmgr->thread);
}
+1 -1
View File
@@ -158,7 +158,7 @@ void Dmamgr_ThreadEntry(void* a0) {
}
s32 Dmamgr_SendRequest(DmaRequest* request, u32 vramStart, u32 vromStart, u32 size, UNK_TYPE4 unused, OSMesgQueue* callback, void* callbackMesg) {
if (prenmiStage >= 2) {
if (gPrenmiStage >= 2) {
return -2;
}
+19 -16
View File
@@ -27,18 +27,18 @@
0x80080ED0:("Yaz0_LoadNextChunk","u8*","void* currDecompPos"),
0x80080FF0:("Yaz0_Decompress","s32","u8* src, u8* dest"),
0x80081178:("Yaz0_LoadAndDecompressFile","void","u32 romStart, u32 vramStart, u32 size"),
0x80081250:("Irqmgr_AddCallback","void","Irqmgr* irqmgr, OSMesgQueueListNode* param_2, OSMesgQueue* param_3"),
0x800812DC:("Irqmgr_RemoveCallback","void","Irqmgr* irqmgr, OSMesgQueueListNode* puParm2"),
0x80081368:("Irqmgr_NotifyAllCallbacks","void","Irqmgr* irqmgr, s16* msg"),
0x800813B8:("Irqmgr_NotifyAllCallbacksWithCapacity","void","Irqmgr* irqmgr, OSMesg msg"),
0x8008141C:("Irqmgr_HandlePrenmi1","void","Irqmgr* irqmgr"),
0x800814B4:("Irqmgr_CheckThreadStatus2","void","void"),
0x800814D4:("Irqmgr_HandlePrenmi2","void","Irqmgr* irqmgr"),
0x80081550:("Irqmgr_HandlePrenmi3","void","Irqmgr* irqmgr"),
0x800815A8:("Irqmgr_CheckThreadStatus","void","Irqmgr* irqmgr"),
0x800815CC:("Irqmgr_HandleFrame","void","Irqmgr* irqmgr"),
0x80081684:("Irqmgr_ThreadEntry","void","Irqmgr* irqmgr"),
0x80081754:("Irqmgr_Start","void","Irqmgr* irqmgr, void* stack, OSPri pri, u8 retraceCount"),
0x80081250:("IrqMgr_AddCallback","void","IrqMgr* irqmgr, OSMesgQueueListNode* param_2, OSMesgQueue* param_3"),
0x800812DC:("IrqMgr_RemoveCallback","void","IrqMgr* irqmgr, OSMesgQueueListNode* remove"),
0x80081368:("IrqMgr_NotifyAllCallbacks","void","IrqMgr* irqmgr, OSMesg msg"),
0x800813B8:("IrqMgr_NotifyAllCallbacksWithCapacity","void","IrqMgr* irqmgr, OSMesg msg"),
0x8008141C:("IrqMgr_HandlePrenmi1","void","IrqMgr* irqmgr"),
0x800814B4:("IrqMgr_CheckThreadStatusImpl","void","void"),
0x800814D4:("IrqMgr_HandlePrenmi2","void","IrqMgr* irqmgr"),
0x80081550:("IrqMgr_HandlePrenmi3","void","IrqMgr* irqmgr"),
0x800815A8:("IrqMgr_CheckThreadStatus","void","IrqMgr* irqmgr"),
0x800815CC:("IrqMgr_HandleFrame","void","IrqMgr* irqmgr"),
0x80081684:("IrqMgr_ThreadEntry","void","IrqMgr* irqmgr"),
0x80081754:("IrqMgr_Start","void","IrqMgr* irqmgr, void* stack, OSPri pri, u8 retraceCount"),
0x80081820:("CIC6105_Nop80081820","void","void"),
0x80081828:("CIC6105_Nop80081828","void","void"),
0x80081830:("CIC6105_PrintRomInfo","void","void"),
@@ -350,7 +350,7 @@
0x8008CFE4:("func_8008CFE4","void","void"),
0x8008D2C0:("osGetCount","u32","void"),
0x8008D2E0:("func_8008D2E0","void","void"),
0x8008D350:("calculate_mem_size","u32","void"),
0x8008D350:("osGetMemSize","u32","void"),
0x8008D470:("func_8008D470","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5, UNK_TYPE4 param_6"),
0x8008D640:("osSetEventMesg","void","OSEvent e, OSMesgQueue* mq, OSMesg m"),
0x8008D700:("sqrtf","f32","f32 __x"),
@@ -484,6 +484,7 @@
0x800964D0:("func_800964D0","void","void"),
0x80096510:("__osSpSetPc","s32","u32 data"),
0x80096540:("func_80096540","void","void"),
0x80096770:("FUN_80096770","void","int param_1, UNK_PTR param_2, UNK_PTR param_3"),
0x800967A0:("func_800967A0","void","void"),
0x80096810:("__osGetWatchLo","u32","void"),
0x80096820:("__osSetWatchLo","void","u32 value"),
@@ -3091,7 +3092,7 @@
0x80172EAC:("Audio_Stop","void","void"),
0x80172ED0:("Audio_ThreadEntry","void","AudioThreadStruct* audio"),
0x80173048:("Audio_WaitForInit","void","AudioThreadStruct* param_1"),
0x80173074:("Audio_Start","void","AudioThreadStruct* audio, s32* audioThreadStackEnd, OSPri pri, OSId id, SchedThreadStruct* sched, Irqmgr* irq"),
0x80173074:("Audio_Start","void","AudioThreadStruct* audio, s32* audioThreadStackEnd, OSPri pri, OSId id, SchedThreadStruct* sched, IrqMgr* irq"),
0x80173130:("func_80173130","void","void"),
0x801732DC:("Initial_Init2","void","ContextCommon* ctxt"),
0x8017332C:("Initial_Fini","void","void"),
@@ -3167,7 +3168,7 @@
0x80175F98:("Padmgr_GetInput","void","Input* input, int param_2"),
0x80175FD4:("Padmgr_GetInput2","void","Input* input, int param_2"),
0x80176010:("Padmgr_ThreadEntry","void","PadmgrThreadStruct* padmgr"),
0x80176194:("Padmgr_Start","void","OSMesgQueue* siEventCallbackQueue, Irqmgr* irqmgr, OSId threadId, OSPri threadPri, void* stack"),
0x80176194:("Padmgr_Start","void","OSMesgQueue* siEventCallbackQueue, IrqMgr* irqmgr, OSId threadId, OSPri threadPri, void* stack"),
0x80176280:("func_80176280","void","void"),
0x80176314:("func_80176314","void","void"),
0x80176364:("Sched_Nop80176364","void","SchedThreadStruct* sched"),
@@ -3191,7 +3192,7 @@
0x80177084:("func_80177084","void","SchedThreadStruct* sched"),
0x8017715C:("Sched_ThreadEntry","void","SchedThreadStruct* sched"),
0x80177280:("func_80177280","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE1 param_5, UNK_TYPE1 param_6, UNK_TYPE4 param_7, UNK_TYPE4 param_8, UNK_TYPE4 param_9, UNK_TYPE4 param_10, UNK_TYPE4 param_11, UNK_TYPE4 param_12"),
0x801772A0:("Sched_Start","void","SchedThreadStruct* sched, void* stack, OSPri pri, UNK_TYPE4 param_4, UNK_TYPE4 param_5, Irqmgr* irqmgrStruct"),
0x801772A0:("Sched_Start","void","SchedThreadStruct* sched, void* stack, OSPri pri, UNK_TYPE4 param_4, UNK_TYPE4 param_5, IrqMgr* irqmgrStruct"),
0x80177390:("func_80177390","void","void"),
0x801773A0:("func_801773A0","void","void"),
0x801773C4:("func_801773C4","void","void"),
@@ -3735,6 +3736,8 @@
0x8019AC10:("func_8019AC10","void","void"),
0x8019ACEC:("func_8019ACEC","void","void"),
0x8019ADBC:("func_8019ADBC","void","void"),
0x8019AE40:("FUN_8019ae40","void","int param_1, int param_2, unsigned int param_3, int param_4"),
0x8019AEC0:("FUN_8019aec0","void","UNK_PTR param_1, UNK_PTR param_2"),
0x8019AF00:("func_8019AF00","void","void"),
0x8019AF58:("func_8019AF58","void","void"),
0x8019AFE8:("func_8019AFE8","void","void"),
+1 -1
View File
@@ -4,7 +4,7 @@
0x800805E0:"",
0x80080790:"z_std_dma",
0x80080E30:"",
0x80081250:"",
0x80081250:"irqmgr",
0x80081820:"CIC6105",
0x80081920:"",
0x80081980:"fault",
+5 -5
View File
@@ -9,10 +9,10 @@
0x80096B34:("screenYScale","f32","",0x4),
0x80096B40:("D_80096B40","OSPiHandle*","",0x4),
0x80096B50:("dmamgrChunkSize","UNK_TYPE4","",0x4),
0x80096B60:("prenmiStage","u32","",0x4),
0x80096B68:("lastPrenmiTime","OSTime","",0x8),
0x80096B70:("lastFrameDuration","u64","",0x8),
0x80096B78:("frameCount","s32","",0x4),
0x80096B60:("gPrenmiStage","vs32","",0x4),
0x80096B68:("sLastPrenmiTime","volatile OSTime","",0x8),
0x80096B70:("gLastFrameDuration","vu64","",0x8),
0x80096B78:("sFrameCount","s32","",0x4),
0x80096B80:("D_80096B80","char*","[18]",0x48),
0x80096BC8:("D_80096BC8","char*","[6]",0x18),
0x80096BE0:("faultDrawContext","FaultDrawer*","",0x4),
@@ -274,7 +274,7 @@
0x800996D0:("idleStack","u8","[1024]",0x400),
0x80099AD0:("idleStackEntry","StackEntry","",0x1c),
0x80099AF0:("bootStack","u8","[1024]",0x400),
0x80099EF0:("irqmgrContext","Irqmgr","",0x280),
0x80099EF0:("irqmgrContext","IrqMgr","",0x280),
0x8009A170:("irqmgrStack","u8","[1280]",0x500),
0x8009A670:("irqmgrStackEntry","StackEntry","",0x1c),
0x8009A690:("mainOSThread","OSThread","",0x1b0),