Added more macros for segment symbols

This commit is contained in:
gijs 2023-09-29 01:16:00 +02:00
parent 18af6601e3
commit 0bcbe130a8
2 changed files with 52 additions and 0 deletions

View File

@ -47,6 +47,18 @@
#define SEGMENT_ROM_END(segment) ((void*)segment ## _ROM_END) #define SEGMENT_ROM_END(segment) ((void*)segment ## _ROM_END)
#define SEGMENT_ROM_SIZE(segment) (SEGMENT_ROM_END(segment) - SEGMENT_ROM_START(segment)) #define SEGMENT_ROM_SIZE(segment) (SEGMENT_ROM_END(segment) - SEGMENT_ROM_START(segment))
#define SEGMENT_TEXT_START(segment) ((void*)segment ## _TEXT_START)
#define SEGMENT_TEXT_END(segment) ((void*)segment ## _TEXT_END)
#define SEGMENT_TEXT_SIZE(segment) (SEGMENT_TEXT_END(segment) - SEGMENT_TEXT_START(segment))
#define SEGMENT_DATA_START(segment) ((void*)segment ## _DATA_START)
#define SEGMENT_DATA_END(segment) ((void*)segment ## _DATA_END)
#define SEGMENT_DATA_SIZE(segment) (SEGMENT_DATA_END(segment) - SEGMENT_DATA_START(segment))
#define SEGMENT_RODATA_START(segment) ((void*)segment ## _RODATA_START)
#define SEGMENT_RODATA_END(segment) ((void*)segment ## _RODATA_END)
#define SEGMENT_RODATA_SIZE(segment) (SEGMENT_RODATA_END(segment) - SEGMENT_RODATA_START(segment))
#define SEGMENT_BSS_START(segment) ((void*)segment ## _BSS_START) #define SEGMENT_BSS_START(segment) ((void*)segment ## _BSS_START)
#define SEGMENT_BSS_END(segment) ((void*)segment ## _BSS_END) #define SEGMENT_BSS_END(segment) ((void*)segment ## _BSS_END)
#define SEGMENT_BSS_SIZE(segment) (SEGMENT_BSS_END(segment) - SEGMENT_BSS_START(segment)) #define SEGMENT_BSS_SIZE(segment) (SEGMENT_BSS_END(segment) - SEGMENT_BSS_START(segment))

View File

@ -16,6 +16,46 @@ INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __setup_overlay_8720
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __setup_overlay_71280_51674); INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", __setup_overlay_71280_51674);
/* 51674 8017B774 */
// extern void func_8019A864();
// extern u8 D_71280[];
// extern u8 D_79730[];
// extern u8 D_801A18C0[];
// extern u8 D_801A2C50[];
// extern u8 D_801A2C90[];
// extern u8 func_8019A7A0[];
// extern u32 D_801977C8;
// extern u8 D_8019A7A0[];
// extern u8 D_801A18C0_2[];
// extern u8 D_801A2C50_2[];
// void __setup_overlay_71280_51674(void) {
// osInvalICache(SEGMENT_TEXT_START(overlay_71280), SEGMENT_TEXT_SIZE(overlay_71280));
// osInvalDCache(
// SEGMENT_DATA_START(overlay_71280),
// SEGMENT_RODATA_END(overlay_71280) - SEGMENT_DATA_START(overlay_71280)
// );
// __calls_romCopy_8009DA50(
// SEGMENT_ROM_START(overlay_71280),
// func_8019A7A0,
// SEGMENT_ROM_SIZE(overlay_71280)
// );
// Can't do this one yet because BSS errors...
// if (SEGMENT_BSS_START(overlay_71280) != SEGMENT_BSS_END(overlay_71280)) {
// bzero(SEGMENT_BSS_START(overlay_71280), SEGMENT_BSS_SIZE(overlay_71280));
// }
// func_80073164(0, 8, 2, 0x40, 0x40, 0x100, 0x3000);
// func_8019A864();
// D_801977C8 = 3;
// }
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B838); INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B838);
INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B9A8); INCLUDE_ASM(const s32, "segment_obdata/_ob_squeamish_mask", func_8017B9A8);