91 lines
3.0 KiB
C
91 lines
3.0 KiB
C
#ifndef SEGMENT_SYMBOLS_H
|
|
#define SEGMENT_SYMBOLS_H
|
|
|
|
#include <ultra64.h>
|
|
#include <libc/stdint.h>
|
|
|
|
#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_66E10);
|
|
DECLARE_SEGMENT(overlay_6E660);
|
|
|
|
DECLARE_SEGMENT(overlay_E48F0);
|
|
DECLARE_SEGMENT(overlay_EBBB0);
|
|
DECLARE_SEGMENT(overlay_F9FF0);
|
|
DECLARE_SEGMENT(overlay_FA5D0);
|
|
DECLARE_SEGMENT(overlay_FA5E0);
|
|
|
|
DECLARE_SEGMENT(overlay_145210);
|
|
DECLARE_SEGMENT(overlay_14EBE0);
|
|
|
|
|
|
DECLARE_SEGMENT(overlay_71280);
|
|
DECLARE_SEGMENT(overlay_79730);
|
|
DECLARE_SEGMENT(overlay_87200);
|
|
|
|
|
|
#endif // SEGMENT_SYMBOLS_H
|