Starship/src/main/4650.c

71 lines
2.0 KiB
C
Raw Normal View History

2023-10-06 15:57:30 +03:00
#include "common.h"
2023-10-07 14:43:15 +03:00
extern s32 D_800E2010;
extern s32 D_800E2028;
2023-10-07 09:29:38 +03:00
extern s32 D_8013A040;
2023-10-07 14:43:15 +03:00
extern s32 D_8013B1F0;
extern s32 D_80138E90;
2023-10-07 09:29:38 +03:00
2023-10-07 14:43:15 +03:00
void func_800034E8(s32);
2023-10-07 09:29:38 +03:00
s32 func_80003A50(void);
2023-10-07 14:43:15 +03:00
void func_80003EE0(void);
void func_80004ABC(s32);
void func_80008018(void);
2023-10-14 10:00:11 +03:00
void osCreateThread(s32*, s32, void*, s32, s32*, s32);
void osStartThread(s32*);
void osCreateViManager(s32);
2023-10-07 14:43:15 +03:00
void func_800227A0(s32, s32*, s32*, s32);
2023-10-14 10:00:11 +03:00
void osSetThreadPri(s32, s32);
2023-10-07 09:29:38 +03:00
s32 func_8001EF10(void);
s32 func_80022B60(void);
2023-10-06 15:57:30 +03:00
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80003A50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80003B48.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80003C50.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80003DC0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80003EE0.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80003FEC.s")
2023-10-07 14:55:14 +03:00
// https://decomp.me/scratch/vo7No Random Nops missing
2023-10-06 15:57:30 +03:00
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_800040D4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80004144.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80004560.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80004714.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80004798.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80004824.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_800049D4.s")
#pragma GLOBAL_ASM("asm/us/nonmatchings/main/4650/func_80004ABC.s")
2023-10-07 14:43:15 +03:00
void func_80004D00(s32 arg0) {
2023-10-14 10:00:11 +03:00
osCreateViManager(0xFE);
2023-10-07 14:43:15 +03:00
func_80003EE0();
func_800034E8(1);
func_800227A0(0x96, &D_800E2010, &D_800E2028, 0x32);
2023-10-14 10:00:11 +03:00
osCreateThread(&D_8013A040, 3, &func_80004ABC, arg0, &D_8013B1F0, 0x64);
osStartThread(&D_8013A040);
2023-10-07 14:43:15 +03:00
func_80008018();
2023-10-14 10:00:11 +03:00
osSetThreadPri(0, 0);
2023-10-07 14:43:15 +03:00
loop_1:
goto loop_1;
}
2023-10-06 15:57:30 +03:00
2023-10-07 09:29:38 +03:00
void bootproc(void) {
func_8001EF10();
func_80022B60();
func_80003A50();
2023-10-14 10:00:11 +03:00
osCreateThread(&D_80138E90, 1, &func_80004D00, 0, &D_8013A040, 0xFF);
osStartThread(&D_80138E90);
2023-10-07 09:29:38 +03:00
}