Added ultra64.h to common.h
Identified more code Reversed a bit more
This commit is contained in:
parent
6c320bd123
commit
7ad1f85eac
|
|
@ -3,4 +3,6 @@
|
|||
|
||||
#include "include_asm.h"
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
#endif
|
||||
27
splat.yaml
27
splat.yaml
|
|
@ -98,12 +98,12 @@ segments:
|
|||
- [0x189D0, asm]
|
||||
- [0x18F30, asm]
|
||||
- [0x18F80, asm]
|
||||
- [0x19050, asm]
|
||||
- [0x19050, c]
|
||||
- [0x19DD0, c]
|
||||
- [0x19E10, asm]
|
||||
- [0x19E30, asm, "dma_load_loop"]
|
||||
- [0x19EB0, asm]
|
||||
- [0x19FC0, asm]
|
||||
- [0x19FC0, c]
|
||||
- [0x1A050, c]
|
||||
- [0x1A4F0, asm]
|
||||
- [0x1A5B0, asm]
|
||||
|
|
@ -193,17 +193,17 @@ segments:
|
|||
- [0x25140, asm, "libultra/os/settimer"]
|
||||
- [0x251E0, asm, "libultra/os/timerintr"]
|
||||
- [0x254E0, asm, "libultra/os/probetlb"]
|
||||
- [0x255A0, asm]
|
||||
- [0x255E0, asm]
|
||||
- [0x255A0, asm, "libultra/io/vigetnextframebuf"]
|
||||
- [0x255E0, asm, "libultra/io/vigetframebuf"]
|
||||
- [0x25620, asm, "libultra/io/vimgr"]
|
||||
- [0x25960, asm, "libultra/io/visetevent"]
|
||||
- [0x259C0, asm]
|
||||
- [0x25A10, asm]
|
||||
- [0x25B80, asm]
|
||||
- [0x25BD0, asm]
|
||||
- [0x259C0, asm, "libultra/io/visetmode"]
|
||||
- [0x25A10, asm, "libultra/io/visetspecial"]
|
||||
- [0x25B80, asm, "libultra/io/visetyscale"]
|
||||
- [0x25BD0, asm, "libultra/io/viswapbuf"]
|
||||
- [0x25C20, asm, "libultra/io/viswapcontext"]
|
||||
- [0x25F30, asm]
|
||||
- [0x25F90, asm]
|
||||
- [0x25F30, asm, "libultra/io/viblack"]
|
||||
- [0x25F90, asm, "libultra/io/pfsallocatefile"]
|
||||
- [0x263C0, asm]
|
||||
- [0x265E0, asm]
|
||||
- [0x26BC0, asm]
|
||||
|
|
@ -211,8 +211,8 @@ segments:
|
|||
- [0x26E90, asm, "libultra/io/pfsinitpak"]
|
||||
- [0x27260, asm]
|
||||
- [0x272C0, asm, "libultra/io/pfsgetstatus"]
|
||||
- [0x274D0, asm]
|
||||
- [0x27540, asm, "libultra/io/contpfs"]
|
||||
- [0x274D0, asm, "libultra/io/contpfs"]
|
||||
- [0x27540, asm]
|
||||
- [0x27FD0, asm, "libultra/io/contramread"]
|
||||
- [0x281C0, asm, "libultra/io/contramwrite"]
|
||||
- [0x28430, asm]
|
||||
|
|
@ -286,7 +286,8 @@ segments:
|
|||
- [0x2D7F0, asm]
|
||||
- [0x2DC80, asm]
|
||||
- [0x2DDF0, asm]
|
||||
- [0x2DE10, asm]
|
||||
- [0x2DE10, c]
|
||||
- [0x2E450, data]
|
||||
- [0x3A800, asm]
|
||||
- [0x3A840, asm]
|
||||
- [0x3AB10, asm]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,83 @@
|
|||
#include "PR/os.h"
|
||||
#include "common.h"
|
||||
|
||||
void func_8008949C(void*);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", __idle_start_4_threads);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_80088EF0);
|
||||
|
||||
typedef struct {
|
||||
/* 0x00 */ OSMesgQueue field_0x0;
|
||||
/* 0x30 */ u8 field_0x30[0x58];
|
||||
/* 0x88 */ OSMesgQueue field_0x70;
|
||||
/* 0x74 */ u8 field_0x74[0x20];
|
||||
/* 0xa8 */ OSMesgQueue field_0xa8;
|
||||
} Unk0;
|
||||
|
||||
extern Unk0 MQ_800E8B4C;
|
||||
|
||||
Unk0* func_80088EFC(void) {
|
||||
return &MQ_800E8B4C;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", __thread_80088F08);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_80089054);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_800890E4);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_80089124);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_800891A0);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", __thread_80089200);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", __thread_80089358);
|
||||
|
||||
extern OSMesgQueue MQ_800B9C40;
|
||||
extern u8 __MAIN_NOT_NULL_INF_LOOP;
|
||||
|
||||
void __thread_800893C0(void) {
|
||||
typedef struct {
|
||||
/* 0x00 */ s32 field_0x0;
|
||||
/* 0x04 */ s32 field_0x4;
|
||||
/* 0x08 */ s32 field_0x8;
|
||||
/* 0x1C */ u8 field_0x1c[0x42];
|
||||
/* 0x50 */ OSMesgQueue* field_0x50;
|
||||
} Stack0;
|
||||
|
||||
Stack0* sp10;
|
||||
void* sp14;
|
||||
|
||||
while(1) {
|
||||
osRecvMesg(&MQ_800E8B4C.field_0x0, &sp10, 1);
|
||||
if (!(__MAIN_NOT_NULL_INF_LOOP & 2)) {
|
||||
func_8008949C(sp10);
|
||||
osWritebackDCacheAll();
|
||||
osSendMesg(&MQ_800B9C40, sp10, OS_MESG_BLOCK);
|
||||
|
||||
osRecvMesg(&MQ_800E8B4C.field_0x70, &sp14, OS_MESG_BLOCK);
|
||||
osSendMesg(&MQ_800B9C40, NULL, OS_MESG_BLOCK);
|
||||
if (!(sp10->field_0x8 & 2)) {
|
||||
osRecvMesg(&MQ_800E8B4C.field_0xa8, &sp14, OS_MESG_BLOCK);
|
||||
}
|
||||
}
|
||||
osSendMesg(sp10->field_0x50, sp10, OS_MESG_BLOCK);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_8008949C);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_80089528);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_80089534);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", __thread_80089540);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", __start_thread_800B9C88);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_80089804);
|
||||
|
||||
INCLUDE_ASM(const s32, "19050", func_80089990);
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#include "common.h"
|
||||
|
||||
void __calls_osViBlack(u8);
|
||||
|
||||
// INCLUDE_ASM(const s32, "19FC0", func_80089BC0);
|
||||
extern s32 __SCREEN_IS_NOT_BLACK;
|
||||
|
||||
void __set_black(void) {
|
||||
__SCREEN_IS_NOT_BLACK = 0;
|
||||
__calls_osViBlack(1);
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "19FC0", __calls_osViBlack);
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
#include "common.h"
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
void romCopy(const void* src, const void* dst, const s32 len);
|
||||
s32 func_80089CF8(s16 arg0, s32 arg1);
|
||||
|
||||
|
|
@ -10,10 +8,10 @@ OSMesgQueue MQ_800BE030;
|
|||
OSMesg OSMESG_800BE048[0x32];
|
||||
OSThread THREAD_CONTROLLER;
|
||||
|
||||
extern s32 D_800C4BD8;
|
||||
extern s32 __SCREEN_IS_NOT_BLACK;
|
||||
|
||||
void func_80089C50(void) {
|
||||
D_800C4BD8 = 0x80;
|
||||
__SCREEN_IS_NOT_BLACK = 0x80;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
#include "common.h"
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
void __start_copy_global_controller_data(void);
|
||||
void __end_copy_global_controller_data(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
#include "PR/os.h"
|
||||
#include "common.h"
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
extern s32 D_800C4B30;
|
||||
|
||||
void func_8008A5A0(void) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
#include "common.h"
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
extern void func_8008B130(u8*);
|
||||
extern u8 D_800AA040;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,25 @@
|
|||
#include "common.h"
|
||||
|
||||
INCLUDE_ASM(const s32, "2DE10", func_8009DA10);
|
||||
|
||||
INCLUDE_ASM(const s32, "2DE10", __calls_romCopy_8009DA50);
|
||||
|
||||
void func_8009DAEC(void) { }
|
||||
|
||||
INCLUDE_ASM(const s32, "2DE10", __calls_romCopy_8009DAF4);
|
||||
|
||||
INCLUDE_ASM(const s32, "2DE10", __calls_romCopy_8009DBB8);
|
||||
|
||||
extern u8 D_594284;
|
||||
|
||||
void* __add_0x594284(s32 arg0) {
|
||||
return arg0 + &D_594284;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "2DE10", __calls_romCopy_8009DD38);
|
||||
|
||||
INCLUDE_ASM(const s32, "2DE10", __calls_romCopy_8009DE40);
|
||||
|
||||
INCLUDE_ASM(const s32, "2DE10", __calls_romCopy_8009DF48);
|
||||
|
||||
|
|
@ -1,8 +1,5 @@
|
|||
#include "PR/os.h"
|
||||
#include "common.h"
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
INCLUDE_ASM(const s32, "main", func_80070C60);
|
||||
|
||||
INCLUDE_ASM(const s32, "main", AddHeap);
|
||||
|
|
|
|||
18
src/mus.c
18
src/mus.c
|
|
@ -1,8 +1,5 @@
|
|||
#include "common.h"
|
||||
|
||||
#include <PR/os.h>
|
||||
|
||||
|
||||
extern void* musCurrentPtrBank;
|
||||
|
||||
void func_8008350C();
|
||||
|
|
@ -39,15 +36,16 @@ INCLUDE_ASM(const s32, "mus", func_80081CA0);
|
|||
|
||||
INCLUDE_ASM(const s32, "mus", func_80081D2C);
|
||||
|
||||
INCLUDE_ASM(const s32, "mus", __something_music);
|
||||
// INCLUDE_ASM(const s32, "mus", __something_music);
|
||||
|
||||
// void __something_music(void* arg0) {
|
||||
// func_8008350C();
|
||||
void Mus__unknown_80081DB4(void* arg0) {
|
||||
func_8008350C();
|
||||
|
||||
if (musCurrentPtrBank == 0) {
|
||||
musCurrentPtrBank = arg0;
|
||||
}
|
||||
}
|
||||
|
||||
// if (musCurrentPtrBank == 0) {
|
||||
// musCurrentPtrBank = arg0;
|
||||
// }
|
||||
// }
|
||||
|
||||
extern void* D_800B1828;
|
||||
|
||||
|
|
|
|||
|
|
@ -8,9 +8,10 @@ void func_800EA488(void*);
|
|||
|
||||
|
||||
extern void romCopy(const void* src, const void* dst, const s32 len);
|
||||
extern void __something_music(const void* arg0, const void* arg1);
|
||||
extern void Mus__unknown_80081DB4(const void* arg0, const void* arg1);
|
||||
extern void func_80081F7C(const void* arg);
|
||||
extern void MusFxBankSetPtrBank(const void*, const void*);
|
||||
extern void MusFxBankInitialize(const void*);
|
||||
|
||||
extern const u8 n64_ptr_tables_v2_00_ROM_START;
|
||||
extern const u8 n64_ptr_tables_v2_00_ROM_END;
|
||||
|
|
@ -34,11 +35,10 @@ void func_800E9C20(void)
|
|||
romCopy(&n64_ptr_tables_v2_01_ROM_START, &D_80104710, &n64_ptr_tables_v2_01_ROM_END - &n64_ptr_tables_v2_01_ROM_START);
|
||||
romCopy(&n64_wave_data_ROM_START, &D_8010A760, &n64_wave_data_ROM_END - &n64_wave_data_ROM_START);
|
||||
|
||||
__something_music(&D_80164770, &n64_wave_table_00_ROM_START);
|
||||
__something_music(&D_80104710, &n64_wave_table_01_ROM_START);
|
||||
|
||||
func_80081F7C(&D_8010A760);
|
||||
Mus__unknown_80081DB4(&D_80164770, &n64_wave_table_00_ROM_START);
|
||||
Mus__unknown_80081DB4(&D_80104710, &n64_wave_table_01_ROM_START);
|
||||
|
||||
MusFxBankInitialize(&D_8010A760);
|
||||
MusFxBankSetPtrBank(&D_8010A760, &D_80104710);
|
||||
}
|
||||
|
||||
|
|
@ -70,7 +70,8 @@ typedef struct {
|
|||
/* 0x3C */ s32 field_0x3c;
|
||||
/* 0x40 */ s32 field_0x40;
|
||||
/* 0x44 */ s32 field_0x44;
|
||||
/* 0x48 */ u8* addr;
|
||||
/* 0x48 */ void* addr;
|
||||
/* 0x4C */ s32 field_0x4c;
|
||||
} Arg;
|
||||
|
||||
void func_800EA3BC(Arg* arg0) {
|
||||
|
|
@ -149,7 +150,14 @@ void func_800EA568(Arg* arg0) {
|
|||
|
||||
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) {
|
||||
arg0->field_0x4 = arg1 + 1;
|
||||
arg0->field_0xc = arg2;
|
||||
arg0->field_0x4c = 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "overlays/overlay0/3F1B0", func_800EA6C8);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,28 @@
|
|||
|
||||
maybe_boot_01 = 0x800851C0;
|
||||
|
||||
__add_0x594284 = 0x8009DD28;
|
||||
|
||||
D_800A81C0 = 0x800A81C0; // size:0x30
|
||||
D_800C4BBC = 0x800C4BBC; // size:0x8
|
||||
D_800AEFE0 = 0x800AEFE0; // size:0x8
|
||||
D_80197168 = 0x80197168; // size:0x10
|
||||
|
||||
D_800E7D90 = 0x800E7D90; // size:0x58
|
||||
D_800E7DE8 = 0x800E7DE8; // size:0x58
|
||||
|
||||
__SCREEN_IS_NOT_BLACK = 0x800C4BD8;
|
||||
__calls_osViBlack = 0x80089BE4;
|
||||
__set_black = 0x80089BC0;
|
||||
|
||||
__MAIN_NOT_NULL_INF_LOOP = 0x800C4800;
|
||||
__MAIN_START_BUT_CHECK = 0x800E79B0; // size:0x14
|
||||
__MAIN_START_BUT_STATE = 0x800E8214;
|
||||
|
||||
__thread_80089358 = 0x80089358;
|
||||
__idle_start_4_threads = 0x80088C50;
|
||||
|
||||
|
||||
__CONTROLLER_0_BUTTON = 0x800E8700;
|
||||
__menu_handle_input = 0x8019B8AC; // type:func
|
||||
|
||||
|
|
@ -105,6 +127,13 @@ __osSetSR = 0x8009A720;
|
|||
__osSpGetStatus = 0x800939F0;
|
||||
__osSpSetStatus = 0x8009A760;
|
||||
|
||||
osViGetNextFramebuffer = 0x800951A0;
|
||||
osViSetYScale = 0x80095780;
|
||||
osViSwapBuffer = 0x800957D0;
|
||||
osPfsAllocateFile = 0x80095B90;
|
||||
__osPfsDeclearPage = 0x80095E9C;
|
||||
__osPfsSelectBank = 0x800970D0;
|
||||
|
||||
osDpSetNextBuffer = 0x8009A630;
|
||||
__scExec = 0x800943A4;
|
||||
__scAppendList = 0x8009434C;
|
||||
|
|
@ -112,11 +141,12 @@ __scTaskComplete = 0x800942C0;
|
|||
__scTaskReady = 0x8009426C;
|
||||
__scHandleRDP = 0x800941DC;
|
||||
|
||||
osViGetCurrentFramebuffer = 0x800951E0;
|
||||
osViModeTable = 0x800AA7E0;
|
||||
osViSetMode = 0x800955C0;
|
||||
osViSetEvent = 0x80095560;
|
||||
__osViNext = 0x800ABBD4;
|
||||
osViBlack = 0x80089BE4;
|
||||
osViBlack = 0x80095B30;
|
||||
osViSetSpecialFeatures = 0x80095610;
|
||||
|
||||
__init_controllers = 0x80089C60;
|
||||
|
|
@ -127,7 +157,7 @@ MusFxBankInitialize = 0x80081F7C; // rom:0x1237C
|
|||
osUnmapTLBAll = 0x8009AB00;
|
||||
osMapTLBRdb = 0x8009AAA0;
|
||||
|
||||
__something_music = 0x80081DB4;
|
||||
Mus__unknown_80081DB4 = 0x80081DB4;
|
||||
__real_read_controller = 0x8008A42C;
|
||||
__calls_romCopy_8009DA50 = 0x8009DA50;
|
||||
__calls_romCopy_8009DAF4 = 0x8009DAF4;
|
||||
|
|
|
|||
|
|
@ -105,5 +105,3 @@ func_80243600 = 0x80243600;
|
|||
func_8024366C = 0x8024366C;
|
||||
func_802439E0 = 0x802439E0;
|
||||
func_80243B94 = 0x80243B94;
|
||||
|
||||
func_80081F7C = 0x80081F7C;
|
||||
Loading…
Reference in New Issue