diff options
author | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-20 10:09:12 -0800 |
---|---|---|
committer | sceptillion <33798691+sceptillion@users.noreply.github.com> | 2017-12-20 10:09:12 -0800 |
commit | a6a0b7db926a41de8adcbefa5ac2d577e21f16cf (patch) | |
tree | 305dfa34a62ebe83c46d574b921ed89284f2d77c | |
parent | 791d5a48cc85e5bc93ad3a60ccfe11db76ea9f1e (diff) |
decompile bg_regs data
-rw-r--r-- | asm/link.s | 4 | ||||
-rw-r--r-- | asm/overworld.s | 4 | ||||
-rw-r--r-- | asm/string_util.s | 4 | ||||
-rw-r--r-- | data/data.s | 8 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/bg_regs.c | 53 | ||||
-rw-r--r-- | sym_ewram.txt | 2 |
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[] = +{ + ®_BG0CNT, + ®_BG1CNT, + ®_BG2CNT, + ®_BG3CNT, +}; + +vu16 *const gBGHOffsetRegs[] = +{ + ®_BG0HOFS, + ®_BG1HOFS, + ®_BG2HOFS, + ®_BG3HOFS, +}; + +vu16 *const gBGVOffsetRegs[] = +{ + ®_BG0VOFS, + ®_BG1VOFS, + ®_BG2VOFS, + ®_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 |