From 0bcbe130a8ac84bf4991164c4e548a0db192b4b9 Mon Sep 17 00:00:00 2001 From: gijs Date: Fri, 29 Sep 2023 01:16:00 +0200 Subject: [PATCH] Added more macros for segment symbols --- include/segment_symbols.h | 12 ++++++++ src/segment_obdata/_ob_squeamish_mask.c | 40 +++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/include/segment_symbols.h b/include/segment_symbols.h index a279d08..31e709c 100644 --- a/include/segment_symbols.h +++ b/include/segment_symbols.h @@ -47,6 +47,18 @@ #define SEGMENT_ROM_END(segment) ((void*)segment ## _ROM_END) #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_END(segment) ((void*)segment ## _BSS_END) #define SEGMENT_BSS_SIZE(segment) (SEGMENT_BSS_END(segment) - SEGMENT_BSS_START(segment)) diff --git a/src/segment_obdata/_ob_squeamish_mask.c b/src/segment_obdata/_ob_squeamish_mask.c index 6611c48..c421542 100644 --- a/src/segment_obdata/_ob_squeamish_mask.c +++ b/src/segment_obdata/_ob_squeamish_mask.c @@ -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); +/* 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_8017B9A8);