#ifndef SEGMENT_SYMBOLS_H #define SEGMENT_SYMBOLS_H #include #include #define DECLARE_VRAM_SEGMENT(name) \ extern u32 name ## _VRAM[]; \ extern u32 name ## _VRAM_END[] #define DECLARE_ROM_SEGMENT(name) \ extern u32 name ## _ROM_START[]; \ extern u32 name ## _ROM_END[] #define DECLARE_TEXT_SEGMENT(name) \ extern u32 name ## _TEXT_START[]; \ extern u32 name ## _TEXT_END[]; \ extern u32 name ## _TEXT_SIZE #define DECLARE_DATA_SEGMENT(name) \ extern u32 name ## _DATA_START[]; \ extern u32 name ## _DATA_END[]; \ extern u32 name ## _DATA_SIZE #define DECLARE_RODATA_SEGMENT(name) \ extern u32 name ## _RODATA_START[]; \ extern u32 name ## _RODATA_END[]; \ extern u32 name ## _RODATA_SIZE #define DECLARE_BSS_SEGMENT(name) \ extern u32 name ## _BSS_START[]; \ extern u32 name ## _BSS_END[] #define DECLARE_SEGMENT(name) \ DECLARE_VRAM_SEGMENT(name); \ DECLARE_ROM_SEGMENT(name); \ DECLARE_TEXT_SEGMENT(name); \ DECLARE_DATA_SEGMENT(name); \ DECLARE_RODATA_SEGMENT(name); \ DECLARE_BSS_SEGMENT(name) #define SEGMENT_VRAM_START(segment) (segment ## _VRAM) #define SEGMENT_VRAM_END(segment) (segment ## _VRAM_END) #define SEGMENT_VRAM_SIZE(segment) ((void*)SEGMENT_VRAM_END(segment) - (void*)SEGMENT_VRAM_START(segment)) #define SEGMENT_ROM_START(segment) ((void*)segment ## _ROM_START) #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)) DECLARE_ROM_SEGMENT(n64_ptr_tables_v2_00); DECLARE_ROM_SEGMENT(n64_ptr_tables_v2_01); DECLARE_ROM_SEGMENT(n64_wave_data); DECLARE_ROM_SEGMENT(n64_wave_table_00); DECLARE_ROM_SEGMENT(n64_wave_table_01); DECLARE_SEGMENT(overlay_71280); #endif // SEGMENT_SYMBOLS_H