From 120e13f0c0e5189878a5ea851e641112a68b48d2 Mon Sep 17 00:00:00 2001 From: gijs Date: Thu, 19 Oct 2023 17:11:57 +0200 Subject: [PATCH] Decompiled `func_80073398` Changed some other types related to this function Removed `obMain` for now --- include/common.h | 4 +- src/main.c | 186 ++++++----------------------------------------- 2 files changed, 26 insertions(+), 164 deletions(-) diff --git a/include/common.h b/include/common.h index 541222f..1250e8f 100644 --- a/include/common.h +++ b/include/common.h @@ -287,7 +287,7 @@ extern void func_800E9C20(void); extern s8 D_800AEE72; extern s16 D_800C4A18; -extern s16 D_800C4AD8; +extern u16 D_800C4AD8; extern s16 D_800C4BCA; extern s16 D_800C4C08; extern s16 D_800E7A1C; @@ -319,7 +319,7 @@ typedef struct { extern Unk_800A81C0 D_800A81C0[2]; -extern void func_800712C4(Arg_800712C4*); +extern Arg_800712C4* func_800712C4(Arg_800712C4*); extern u8 D_80197168[0x10]; extern s32 D_80196F58; diff --git a/src/main.c b/src/main.c index f4f1e7c..cc622ac 100644 --- a/src/main.c +++ b/src/main.c @@ -96,14 +96,12 @@ void obControllerInit(); /* extern */ extern s32 D_800A81F4; extern s32 D_800A8204; -extern Unknown0 D_800A8210; extern Unknown1 D_800ABD80; extern Unknown1 D_800E9C08; extern s8 D_800A8213; extern u8 D_800AEF98; extern s8 D_800AEF99; extern s8 D_800AEF9A; -extern s32 D_800AEF9C; extern s8 D_800AEFA0; extern s32 D_800AEFA4; extern s8 D_800C4808; @@ -117,6 +115,11 @@ extern s32 D_8018FDC0; extern s32 D_80190F10; extern s32 D_80243DB0; +extern s8 D_800A8210; +extern s8 D_800A8211; +extern s8 D_800A8212; +extern s8 D_800A8213; + extern OSContPad __GLOBAL_CONTROLLER_DATA_COPY[4]; extern struct { // s32 field_0x0; @@ -143,165 +146,6 @@ DECLARE_SEGMENT(segment_obdata); INCLUDE_ASM(const s32, "main", obMain); -// void obMain(void* arg0) { -// s32 i; - -// osAiSetFrequency(32000); - -// func_8008A1B0(); -// bzero(func_800E9C20, (u8*)0x80400000 - (u8*)&func_800E9C20); - -// obControllerInit(); -// D_800E82C4 = func_8008A260(); - -// for(i = 0; i < 4; i++) -// D_800C47F0.field_0xc[i] = &__GLOBAL_CONTROLLER_DATA_COPY[i]; - -// // i = 3; -// // var_v1 = &D_800C47FC; -// // var_v0 = &__GLOBAL_CONTROLLER_DATA_COPY[3]; -// // do { -// // *var_v1 = var_v0; -// // var_v1 -= 4; -// // i -= 1; -// // var_v0 -= 6; -// // } while (i >= 0); - -// D_800AEF9A = 0; -// __set_fp_8008A660(func_8007284C); -// func_8008A040(); - -// osInvalICache(SEGMENT_TEXT_START(segment_song), SEGMENT_TEXT_SIZE(segment_song)); -// osInvalDCache( -// SEGMENT_DATA_START(segment_song), -// SEGMENT_RODATA_END(segment_song) - SEGMENT_DATA_START(segment_song) -// ); -// __calls_romCopy_8009DA50( -// SEGMENT_ROM_START(segment_song), -// SEGMENT_VRAM_START(segment_song), -// SEGMENT_ROM_SIZE(segment_song) -// ); -// if (SEGMENT_BSS_START(segment_song) != SEGMENT_BSS_END(segment_song)) { -// bzero(SEGMENT_BSS_START(segment_song), SEGMENT_BSS_SIZE(segment_song)); -// } - -// func_800E9CEC(); -// func_800E9C20(); - -// MusSetMasterVolume(MUSFLAG_EFFECTS, 0x67FF); -// MusSetMasterVolume(MUSFLAG_SONGS, 0x7FFF); - -// D_800AEF98 = 0; -// while(true) { -// func_800EA714(); -// __initialize_song_mem(); - -// osInvalICache(SEGMENT_TEXT_START(segment_obdata), SEGMENT_TEXT_SIZE(segment_obdata)); -// osInvalDCache( -// SEGMENT_DATA_START(segment_obdata), -// SEGMENT_RODATA_END(segment_obdata) - SEGMENT_DATA_START(segment_obdata) -// ); -// __calls_romCopy_8009DA50( -// SEGMENT_ROM_START(segment_obdata), -// SEGMENT_VRAM_START(segment_obdata), -// SEGMENT_ROM_SIZE(segment_obdata) -// ); -// if (SEGMENT_BSS_START(segment_obdata) != SEGMENT_BSS_END(segment_obdata)) { -// bzero(SEGMENT_BSS_START(segment_obdata), SEGMENT_BSS_SIZE(segment_obdata)); -// } -// bzero(SEGMENT_BSS_START(segment_obdata), SEGMENT_BSS_SIZE(segment_obdata)); - -// func_80089AB0(&D_800A8204, 3); -// set_swap_buffer_func(__calls_osViSwapBuffer_8007307C); - -// bzero(D_800A81C0, 0x30); -// D_800A81F0.field_0x0 = 0; -// // D_800A81F0.field_0x1 = 0; -// // D_800A81F0.field_0x2 = 0; - -// D_800A8210.field_0x0 = 0; -// D_800A8210.field_0x1 = 0; -// D_800A8210.field_0x2 = 0; -// D_800A8213 = 0; -// D_800E7A0C = 1; - -// D_800C4808 = 0; -// D_800E810C = 0; -// D_800C4CE4 = 1; -// D_800AEFA0 = 0; -// D_800A81F4 = 0; -// D_800AEFA4 = D_800C4BCC; -// if (D_800AEF98 != 3) { -// D_800E9C08 = D_800ABD80; -// } -// D_800AEF98 = 0; -// D_800AEF99 = 0; - -// func_800727D8(); - -// func_80070C60(&D_80243DB0, (u8*)0x80400000 - (u8*)&D_80243DB0); - -// func_8009DAEC(); -// func_80079380(); -// func_80072710(); - -// __calls_copy_controller_data(); -// if (__MAIN_START_BUT_CHECK & 0x1000) { -// __MAIN_START_BUT_STATE = 0x18; -// } else { -// __MAIN_START_BUT_STATE = 9; -// } - -// func_80179060(); -// func_800EA8E0(); -// func_80173610(); -// func_80073164(0, 8, 2, 0x40, 0x40, 0x100, 0x1000); -// D_800AEF9C = 0; -// D_800C4B20 = 0; -// D_800A8213 = 0; -// D_800A8210.field_0x0 = 0; -// D_800A8210.field_0x1 = 0; -// D_800A8210.field_0x2 = 0; -// __set_obPtrPtrDisplayList(&obPtrDisplayList); -// D_8018FDC0 = 0; -// func_8017BDC0(); -// func_80184D70(); -// func_8016C900(); - -// bzero(D_80197168, 0x10); -// func_800746C8(); -// func_800749C0(0xE); -// func_800764E0(); - -// if (__MAIN_NOT_NULL_INF_LOOP != 0) -// while(true); - -// func_80072900(); -// __set_black(); -// __set_vi_mode(2); -// func_8016CD50(0); -// __set_black(); -// func_800728BC(); -// __calls_loads_overlay_array(); -// func_80072900(); -// __set_black(); -// __dma_load_loop(5); -// __set_vi_mode(2); -// func_8016CD50(0); -// __set_black(); - -// do { -// __dma_load_loop(1); -// } while (func_80073F58() != 0); - -// __initialize_song_mem(); -// MusStop(MUSFLAG_SONGS | MUSFLAG_EFFECTS, 8); -// while (MusAsk(MUSFLAG_SONGS | MUSFLAG_EFFECTS)) -// __dma_load_loop(1); -// } -// } - - INCLUDE_ASM(const s32, "main", func_80072398); /* 2B10 80072710 */ @@ -514,7 +358,25 @@ u8 func_8007338C(void) { return D_800A8213; } -INCLUDE_ASM(const s32, "main", func_80073398); +// INCLUDE_ASM(const s32, "main", func_80073398); +void func_8007328C(); /* extern */ +extern s8 D_800A8210; +extern s8 D_800A8211; +extern s8 D_800A8212; +extern s8 D_800A8213; +extern Arg_800712C4* D_800AEF9C; + +void func_80073398(void) { + func_80089A10(); + func_8007328C(); + D_800A8213 = 0; + D_800A8212 = 0; + D_800A8211 = 0; + D_800A8210 = 0; + D_800AEF9C = func_800712C4(D_800AEF9C); + D_800C4B20 = 0; +} + INCLUDE_ASM(const s32, "main", func_800733F8);