diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2023-01-28 09:31:59 -0400 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2023-01-28 19:04:05 -0400 |
commit | a88ef2fde041e5d733b5cbe2728b15ca149d1671 (patch) | |
tree | b4b01c75a640810f6549c485a382242d25a19a97 /include/__start.h |
Initial commit
Diffstat (limited to 'include/__start.h')
-rw-r--r-- | include/__start.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/__start.h b/include/__start.h new file mode 100644 index 0000000..1cf3da4 --- /dev/null +++ b/include/__start.h @@ -0,0 +1,46 @@ +// This file was taken from the Metroid Prime decompilation project. +// https://github.com/PrimeDecomp/prime/blob/main/include/dolphin/__start.h +#ifndef _DOLPHIN__START +#define _DOLPHIN__START + +#include "dolphin/db.h" +#include "types.h" + +#define PAD3_BUTTON_ADDR 0x800030E4 +#define OS_RESET_RESTART 0 +#define EXCEPTIONMASK_ADDR 0x80000044 +#define BOOTINFO2_ADDR 0x800000F4 +#define OS_BI2_DEBUGFLAG_OFFSET 0xC +#define ARENAHI_ADDR 0x80000034 +#define DEBUGFLAG_ADDR 0x800030E8 +#define DVD_DEVICECODE_ADDR 0x800030E6 + +#define MSR_FP 0x2000 + +extern void InitMetroTRK(); + +u16 Pad3Button : PAD3_BUTTON_ADDR; +static u8 Debug_BBA = 0; + +extern void memset(void*, int, int); +extern int main(int argc, char* argv[]); +extern void exit(int); +extern void __init_user(void); +extern void OSInit(void); +extern void DBInit(void); +extern void OSResetSystem(BOOL reset, u32 resetCode, BOOL forceMenu); +extern void __OSCacheInit(void); +extern void __OSPSInit(void); + +__declspec(section ".init") extern void __check_pad3(void); +__declspec(section ".init") extern void __start(void); +__declspec(section ".init") extern void __init_registers(void); +__declspec(section ".init") extern void __init_data(void); +__declspec(section ".init") extern void __init_hardware(void); +__declspec(section ".init") extern void __flush_cache(void* address, unsigned int size); + +__declspec(section ".init") extern char _stack_addr[]; +__declspec(section ".init") extern char _SDA_BASE_[]; +__declspec(section ".init") extern char _SDA2_BASE_[]; + +#endif // _DOLPHIN__START |