summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-20 10:09:12 -0800
committersceptillion <33798691+sceptillion@users.noreply.github.com>2017-12-20 10:09:12 -0800
commita6a0b7db926a41de8adcbefa5ac2d577e21f16cf (patch)
tree305dfa34a62ebe83c46d574b921ed89284f2d77c
parent791d5a48cc85e5bc93ad3a60ccfe11db76ea9f1e (diff)
decompile bg_regs data
-rw-r--r--asm/link.s4
-rw-r--r--asm/overworld.s4
-rw-r--r--asm/string_util.s4
-rw-r--r--data/data.s8
-rw-r--r--ld_script.txt1
-rw-r--r--src/bg_regs.c53
-rw-r--r--sym_ewram.txt2
7 files changed, 61 insertions, 15 deletions
diff --git a/asm/link.s b/asm/link.s
index b573e430b..378b1a2e8 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -200,7 +200,7 @@ sub_80095BC: @ 80095BC
str r1, [r0, 0x4]
movs r1, 0
str r1, [r0, 0x8]
- ldr r0, _0800963C @ =gUnknown_8231E20
+ ldr r0, _0800963C @ =gBGControlRegOffsets
adds r6, r0
ldrb r0, [r6]
lsls r4, 8
@@ -219,7 +219,7 @@ _0800962C: .4byte 0x040000d4
_08009630: .4byte gUnknown_8232598
_08009634: .4byte 0x80001000
_08009638: .4byte gUnknown_3003F70
-_0800963C: .4byte gUnknown_8231E20
+_0800963C: .4byte gBGControlRegOffsets
thumb_func_end sub_80095BC
thumb_func_start sub_8009640
diff --git a/asm/overworld.s b/asm/overworld.s
index b9af2bf77..7bc1a8760 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -4547,7 +4547,7 @@ sub_8056F1C: @ 8056F1C
movs r0, 0x46
adds r1, r4, 0
bl SetGpuReg
- ldr r0, _08057018 @ =gUnknown_8231E10
+ ldr r0, _08057018 @ =gBLDCNTTarget2BGFlags
ldrh r1, [r0, 0x2]
ldrh r2, [r0, 0x4]
orrs r1, r2
@@ -4618,7 +4618,7 @@ sub_8056F1C: @ 8056F1C
_0805700C: .4byte 0x00001f1f
_08057010: .4byte 0x00000101
_08057014: .4byte 0x0000ffff
-_08057018: .4byte gUnknown_8231E10
+_08057018: .4byte gBLDCNTTarget2BGFlags
_0805701C: .4byte 0x0000070d
_08057020: .4byte 0x00007060
thumb_func_end sub_8056F1C
diff --git a/asm/string_util.s b/asm/string_util.s
index abc11cfb4..b02b01518 100644
--- a/asm/string_util.s
+++ b/asm/string_util.s
@@ -612,10 +612,10 @@ _0800910A:
thumb_func_start sub_8009118
sub_8009118: @ 8009118
- ldr r0, _0800911C @ =gUnknown_2022100
+ ldr r0, _0800911C @ =gUnknownStringVar
bx lr
.align 2, 0
-_0800911C: .4byte gUnknown_2022100
+_0800911C: .4byte gUnknownStringVar
thumb_func_end sub_8009118
thumb_func_start sub_8009120
diff --git a/data/data.s b/data/data.s
index 900d39994..e164d81c5 100644
--- a/data/data.s
+++ b/data/data.s
@@ -1,13 +1,5 @@
.section .rodata
- .incbin "baserom.gba", 0x231DD8, 0x38
-
-gUnknown_8231E10:: @ 8231E10
- .incbin "baserom.gba", 0x231E10, 0x10
-
-gUnknown_8231E20:: @ 8231E20
- .incbin "baserom.gba", 0x231E20, 0xC
-
gUnknown_8231E2C:: @ 8231E2C
.incbin "baserom.gba", 0x231E2C, 0x10
diff --git a/ld_script.txt b/ld_script.txt
index 50127adfe..5abc06505 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -401,6 +401,7 @@ SECTIONS {
src/text.o(.rodata);
data/text.o(.rodata);
src/sprite.o(.rodata);
+ src/bg_regs.o(.rodata);
data/data.o(.rodata);
src/m4a_tables.o(.rodata);
data/sound_data.o(.rodata);
diff --git a/src/bg_regs.c b/src/bg_regs.c
new file mode 100644
index 000000000..d5879a862
--- /dev/null
+++ b/src/bg_regs.c
@@ -0,0 +1,53 @@
+#include "global.h"
+
+vu16 *const gBGControlRegs[] =
+{
+ &REG_BG0CNT,
+ &REG_BG1CNT,
+ &REG_BG2CNT,
+ &REG_BG3CNT,
+};
+
+vu16 *const gBGHOffsetRegs[] =
+{
+ &REG_BG0HOFS,
+ &REG_BG1HOFS,
+ &REG_BG2HOFS,
+ &REG_BG3HOFS,
+};
+
+vu16 *const gBGVOffsetRegs[] =
+{
+ &REG_BG0VOFS,
+ &REG_BG1VOFS,
+ &REG_BG2VOFS,
+ &REG_BG3VOFS,
+};
+
+const u16 gDISPCNTBGFlags[] = { DISPCNT_BG0_ON, DISPCNT_BG1_ON, DISPCNT_BG2_ON, DISPCNT_BG3_ON };
+const u16 gBLDCNTTarget2BGFlags[] = { BLDCNT_TGT2_BG0, BLDCNT_TGT2_BG1, BLDCNT_TGT2_BG2, BLDCNT_TGT2_BG3 };
+const u16 gBLDCNTTarget1BGFlags[] = { BLDCNT_TGT1_BG0, BLDCNT_TGT1_BG1, BLDCNT_TGT1_BG2, BLDCNT_TGT1_BG3 };
+
+const u8 gBGControlRegOffsets[] =
+{
+ REG_OFFSET_BG0CNT,
+ REG_OFFSET_BG1CNT,
+ REG_OFFSET_BG2CNT,
+ REG_OFFSET_BG3CNT,
+};
+
+const u8 gBGHOffsetRegOffsets[] =
+{
+ REG_OFFSET_BG0HOFS,
+ REG_OFFSET_BG1HOFS,
+ REG_OFFSET_BG2HOFS,
+ REG_OFFSET_BG3HOFS,
+};
+
+const u8 gBGVOffsetRegOffsets[] =
+{
+ REG_OFFSET_BG0VOFS,
+ REG_OFFSET_BG1VOFS,
+ REG_OFFSET_BG2VOFS,
+ REG_OFFSET_BG3VOFS,
+};
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 818810c14..b2c7f2642 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -47,7 +47,7 @@ gStringVar3: @ 2021D04
gStringVar4: @ 2021D18
.space 0x3E8
-gUnknown_2022100: @ 2022100
+gUnknownStringVar: @ 2022100
.space 0x10
gUnknown_2022110: @ 2022110