Identified more code

This commit is contained in:
Ogre 2023-09-01 21:21:24 +02:00
parent 5c248739e1
commit 1d45805511
12 changed files with 364 additions and 106 deletions

View File

@ -10,4 +10,38 @@ typedef u8 bool;
#define false 0 #define false 0
#define true 1 #define true 1
typedef struct {
/* 0x00 */ s32 field_0x0;
/* 0x04 */ s32 field_0x4;
/* 0x08 */ s32 field_0x8;
/* 0x0c */ s32 field_0xc;
/* 0x10 */ s32 field_0x10;
/* 0x14 */ s32 field_0x14;
/* 0x18 */ s32 field_0x18;
/* 0x1C */ s32 field_0x1c;
/* 0x20 */ s32 field_0x20;
/* 0x24 */ unsigned long handle;
/* 0x28 */ s32 field_0x28;
/* 0x2C */ s32 field_0x2c;
/* 0x30 */ s32 field_0x30;
/* 0x34 */ s32 field_0x34;
/* 0x38 */ s32 field_0x38;
/* 0x3C */ s32 field_0x3c;
/* 0x40 */ s32 field_0x40;
/* 0x44 */ s32 field_0x44;
/* 0x48 */ void* dst_addr;
/* 0x4C */ s32 field_0x4c;
} SomethingMusic; // size:0x50
typedef struct {
/* 0x0 */ void* next;
/* 0x4 */ OSMesgQueue* mq;
/* 0x8 */ s16 flags;
/* 0xa */ s16 field_0xa;
/* 0xc */ s32 field_0xc;
} Stack__dma_load_loop; // size:0x10
extern void Stack__dma_load_loop_new(Stack__dma_load_loop* arg0, OSMesgQueue* arg1, s16 arg2);
extern void Stack__dma_load_loop_delete(Stack__dma_load_loop* arg0);
#endif #endif

View File

@ -51,7 +51,7 @@ segments:
- [0x5FC0, asm] - [0x5FC0, asm]
- [0x68E0, asm] - [0x68E0, asm]
- [0x8700, asm] - [0x8700, asm]
- [0xA370, asm] - [0xA370, c]
- [0xFC80, c, "boot"] - [0xFC80, c, "boot"]
- [0xFDC0, asm] - [0xFDC0, asm]
- [0xFF10, asm] - [0xFF10, asm]
@ -264,7 +264,8 @@ segments:
- [0x2B060, asm] - [0x2B060, asm]
- [0x2B070, asm, "libultra/io/pfschecker"] - [0x2B070, asm, "libultra/io/pfschecker"]
- [0x2B790, asm] - [0x2B790, asm]
- [0x2BA70, asm] - [0x2BA70, asm, "libc/xlitob"]
- [0x2BCC0, asm]
- [0x2C750, asm] - [0x2C750, asm]
- [0x2C770, asm] - [0x2C770, asm]
- [0x2C790, asm] - [0x2C790, asm]
@ -300,36 +301,44 @@ segments:
- [0x3AB90, asm] - [0x3AB90, asm]
- [0x3ABC0, asm] - [0x3ABC0, asm]
- [0x3BEC0, asm] - [0x3BEC0, rodata, "libultra/os/initialize"]
- [0x3BEE0, rodata, "libultra/gu/rotate"]
- [0x3BEF0, rodata]
# - [0x3E198, rodata, "isallocatedpointer"] - [0x3BF20, rodata]
# - [0x3E278, rodata] - [0x3BF70, rodata, "libultra/io/vi"]
# - [0x3E330, rodata] - [0x3BFE0, rodata, "libultra/io/vimodepallan1"]
# - [0x3E460, rodata, "logs_file_read_error"] - [0x3C030, rodata, "libc/xlitob"]
# - [0x3E7C0, rodata] - [0x3C060, rodata]
# - [0x3E7D0, rodata] - [0x3C170, rodata]
# - [0x3E7F0, rodata] - [0x3C180, rodata]
# - [0x3E810, rodata] - [0x3C1A0, rodata]
# - [0x3E8F0, rodata] - [0x3D190, rodata]
# - [0x3E930, rodata] - [0x3D5A0, rodata]
# - [0x3E9A0, rodata] - [0x3D990, rodata]
# - [0x3E9B0, rodata] - [0x3E460, rodata]
# - [0x3E9F0, rodata] - [0x3E7C0, rodata]
# - [0x3EAC0, rodata] - [0x3E7D0, rodata]
# - [0x3EB00, rodata, "libultra/gu/cosf"] - [0x3E7F0, rodata]
# - [0x3ECF0, rodata, "libultra/gu/lookat"] - [0x3E810, rodata]
# - [0x3ED40, rodata, "libultra/gu/lookathil"] - [0x3E8F0, rodata]
# - [0x3EDF0, rodata] - [0x3E930, rodata]
# - [0x3EE20, rodata] - [0x3E9A0, rodata]
# - [0x3EE70, rodata] - [0x3E9B0, rodata]
# - [0x3EE80, rodata] - [0x3E9F0, rodata]
# - [0x3EEA0, rodata] - [0x3EAC0, rodata]
# - [0x3F000, rodata, "libultra/io/vi"] - [0x3EB00, rodata]
# - [0x3F070, rodata, heapcheck] - [0x3ECF0, rodata]
# - [0x3F0C0, rodata, heapcheck] - [0x3ED40, rodata]
# - [0x3F140, rodata, heapcheck] - [0x3EDF0, rodata]
# - [0x3F170, rodata, heapcheck] - [0x3EE20, rodata]
- [0x3EE70, rodata]
- [0x3EE80, rodata]
- [0x3EEA0, rodata]
- [0x3F000, rodata]
- [0x3F070, rodata]
- [0x3F0C0, rodata]
- [0x3F140, rodata]
- [0x3F170, rodata]
- { start: 0x3F1B0, type: bss, vram: 0x800E9C20 } - { start: 0x3F1B0, type: bss, vram: 0x800E9C20 }
@ -496,7 +505,10 @@ segments:
- [0x429CD0, bin, "n64_wave_table_01"] - [0x429CD0, bin, "n64_wave_table_01"]
- [0x4E3140, bin, "n64_wave_data"] - [0x4E3140, bin, "n64_wave_data"]
- [0x4F0FB0, bin] - [0x4F0FB0, bin] # Song
- [0x4F4070, bin]
- [0x594280, bin]
- [0x636784, bin, "last_battle_test.n64"] - [0x636784, bin, "last_battle_test.n64"]
- [0x64A04C, bin, "makai_battle_bg1.n64"] - [0x64A04C, bin, "makai_battle_bg1.n64"]

View File

@ -28,11 +28,31 @@ Unk0* func_80088EFC(void) {
INCLUDE_ASM(const s32, "19050", __thread_80088F08); INCLUDE_ASM(const s32, "19050", __thread_80088F08);
INCLUDE_ASM(const s32, "19050", func_80089054); extern Stack__dma_load_loop *D_800E9178[0];
extern u8 __MAIN_NOT_NULL_INF_LOOP;
/* 19454 80089054 */
void Stack__dma_load_loop_new(Stack__dma_load_loop* arg0, OSMesgQueue* mq, s16 flags)
{
s32 mask = osSetIntMask(OS_IM_NONE);
arg0->mq = mq;
arg0->next = D_800E9178[0];
arg0->flags = flags;
D_800E9178[0] = arg0;
if ((flags & 2) && (__MAIN_NOT_NULL_INF_LOOP != 0)) {
osSendMesg(mq, (u8*)(&D_800E9178) - 0x666, OS_MESG_NOBLOCK);
}
osSetIntMask(mask);
}
INCLUDE_ASM(const s32, "19050", func_800890E4); INCLUDE_ASM(const s32, "19050", func_800890E4);
INCLUDE_ASM(const s32, "19050", func_80089124); INCLUDE_ASM(const s32, "19050", Stack__dma_load_loop_delete);
INCLUDE_ASM(const s32, "19050", func_800891A0); INCLUDE_ASM(const s32, "19050", func_800891A0);
@ -41,7 +61,6 @@ INCLUDE_ASM(const s32, "19050", __thread_80089200);
INCLUDE_ASM(const s32, "19050", __thread_80089358); INCLUDE_ASM(const s32, "19050", __thread_80089358);
extern OSMesgQueue MQ_800B9C40; extern OSMesgQueue MQ_800B9C40;
extern u8 __MAIN_NOT_NULL_INF_LOOP;
void __thread_800893C0(void) { void __thread_800893C0(void) {
typedef struct { typedef struct {

View File

@ -1,18 +1,15 @@
#include "common.h" #include "common.h"
extern void func_80089054(s32*, OSMesgQueue*, s32); void __dma_load_loop(s32 count) {
extern void func_80089124(s32*); Stack__dma_load_loop sp10;
void __dma_load_loop(s32 arg0) {
s32 sp10[4];
OSMesgQueue mq; OSMesgQueue mq;
OSMesg buf; OSMesg buf;
osCreateMesgQueue(&mq, &buf, 1); osCreateMesgQueue(&mq, &buf, 1);
func_80089054(&sp10, &mq, 1); Stack__dma_load_loop_new(&sp10, &mq, 1);
for(; arg0 != 0; arg0--) for(; count != 0; count--)
osRecvMesg(&mq, NULL, OS_MESG_BLOCK); osRecvMesg(&mq, NULL, OS_MESG_BLOCK);
func_80089124(&sp10); Stack__dma_load_loop_delete(&sp10);
} }

View File

@ -11,21 +11,12 @@ extern OSMesg OSMESG_800BE1A0[8];
/* 1B3E0 8008AFE0 */ /* 1B3E0 8008AFE0 */
void __thread_8008AFE0(void* arg0) { void __thread_8008AFE0(void* arg0) {
typedef struct { Stack__dma_load_loop sp10;
/* 0x0 */ void* field_0x0;
/* 0x4 */ OSMesgQueue* field_0x4;
/* 0x8 */ s32 field_0x8;
/* 0xc */ s32 field_0xc;
} Stack;
extern void func_80089054(OSMesg, OSMesgQueue*, s32);
Stack sp10;
u16* sp20; u16* sp20;
s16 temp_v0; s16 temp_v0;
osCreateMesgQueue(&MQ_800C4C28, OSMESG_800BE1A0, 8); osCreateMesgQueue(&MQ_800C4C28, OSMESG_800BE1A0, 8);
func_80089054(&sp10, &MQ_800C4C28, 3); Stack__dma_load_loop_new(&sp10, &MQ_800C4C28, 3);
while(1) { while(1) {
osRecvMesg(&MQ_800C4C28, &sp20, OS_MESG_BLOCK); osRecvMesg(&MQ_800C4C28, &sp20, OS_MESG_BLOCK);

161
src/A370.c Normal file
View File

@ -0,0 +1,161 @@
#include "common.h"
void Unpack(s32, s32);
INCLUDE_ASM(const s32, "A370", func_80079F70);
INCLUDE_ASM(const s32, "A370", func_8007A070);
INCLUDE_ASM(const s32, "A370", Unpack);
/* ABE0 8007A7E0 */
u32 __read_u32_le(u8* arg0) {
return (arg0[0] << 24) | (arg0[1] << 16) | (arg0[2] << 8) | arg0[3];
}
INCLUDE_ASM(const s32, "A370", func_8007A80C);
INCLUDE_ASM(const s32, "A370", func_8007AB30);
INCLUDE_ASM(const s32, "A370", func_8007AB7C);
INCLUDE_ASM(const s32, "A370", func_8007ABAC);
extern void __some_logging(char*, u8);
extern char D_800AE038;
extern OSMesgQueue MQ_800AF320;
/* B030 8007AC30 */
void UnpackProc(void) {
struct {
/* 0x00 */ s32 field_0x0;
/* 0x04 */ OSMesgQueue* field_0x4;
/* 0x08 */ u8 field_0x8;
/* 0x09 */ u8 field_0x9[3];
/* 0x0C */ s32 field_0xc;
/* 0x10 */ s32 field_0x10;
} *sp10;
sp10 = NULL;
while(1) {
osRecvMesg(&MQ_800AF320, &sp10, 1);
if (sp10->field_0x8 == 1) {
Unpack(sp10->field_0x10, sp10->field_0xc);
osSendMesg(sp10->field_0x4, sp10, 1);
} else {
__some_logging(&D_800AE038, sp10->field_0x8);
}
}
}
INCLUDE_ASM(const s32, "A370", func_8007ACB0);
INCLUDE_ASM(const s32, "A370", func_8007AE9C);
INCLUDE_ASM(const s32, "A370", func_8007AF3C);
INCLUDE_ASM(const s32, "A370", func_8007AFE4);
INCLUDE_ASM(const s32, "A370", func_8007B710);
INCLUDE_ASM(const s32, "A370", func_8007B744);
INCLUDE_ASM(const s32, "A370", func_8007B7A8);
INCLUDE_ASM(const s32, "A370", func_8007B83C);
INCLUDE_ASM(const s32, "A370", can_log_crc_error);
INCLUDE_ASM(const s32, "A370", func_8007BA98);
INCLUDE_ASM(const s32, "A370", func_8007BB48);
INCLUDE_ASM(const s32, "A370", func_8007BB90);
INCLUDE_ASM(const s32, "A370", func_8007BBC0);
INCLUDE_ASM(const s32, "A370", func_8007BBF4);
INCLUDE_ASM(const s32, "A370", func_8007BC24);
INCLUDE_ASM(const s32, "A370", func_8007BF10);
INCLUDE_ASM(const s32, "A370", func_8007C204);
INCLUDE_ASM(const s32, "A370", func_8007C25C);
INCLUDE_ASM(const s32, "A370", func_8007C378);
INCLUDE_ASM(const s32, "A370", func_8007C438);
INCLUDE_ASM(const s32, "A370", func_8007C538);
INCLUDE_ASM(const s32, "A370", __logs_read_error);
INCLUDE_ASM(const s32, "A370", func_8007C74C);
INCLUDE_ASM(const s32, "A370", func_8007CAB8);
INCLUDE_ASM(const s32, "A370", func_8007CE48);
INCLUDE_ASM(const s32, "A370", func_8007D200);
INCLUDE_ASM(const s32, "A370", func_8007D594);
INCLUDE_ASM(const s32, "A370", func_8007D5B8);
INCLUDE_ASM(const s32, "A370", func_8007D7BC);
INCLUDE_ASM(const s32, "A370", func_8007D8A8);
INCLUDE_ASM(const s32, "A370", func_8007DBF4);
INCLUDE_ASM(const s32, "A370", func_8007DDF0);
INCLUDE_ASM(const s32, "A370", func_8007DFF0);
INCLUDE_ASM(const s32, "A370", func_8007E2F8);
INCLUDE_ASM(const s32, "A370", func_8007E698);
INCLUDE_ASM(const s32, "A370", func_8007E6DC);
INCLUDE_ASM(const s32, "A370", func_8007E800);
INCLUDE_ASM(const s32, "A370", func_8007E8F0);
INCLUDE_ASM(const s32, "A370", func_8007EE2C);
INCLUDE_ASM(const s32, "A370", func_8007F1A0);
INCLUDE_ASM(const s32, "A370", func_8007F1F8);
INCLUDE_ASM(const s32, "A370", func_8007F218);
INCLUDE_ASM(const s32, "A370", func_8007F234);
INCLUDE_ASM(const s32, "A370", func_8007F314);
INCLUDE_ASM(const s32, "A370", func_8007F334);
INCLUDE_ASM(const s32, "A370", func_8007F408);
INCLUDE_ASM(const s32, "A370", func_8007F450);
INCLUDE_ASM(const s32, "A370", func_8007F47C);
INCLUDE_ASM(const s32, "A370", func_8007F4B0);
INCLUDE_ASM(const s32, "A370", func_8007F4E4);
INCLUDE_ASM(const s32, "A370", __file_read);
INCLUDE_ASM(const s32, "A370", __file_write);
void func_8007F640(void) { }
INCLUDE_ASM(const s32, "A370", func_8007F648);
INCLUDE_ASM(const s32, "A370", func_8007F844);

View File

@ -1,3 +1,4 @@
#include "PR/os.h"
#include "common.h" #include "common.h"
void __set_black(); void __set_black();
@ -14,9 +15,9 @@ void __set_black() {
/* 19FE4 80089BE4 */ /* 19FE4 80089BE4 */
void __calls_osViBlack(bool black) void __calls_osViBlack(bool black)
{ {
if (osTvType == 0) if (osTvType == OS_TV_PAL)
{ {
if (black == 1) if (black == true)
osViSetYScale(1.0f); osViSetYScale(1.0f);
else else
osViSetYScale(0.833f); osViSetYScale(0.833f);

View File

@ -1,3 +1,4 @@
#include "PR/os.h"
#include "common.h" #include "common.h"
INCLUDE_ASM(const s32, "main", func_80070C60); INCLUDE_ASM(const s32, "main", func_80070C60);
@ -132,7 +133,27 @@ INCLUDE_ASM(const s32, "main", func_80073ED8);
INCLUDE_ASM(const s32, "main", func_80073F58); INCLUDE_ASM(const s32, "main", func_80073F58);
INCLUDE_ASM(const s32, "main", func_80073FD4); // INCLUDE_ASM(const s32, "main", func_80073FD4);
extern SomethingMusic* __MAYBE_SONG_ARRAY_800A8218[7];
/* 43D4 80073FD4 */
void __initialize_song_mem(void) {
s32 mask;
s32 count;
mask = osSetIntMask(OS_IM_NONE);
for(count = 0; count < 7; count++) {
__MAYBE_SONG_ARRAY_800A8218[count]->field_0x2c = 0;
__MAYBE_SONG_ARRAY_800A8218[count]->field_0x30 = 0;
__MAYBE_SONG_ARRAY_800A8218[count]->field_0x34 = 0;
__MAYBE_SONG_ARRAY_800A8218[count]->field_0x38 = 0;
__MAYBE_SONG_ARRAY_800A8218[count]->field_0x3c = 0;
__MAYBE_SONG_ARRAY_800A8218[count]->field_0x40 = 0;
__MAYBE_SONG_ARRAY_800A8218[count]->field_0x4c = 0;
}
osSetIntMask(mask);
}
INCLUDE_ASM(const s32, "main", func_80074050); INCLUDE_ASM(const s32, "main", func_80074050);

View File

@ -1,11 +1,6 @@
#include "common.h" #include "common.h"
#include <PR/os.h> void __load_song(void*);
void __calls_romCopy_800EA488(void*);
// INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800E9C20);
extern void romCopy(const void* src, const void* dst, const s32 len); extern void romCopy(const void* src, const void* dst, const s32 len);
extern void Mus__unknown_80081DB4(const void* arg0, const void* arg1); extern void Mus__unknown_80081DB4(const void* arg0, const void* arg1);
@ -29,6 +24,7 @@ extern const u8 D_8010A760;
extern const u8 D_80164770; extern const u8 D_80164770;
extern const u8 D_80104710; extern const u8 D_80104710;
/* 3F1B0 800E9C20 */
void func_800E9C20(void) void func_800E9C20(void)
{ {
romCopy(&n64_ptr_tables_v2_00_ROM_START, &D_80164770, &n64_ptr_tables_v2_00_ROM_END - &n64_ptr_tables_v2_00_ROM_START); romCopy(&n64_ptr_tables_v2_00_ROM_START, &D_80164770, &n64_ptr_tables_v2_00_ROM_END - &n64_ptr_tables_v2_00_ROM_START);
@ -51,30 +47,7 @@ INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA0E4);
INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA1C8); INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA1C8);
typedef struct { void func_800EA3BC(SomethingMusic* arg0) {
/* 0x00 */ s32 field_0x0;
/* 0x04 */ s32 field_0x4;
/* 0x08 */ s32 field_0x8;
/* 0x0c */ s32 field_0xc;
/* 0x10 */ s32 field_0x10;
/* 0x14 */ s32 field_0x14;
/* 0x18 */ s32 field_0x18;
/* 0x1C */ s32 field_0x1c;
/* 0x20 */ s32 field_0x20;
/* 0x24 */ unsigned long handle;
/* 0x28 */ s32 field_0x28;
/* 0x2C */ s32 field_0x2c;
/* 0x30 */ s32 field_0x30;
/* 0x34 */ s32 field_0x34;
/* 0x38 */ s32 field_0x38;
/* 0x3C */ s32 field_0x3c;
/* 0x40 */ s32 field_0x40;
/* 0x44 */ s32 field_0x44;
/* 0x48 */ void* addr;
/* 0x4C */ s32 field_0x4c;
} Arg;
void func_800EA3BC(Arg* arg0) {
s32 temp_a1; s32 temp_a1;
s32 temp_v0; s32 temp_v0;
s32 temp_v1; s32 temp_v1;
@ -98,12 +71,12 @@ extern s32 func_80081B08(s32);
extern s32 D_800EB0E8; extern s32 D_800EB0E8;
void func_800EA3E4(Arg* arg0) { void func_800EA3E4(SomethingMusic* arg0) {
s32 var_v0; s32 var_v0;
if (func_80081B08(arg0->handle) == 0) { if (func_80081B08(arg0->handle) == 0) {
D_800EB0E8 = 0; D_800EB0E8 = 0;
__calls_romCopy_800EA488(arg0); __load_song(arg0);
return; return;
} }
if (arg0->field_0x38 == 0) { if (arg0->field_0x38 == 0) {
@ -122,14 +95,14 @@ void func_800EA3E4(Arg* arg0) {
} }
INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", __calls_romCopy_800EA488); INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", __load_song);
// INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA568); // INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA568);
extern s32 func_80081770(s32); extern s32 func_80081770(s32);
extern void func_80081DF0(const void*); extern void func_80081DF0(const void*);
void func_800EA568(Arg* arg0) { void func_800EA568(SomethingMusic* arg0) {
if (arg0->field_0x18 != 0) { if (arg0->field_0x18 != 0) {
if (func_80081B08(arg0->handle) != 0) { if (func_80081B08(arg0->handle) != 0) {
@ -152,7 +125,7 @@ INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA604);
// INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA6B0); // INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA6B0);
void func_800EA6B0(Arg* arg0, s32 arg1, s32 arg2) { void func_800EA6B0(SomethingMusic* arg0, s32 arg1, s32 arg2) {
arg0->field_0x4 = arg1 + 1; arg0->field_0x4 = arg1 + 1;
arg0->field_0xc = arg2; arg0->field_0xc = arg2;
arg0->field_0x4c = 1; arg0->field_0x4c = 1;

View File

@ -1,19 +1,19 @@
#include "common.h" #include "common.h"
u8 D_80187020; u8 D_80187020;
u8 D_80187021; u8 __compared_osTvType;
/* 42C30 8016CD30 */ /* 42C30 8016CD30 */
u8 func_8016CD30(void) { u8 __get_compared_osTvType(void) {
return D_80187020; return D_80187020;
} }
/* 42C3C 8016CD3C */ /* 42C3C 8016CD3C */
u8 func_8016CD3C(void) { u8 __reset_compared_osTvType(void) {
u8 temp_v0; u8 temp_v0;
temp_v0 = D_80187021; temp_v0 = __compared_osTvType;
D_80187021 = 0; __compared_osTvType = 0;
return temp_v0; return temp_v0;
} }
@ -23,9 +23,9 @@ void func_8016CD50(u8 arg0) {
} }
/* 42C5C 8016CD5C */ /* 42C5C 8016CD5C */
void func_8016CD5C(u8 arg0) { void __inc_compared_osTvType(u8 arg0) {
if (D_80187020 != arg0) { if (D_80187020 != arg0) {
D_80187021 = arg0 + 1; __compared_osTvType = arg0 + 1;
} }
D_80187020 = arg0; D_80187020 = arg0;
} }

View File

@ -1,4 +1,5 @@
maybe_boot_01 = 0x800851C0; maybe_boot_01 = 0x800851C0;
__add_0x594284 = 0x8009DD28; __add_0x594284 = 0x8009DD28;
@ -19,17 +20,25 @@ osAiSetFrequency = 0x8008C430;
osAiGetLength = 0x8008C410; osAiGetLength = 0x8008C410;
osAiGetStatus = 0x8008C420; osAiGetStatus = 0x8008C420;
__osException = 0x80098D70; __osException = 0x80098D70;
__osExceptionPreamble = 0x80098D60; __osExceptionPreamble = 0x80098D60;
dtor_rotate = 0x800ABAE0; // type:f32
ldigs = 0x800ABC30; // type:asciz
udigs = 0x800ABC44; // type:asciz
_Litob = 0x8009B670;
__osSiRawWriteIo = 0x __osSiRawWriteIo = 0x
__osFinalrom = 0x800E82C0; __osFinalrom = 0x800E82C0; // type:u32
osViClock = 0x800ABAC8; osViClock = 0x800ABAC8; // type:s32
__OSGlobalIntMask = 0x800ABAD0; // type:u32
__osShutdown = 0x800ABACC; // type:u32
__osSiRawReadIo = 0x8009A830; __osSiRawReadIo = 0x8009A830;
__osSiRawWriteIo = 0x8009A880; __osSiRawWriteIo = 0x8009A880;
osResetType = 0x8000030C; osResetType = 0x8000030C;
osAppNMIBuffer = 0x8000031C; osAppNMIBuffer = 0x8000031C;
osClockRate = 0x800ABAC0; osClockRate = 0x800ABAC0; // type:u64
osPiRawStartDma = 0x800997F0; osPiRawStartDma = 0x800997F0;
osEPiRawStartDma = 0x8008BA50; osEPiRawStartDma = 0x8008BA50;
@ -168,10 +177,18 @@ osViGetCurrentFramebuffer = 0x800951E0;
osViModeTable = 0x800AA7E0; osViModeTable = 0x800AA7E0;
osViSetMode = 0x800955C0; osViSetMode = 0x800955C0;
osViSetEvent = 0x80095560; osViSetEvent = 0x80095560;
vi = 0x800ABB70; // size:0x60
__osViCurr = 0x800ABBD0;
__osViNext = 0x800ABBD4; __osViNext = 0x800ABBD4;
osViBlack = 0x80095B30; osViBlack = 0x80095B30;
osViSetSpecialFeatures = 0x80095610; osViSetSpecialFeatures = 0x80095610;
osViModeNtscHpf1 = 0x800AB9B0;
osViModeMpalHpf1 = 0x800ABA50;
osViModePalLan1 = 0x800ABBE0;
osViModeMpalLan1 = 0x800ABA00;
osViModeNtscLan1 = 0x800AB960;
__init_controllers = 0x80089C60; __init_controllers = 0x80089C60;
MusFxBankInitialize = 0x80081F7C; // rom:0x1237C MusFxBankInitialize = 0x80081F7C; // rom:0x1237C
@ -188,7 +205,7 @@ __calls_romCopy_8009DBB8 = 0x8009DBB8;
__calls_romCopy_8009DD38 = 0x8009DD38; __calls_romCopy_8009DD38 = 0x8009DD38;
__calls_romCopy_8009DE40 = 0x8009DE40; __calls_romCopy_8009DE40 = 0x8009DE40;
__calls_romCopy_8009DF48 = 0x8009DF48; __calls_romCopy_8009DF48 = 0x8009DF48;
__calls_romCopy_800EA488 = 0x800EA488; //__calls_romCopy_800EA488 = 0x800EA488;
__start_thread_800BE1C0 = 0x8008B0B0; __start_thread_800BE1C0 = 0x8008B0B0;
__start_thread_800B9C88 = 0x80089660; __start_thread_800B9C88 = 0x80089660;
@ -206,6 +223,7 @@ __MUS_MEM_800B1870 = 0x800B1870;
__MUS_MEM_800B1868 = 0x800B1868; __MUS_MEM_800B1868 = 0x800B1868;
MQ_CONTROLLER = 0x800E9B88; MQ_CONTROLLER = 0x800E9B88;
MQ_SWAP_BUFFER = 0x800E9BA8;
MQ_800E7988 = 0x800E7988; MQ_800E7988 = 0x800E7988;
MQ_800C4A00 = 0x800C4A00; MQ_800C4A00 = 0x800C4A00;
MQ_800E9BF0 = 0x800E9BF0; MQ_800E9BF0 = 0x800E9BF0;
@ -241,7 +259,33 @@ THREAD_800B7A90 = 0x800B7A90;
THREAD_800BE1C0 = 0x800BE1C0; THREAD_800BE1C0 = 0x800BE1C0;
THREAD_800B9C88 = 0x800B9C88; THREAD_800B9C88 = 0x800B9C88;
__thread_8007AC30 = 0x8007AC30; // Name taken from error message.
UnpackProc = 0x8007AC30;
// Inferred from UnpackProc.
Unpack = 0x8007A110;
__read_u32_le = 0x8007A7E0;
__load_song = 0x800EA488;
__SONG_VOLUME = 0x800EB2E0;
__SONG_SOURCE_START = 0x800EB4F0;
__SONG_SOURCE_END = 0x800EB4F4;
__MAYBE_SONG_800EB0B0 = 0x800EB0B0; // size:0x50
__MAYBE_SONG_800EB100 = 0x800EB100; // size:0x50
__MAYBE_SONG_800EB150 = 0x800EB150; // size:0x50
__MAYBE_SONG_800EB1A0 = 0x800EB1A0; // size:0x50
__MAYBE_SONG_800EB1F0 = 0x800EB1F0; // size:0x50
__MAYBE_SONG_800EB240 = 0x800EB240; // size:0x50
__MAYBE_SONG_800EB290 = 0x800EB290; // size:0x50
// 7 pointers
__MAYBE_SONG_ARRAY_800A8218 = 0x800A8218; // size:0x1C
__initialize_song_mem = 0x80073FD4;
Stack__dma_load_loop_new = 0x80089054;
Stack__dma_load_loop_delete = 0x80089124;
__thread_8008AFE0 = 0x8008AFE0; __thread_8008AFE0 = 0x8008AFE0;
__thread_80088F08 = 0x80088F08; __thread_80088F08 = 0x80088F08;
__thread_80089200 = 0x80089200; __thread_80089200 = 0x80089200;
@ -251,6 +295,10 @@ __thread_80089540 = 0x80089540;
SWAP_BUFFER_FUNC = 0x800A9E84; SWAP_BUFFER_FUNC = 0x800A9E84;
set_swap_buffer_func = 0x800899D0; set_swap_buffer_func = 0x800899D0;
__reset_compared_osTvType = 0x8016CD3C;
__get_compared_osTvType = 0x8016CD30;
__inc_compared_osTvType = 0x8016CD5C;
__compared_osTvType = 0x80187021;
romCopy = 0x80089F80; romCopy = 0x80089F80;

View File

@ -37,3 +37,4 @@ D_80187020 = 0x80187020;
D_80187030 = 0x80187030; D_80187030 = 0x80187030;
D_8018F1A0 = 0x8018F1A0; D_8018F1A0 = 0x8018F1A0;
D_8018FC18 = 0x8018FC18; D_8018FC18 = 0x8018FC18;
D_800EB0E8 = 0x800EB0E8;