mirror of https://github.com/zeldaret/mm.git
Port stackcheck.c from oot decomp
This commit is contained in:
parent
76c3d660a9
commit
30daa16255
8
Makefile
8
Makefile
|
|
@ -19,18 +19,20 @@ build/src/libultra/gu/%: OPTIMIZATION := -O2
|
|||
build/src/libultra/%: CC := $(QEMU_IRIX) -L $(IRIX_53_ROOT) $(IRIX_53_ROOT)/usr/bin/cc
|
||||
build/src/libultra/%: CFLAGS := $(CFLAGS) -Wab,-r4300_mul
|
||||
build/src/boot_O1/%: OPTIMIZATION := -O1
|
||||
build/src/boot_O2/%: OPTIMIZATION := -O2
|
||||
build/src/boot_O2_g3/%: OPTIMIZATION := -O2 -g3
|
||||
build/src/boot_O2_g3_trapuv/%: OPTIMIZATION := -O2 -g3
|
||||
build/src/code/%: CFLAGS := $(CFLAGS) -Wab,-r4300_mul
|
||||
build/src/actors/%: CFLAGS := $(CFLAGS) -Wab,-r4300_mul
|
||||
build/src/boot_O2_g3_trapuv/%: CFLAGS := $(CFLAGS) -trapuv
|
||||
test.txt: OPTIMIZATION := -O2 -g3
|
||||
test.txt: OPTIMIZATION := -O2
|
||||
test.txt: CC := $(QEMU_IRIX) -L $(IRIX_71_ROOT) $(IRIX_71_ROOT)/usr/bin/cc
|
||||
test.txt: CFLAGS := $(CFLAGS) -Wab,-r4300_mul -trapuv
|
||||
test.txt: CFLAGS := $(CFLAGS) -Wab,-r4300_mul
|
||||
|
||||
CC := $(QEMU_IRIX) -L $(IRIX_71_ROOT) $(IRIX_71_ROOT)/usr/bin/cc
|
||||
|
||||
test.txt: CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
build/src/boot_O2/%: CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
build/src/boot_O2_g3/%: CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
build/src/boot_O2_g3_trapuv/%: CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
build/src/code/%: CC := ./tools/preprocess.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
|
@ -55,6 +57,7 @@ C_FILES := $(wildcard src/libultra/*) \
|
|||
$(wildcard src/libultra/libc/*) \
|
||||
$(wildcard src/libultra/gu/*) \
|
||||
$(wildcard src/code/*) \
|
||||
$(wildcard src/boot_O2/*) \
|
||||
$(wildcard src/boot_O2_g3/*) \
|
||||
$(wildcard src/boot_O2_g3_trapuv/*) \
|
||||
$(wildcard src/boot_O1/*) \
|
||||
|
|
@ -82,6 +85,7 @@ $(shell mkdir -p $(BUILD_DIR)/src/libultra/io)
|
|||
$(shell mkdir -p $(BUILD_DIR)/src/libultra/libc)
|
||||
$(shell mkdir -p $(BUILD_DIR)/src/libultra/gu)
|
||||
$(shell mkdir -p $(BUILD_DIR)/src/code)
|
||||
$(shell mkdir -p $(BUILD_DIR)/src/boot_O2)
|
||||
$(shell mkdir -p $(BUILD_DIR)/src/boot_O2_g3)
|
||||
$(shell mkdir -p $(BUILD_DIR)/src/boot_O2_g3_trapuv)
|
||||
$(shell mkdir -p $(BUILD_DIR)/src/boot_O1)
|
||||
|
|
|
|||
|
|
@ -134,11 +134,11 @@ void func_80085204(void); // func_80085204
|
|||
void func_8008520C(void); // func_8008520C
|
||||
void func_8008522C(void); // func_8008522C
|
||||
void func_8008524C(void); // func_8008524C
|
||||
void thread_info_init(ThreadInfo* info, u8* stackBegin, u8* stackEnd, s32 initStackValue, s32 stackWarningThreshold, char* threadName); // func_80085320
|
||||
void func_800853F8(void); // func_800853F8
|
||||
ThreadStackStatus get_thread_stack_status(ThreadInfo* threadInfo); // func_80085468
|
||||
ThreadStackStatus check_all_thread_status(void); // func_800854E0
|
||||
ThreadStackStatus check_thread_status(ThreadInfo* threadInfo); // func_80085538
|
||||
void StackCheck_Init(StackEntry* entry, u32 stackTop, u32 stackBottom, u32 initValue, s32 minSpace, char* name); // func_80085320
|
||||
void StackCheck_Cleanup(StackEntry* entry); // func_800853F8
|
||||
s32 StackCheck_GetState(StackEntry* entry); // func_80085468
|
||||
u32 StackCheck_CheckAll(void); // func_800854E0
|
||||
u32 StackCheck_Check(StackEntry* entry); // func_80085538
|
||||
void func_80085570(void); // func_80085570
|
||||
void func_800859BC(UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5); // func_800859BC
|
||||
void func_80085A08(void); // func_80085A08
|
||||
|
|
|
|||
|
|
@ -629,12 +629,6 @@ typedef struct {
|
|||
/* 0x10 */ ColorRGBA8 unk10;
|
||||
} TargetContextEntry;
|
||||
|
||||
typedef enum ThreadStackStatus {
|
||||
THREAD_STACK_STATUS_GOOD = 0x0,
|
||||
THREAD_STACK_STATUS_WARNING = 0x1,
|
||||
THREAD_STACK_STATUS_FULL = 0x2
|
||||
} ThreadStackStatus;
|
||||
|
||||
typedef struct {
|
||||
/* 0x0 */ u32 texture;
|
||||
/* 0x4 */ s16 unk4;
|
||||
|
|
@ -1754,6 +1748,18 @@ typedef struct {
|
|||
/* 0x18 */ u32 unk18; // Always 0x01000000?
|
||||
} ParticleOverlayTableEntry;
|
||||
|
||||
typedef struct StackEntry StackEntry;
|
||||
|
||||
struct StackEntry {
|
||||
/* 0x00 */ StackEntry* next;
|
||||
/* 0x04 */ StackEntry* prev;
|
||||
/* 0x08 */ u32 head;
|
||||
/* 0x0C */ u32 tail;
|
||||
/* 0x10 */ s32 initValue;
|
||||
/* 0x14 */ s32 minSpace;
|
||||
/* 0x18 */ char* name;
|
||||
};
|
||||
|
||||
typedef struct TargetContext TargetContext;
|
||||
|
||||
typedef struct ActorContext ActorContext;
|
||||
|
|
@ -1819,18 +1825,6 @@ typedef struct Camera Camera;
|
|||
|
||||
typedef s32(*camera_update_func)(Camera* camera);
|
||||
|
||||
typedef struct ThreadInfo ThreadInfo;
|
||||
|
||||
struct ThreadInfo {
|
||||
/* 0x00 */ ThreadInfo* next;
|
||||
/* 0x04 */ ThreadInfo* prev;
|
||||
/* 0x08 */ u8* stackBegin;
|
||||
/* 0x0C */ u8* stackEnd;
|
||||
/* 0x10 */ s32 initStackValue;
|
||||
/* 0x14 */ s32 stackWarningThreshold;
|
||||
/* 0x18 */ s8* name;
|
||||
};
|
||||
|
||||
typedef struct s800B948C s800B948C;
|
||||
|
||||
typedef struct z_Light z_Light;
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@ extern FaultDrawer* faultDrawContext; // D_80096BE0
|
|||
extern FaultDrawer faultDrawContextInit; // D_80096BE4
|
||||
extern UNK_TYPE4 D_80096C20; // D_80096C20
|
||||
extern UNK_TYPE4 D_80096C30; // D_80096C30
|
||||
extern ThreadInfo* ThreadInfoListHead; // D_80096C40
|
||||
extern ThreadInfo* ThreadInfoListTail; // D_80096C44
|
||||
extern StackEntry* sStackInfoListStart; // D_80096C40
|
||||
extern StackEntry* sStackInfoListEnd; // D_80096C44
|
||||
extern UNK_TYPE1 D_80096C50; // D_80096C50
|
||||
extern UNK_TYPE1 D_80096CD0; // D_80096CD0
|
||||
extern UNK_TYPE1 D_80096CF0; // D_80096CF0
|
||||
|
|
@ -265,22 +265,22 @@ extern UNK_TYPE1 D_800994C0; // D_800994C0
|
|||
extern UNK_TYPE1 D_800994C8; // D_800994C8
|
||||
extern char D_800994D0[]; // D_800994D0
|
||||
extern char D_800994DC[]; // D_800994DC
|
||||
extern ThreadInfo bootThreadInfo; // D_80099500
|
||||
extern StackEntry bootStackEntry; // D_80099500
|
||||
extern OSThread idleOSThread; // D_80099520
|
||||
extern u8 idleStack[1024]; // D_800996D0
|
||||
extern ThreadInfo idleTreadInfo; // D_80099AD0
|
||||
extern StackEntry idleStackEntry; // D_80099AD0
|
||||
extern u8 bootStack[1024]; // D_80099AF0
|
||||
extern Irqmgr irqmgrContext; // D_80099EF0
|
||||
extern u8 irqmgrStack[1280]; // D_8009A170
|
||||
extern ThreadInfo irqmgrThreadInfo; // D_8009A670
|
||||
extern StackEntry irqmgrStackEntry; // D_8009A670
|
||||
extern OSThread mainOSThread; // D_8009A690
|
||||
extern u8 mainStack[2304]; // D_8009A840
|
||||
extern ThreadInfo mainThreadInfo; // D_8009B140
|
||||
extern StackEntry mainStackEntry; // D_8009B140
|
||||
extern UNK_TYPE4 D_8009B160[50]; // D_8009B160
|
||||
extern OSMesgQueue D_8009B228; // D_8009B228
|
||||
extern OSViMode D_8009B240; // D_8009B240
|
||||
extern u8 D_8009B290; // D_8009B290
|
||||
extern ThreadInfo dmamgrThreadInfo; // D_8009B2A0
|
||||
extern StackEntry dmamgrStackEntry; // D_8009B2A0
|
||||
extern u16 numDmaEntries; // D_8009B2BC
|
||||
extern OSMesgQueue dmamgrMsq; // D_8009B2C0
|
||||
extern OSMesg dmamgrMsqMessages[32]; // D_8009B2D8
|
||||
|
|
@ -297,7 +297,7 @@ extern f32 D_8009BE54; // D_8009BE54
|
|||
extern u32 faultCustomOptions; // D_8009BE58
|
||||
extern u32 faultCopyToLog; // D_8009BE5C
|
||||
extern u8 faultStack[1536]; // D_8009BE60
|
||||
extern ThreadInfo faultThreadInfo; // D_8009C460
|
||||
extern StackEntry faultStackEntry; // D_8009C460
|
||||
extern FaultContext faultContextStruct; // D_8009C480
|
||||
extern FaultDrawer faultDrawContextStruct; // D_8009CCD0
|
||||
extern UNK_TYPE4 D_8009CD10; // D_8009CD10
|
||||
|
|
@ -2769,7 +2769,7 @@ extern u8 D_801F6DFC; // D_801F6DFC
|
|||
extern UNK_TYPE1 D_801F6DFD; // D_801F6DFD
|
||||
extern s8018571C D_801F6E00; // D_801F6E00
|
||||
extern UNK_TYPE1 D_801F6FC0; // D_801F6FC0
|
||||
extern ThreadInfo slowlyThreadInfo; // D_801F6FC8
|
||||
extern StackEntry slowlyStackEntry; // D_801F6FC8
|
||||
extern u8 slowlyStack[4096]; // D_801F6FE8
|
||||
extern UNK_TYPE1 D_801F7FE8; // D_801F7FE8
|
||||
extern UNK_TYPE1 D_801F7FF0; // D_801F7FF0
|
||||
|
|
@ -2794,10 +2794,10 @@ extern u8 graphStack[6144]; // D_801F87B8
|
|||
extern u8 schedStack[1536]; // D_801F9FB8
|
||||
extern u8 audioStack[2048]; // D_801FA5B8
|
||||
extern u8 padmgrStack[1280]; // D_801FADB8
|
||||
extern ThreadInfo graphThreadInfo; // D_801FB2B8
|
||||
extern ThreadInfo schedThreadInfo; // D_801FB2D8
|
||||
extern ThreadInfo audioThreadInfo; // D_801FB2F8
|
||||
extern ThreadInfo padmgrThreadInfo; // D_801FB318
|
||||
extern StackEntry graphStackEntry; // D_801FB2B8
|
||||
extern StackEntry schedStackEntry; // D_801FB2D8
|
||||
extern StackEntry audioStackEntry; // D_801FB2F8
|
||||
extern StackEntry padmgrStackEntry; // D_801FB318
|
||||
extern AudioThreadStruct audioContext; // D_801FB338
|
||||
extern UNK_TYPE1 D_801FBAA0; // D_801FBAA0
|
||||
extern UNK_TYPE1 D_801FBAB0; // D_801FBAB0
|
||||
|
|
@ -2909,7 +2909,7 @@ extern UNK_TYPE1 D_801FBE28; // D_801FBE28
|
|||
extern UNK_TYPE1 D_801FBE2C; // D_801FBE2C
|
||||
extern UNK_TYPE4 D_801FBE30; // D_801FBE30
|
||||
extern u8 sys_flashromStack[4096]; // D_801FBE38
|
||||
extern ThreadInfo sys_flashromThreadInfo; // D_801FCE38
|
||||
extern StackEntry sys_flashromStackEntry; // D_801FCE38
|
||||
extern OSThread sys_flashromOSThread; // D_801FCE58
|
||||
extern s80185D40 D_801FD008; // D_801FD008
|
||||
extern OSMesg D_801FD034; // D_801FD034
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ SECTIONS
|
|||
build/asm/loadfragment.o(.text)
|
||||
build/asm/loadfragment2.o(.text)
|
||||
build/asm/boot_0x80085130.o(.text)
|
||||
build/asm/boot_0x80085320.o(.text)
|
||||
build/src/boot_O2/stackcheck.o(.text)
|
||||
build/asm/boot_0x80085570.o(.text)
|
||||
build/asm/mtxuty-cvt.o(.text)
|
||||
build/asm/boot_0x80086280.o(.text)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,121 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
void StackCheck_Init(StackEntry* entry, u32 stackTop, u32 stackBottom, u32 initValue, s32 minSpace, char* name) {
|
||||
StackEntry* iter;
|
||||
u32* addr;
|
||||
|
||||
if (!entry) {
|
||||
sStackInfoListStart = NULL;
|
||||
} else {
|
||||
entry->head = stackTop;
|
||||
entry->tail = stackBottom;
|
||||
entry->initValue = initValue;
|
||||
entry->minSpace = minSpace;
|
||||
entry->name = name;
|
||||
iter = sStackInfoListStart;
|
||||
while (iter) {
|
||||
if (iter == entry) {
|
||||
return;
|
||||
}
|
||||
iter = iter->next;
|
||||
}
|
||||
|
||||
entry->prev = sStackInfoListEnd;
|
||||
entry->next = NULL;
|
||||
|
||||
if (sStackInfoListEnd) {
|
||||
sStackInfoListEnd->next = entry;
|
||||
}
|
||||
|
||||
sStackInfoListEnd = entry;
|
||||
if (!sStackInfoListStart) {
|
||||
sStackInfoListStart = entry;
|
||||
}
|
||||
|
||||
if (entry->minSpace != -1) {
|
||||
addr = (u32*)entry->head;
|
||||
while ((u32)addr < entry->tail) {
|
||||
*addr++ = entry->initValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void StackCheck_Cleanup(StackEntry* entry) {
|
||||
u32 inconsistency = 0; // unused variable needed to match
|
||||
|
||||
if (!entry->prev) {
|
||||
if (entry == sStackInfoListStart) {
|
||||
sStackInfoListStart = entry->next;
|
||||
} else {
|
||||
inconsistency = 1;
|
||||
}
|
||||
} else {
|
||||
entry->prev->next = entry->next;
|
||||
}
|
||||
|
||||
if (!entry->next) {
|
||||
if (entry == sStackInfoListEnd) {
|
||||
sStackInfoListEnd = entry->prev;
|
||||
} else {
|
||||
inconsistency = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (inconsistency) {}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING
|
||||
// Missing useless move
|
||||
s32 StackCheck_GetState(StackEntry* entry) {
|
||||
u32* last;
|
||||
u32 used;
|
||||
u32 free;
|
||||
s32 ret;
|
||||
|
||||
for (last = (u32*)entry->head; (u32)last < entry->tail; last++) {
|
||||
if (entry->initValue != *last) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
used = entry->tail - (u32)last;
|
||||
free = (u32)last - entry->head;
|
||||
|
||||
if (free == 0) {
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (free < entry->minSpace && entry->minSpace != -1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/nonmatching/stackcheck/StackCheck_GetState.asm")
|
||||
#endif
|
||||
|
||||
u32 StackCheck_CheckAll() {
|
||||
u32 ret = 0;
|
||||
|
||||
StackEntry* iter = sStackInfoListStart;
|
||||
while(iter) {
|
||||
u32 state = StackCheck_GetState(iter);
|
||||
if (state) {
|
||||
ret = 1;
|
||||
}
|
||||
iter = iter->next;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
u32 StackCheck_Check(StackEntry* entry) {
|
||||
if (!entry) {
|
||||
return StackCheck_CheckAll();
|
||||
} else {
|
||||
return StackCheck_GetState(entry);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
#include <ultra64.h>
|
||||
#include <global.h>
|
||||
|
||||
UNK_RET start(void) {
|
||||
thread_info_init(&bootThreadInfo, bootStack, &bootStack[1024], 0, -1, bootThreadName);
|
||||
void start(void) {
|
||||
StackCheck_Init(&bootStackEntry, (u32)bootStack, (u32)&bootStack[1024], 0, -1, bootThreadName);
|
||||
osMemSize = func_8008D350();
|
||||
func_800818F4();
|
||||
osInitialize();
|
||||
osUnmapTLBAll();
|
||||
D_80096B40 = func_80092920();
|
||||
thread_info_init(&idleTreadInfo, idleStack, &idleStack[1024], 0, 256, idleThreadName);
|
||||
osCreateThread(&idleOSThread, 1, (osCreateThread_func)Idle_ThreadEntry, 0, &idleTreadInfo, 12);
|
||||
StackCheck_Init(&idleStackEntry, (u32)idleStack, (u32)&idleStack[1024], 0, 256, idleThreadName);
|
||||
osCreateThread(&idleOSThread, 1, (osCreateThread_func)Idle_ThreadEntry, 0, &idleStack[1024], 12);
|
||||
osStartThread(&idleOSThread);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -896,8 +896,8 @@ void Fault_Start(void){
|
|||
faultCtxt->faultActive = 0;
|
||||
faultContextStruct.faultHandlerEnabled = 1;
|
||||
osCreateMesgQueue(&faultCtxt->queue, faultCtxt->msg, 1);
|
||||
thread_info_init(&faultThreadInfo, faultStack, &faultStack[1536], 0, 0x100, faultThreadName);
|
||||
osCreateThread(&faultCtxt->thread, 2, (osCreateThread_func)Fault_ThreadEntry, 0, &faultThreadInfo, 0x7f);
|
||||
StackCheck_Init(&faultStackEntry, (u32)faultStack, (u32)&faultStack[1536], 0, 0x100, faultThreadName);
|
||||
osCreateThread(&faultCtxt->thread, 2, (osCreateThread_func)Fault_ThreadEntry, 0, &faultStack[1536], 0x7f);
|
||||
osStartThread(&faultCtxt->thread);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
boot_0x800805E0
|
||||
boot_0x800968B0
|
||||
z_std_dma
|
||||
z_effect_soft_sprite
|
||||
z_lib
|
||||
fault
|
||||
fault_drawer
|
||||
stackcheck
|
||||
z_actor
|
||||
z_DLF
|
||||
z_effect_soft_sprite
|
||||
z_lib
|
||||
z_lights
|
||||
z_room
|
||||
z_scene_proc
|
||||
z_std_dma
|
||||
|
|
|
|||
|
|
@ -131,11 +131,11 @@
|
|||
0x8008520C:("func_8008520C","void","void"),
|
||||
0x8008522C:("func_8008522C","void","void"),
|
||||
0x8008524C:("func_8008524C","void","void"),
|
||||
0x80085320:("thread_info_init","void","ThreadInfo* info, u8* stackBegin, u8* stackEnd, s32 initStackValue, s32 stackWarningThreshold, char* threadName"),
|
||||
0x800853F8:("func_800853F8","void","void"),
|
||||
0x80085468:("get_thread_stack_status","ThreadStackStatus","ThreadInfo* threadInfo"),
|
||||
0x800854E0:("check_all_thread_status","ThreadStackStatus","void"),
|
||||
0x80085538:("check_thread_status","ThreadStackStatus","ThreadInfo* threadInfo"),
|
||||
0x80085320:("StackCheck_Init","void","StackEntry* entry, u32 stackTop, u32 stackBottom, u32 initValue, s32 minSpace, char* name"),
|
||||
0x800853F8:("StackCheck_Cleanup","void","StackEntry* entry"),
|
||||
0x80085468:("StackCheck_GetState","s32","StackEntry* entry"),
|
||||
0x800854E0:("StackCheck_CheckAll","u32","void"),
|
||||
0x80085538:("StackCheck_Check","u32","StackEntry* entry"),
|
||||
0x80085570:("func_80085570","void","void"),
|
||||
0x800859BC:("func_800859BC","void","UNK_TYPE1 param_1, UNK_TYPE1 param_2, UNK_TYPE1 param_3, UNK_TYPE1 param_4, UNK_TYPE4 param_5"),
|
||||
0x80085A08:("func_80085A08","void","void"),
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
0x80084940:"loadfragment",
|
||||
0x80084DB0:"loadfragment2",
|
||||
0x80085130:"",
|
||||
0x80085320:"",
|
||||
0x80085320:"stackcheck",
|
||||
0x80085570:"",
|
||||
0x80086110:"mtxuty-cvt",
|
||||
0x80086280:"",
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@
|
|||
0x80096BE4:("faultDrawContextInit","FaultDrawer",""),
|
||||
0x80096C20:("D_80096C20","UNK_TYPE4",""),
|
||||
0x80096C30:("D_80096C30","UNK_TYPE4",""),
|
||||
0x80096C40:("ThreadInfoListHead","ThreadInfo*",""),
|
||||
0x80096C44:("ThreadInfoListTail","ThreadInfo*",""),
|
||||
0x80096C40:("sStackInfoListStart","StackEntry*",""),
|
||||
0x80096C44:("sStackInfoListEnd","StackEntry*",""),
|
||||
0x80096C50:("D_80096C50","UNK_TYPE1",""),
|
||||
0x80096CD0:("D_80096CD0","UNK_TYPE1",""),
|
||||
0x80096CF0:("D_80096CF0","UNK_TYPE1",""),
|
||||
|
|
@ -259,22 +259,22 @@
|
|||
0x800994C8:("D_800994C8","UNK_TYPE1",""),
|
||||
0x800994D0:("D_800994D0","char","[]"),
|
||||
0x800994DC:("D_800994DC","char","[]"),
|
||||
0x80099500:("bootThreadInfo","ThreadInfo",""),
|
||||
0x80099500:("bootStackEntry","StackEntry",""),
|
||||
0x80099520:("idleOSThread","OSThread",""),
|
||||
0x800996D0:("idleStack","u8","[1024]"),
|
||||
0x80099AD0:("idleTreadInfo","ThreadInfo",""),
|
||||
0x80099AD0:("idleStackEntry","StackEntry",""),
|
||||
0x80099AF0:("bootStack","u8","[1024]"),
|
||||
0x80099EF0:("irqmgrContext","Irqmgr",""),
|
||||
0x8009A170:("irqmgrStack","u8","[1280]"),
|
||||
0x8009A670:("irqmgrThreadInfo","ThreadInfo",""),
|
||||
0x8009A670:("irqmgrStackEntry","StackEntry",""),
|
||||
0x8009A690:("mainOSThread","OSThread",""),
|
||||
0x8009A840:("mainStack","u8","[2304]"),
|
||||
0x8009B140:("mainThreadInfo","ThreadInfo",""),
|
||||
0x8009B140:("mainStackEntry","StackEntry",""),
|
||||
0x8009B160:("D_8009B160","UNK_TYPE4","[50]"),
|
||||
0x8009B228:("D_8009B228","OSMesgQueue",""),
|
||||
0x8009B240:("D_8009B240","OSViMode",""),
|
||||
0x8009B290:("D_8009B290","u8",""),
|
||||
0x8009B2A0:("dmamgrThreadInfo","ThreadInfo",""),
|
||||
0x8009B2A0:("dmamgrStackEntry","StackEntry",""),
|
||||
0x8009B2BC:("numDmaEntries","u16",""),
|
||||
0x8009B2C0:("dmamgrMsq","OSMesgQueue",""),
|
||||
0x8009B2D8:("dmamgrMsqMessages","OSMesg","[32]"),
|
||||
|
|
@ -291,7 +291,7 @@
|
|||
0x8009BE58:("faultCustomOptions","u32",""),
|
||||
0x8009BE5C:("faultCopyToLog","u32",""),
|
||||
0x8009BE60:("faultStack","u8","[1536]"),
|
||||
0x8009C460:("faultThreadInfo","ThreadInfo",""),
|
||||
0x8009C460:("faultStackEntry","StackEntry",""),
|
||||
0x8009C480:("faultContextStruct","FaultContext",""),
|
||||
0x8009CCD0:("faultDrawContextStruct","FaultDrawer",""),
|
||||
0x8009CD10:("D_8009CD10","UNK_TYPE4",""),
|
||||
|
|
@ -2763,7 +2763,7 @@
|
|||
0x801F6DFD:("D_801F6DFD","UNK_TYPE1",""),
|
||||
0x801F6E00:("D_801F6E00","s8018571C",""),
|
||||
0x801F6FC0:("D_801F6FC0","UNK_TYPE1",""),
|
||||
0x801F6FC8:("slowlyThreadInfo","ThreadInfo",""),
|
||||
0x801F6FC8:("slowlyStackEntry","StackEntry",""),
|
||||
0x801F6FE8:("slowlyStack","u8","[4096]"),
|
||||
0x801F7FE8:("D_801F7FE8","UNK_TYPE1",""),
|
||||
0x801F7FF0:("D_801F7FF0","UNK_TYPE1",""),
|
||||
|
|
@ -2788,10 +2788,10 @@
|
|||
0x801F9FB8:("schedStack","u8","[1536]"),
|
||||
0x801FA5B8:("audioStack","u8","[2048]"),
|
||||
0x801FADB8:("padmgrStack","u8","[1280]"),
|
||||
0x801FB2B8:("graphThreadInfo","ThreadInfo",""),
|
||||
0x801FB2D8:("schedThreadInfo","ThreadInfo",""),
|
||||
0x801FB2F8:("audioThreadInfo","ThreadInfo",""),
|
||||
0x801FB318:("padmgrThreadInfo","ThreadInfo",""),
|
||||
0x801FB2B8:("graphStackEntry","StackEntry",""),
|
||||
0x801FB2D8:("schedStackEntry","StackEntry",""),
|
||||
0x801FB2F8:("audioStackEntry","StackEntry",""),
|
||||
0x801FB318:("padmgrStackEntry","StackEntry",""),
|
||||
0x801FB338:("audioContext","AudioThreadStruct",""),
|
||||
0x801FBAA0:("D_801FBAA0","UNK_TYPE1",""),
|
||||
0x801FBAB0:("D_801FBAB0","UNK_TYPE1",""),
|
||||
|
|
@ -2903,7 +2903,7 @@
|
|||
0x801FBE2C:("D_801FBE2C","UNK_TYPE1",""),
|
||||
0x801FBE30:("D_801FBE30","UNK_TYPE4",""),
|
||||
0x801FBE38:("sys_flashromStack","u8","[4096]"),
|
||||
0x801FCE38:("sys_flashromThreadInfo","ThreadInfo",""),
|
||||
0x801FCE38:("sys_flashromStackEntry","StackEntry",""),
|
||||
0x801FCE58:("sys_flashromOSThread","OSThread",""),
|
||||
0x801FD008:("D_801FD008","s80185D40",""),
|
||||
0x801FD034:("D_801FD034","OSMesg",""),
|
||||
|
|
|
|||
24
undef.txt
24
undef.txt
|
|
@ -8,22 +8,22 @@ osMemSize = 0x80000318;
|
|||
D_8000031C = 0x8000031C;
|
||||
D_80000500 = 0x80000500;
|
||||
D_80025D00 = 0x80025D00;
|
||||
bootThreadInfo = boot_bss_start + 0x00000000;
|
||||
bootStackEntry = boot_bss_start + 0x00000000;
|
||||
idleOSThread = boot_bss_start + 0x00000020;
|
||||
idleStack = boot_bss_start + 0x000001D0;
|
||||
idleTreadInfo = boot_bss_start + 0x000005D0;
|
||||
idleStackEntry = boot_bss_start + 0x000005D0;
|
||||
bootStack = boot_bss_start + 0x000005F0;
|
||||
irqmgrContext = boot_bss_start + 0x000009F0;
|
||||
irqmgrStack = boot_bss_start + 0x00000C70;
|
||||
irqmgrThreadInfo = boot_bss_start + 0x00001170;
|
||||
irqmgrStackEntry = boot_bss_start + 0x00001170;
|
||||
mainOSThread = boot_bss_start + 0x00001190;
|
||||
mainStack = boot_bss_start + 0x00001340;
|
||||
mainThreadInfo = boot_bss_start + 0x00001C40;
|
||||
mainStackEntry = boot_bss_start + 0x00001C40;
|
||||
D_8009B160 = boot_bss_start + 0x00001C60;
|
||||
D_8009B228 = boot_bss_start + 0x00001D28;
|
||||
D_8009B240 = boot_bss_start + 0x00001D40;
|
||||
D_8009B290 = boot_bss_start + 0x00001D90;
|
||||
dmamgrThreadInfo = boot_bss_start + 0x00001DA0;
|
||||
dmamgrStackEntry = boot_bss_start + 0x00001DA0;
|
||||
numDmaEntries = boot_bss_start + 0x00001DBC;
|
||||
dmamgrMsq = boot_bss_start + 0x00001DC0;
|
||||
dmamgrMsqMessages = boot_bss_start + 0x00001DD8;
|
||||
|
|
@ -40,7 +40,7 @@ D_8009BE54 = boot_bss_start + 0x00002954;
|
|||
faultCustomOptions = boot_bss_start + 0x00002958;
|
||||
faultCopyToLog = boot_bss_start + 0x0000295C;
|
||||
faultStack = boot_bss_start + 0x00002960;
|
||||
faultThreadInfo = boot_bss_start + 0x00002F60;
|
||||
faultStackEntry = boot_bss_start + 0x00002F60;
|
||||
faultContextStruct = boot_bss_start + 0x00002F80;
|
||||
faultDrawContextStruct = boot_bss_start + 0x000037D0;
|
||||
D_8009CD10 = boot_bss_start + 0x00003810;
|
||||
|
|
@ -389,7 +389,7 @@ D_801F6DFC = code_bss_start + 0x00012E5C;
|
|||
D_801F6DFD = code_bss_start + 0x00012E5D;
|
||||
D_801F6E00 = code_bss_start + 0x00012E60;
|
||||
D_801F6FC0 = code_bss_start + 0x00013020;
|
||||
slowlyThreadInfo = code_bss_start + 0x00013028;
|
||||
slowlyStackEntry = code_bss_start + 0x00013028;
|
||||
slowlyStack = code_bss_start + 0x00013048;
|
||||
D_801F7FE8 = code_bss_start + 0x00014048;
|
||||
D_801F7FF0 = code_bss_start + 0x00014050;
|
||||
|
|
@ -414,10 +414,10 @@ graphStack = code_bss_start + 0x00014818;
|
|||
schedStack = code_bss_start + 0x00016018;
|
||||
audioStack = code_bss_start + 0x00016618;
|
||||
padmgrStack = code_bss_start + 0x00016E18;
|
||||
graphThreadInfo = code_bss_start + 0x00017318;
|
||||
schedThreadInfo = code_bss_start + 0x00017338;
|
||||
audioThreadInfo = code_bss_start + 0x00017358;
|
||||
padmgrThreadInfo = code_bss_start + 0x00017378;
|
||||
graphStackEntry = code_bss_start + 0x00017318;
|
||||
schedStackEntry = code_bss_start + 0x00017338;
|
||||
audioStackEntry = code_bss_start + 0x00017358;
|
||||
padmgrStackEntry = code_bss_start + 0x00017378;
|
||||
audioContext = code_bss_start + 0x00017398;
|
||||
D_801FBAA0 = code_bss_start + 0x00017B00;
|
||||
D_801FBAB0 = code_bss_start + 0x00017B10;
|
||||
|
|
@ -529,7 +529,7 @@ D_801FBE28 = code_bss_start + 0x00017E88;
|
|||
D_801FBE2C = code_bss_start + 0x00017E8C;
|
||||
D_801FBE30 = code_bss_start + 0x00017E90;
|
||||
sys_flashromStack = code_bss_start + 0x00017E98;
|
||||
sys_flashromThreadInfo = code_bss_start + 0x00018E98;
|
||||
sys_flashromStackEntry = code_bss_start + 0x00018E98;
|
||||
sys_flashromOSThread = code_bss_start + 0x00018EB8;
|
||||
D_801FD008 = code_bss_start + 0x00019068;
|
||||
D_801FD034 = code_bss_start + 0x00019094;
|
||||
|
|
|
|||
Loading…
Reference in New Issue