From ef9826c23ebe8ab9b653c62de7b914a9697080f9 Mon Sep 17 00:00:00 2001 From: gijs Date: Thu, 19 Oct 2023 18:07:00 +0200 Subject: [PATCH] Decompiled `__set_vi_mode` --- include/common.h | 2 ++ src/main.c | 27 +++++++++++++++++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/include/common.h b/include/common.h index 1250e8f..0af42d0 100644 --- a/include/common.h +++ b/include/common.h @@ -231,6 +231,8 @@ extern void func_8008949C(void** buffers); extern void func_8008350C(); extern void func_8008B1D0(u8*); +extern void __set_vi_mode(s32); + typedef struct { /* 0x00 */ u32 vram_start; /* 0x04 */ u32 vram_end; diff --git a/src/main.c b/src/main.c index b322289..80671cd 100644 --- a/src/main.c +++ b/src/main.c @@ -19,7 +19,6 @@ void __dma_load_loop(s32); /* extern */ void __initialize_song_mem(); /* extern */ void __set_fp_8008A660(void(*)(u16)); /* extern */ void __set_obPtrPtrDisplayList(Gfx**); /* extern */ -void __set_vi_mode(s32); /* extern */ void func_80070C60(s32*, s32); /* extern */ void func_80072710(); /* extern */ void func_800727D8(); /* extern */ @@ -166,7 +165,31 @@ void func_80072710(void) { } } -INCLUDE_ASM(const s32, "main", __set_vi_mode); +/* 2B38 80072738 */ +void __set_vi_mode(s32 arg0) { + switch (osTvType) { + case 1: + switch (arg0) { + case 2: + osViSetMode(&osViModeNtscLan1); + break; + case 9: + osViSetMode(&osViModeNtscHpf1); + break; + } + break; + case 2: + switch (arg0) { + case 2: + osViSetMode(&osViModeMpalLan1); + break; + case 9: + osViSetMode(&osViModeMpalHpf1); + break; + } + break; + } +} /* 2BD8 800727D8 */ void func_800727D8(void) {