Compare commits

..

No commits in common. "a59d54c56d9e744cc76162544273a9d0787799d3" and "3898d55536025abc049f731e70fff44112dbe0f2" have entirely different histories.

10 changed files with 78 additions and 85 deletions

View File

@ -159,6 +159,12 @@ extern void __calls_osViBlack(bool black);
extern void __osViSwapBuffer_3(void** buffers);
extern s32 __read_controller(OSContPad* data, u32 flags);
extern s32 __real_read_controller(void);
extern void func_8008A354();
extern void func_8008A37C();
extern void func_8008350C();
extern void __set_vi_mode(s32);

View File

@ -96,38 +96,27 @@ nuSiCallBackRemove = 0x8008B1D0;
nuContDataClose = 0x8008A354;
nuContDataOpen = 0x8008A37C;
nuContDataGetAll = 0x8008A600;
nuContRetraceImpl = 0x8008A47C;
nuContRetrace = 0x8008A47C;
nuContReadFuncSet = 0x8008A660;
nuContPakMgrInit = 0x8008A6A0;
nuContPakMgrRemove = 0x8008A6C0;
nuContPakOpenImpl = 0x8008A6E0;
nuContPakGetFreeImpl = 0x8008A730;
nuContPakFileReadWriteImpl = 0x8008A758;
nuContPakFileOpenImpl = 0x8008A798;
nuContPakFileDeleteImpl = 0x8008A850;
nuContPakFileStateImpl = 0x8008A890;
nuContPakFileNumImpl = 0x8008A8BC;
nuContPakRepairIdImpl = 0x8008A8E8;
nuContPakCodeSet = 0x8008AE40;
nuContPakJisToN64 = 0x8008A910;
nuContPakN64ToJis = 0x8008AA5C;
nuContPakOpen = 0x8008ABD0;
nuContPakOpenImpl = 0x8008A6E0;
nuContPakGetFree = 0x8008AC30;
nuContPakGetFreeImpl = 0x8008A730;
nuContPakFileReadWrite = 0x8008AE90;
nuContPakFileReadWriteImpl = 0x8008A758;
nuContPakFileOpen = 0x8008ACA0;
nuContPakFileOpenJis = 0x8008AD60;
nuContPakFileOpenImpl = 0x8008A798;
nuContPakFileDelete = 0x8008AEE0;
nuContPakFileDeleteImpl = 0x8008A850;
nuContPakFileState = 0x8008AF20;
nuContPakFileStateImpl = 0x8008A890;
nuContPakFileNumImpl = 0x8008A8BC;
nuContPakRepairId = 0x8008AC70;
nuContReadDataImpl = 0x8008A3A4;
nuContReadImpl = 0x8008A508;
nuContReadNWImpl = 0x8008A528;
nuContQueryImpl = 0x8008A42C;
nuContPakRepairIdImpl = 0x8008A8E8;
obUnpackThreadStart = 0x8007ABAC;
@ -168,6 +157,8 @@ osPfsNumFiles = 0x80096A90; // rom:0x26E90
osAiSetNextBuffer = 0x8008C550; // rom:0x1C950
__osAiDeviceBusy = 0x80099BC0; // rom:0x29FC0
__OVERLAY_INFO_8018F330 = 0x8018F330; // size:0x14
__OVERLAY_INFO_8018F344 = 0x8018F344; // size:0x14
__OVERLAY_INFO_8018F330 = 0x8018F330; // size:0x14
__OVERLAY_INFO_8018F344 = 0x8018F344; // size:0x14
__OVERLAY_INFO_8018FC1C = 0x8018FC1C; // size:0x14
@ -517,6 +508,8 @@ obElementNameFlameBane = 0x801876F0; // rom:0x5D5F0 type:asciz
//obAbilityNameMirageSlash = 0x80187BB8; // type:asciz rom:0x5DAB8 size:13
//obAbilityNameFatalDance = 0x80187BC8; // type:asciz rom:0x5DAC8 size:12
D_80187BD4 = 0x80187BD4; // rom:0x5DAD4 type:u32
// TODO: Figure this out
FP_CLASS_GET_ITEM_0 = 0x80186FD4; // rom:0x5CED4 size:16 type:u32
FP_CLASS_GET_ITEM_1 = 0x8018B494; // rom:0x61394 size:16 type:u32
@ -738,21 +731,26 @@ __loads_overlay_array = 0x800761E4;
__get_overlay_index = 0x80076430;
__calls_loads_overlay_array = 0x80075BC0;
D_800A81C0 = 0x800A81C0; // size:0x30
__add_0x594284 = 0x8009DD28;
__log_lha_error = 0x8007BB90;
__osPiTable = 0x800AA41C; // rom:0x3A81C
osEPiLinkHandle = 0x8008BCE0; // rom:0x1C0E0
osEPiLinkHandle = 0x8008BCE0l // rom:0x1C0E0
CartRomHandle = 0x800C4C50; // size:0x2A
osCartRomInit = 0x8008BD30;
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
D_800AEFE0 = 0x800AEFE0; // size:0x8
D_800E82C8 = 0x800E82C8; // size:0x3F0 type:u8
D_800C4C10 = 0x800C4C10; // size:0xC type:u8
@ -786,6 +784,7 @@ ldigs = 0x800ABC30; // type:asciz
udigs = 0x800ABC44; // type:asciz
_Litob = 0x8009B670;
__osSiRawWriteIo = 0x
__osFinalrom = 0x800E82C0; // type:u32
osViClock = 0x800ABAC8; // type:s32
__OSGlobalIntMask = 0x800ABAD0; // type:u32
@ -816,6 +815,10 @@ __resets_menu_timer = 0x8019B2E0; // rom:0x1D17E0
__calls_resets_menu_timer = 0x80177A1C; // rom:0x4D91C
__MENU_INDEX = 0x801BA94C;
__GLOBAL_WITH__inc_menu_timer = 0x8018FB20;
__osSetTimerIntr = 0x80094F70;
__osInsertTimer = 0x80094FD0;
osSetTime = 0x80094D20;
@ -942,6 +945,7 @@ osViModeNtscLan1 = 0x800AB960;
osUnmapTLBAll = 0x8009AB00;
osMapTLBRdb = 0x8009AAA0;
__real_read_controller = 0x8008A42C;
__calls_romCopy_8009DA50 = 0x8009DA50;
__calls_romCopy_8009DAF4 = 0x8009DAF4;
__calls_romCopy_8009DBB8 = 0x8009DBB8;
@ -960,11 +964,13 @@ __MUS_MEM_800B1868 = 0x800B1868;
MQ_SWAP_BUFFER = 0x800E9BA8;
MQ_800E7988 = 0x800E7988;
MQ_800C35A0 = 0x800C35A0;
obUnpackQueue = 0x800AF320;
MQ_800B1880 = 0x800B1880;
MQ_800E79C8 = 0x800E79C8;
MQ_800C49E8 = 0x800C49E8;
OSMESG_800B1870 = 0x800B1870;
OSMESG_800B17D0 = 0x800B17D0;
OSMESG_800B17E0 = 0x800B17E0;
OSMESG_800B9C58 = 0x800B9C58;
@ -1022,6 +1028,9 @@ romCopy_256 = 0x80074CF0; // rom:0x50F0
__GLOBAL_CONTROLLER_DATA_COPY = 0x0800AEE78; // size:0x18
__calls_copy_controller_data = 0x8007297C;
__read_controller = 0x8008A3A4;
__calls_read_controller_1 = 0x8008A508;
__calls_read_controller_2 = 0x8008A528;
STR_CRC_error = 0x800AE2A0;
__file_open = 0x8007F4E4; // rom:0xF8E4
@ -1219,6 +1228,7 @@ __osDpDeviceBusy = 0x8009C350;
siAccessBuf = 0x800C35A0;
__osSiRawStartDma = 0x800946C0;
__osSiRawStartDma = 0x800946C0;
__osSiRelAccess = 0x80094830;
__osSiGetAccess = 0x800947C4;

View File

@ -22,8 +22,8 @@ options:
# src_path: src
# build_path: build
extensions_path: tools/splat_ext
# string_encoding: SHIFT-JIS
# data_string_encoding: SHIFT-JIS
string_encoding: SHIFT-JIS
data_string_encoding: SHIFT-JIS
# mips_abi_float_regs: o32
# section_order: [".text", ".data", "rodata", ".bss"]
# auto_all_sections: [".data", "rodata", ".bss"]
@ -132,13 +132,13 @@ segments:
- [0x1AA40, c, "nu/nucontqueryread"]
- [0x1AA60, c, "nu/nucontreadfuncset"]
- [0x1AAA0, c, "nu/nucontpakmgr"]
- [0x1AD10, c, "nu/nucontpakconv"]
- [0x1AD10, asm]
- [0x1AFD0, c, "nu/nucontpakopen"]
- [0x1B030, c, "nu/nucontpakgetfree"]
- [0x1B070, c, "nu/nucontpakrepairid"]
- [0x1B0A0, c, "nu/nucontpakfileopen"]
- [0x1B160, c, "nu/nucontpakfileopenjis"]
- [0x1B240, c, "nu/nucontpakcodeset"]
- [0x1B160, asm]
- [0x1B240, asm]
- [0x1B290, c, "nu/nucontpakfilereadwrite"]
- [0x1B2E0, c, "nu/nucontpakfiledelete"]
- [0x1B320, c, "nu/nucontpakfilestate"]

View File

@ -45,10 +45,7 @@ void nuContDataOpen(void) {
osRecvMesg(&nuContDataMutexQ, NULL, OS_MESG_BLOCK);
}
extern void func_8008A354();
extern void func_8008A37C();
s32 nuContReadDataImpl(OSContPad* data, u32 flags) {
s32 __read_controller(OSContPad* data, u32 flags) {
s32 res;
res = osContStartReadData(&nuSiMesgQ);
@ -66,27 +63,27 @@ s32 nuContReadDataImpl(OSContPad* data, u32 flags) {
return 0;
}
s32 nuContQueryImpl(NUSiCommonMesg* mesg) {
s32 ret = osContStartQuery(&nuSiMesgQ);
if (ret != 0) {
return ret;
}
s32 __real_read_controller(void) {
s32 var_v0;
var_v0 = osContStartQuery(&nuSiMesgQ);
if (var_v0 == 0) {
osRecvMesg(&nuSiMesgQ, NULL, OS_MESG_BLOCK);
osContGetQuery(nuContStatus);
return ret;
return 0;
} else {
return var_v0;
}
}
s32 nuContRetraceImpl(NUSiCommonMesg* mesg) {
s32 nuContRetrace(NUSiCommonMesg* mesg) {
if(nuContDataLockKey) {
return NU_SI_CALLBACK_CONTINUE;
}
osRecvMesg(&nuContWaitMesgQ, NULL, OS_MESG_NOBLOCK);
nuContReadDataImpl(nuContData, 1);
__read_controller(nuContData, 1);
if(nuContReadFunc != NULL) {
nuContReadFunc(mesg->mesg);
@ -97,24 +94,27 @@ s32 nuContRetraceImpl(NUSiCommonMesg* mesg) {
return NU_SI_CALLBACK_CONTINUE;
}
void nuContReadImpl(NUSiCommonMesg* mesg) {
nuContReadDataImpl((OSContPad*)mesg->dataPtr, 0);
typedef struct {
/* 0x0 */ u8 field_0x0[0xc];
/* 0xC */ OSContPad* data;
} Arg___calls_read_controller_1;
void __calls_read_controller_1(Arg___calls_read_controller_1* arg) {
__read_controller(arg->data, 0);
}
s32 nuContReadNWImpl(NUSiCommonMesg* mesg) {
s32 rtn;
s32 __calls_read_controller_2(s16* arg0) {
s32 var_v0;
osRecvMesg(&nuContWaitMesgQ, NULL, OS_MESG_NOBLOCK);
rtn = nuContReadDataImpl(nuContData, 0);
if (rtn) {
return rtn;
osRecvMesg(&nuContWaitMesgQ, NULL, 0);
var_v0 = __read_controller(nuContData, 0);
if (var_v0 == 0) {
if (nuContReadFunc != NULL) {
nuContReadFunc(*arg0);
}
if(nuContReadFunc != NULL) {
(*nuContReadFunc)(mesg->mesg);
return 0;
} else {
return var_v0;
}
return rtn;
}

View File

@ -1,9 +0,0 @@
#include "common.h"
#include "nu/nusys.h"
/* 1B240 8008AE40 */
void nuContPakCodeSet(u8* companyCode, u8* gameCode) {
bcopy(companyCode, &nuContPakCompanyCode, 2);
bcopy(gameCode, &nuContPakGameCode, 4);
}

View File

@ -1,5 +0,0 @@
#include "common.h"
INCLUDE_ASM(const s32, "nu/nucontpakconv", nuContPakJisToN64);
INCLUDE_ASM(const s32, "nu/nucontpakconv", nuContPakN64ToJis);

View File

@ -1,3 +0,0 @@
#include "common.h"
INCLUDE_ASM(const s32, "nu/nucontpakfileopenjis", nuContPakFileOpenJis);

View File

@ -4,12 +4,12 @@
/* 1B320 8008AF20 */
s32 nuContPakFileState(NUContPakFile* file, OSPfsState* state) {
NUContPakFileStateMesg mesg;
NUContPakFileStateMesg sp10;
mesg.file = file;
mesg.state = state;
sp10.file = file;
sp10.state = state;
file->error = nuSiSendMesg(NU_CONT_PAK_FILESTATE_MSG, &mesg);
file->error = nuSiSendMesg(0x206, &sp10);
return file->error;
}

View File

@ -1,9 +1,3 @@
#include "common.h"
#include "nu/nusys.h"
/* 1B070 8008AC70 */
s32 nuContPakRepairId(NUContPakFile* file) {
return file->error = nuSiSendMesg(NU_CONT_PAK_REPAIRID_MSG, file);
}
INCLUDE_ASM(const s32, "nu/nucontpakrepairid", nuContPakRepairId);

@ -1 +1 @@
Subproject commit 7b365e1f0c25b0dc64bec1e5b7bf694bf252b3fc
Subproject commit 63d16cf283597284200f9a7093bb94b5877c4365