1
0
mirror of https://github.com/zeldaret/oot.git synced 2024-09-21 04:24:43 +00:00

Import fault bss under NON_MATCHING (#1484)

* Import fault bss under NON_MATCHING

* Fix comments in data files

* Fix variable name
This commit is contained in:
Tharo 2023-01-02 10:52:56 +00:00 committed by GitHub
parent e37b993483
commit e77b83cf1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 27 additions and 4 deletions

View File

@ -7,6 +7,8 @@
.section .bss
# Note: This file is only included in the MATCHING build, the data is imported for non-matching
.balign 16
glabel sFaultInstance

View File

@ -7,10 +7,12 @@
.section .bss
# Note: This file is only included in the MATCHING build, the data is imported for non-matching
.balign 16
glabel sFaultDrawer
.space 0x3C
glabel D_8016B6C0
.space 0x20
glabel D_8016B6BC
.space 0x24

4
spec
View File

@ -409,9 +409,11 @@ beginseg
include "build/src/code/irqmgr.o"
include "build/src/code/debug_malloc.o"
include "build/src/code/fault.o"
include "build/data/fault.bss.o"
include "build/src/code/fault_drawer.o"
#ifndef NON_MATCHING
include "build/data/fault.bss.o"
include "build/data/fault_drawer.bss.o"
#endif
include "build/src/code/kanread.o"
include "build/src/code/ucode_disas.o"
pad_text // audio library aligned to 32 bytes?

View File

@ -76,12 +76,21 @@ const char* sFpExceptionNames[] = {
"Unimplemented operation", "Invalid operation", "Division by zero", "Overflow", "Underflow", "Inexact operation",
};
// TODO: import .bss (has reordering issues)
#ifndef NON_MATCHING
// TODO: match .bss (has reordering issues)
extern FaultMgr* sFaultInstance;
extern u8 sFaultAwaitingInput;
extern STACK(sFaultStack, 0x600);
extern StackEntry sFaultThreadInfo;
extern FaultMgr gFaultMgr;
#else
// Non-matching version for struct shiftability
FaultMgr* sFaultInstance;
u8 sFaultAwaitingInput;
STACK(sFaultStack, 0x600);
StackEntry sFaultThreadInfo;
FaultMgr gFaultMgr;
#endif
typedef struct {
/* 0x00 */ s32 (*callback)(void*, void*);

View File

@ -99,7 +99,15 @@ FaultDrawer sFaultDrawerDefault = {
NULL,
};
#ifndef NON_MATCHING
// TODO: match .bss (has reordering issues)
extern FaultDrawer sFaultDrawer;
extern char D_8016B6BC[0x24];
#else
// Non-matching version for struct shiftability
FaultDrawer sFaultDrawer;
char D_8016B6BC[0x24];
#endif
void FaultDrawer_SetOsSyncPrintfEnabled(u32 enabled) {
sFaultDrawer.osSyncPrintfEnabled = enabled;