You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Improve segment symbols
This commit is contained in:
@@ -4,12 +4,18 @@
|
||||
#ifndef NO_SEGMENTED_MEMORY
|
||||
#define DECLARE_SEGMENT(name) \
|
||||
extern u8 _##name##SegmentRomStart[]; \
|
||||
extern u8 _##name##SegmentRomEnd[];
|
||||
extern u8 _##name##SegmentRomEnd[]; \
|
||||
extern u8 _##name##SegmentStart[]; \
|
||||
extern u8 _##name##SegmentEnd[];
|
||||
|
||||
#define DECLARE_NOLOAD(name) \
|
||||
extern u8 _##name##SegmentBssStart[]; \
|
||||
extern u8 _##name##SegmentBssEnd[];
|
||||
|
||||
#define DECLARE_TEXT(name) \
|
||||
extern u8 _##name##SegmentTextStart[]; \
|
||||
extern u8 _##name##SegmentTextEnd[];
|
||||
|
||||
#define DECLARE_ACTOR_SEGMENT(name) \
|
||||
DECLARE_SEGMENT(name##_mio0) \
|
||||
DECLARE_SEGMENT(name##_yay0) \
|
||||
@@ -42,32 +48,34 @@ DECLARE_ACTOR_SEGMENT(group15)
|
||||
DECLARE_ACTOR_SEGMENT(group16)
|
||||
DECLARE_ACTOR_SEGMENT(group17)
|
||||
|
||||
DECLARE_SEGMENT(entry)
|
||||
// BEGIN_SEG()
|
||||
DECLARE_SEGMENT(boot) // Segment 4
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
DECLARE_SEGMENT(gd_dynlists) // Segment 4
|
||||
#endif // KEEP_MARIO_HEAD
|
||||
#ifdef HVQM
|
||||
DECLARE_NOLOAD(hvqmwork)
|
||||
DECLARE_NOLOAD(adpcmbuf)
|
||||
DECLARE_NOLOAD(hvqbuf)
|
||||
#endif // HVQM
|
||||
DECLARE_SEGMENT(entry) // Segment 7
|
||||
DECLARE_SEGMENT(main)
|
||||
DECLARE_NOLOAD(main)
|
||||
DECLARE_SEGMENT(engine)
|
||||
DECLARE_SEGMENT(behavior)
|
||||
DECLARE_NOLOAD(engine)
|
||||
DECLARE_SEGMENT(behavior) // Segment 19
|
||||
DECLARE_NOLOAD(behavior)
|
||||
DECLARE_SEGMENT(crashscreen)
|
||||
DECLARE_NOLOAD(crashscreen)
|
||||
DECLARE_SEGMENT(scripts)
|
||||
DECLARE_SEGMENT(goddard)
|
||||
DECLARE_NOLOAD(goddard)
|
||||
DECLARE_SEGMENT(framebuffers)
|
||||
DECLARE_NOLOAD(framebuffers)
|
||||
DECLARE_NOLOAD(zbuffer)
|
||||
DECLARE_NOLOAD(buffers)
|
||||
DECLARE_SEGMENT(assets)
|
||||
extern u8 _goddardSegmentStart[];
|
||||
extern u8 _goddardSegmentEnd[];
|
||||
extern u8 _engineSegmentStart[];
|
||||
extern u8 _engineSegmentBssEnd[];
|
||||
extern u8 _mainSegmentStart[];
|
||||
extern u8 _mainSegmentEnd[];
|
||||
extern u8 _engineSegmentEnd[];
|
||||
extern u8 _crashscreenSegmentStart[];
|
||||
extern u8 _crashscreenSegmentEnd[];
|
||||
extern u8 _framebuffersSegmentBssStart[];
|
||||
extern u8 _framebuffersSegmentBssEnd[];
|
||||
extern u8 _zbufferSegmentBssStart[];
|
||||
extern u8 _zbufferSegmentBssEnd[];
|
||||
extern u8 _buffersSegmentBssStart[];
|
||||
extern u8 _buffersSegmentBssEnd[];
|
||||
DECLARE_SEGMENT(mapData)
|
||||
|
||||
DECLARE_LEVEL_SEGMENT(menu)
|
||||
DECLARE_LEVEL_SEGMENT(intro)
|
||||
@@ -115,7 +123,7 @@ DECLARE_SEGMENT(debug_level_select_yay0)
|
||||
DECLARE_SEGMENT(translation_de_yay0)
|
||||
DECLARE_SEGMENT(translation_en_yay0)
|
||||
DECLARE_SEGMENT(translation_fr_yay0)
|
||||
#endif
|
||||
#endif // VERSION_EU
|
||||
|
||||
//added for compatibility
|
||||
DECLARE_SEGMENT(segment2_mio0)
|
||||
@@ -152,8 +160,8 @@ DECLARE_SEGMENT(debug_level_select_mio0)
|
||||
DECLARE_SEGMENT(translation_de_mio0)
|
||||
DECLARE_SEGMENT(translation_en_mio0)
|
||||
DECLARE_SEGMENT(translation_fr_mio0)
|
||||
#endif
|
||||
#endif // VERSION_EU
|
||||
|
||||
#endif
|
||||
#endif // !NO_SEGMENTED_MEMORY
|
||||
|
||||
#endif // SEGMENT_SYMBOLS_H
|
||||
|
||||
@@ -340,6 +340,7 @@ static const IdNamePair sROMSegNames_03_common1_gfx[] = {
|
||||
// 04: SEGMENT_GROUP0_YAY0
|
||||
static const IdNamePair sROMSegNames_04_group0_gfx[] = {
|
||||
DEF_ROM_SEG_YAY0(group0),
|
||||
DEF_ROM_SEG(boot),
|
||||
ID_LIST_END(),
|
||||
};
|
||||
// 05: SEGMENT_GROUPA_YAY0
|
||||
|
||||
@@ -127,7 +127,7 @@ CSTextCoord_u32 cs_draw_assert(CSTextCoord_u32 line) {
|
||||
case ASSERT_TYPE_LEVEL:
|
||||
// line = (CRASH_SCREEN_NUM_CHARS_Y - 3 - 1);
|
||||
line++;
|
||||
CSTextCoord_u32 levelStrSize = cs_print(x, TEXT_Y(line), "Level %d: %s",
|
||||
CSTextCoord_u32 levelStrSize = cs_print(x, TEXT_Y(line), "Level %d %s",
|
||||
gCurrLevelNum, get_level_name(gCurrLevelNum)
|
||||
);
|
||||
if (gCurrentArea != NULL) {
|
||||
@@ -137,6 +137,7 @@ CSTextCoord_u32 cs_draw_assert(CSTextCoord_u32 line) {
|
||||
case ASSERT_TYPE_RCP:
|
||||
// line = (CRASH_SCREEN_NUM_CHARS_Y - 3 - 3);
|
||||
line++;
|
||||
//! TODO: Other RCP registers.
|
||||
cs_print(x, TEXT_Y(line), "DPC:\t0x%08X in 0x%08X-0x%08X\nSTAT:\tdp:0x%04X\tsp:0x%04X\nSP DMA:\tfull:%X busy:%X",
|
||||
IO_READ(DPC_CURRENT_REG), IO_READ(DPC_START_REG), IO_READ(DPC_END_REG),
|
||||
IO_READ(DPC_STATUS_REG), IO_READ(SP_STATUS_REG),
|
||||
|
||||
@@ -110,10 +110,6 @@ extern const MapSymbol gMapSymbols[];
|
||||
extern const MapSymbol gMapSymbolsEnd[];
|
||||
extern const Byte gMapStrings[];
|
||||
extern const Byte gMapStringEnd[];
|
||||
extern const Byte _mapDataSegmentStart[];
|
||||
extern const Byte _mapDataSegmentEnd[];
|
||||
extern const Byte _mapDataSegmentRomStart[];
|
||||
extern const Byte _mapDataSegmentRomEnd[];
|
||||
|
||||
|
||||
extern size_t gNumMapSymbols;
|
||||
|
||||
Reference in New Issue
Block a user