From 2f5eac6b762b9ae2d6f0da98fc8ef914a3d6e51d Mon Sep 17 00:00:00 2001 From: Dragorn421 Date: Sat, 30 Jul 2022 16:09:42 +0200 Subject: [PATCH] Move fault_drawer bss to data/ asm because -g3 bss is fun (#1335) --- data/fault_drawer.bss.s | 16 ++++++++++++++++ spec | 1 + src/code/fault_drawer.c | 17 ++++++++--------- 3 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 data/fault_drawer.bss.s diff --git a/data/fault_drawer.bss.s b/data/fault_drawer.bss.s new file mode 100644 index 0000000000..8642064c48 --- /dev/null +++ b/data/fault_drawer.bss.s @@ -0,0 +1,16 @@ +.include "macro.inc" + +# assembler directives +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches +.set gp=64 # allow use of 64-bit general purpose registers + +.section .bss + +.balign 16 + +glabel sFaultDrawer + .space 0x3C + +glabel D_8016B6C0 + .space 0x20 diff --git a/spec b/spec index f30fb13312..45a3273ffc 100644 --- a/spec +++ b/spec @@ -409,6 +409,7 @@ beginseg include "build/src/code/fault.o" include "build/data/fault.bss.o" include "build/src/code/fault_drawer.o" + include "build/data/fault_drawer.bss.o" include "build/src/code/kanread.o" include "build/src/code/ucode_disas.o" pad_text // audio library aligned to 32 bytes? diff --git a/src/code/fault_drawer.c b/src/code/fault_drawer.c index a9d99e37b1..3409942e35 100644 --- a/src/code/fault_drawer.c +++ b/src/code/fault_drawer.c @@ -10,13 +10,13 @@ typedef struct { /* 0x00 */ u16* fb; /* 0x04 */ u16 w; - /* 0x08 */ u16 h; - /* 0x0A */ u16 yStart; - /* 0x0C */ u16 yEnd; - /* 0x0E */ u16 xStart; - /* 0x10 */ u16 xEnd; - /* 0x12 */ u16 foreColor; - /* 0x14 */ u16 backColor; + /* 0x06 */ u16 h; + /* 0x08 */ u16 yStart; + /* 0x0A */ u16 yEnd; + /* 0x0C */ u16 xStart; + /* 0x0E */ u16 xEnd; + /* 0x10 */ u16 foreColor; + /* 0x12 */ u16 backColor; /* 0x14 */ u16 cursorX; /* 0x16 */ u16 cursorY; /* 0x18 */ const u32* fontData; @@ -99,8 +99,7 @@ FaultDrawer sFaultDrawerDefault = { NULL, }; -FaultDrawer sFaultDrawer; -char D_8016B6C0[0x20]; +extern FaultDrawer sFaultDrawer; void FaultDrawer_SetOsSyncPrintfEnabled(u32 enabled) { sFaultDrawer.osSyncPrintfEnabled = enabled;