Digimon World 3 decomp
The European version, SLES_039.36
Loading...
Searching...
No Matches
game_bss.c
Go to the documentation of this file.
1#include "common.h"
2
3/*
4 * The executable's .bss that no module can hold. The modules leave these
5 * variables uninitialized (static in -G8 units), so maspsx emits them as
6 * common symbols, and the original's linker laid the commons out 8 bytes
7 * apart in link order; GNU ld would lay them out its own way, so these
8 * definitions, in a unit whose commons maspsx turns into .bss (see the
9 * Makefile), fix the original's addresses. CD_SECTOR_HEADER, the .bss of
10 * file/cd_reader.c, stays with them: defining it there needs maspsx to turn
11 * that unit's commons into its own sections, CD_MODE with them, which would
12 * take CD_MODE out of the commons around it.
13 */
14
15/*
16 * 2MBYTE.OBJ's .bss, where its startup code, crt0, keeps $ra across InitHeap;
17 * the second word is unused. Defined here, at the start of the .bss, so its
18 * bytes stay in a report unit.
19 */
21struct FieldMenuChoice FIELD_MENU_CHOICE; /* menu/field_menu.c's */
22u8 CD_MODE[8]; /* file/cd_reader.c's */
23s32 FLIP_PENDING[2]; /* gfx/display.c's */
24s32 CARD_DRAWER[2]; /* gfx/card_drawer.c's */
25s32 SPRITE_DRAWER[2]; /* gfx/sprite_drawer.c's */
26s32 TEXT_TOOLS[2]; /* text/text_tools.c's */
27s32 TIM_LOADER[2]; /* gfx/tim_loader.c's */
28struct CdSectorHeader CD_SECTOR_HEADER; /* file/cd_reader.c's */
29
30/*
31 * The two structs above, completed (and checked against the declarations)
32 * only now: GCC emits the commons in the order of their first declaration,
33 * and the header's would come before the others.
34 */
35#include "engine/game.h"
signed int s32
Definition common.h:11
unsigned char u8
Definition common.h:8
s32 TIM_LOADER[2]
gfx/tim_loader.c's
Definition game_bss.c:27
struct FieldMenuChoice FIELD_MENU_CHOICE
menu/field_menu.c's
Definition game_bss.c:21
s32 TEXT_TOOLS[2]
text/text_tools.c's
Definition game_bss.c:26
s32 CRT0_SAVED_RA[2]
2MBYTE.OBJ's .bss, where its startup code, crt0, keeps $ra across InitHeap; the second word is unused...
Definition game_bss.c:20
s32 CARD_DRAWER[2]
gfx/card_drawer.c's
Definition game_bss.c:24
s32 FLIP_PENDING[2]
gfx/display.c's
Definition game_bss.c:23
s32 SPRITE_DRAWER[2]
gfx/sprite_drawer.c's
Definition game_bss.c:25
struct CdSectorHeader CD_SECTOR_HEADER
file/cd_reader.c's
Definition game_bss.c:28
u8 CD_MODE[8]
file/cd_reader.c's
Definition game_bss.c:22
What cdCheckSector reads first of each sector, the 3 words that CdlModeSize1 puts before its data: th...
Definition file.h:74
What the field menu picked, for STSTATUS (MODE_STATUS)
Definition menu.h:130