parent
cf0a14e5cb
commit
2df8bc6570
|
|
@ -248,6 +248,8 @@ extern const char STR_rb[];
|
|||
extern const char STR_wb[];
|
||||
extern const char STR_Unknown_method_skiped[];
|
||||
|
||||
extern const char STR_EMPTY[];
|
||||
|
||||
extern void AddHeap(void* start, u32 length);
|
||||
extern void __some_logging(const char* format, ...);
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ segments:
|
|||
- [0x5FC0, c]
|
||||
- [0x68E0, asm]
|
||||
- [0x8700, asm]
|
||||
- [0xA370, c]
|
||||
- [0xA370, c, "lha"]
|
||||
- [0xFC80, c, "boot"]
|
||||
- [0xFDC0, asm]
|
||||
- [0xFF10, asm]
|
||||
|
|
|
|||
171
src/A370.c
171
src/A370.c
|
|
@ -1,171 +0,0 @@
|
|||
#include "common.h"
|
||||
|
||||
void Unpack(s32, s32);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_80079F70);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007A070);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", Unpack);
|
||||
|
||||
/* ABE0 8007A7E0 */
|
||||
u32 __read_u32_le(u8* arg0) {
|
||||
return (arg0[0] << 24) | (arg0[1] << 16) | (arg0[2] << 8) | arg0[3];
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007A80C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007AB30);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007AB7C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007ABAC);
|
||||
|
||||
extern char D_800AE038;
|
||||
extern OSMesgQueue MQ_800AF320;
|
||||
|
||||
/* B030 8007AC30 */
|
||||
void UnpackProc(void) {
|
||||
struct {
|
||||
/* 0x00 */ s32 field_0x0;
|
||||
/* 0x04 */ OSMesgQueue* field_0x4;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9[3];
|
||||
/* 0x0C */ s32 field_0xc;
|
||||
/* 0x10 */ s32 field_0x10;
|
||||
} *sp10;
|
||||
|
||||
sp10 = NULL;
|
||||
while(1) {
|
||||
osRecvMesg(&MQ_800AF320, &sp10, 1);
|
||||
if (sp10->field_0x8 == 1) {
|
||||
Unpack(sp10->field_0x10, sp10->field_0xc);
|
||||
osSendMesg(sp10->field_0x4, sp10, 1);
|
||||
} else {
|
||||
__some_logging(&D_800AE038, sp10->field_0x8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007ACB0);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007AE9C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007AF3C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007AFE4);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007B710);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007B744);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007B7A8);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007B83C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", can_log_crc_error);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007BA98);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007BB48);
|
||||
|
||||
/* BF90 8007BB90 */
|
||||
void __log_lha_error(unsigned char* arg0, unsigned char* arg1) {
|
||||
__some_logging(STR_LHa___s_s__s, STR_Error, arg0, arg1);
|
||||
}
|
||||
|
||||
extern u8 D_800AE334;
|
||||
|
||||
/* BFC0 8007BBC0 */
|
||||
void __log_fatal_error_desc(char* arg0) {
|
||||
__some_logging(STR_LHa___s_s__s, STR_Fatal_error, &D_800AE334, arg0);
|
||||
}
|
||||
|
||||
/* BFF4 8007BBF4 */
|
||||
void __log_fatal_error(char* arg0, char* arg1) {
|
||||
__some_logging(STR_LHa___s_s__s, STR_Fatal_error, arg0, arg1);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007BC24);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007BF10);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007C204);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007C25C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007C378);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007C438);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007C538);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", __logs_read_error);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007C74C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007CAB8);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007CE48);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007D200);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007D594);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007D5B8);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007D7BC);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007D8A8);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007DBF4);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007DDF0);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007DFF0);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007E2F8);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007E698);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007E6DC);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007E800);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007E8F0);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007EE2C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F1A0);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F1F8);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F218);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F234);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F314);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F334);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F408);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F450);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F47C);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F4B0);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F4E4);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", __file_read);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", __file_write);
|
||||
|
||||
void func_8007F640(void) { }
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F648);
|
||||
|
||||
INCLUDE_ASM(const s32, "A370", func_8007F844);
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
#include "common.h"
|
||||
|
||||
void Unpack(s32, s32);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_80079F70);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007A070);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", Unpack);
|
||||
|
||||
/* ABE0 8007A7E0 */
|
||||
u32 __read_u32_le(u8* arg0) {
|
||||
return (arg0[0] << 24) | (arg0[1] << 16) | (arg0[2] << 8) | arg0[3];
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007A80C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007AB30);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007AB7C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007ABAC);
|
||||
|
||||
extern char D_800AE038;
|
||||
extern OSMesgQueue MQ_800AF320;
|
||||
|
||||
/* B030 8007AC30 */
|
||||
void UnpackProc(void) {
|
||||
struct {
|
||||
/* 0x00 */ s32 field_0x0;
|
||||
/* 0x04 */ OSMesgQueue* field_0x4;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9[3];
|
||||
/* 0x0C */ s32 field_0xc;
|
||||
/* 0x10 */ s32 field_0x10;
|
||||
} *sp10;
|
||||
|
||||
sp10 = NULL;
|
||||
while(1) {
|
||||
osRecvMesg(&MQ_800AF320, &sp10, 1);
|
||||
if (sp10->field_0x8 == 1) {
|
||||
Unpack(sp10->field_0x10, sp10->field_0xc);
|
||||
osSendMesg(sp10->field_0x4, sp10, 1);
|
||||
} else {
|
||||
__some_logging(&D_800AE038, sp10->field_0x8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007ACB0);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007AE9C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007AF3C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007AFE4);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007B710);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007B744);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007B7A8);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007B83C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", can_log_crc_error);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007BA98);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007BB48);
|
||||
|
||||
/* BF90 8007BB90 */
|
||||
void __log_lha_error(unsigned char* arg0, unsigned char* arg1) {
|
||||
__some_logging(STR_LHa___s_s__s, STR_Error, arg0, arg1);
|
||||
}
|
||||
|
||||
/* BFC0 8007BBC0 */
|
||||
void __log_fatal_error_desc(char* arg0) {
|
||||
__some_logging(STR_LHa___s_s__s, STR_Fatal_error, &STR_EMPTY, arg0);
|
||||
}
|
||||
|
||||
/* BFF4 8007BBF4 */
|
||||
void __log_fatal_error(char* arg0, char* arg1) {
|
||||
__some_logging(STR_LHa___s_s__s, STR_Fatal_error, arg0, arg1);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007BC24);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007BF10);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007C204);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007C25C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007C378);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007C438);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007C538);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", __logs_read_error);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007C74C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007CAB8);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007CE48);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007D200);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007D594);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007D5B8);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007D7BC);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007D8A8);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007DBF4);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007DDF0);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007DFF0);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007E2F8);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007E698);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007E6DC);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007E800);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007E8F0);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007EE2C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F1A0);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F1F8);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F218);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F234);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F314);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F334);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F408);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F450);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F47C);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F4B0);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F4E4);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", __file_read);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", __file_write);
|
||||
|
||||
void func_8007F640(void) { }
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F648);
|
||||
|
||||
INCLUDE_ASM(const s32, "lha", func_8007F844);
|
||||
|
|
@ -22,6 +22,10 @@ NAME_SHEEN = 0x8018E9FC; // type:asciz size:0x6
|
|||
|
||||
CLASS_NAME_DRAGON_MASTER = 0x80190230; // type:asciz
|
||||
|
||||
__PTR_BIG_STRUCT = 0x80196AF8; // type:u32
|
||||
|
||||
__maybe_get_used_character_slots = 0x8016C048;
|
||||
|
||||
__SOME_OVERLAY_TABLE = 0x800A83C0; // size:0x28
|
||||
__SOME_OVERLAY_TABLE_1 = 0x800A83E8; // size:0x28
|
||||
__SOME_OVERLAY_TABLE_2 = 0x800A8410; // size:0x28
|
||||
|
|
@ -364,7 +368,7 @@ Unpack = 0x8007A110;
|
|||
|
||||
__read_u32_le = 0x8007A7E0;
|
||||
|
||||
__load_song = 0x800EA488;
|
||||
__load_song = 0x800EA488; // rom:0x3FA18
|
||||
__SONG_VOLUME = 0x800EB2E0;
|
||||
__SONG_SOURCE_START = 0x800EB4F0;
|
||||
__SONG_SOURCE_END = 0x800EB4F4;
|
||||
|
|
|
|||
Loading…
Reference in New Issue