Skip to content

Commit

Permalink
split bmbgfx data
Browse files Browse the repository at this point in the history
MokhaLeee committed Jul 9, 2024
1 parent e6123a4 commit 70be191
Showing 16 changed files with 1,648 additions and 72 deletions.
2 changes: 2 additions & 0 deletions FireEmblem7J.lds
Original file line number Diff line number Diff line change
@@ -381,5 +381,7 @@ SECTIONS
. = ALIGN(4); data/savedrawfx.o(.data)
. = ALIGN(4); src/sysutil.o(.data)
. = ALIGN(4); data/data_08DAE4C4.o(.data)
. = ALIGN(4); src/bmbgfx_data.o(.data)
. = ALIGN(4); data/data_08DBAD14.o(.data)
}
}
8 changes: 4 additions & 4 deletions asm/code_080AB6FC.s
Original file line number Diff line number Diff line change
@@ -31658,7 +31658,7 @@ sub_80BB210: @ 0x080BB210
bl sub_80BAF34
adds r0, r4, #0
bl sub_80BB000
ldr r0, _080BB290 @ =gUnk_08DB9A84
ldr r0, _080BB290 @ =BmBgfxConf_08DB9A84
movs r5, #0
str r5, [sp]
movs r1, #0xa0
@@ -31706,7 +31706,7 @@ _080BB27C:
bx r0
.align 2, 0
_080BB28C: .4byte sub_80BAED4
_080BB290: .4byte gUnk_08DB9A84
_080BB290: .4byte BmBgfxConf_08DB9A84
_080BB294: .4byte gDispIo
_080BB298: .4byte gPlaySt

@@ -35063,7 +35063,7 @@ sub_80BCD34: @ 0x080BCD34
movs r0, #2
orrs r2, r0
strb r2, [r7, #0x18]
ldr r0, _080BCE70 @ =gUnk_08DBA048
ldr r0, _080BCE70 @ =BmBgfxConf_08DBA048
movs r5, #0
str r5, [sp]
movs r1, #0x80
@@ -35149,7 +35149,7 @@ _080BCE60: .4byte gBg0Tm
_080BCE64: .4byte gBg1Tm
_080BCE68: .4byte gBg2Tm
_080BCE6C: .4byte gBg3Tm
_080BCE70: .4byte gUnk_08DBA048
_080BCE70: .4byte BmBgfxConf_08DBA048
_080BCE74: .4byte sub_80BCD00
_080BCE78: .4byte 0x03001620
_080BCE7C: .4byte gUnk_086BF37C
8 changes: 4 additions & 4 deletions asm/code_807B7C8.s
Original file line number Diff line number Diff line change
@@ -702,7 +702,7 @@ sub_807BDFC: @ 0x0807BDFC
movs r0, #7
bl EnableBgSync
strh r5, [r6]
ldr r0, _0807BF00 @ =gUnk_08DBA9FC
ldr r0, _0807BF00 @ =BmBgfxConf_FireRing
movs r1, #0x80
lsls r1, r1, #7
str r1, [sp]
@@ -747,7 +747,7 @@ _0807BEF0: .4byte gDispIo
_0807BEF4: .4byte 0x0000FFE0
_0807BEF8: .4byte 0x0000E0FF
_0807BEFC: .4byte HBlank_Scanline_8078098
_0807BF00: .4byte gUnk_08DBA9FC
_0807BF00: .4byte BmBgfxConf_FireRing
_0807BF04: .4byte sub_807BDC8

thumb_func_start sub_807BF08
@@ -1274,7 +1274,7 @@ sub_807C28C: @ 0x0807C28C
movs r0, #7
bl EnableBgSync
strh r4, [r6]
ldr r0, _0807C37C @ =gUnk_08DBA258
ldr r0, _0807C37C @ =BmBgfxConf_08DBA258
movs r1, #0x80
lsls r1, r1, #5
str r1, [sp]
@@ -1312,7 +1312,7 @@ _0807C36C: .4byte gDispIo
_0807C370: .4byte 0x0000FFE0
_0807C374: .4byte 0x0000E0FF
_0807C378: .4byte HBlank_Scanline_8078098
_0807C37C: .4byte gUnk_08DBA258
_0807C37C: .4byte BmBgfxConf_08DBA258
_0807C380: .4byte sub_807C228

thumb_func_start sub_807C384
4 changes: 2 additions & 2 deletions asm/event-08010630.s
Original file line number Diff line number Diff line change
@@ -2293,7 +2293,7 @@ sub_80117DC: @ 0x080117DC
movs r0, #7
bl EnableBgSync
str r4, [r5, #0x30]
ldr r0, _080118A4 @ =gUnk_08DBA258
ldr r0, _080118A4 @ =BmBgfxConf_08DBA258
movs r1, #0x80
lsls r1, r1, #5
str r1, [sp]
@@ -2317,7 +2317,7 @@ _08011894: .4byte gDispIo
_08011898: .4byte 0x0000FFE0
_0801189C: .4byte 0x0000E0FF
_080118A0: .4byte HBlank_Scanline_8078098
_080118A4: .4byte gUnk_08DBA258
_080118A4: .4byte BmBgfxConf_08DBA258

thumb_func_start sub_80118A8
sub_80118A8: @ 0x080118A8
4 changes: 2 additions & 2 deletions asm/eventscr_08011AFC.s
Original file line number Diff line number Diff line change
@@ -365,7 +365,7 @@ sub_8011DF4: @ 0x08011DF4
subs r3, r3, r0
subs r3, #0x28
ands r3, r1
ldr r0, _08011E44 @ =gUnk_08C013F0
ldr r0, _08011E44 @ =BmBgfxConf_08C013F0
movs r4, #0
str r4, [sp]
movs r1, #0x80
@@ -384,7 +384,7 @@ sub_8011DF4: @ 0x08011DF4
bx r0
.align 2, 0
_08011E40: .4byte gBmSt
_08011E44: .4byte gUnk_08C013F0
_08011E44: .4byte BmBgfxConf_08C013F0

thumb_func_start sub_8011E48
sub_8011E48: @ 0x08011E48
252 changes: 250 additions & 2 deletions data/const_data_0818F93C.s
Original file line number Diff line number Diff line change
@@ -314,7 +314,111 @@ gUnk_08199250: @ 0x08199250

.global gUnk_08199290
gUnk_08199290: @ 0x08199290
.incbin "FireEmblem7J.base.gba", 0x199290, 0x1A7634 - 0x199290
.incbin "FireEmblem7J.base.gba", 0x199290, 0x199A94 - 0x199290

.global Pal_IceBmBgfx_08199A94
Pal_IceBmBgfx_08199A94: @ 0x08199A94
.incbin "FireEmblem7J.base.gba", 0x199A94, 0x199AB4 - 0x199A94

.global Img_IceBmBgfx_08199AB4
Img_IceBmBgfx_08199AB4: @ 0x08199AB4
.incbin "FireEmblem7J.base.gba", 0x199AB4, 0x19A6A4 - 0x199AB4

.global Img_IceBmBgfx_0819A6A4
Img_IceBmBgfx_0819A6A4: @ 0x0819A6A4
.incbin "FireEmblem7J.base.gba", 0x19A6A4, 0x19B11C - 0x19A6A4

.global Tsa_IceBmBgfx_0819B11C
Tsa_IceBmBgfx_0819B11C: @ 0x0819B11C
.incbin "FireEmblem7J.base.gba", 0x19B11C, 0x19B620 - 0x19B11C

.global Tsa_IceBmBgfx_0819B620
Tsa_IceBmBgfx_0819B620: @ 0x0819B620
.incbin "FireEmblem7J.base.gba", 0x19B620, 0x19BB24 - 0x19B620

.global Tsa_IceBmBgfx_0819BB24
Tsa_IceBmBgfx_0819BB24: @ 0x0819BB24
.incbin "FireEmblem7J.base.gba", 0x19BB24, 0x19C028 - 0x19BB24

.global Tsa_IceBmBgfx_0819C028
Tsa_IceBmBgfx_0819C028: @ 0x0819C028
.incbin "FireEmblem7J.base.gba", 0x19C028, 0x19C52C - 0x19C028

.global Tsa_IceBmBgfx_0819C52C
Tsa_IceBmBgfx_0819C52C: @ 0x0819C52C
.incbin "FireEmblem7J.base.gba", 0x19C52C, 0x19CA30 - 0x19C52C

.global Tsa_IceBmBgfx_0819CA30
Tsa_IceBmBgfx_0819CA30: @ 0x0819CA30
.incbin "FireEmblem7J.base.gba", 0x19CA30, 0x19CF34 - 0x19CA30

.global Tsa_IceBmBgfx_0819CF34
Tsa_IceBmBgfx_0819CF34: @ 0x0819CF34
.incbin "FireEmblem7J.base.gba", 0x19CF34, 0x19D438 - 0x19CF34

.global Img_IceBmBgfx_0819D438
Img_IceBmBgfx_0819D438: @ 0x0819D438
.incbin "FireEmblem7J.base.gba", 0x19D438, 0x19E1EC - 0x19D438

.global Img_IceBmBgfx_0819E1EC
Img_IceBmBgfx_0819E1EC: @ 0x0819E1EC
.incbin "FireEmblem7J.base.gba", 0x19E1EC, 0x19EEF4 - 0x19E1EC

.global Tsa_IceBmBgfx_0819EEF4
Tsa_IceBmBgfx_0819EEF4: @ 0x0819EEF4
.incbin "FireEmblem7J.base.gba", 0x19EEF4, 0x19F3F8 - 0x19EEF4

.global Tsa_IceBmBgfx_0819F3F8
Tsa_IceBmBgfx_0819F3F8: @ 0x0819F3F8
.incbin "FireEmblem7J.base.gba", 0x19F3F8, 0x19F8FC - 0x19F3F8

.global Img_IceBmBgfx_0819F8FC
Img_IceBmBgfx_0819F8FC: @ 0x0819F8FC
.incbin "FireEmblem7J.base.gba", 0x19F8FC, 0x1A07D4 - 0x19F8FC

.global Img_IceBmBgfx_081A07D4
Img_IceBmBgfx_081A07D4: @ 0x081A07D4
.incbin "FireEmblem7J.base.gba", 0x1A07D4, 0x1A0AF8 - 0x1A07D4

.global Tsa_IceBmBgfx_081A0AF8
Tsa_IceBmBgfx_081A0AF8: @ 0x081A0AF8
.incbin "FireEmblem7J.base.gba", 0x1A0AF8, 0x1A0FFC - 0x1A0AF8

.global Img_IceBmBgfx_081A0FFC
Img_IceBmBgfx_081A0FFC: @ 0x081A0FFC
.incbin "FireEmblem7J.base.gba", 0x1A0FFC, 0x1A1F0C - 0x1A0FFC

.global Img_IceBmBgfx_081A1F0C
Img_IceBmBgfx_081A1F0C: @ 0x081A1F0C
.incbin "FireEmblem7J.base.gba", 0x1A1F0C, 0x1A2374 - 0x1A1F0C

.global Tsa_IceBmBgfx_081A2374
Tsa_IceBmBgfx_081A2374: @ 0x081A2374
.incbin "FireEmblem7J.base.gba", 0x1A2374, 0x1A2878 - 0x1A2374

.global Img_IceBmBgfx_081A2878
Img_IceBmBgfx_081A2878: @ 0x081A2878
.incbin "FireEmblem7J.base.gba", 0x1A2878, 0x1A376C - 0x1A2878

.global Img_IceBmBgfx_081A376C
Img_IceBmBgfx_081A376C: @ 0x081A376C
.incbin "FireEmblem7J.base.gba", 0x1A376C, 0x1A3D2C - 0x1A376C

.global Tsa_IceBmBgfx_081A3D2C
Tsa_IceBmBgfx_081A3D2C: @ 0x081A3D2C
.incbin "FireEmblem7J.base.gba", 0x1A3D2C, 0x1A4230 - 0x1A3D2C

.global Img_IceBmBgfx_081A4230
Img_IceBmBgfx_081A4230: @ 0x081A4230
.incbin "FireEmblem7J.base.gba", 0x1A4230, 0x1A5144 - 0x1A4230

.global Img_IceBmBgfx_081A5144
Img_IceBmBgfx_081A5144: @ 0x081A5144
.incbin "FireEmblem7J.base.gba", 0x1A5144, 0x1A5708 - 0x1A5144

.global Tsa_IceBmBgfx_081A5708
Tsa_IceBmBgfx_081A5708: @ 0x081A5708
.incbin "FireEmblem7J.base.gba", 0x1A5708, 0x1A7634 - 0x1A5708

.global Img_081A7634
Img_081A7634: @ 0x081A7634
@@ -406,7 +510,151 @@ gUnk_081ACA20: @ 0x081ACA20

.global gUnk_081ACA40
gUnk_081ACA40: @ 0x081ACA40
.incbin "FireEmblem7J.base.gba", 0x1ACA40, 0x1BD14C - 0x1ACA40
.incbin "FireEmblem7J.base.gba", 0x1ACA40, 0x1B3DF4 - 0x1ACA40

.global FireRingBgfx_081B3DF4
FireRingBgfx_081B3DF4: @ 0x081B3DF4
.incbin "FireEmblem7J.base.gba", 0x1B3DF4, 0x1B3E14 - 0x1B3DF4

.global FireRingBgfx_081B3E14
FireRingBgfx_081B3E14: @ 0x081B3E14
.incbin "FireEmblem7J.base.gba", 0x1B3E14, 0x1B43E4 - 0x1B3E14

.global FireRingBgfx_081B43E4
FireRingBgfx_081B43E4: @ 0x081B43E4
.incbin "FireEmblem7J.base.gba", 0x1B43E4, 0x1B4730 - 0x1B43E4

.global FireRingBgfx_081B4730
FireRingBgfx_081B4730: @ 0x081B4730
.incbin "FireEmblem7J.base.gba", 0x1B4730, 0x1B498C - 0x1B4730

.global FireRingBgfx_081B498C
FireRingBgfx_081B498C: @ 0x081B498C
.incbin "FireEmblem7J.base.gba", 0x1B498C, 0x1B4BE8 - 0x1B498C

.global FireRingBgfx_081B4BE8
FireRingBgfx_081B4BE8: @ 0x081B4BE8
.incbin "FireEmblem7J.base.gba", 0x1B4BE8, 0x1B4E44 - 0x1B4BE8

.global FireRingBgfx_081B4E44
FireRingBgfx_081B4E44: @ 0x081B4E44
.incbin "FireEmblem7J.base.gba", 0x1B4E44, 0x1B5438 - 0x1B4E44

.global FireRingBgfx_081B5438
FireRingBgfx_081B5438: @ 0x081B5438
.incbin "FireEmblem7J.base.gba", 0x1B5438, 0x1B55F4 - 0x1B5438

.global FireRingBgfx_081B55F4
FireRingBgfx_081B55F4: @ 0x081B55F4
.incbin "FireEmblem7J.base.gba", 0x1B55F4, 0x1B5850 - 0x1B55F4

.global FireRingBgfx_081B5850
FireRingBgfx_081B5850: @ 0x081B5850
.incbin "FireEmblem7J.base.gba", 0x1B5850, 0x1B5E5C - 0x1B5850

.global FireRingBgfx_081B5E5C
FireRingBgfx_081B5E5C: @ 0x081B5E5C
.incbin "FireEmblem7J.base.gba", 0x1B5E5C, 0x1B61F4 - 0x1B5E5C

.global FireRingBgfx_081B61F4
FireRingBgfx_081B61F4: @ 0x081B61F4
.incbin "FireEmblem7J.base.gba", 0x1B61F4, 0x1B6450 - 0x1B61F4

.global FireRingBgfx_081B6450
FireRingBgfx_081B6450: @ 0x081B6450
.incbin "FireEmblem7J.base.gba", 0x1B6450, 0x1B6A28 - 0x1B6450

.global FireRingBgfx_081B6A28
FireRingBgfx_081B6A28: @ 0x081B6A28
.incbin "FireEmblem7J.base.gba", 0x1B6A28, 0x1B6E08 - 0x1B6A28

.global FireRingBgfx_081B6E08
FireRingBgfx_081B6E08: @ 0x081B6E08
.incbin "FireEmblem7J.base.gba", 0x1B6E08, 0x1B7064 - 0x1B6E08

.global FireRingBgfx_081B7064
FireRingBgfx_081B7064: @ 0x081B7064
.incbin "FireEmblem7J.base.gba", 0x1B7064, 0x1B756C - 0x1B7064

.global FireRingBgfx_081B756C
FireRingBgfx_081B756C: @ 0x081B756C
.incbin "FireEmblem7J.base.gba", 0x1B756C, 0x1B7B88 - 0x1B756C

.global FireRingBgfx_081B7B88
FireRingBgfx_081B7B88: @ 0x081B7B88
.incbin "FireEmblem7J.base.gba", 0x1B7B88, 0x1B7DE4 - 0x1B7B88

.global FireRingBgfx_081B7DE4
FireRingBgfx_081B7DE4: @ 0x081B7DE4
.incbin "FireEmblem7J.base.gba", 0x1B7DE4, 0x1B8418 - 0x1B7DE4

.global FireRingBgfx_081B8418
FireRingBgfx_081B8418: @ 0x081B8418
.incbin "FireEmblem7J.base.gba", 0x1B8418, 0x1B8A84 - 0x1B8418

.global FireRingBgfx_081B8A84
FireRingBgfx_081B8A84: @ 0x081B8A84
.incbin "FireEmblem7J.base.gba", 0x1B8A84, 0x1B8CE0 - 0x1B8A84

.global FireRingBgfx_081B8CE0
FireRingBgfx_081B8CE0: @ 0x081B8CE0
.incbin "FireEmblem7J.base.gba", 0x1B8CE0, 0x1B9300 - 0x1B8CE0

.global FireRingBgfx_081B9300
FireRingBgfx_081B9300: @ 0x081B9300
.incbin "FireEmblem7J.base.gba", 0x1B9300, 0x1B9878 - 0x1B9300

.global FireRingBgfx_081B9878
FireRingBgfx_081B9878: @ 0x081B9878
.incbin "FireEmblem7J.base.gba", 0x1B9878, 0x1B9AD4 - 0x1B9878

.global FireRingBgfx_081B9AD4
FireRingBgfx_081B9AD4: @ 0x081B9AD4
.incbin "FireEmblem7J.base.gba", 0x1B9AD4, 0x1BA110 - 0x1B9AD4

.global FireRingBgfx_081BA110
FireRingBgfx_081BA110: @ 0x081BA110
.incbin "FireEmblem7J.base.gba", 0x1BA110, 0x1BA730 - 0x1BA110

.global FireRingBgfx_081BA730
FireRingBgfx_081BA730: @ 0x081BA730
.incbin "FireEmblem7J.base.gba", 0x1BA730, 0x1BA98C - 0x1BA730

.global FireRingBgfx_081BA98C
FireRingBgfx_081BA98C: @ 0x081BA98C
.incbin "FireEmblem7J.base.gba", 0x1BA98C, 0x1BAF4C - 0x1BA98C

.global FireRingBgfx_081BAF4C
FireRingBgfx_081BAF4C: @ 0x081BAF4C
.incbin "FireEmblem7J.base.gba", 0x1BAF4C, 0x1BB494 - 0x1BAF4C

.global FireRingBgfx_081BB494
FireRingBgfx_081BB494: @ 0x081BB494
.incbin "FireEmblem7J.base.gba", 0x1BB494, 0x1BB6F0 - 0x1BB494

.global FireRingBgfx_081BB6F0
FireRingBgfx_081BB6F0: @ 0x081BB6F0
.incbin "FireEmblem7J.base.gba", 0x1BB6F0, 0x1BBD10 - 0x1BB6F0

.global FireRingBgfx_081BBD10
FireRingBgfx_081BBD10: @ 0x081BBD10
.incbin "FireEmblem7J.base.gba", 0x1BBD10, 0x1BC1F0 - 0x1BBD10

.global FireRingBgfx_081BC1F0
FireRingBgfx_081BC1F0: @ 0x081BC1F0
.incbin "FireEmblem7J.base.gba", 0x1BC1F0, 0x1BC44C - 0x1BC1F0

.global FireRingBgfx_081BC44C
FireRingBgfx_081BC44C: @ 0x081BC44C
.incbin "FireEmblem7J.base.gba", 0x1BC44C, 0x1BC99C - 0x1BC44C

.global FireRingBgfx_081BC99C
FireRingBgfx_081BC99C: @ 0x081BC99C
.incbin "FireEmblem7J.base.gba", 0x1BC99C, 0x1BCEF0 - 0x1BC99C

.global FireRingBgfx_081BCEF0
FireRingBgfx_081BCEF0: @ 0x081BCEF0
.incbin "FireEmblem7J.base.gba", 0x1BCEF0, 0x1BD14C - 0x1BCEF0

.global gUnk_081BD14C
gUnk_081BD14C: @ 0x081BD14C
648 changes: 646 additions & 2 deletions data/data_0843943C.s

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions data/data_08C013F0.s
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
.section .data

.global gUnk_08C013F0
gUnk_08C013F0: @ 0x08C013F0
.global BmBgfxConf_08C013F0
BmBgfxConf_08C013F0: @ 0x08C013F0
.incbin "FireEmblem7J.base.gba", 0xC013F0, 0xC015DC - 0xC013F0

.global gUnk_08C015DC
40 changes: 0 additions & 40 deletions data/data_08DAE4C4.s
Original file line number Diff line number Diff line change
@@ -919,43 +919,3 @@ gUnk_08DB9794: @ 0x08DB9794
.global gUnk_08DB9A7C
gUnk_08DB9A7C: @ 0x08DB9A7C
.incbin "FireEmblem7J.base.gba", 0xDB9A7C, 0xDB9A84 - 0xDB9A7C

.global gUnk_08DB9A84
gUnk_08DB9A84: @ 0x08DB9A84
.incbin "FireEmblem7J.base.gba", 0xDB9A84, 0xDBA048 - 0xDB9A84

.global gUnk_08DBA048
gUnk_08DBA048: @ 0x08DBA048
.incbin "FireEmblem7J.base.gba", 0xDBA048, 0xDBA258 - 0xDBA048

.global gUnk_08DBA258
gUnk_08DBA258: @ 0x08DBA258
.incbin "FireEmblem7J.base.gba", 0xDBA258, 0xDBA9FC - 0xDBA258

.global gUnk_08DBA9FC
gUnk_08DBA9FC: @ 0x08DBA9FC
.incbin "FireEmblem7J.base.gba", 0xDBA9FC, 0xDBABD0 - 0xDBA9FC

.global BmBgfxConf_IceCrystal
BmBgfxConf_IceCrystal: @ 0x08DBABD0
.incbin "FireEmblem7J.base.gba", 0xDBABD0, 0xDBAD14 - 0xDBABD0

.global gUnk_08DBAD14
gUnk_08DBAD14: @ 0x08DBAD14
.incbin "FireEmblem7J.base.gba", 0xDBAD14, 0xDC0390 - 0xDBAD14

.global gUnk_08DC0390
gUnk_08DC0390: @ 0x08DC0390
.incbin "FireEmblem7J.base.gba", 0xDC0390, 0xE00008 - 0xDC0390

.global gUnk_08E00008
gUnk_08E00008: @ 0x08E00008
.incbin "FireEmblem7J.base.gba", 0xE00008, 0xFC0008 - 0xE00008

.global gUnk_08FC0008
gUnk_08FC0008: @ 0x08FC0008
.incbin "FireEmblem7J.base.gba", 0xFC0008, 0xFD8008 - 0xFC0008

.global gUnk_08FD8008
gUnk_08FD8008: @ 0x08FD8008
.incbin "FireEmblem7J.base.gba", 0xFD8008, 0x1000000 - 0xFD8008
21 changes: 21 additions & 0 deletions data/data_08DBAD14.s
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
.section .data

.global gUnk_08DBAD14
gUnk_08DBAD14: @ 0x08DBAD14
.incbin "FireEmblem7J.base.gba", 0xDBAD14, 0xDC0390 - 0xDBAD14

.global gUnk_08DC0390
gUnk_08DC0390: @ 0x08DC0390
.incbin "FireEmblem7J.base.gba", 0xDC0390, 0xE00008 - 0xDC0390

.global gUnk_08E00008
gUnk_08E00008: @ 0x08E00008
.incbin "FireEmblem7J.base.gba", 0xE00008, 0xFC0008 - 0xE00008

.global gUnk_08FC0008
gUnk_08FC0008: @ 0x08FC0008
.incbin "FireEmblem7J.base.gba", 0xFC0008, 0xFD8008 - 0xFC0008

.global gUnk_08FD8008
gUnk_08FD8008: @ 0x08FD8008
.incbin "FireEmblem7J.base.gba", 0xFD8008, 0x1000000 - 0xFD8008
2 changes: 1 addition & 1 deletion include/gbafe/event.h
Original file line number Diff line number Diff line change
@@ -521,7 +521,7 @@ extern struct BmBgxConf CONST_DATA BmBgfxConf_IceCrystal[];
// ??? gUnk_08FD8008
extern struct BmBgxConf CONST_DATA BmBgfxConf_EventThunder[];
extern struct ProcCmd CONST_DATA ProcScr_EventThunderfx[];
// ??? gUnk_08C013F0
// ??? BmBgfxConf_08C013F0
// ??? gUnk_08C015DC
// ??? gUnk_08C0162C
// ??? gUnk_08C01654
233 changes: 228 additions & 5 deletions include/gbafe/unk-data.h
Original file line number Diff line number Diff line change
@@ -106,6 +106,32 @@ extern const u8 Tsa_Unk_0819128C[];
// ??? gUnk_08198D98
// ??? gUnk_08199250
// ??? gUnk_08199290
extern u8 Pal_IceBmBgfx_08199A94[];
extern u8 Img_IceBmBgfx_08199AB4[];
extern u8 Img_IceBmBgfx_0819A6A4[];
extern u8 Tsa_IceBmBgfx_0819B11C[];
extern u8 Tsa_IceBmBgfx_0819B620[];
extern u8 Tsa_IceBmBgfx_0819BB24[];
extern u8 Tsa_IceBmBgfx_0819C028[];
extern u8 Tsa_IceBmBgfx_0819C52C[];
extern u8 Tsa_IceBmBgfx_0819CA30[];
extern u8 Tsa_IceBmBgfx_0819CF34[];
extern u8 Img_IceBmBgfx_0819D438[];
extern u8 Img_IceBmBgfx_0819E1EC[];
extern u8 Tsa_IceBmBgfx_0819EEF4[];
extern u8 Tsa_IceBmBgfx_0819F3F8[];
extern u8 Img_IceBmBgfx_0819F8FC[];
extern u8 Img_IceBmBgfx_081A07D4[];
extern u8 Tsa_IceBmBgfx_081A0AF8[];
extern u8 Img_IceBmBgfx_081A0FFC[];
extern u8 Img_IceBmBgfx_081A1F0C[];
extern u8 Tsa_IceBmBgfx_081A2374[];
extern u8 Img_IceBmBgfx_081A2878[];
extern u8 Img_IceBmBgfx_081A376C[];
extern u8 Tsa_IceBmBgfx_081A3D2C[];
extern u8 Img_IceBmBgfx_081A4230[];
extern u8 Img_IceBmBgfx_081A5144[];
extern u8 Tsa_IceBmBgfx_081A5708[];
extern u8 Img_081A7634[];
extern u16 Pal_081A7F00[];
extern u8 Tsa_081A7F20[];
@@ -129,6 +155,42 @@ extern u8 Tsa_EventThunderfx11[];
// ??? gUnk_081AC808
// ??? gUnk_081ACA20
// ??? gUnk_081ACA40
extern u8 FireRingBgfx_081B3DF4[];
extern u8 FireRingBgfx_081B3E14[];
extern u8 FireRingBgfx_081B43E4[];
extern u8 FireRingBgfx_081B4730[];
extern u8 FireRingBgfx_081B498C[];
extern u8 FireRingBgfx_081B4BE8[];
extern u8 FireRingBgfx_081B4E44[];
extern u8 FireRingBgfx_081B5438[];
extern u8 FireRingBgfx_081B55F4[];
extern u8 FireRingBgfx_081B5850[];
extern u8 FireRingBgfx_081B5E5C[];
extern u8 FireRingBgfx_081B61F4[];
extern u8 FireRingBgfx_081B6450[];
extern u8 FireRingBgfx_081B6A28[];
extern u8 FireRingBgfx_081B6E08[];
extern u8 FireRingBgfx_081B7064[];
extern u8 FireRingBgfx_081B756C[];
extern u8 FireRingBgfx_081B7B88[];
extern u8 FireRingBgfx_081B7DE4[];
extern u8 FireRingBgfx_081B8418[];
extern u8 FireRingBgfx_081B8A84[];
extern u8 FireRingBgfx_081B8CE0[];
extern u8 FireRingBgfx_081B9300[];
extern u8 FireRingBgfx_081B9878[];
extern u8 FireRingBgfx_081B9AD4[];
extern u8 FireRingBgfx_081BA110[];
extern u8 FireRingBgfx_081BA730[];
extern u8 FireRingBgfx_081BA98C[];
extern u8 FireRingBgfx_081BAF4C[];
extern u8 FireRingBgfx_081BB494[];
extern u8 FireRingBgfx_081BB6F0[];
extern u8 FireRingBgfx_081BBD10[];
extern u8 FireRingBgfx_081BC1F0[];
extern u8 FireRingBgfx_081BC44C[];
extern u8 FireRingBgfx_081BC99C[];
extern u8 FireRingBgfx_081BCEF0[];
// ??? gUnk_081BD14C
// ??? gUnk_081BD514
// ??? gUnk_081BD534
@@ -322,7 +384,168 @@ extern u16 Pal_MuralBackground[];
// ??? gUnk_08661544
// ??? gUnk_08661564
// ??? gUnk_086618E8
// ??? gUnk_086A511C
extern u8 FireRingBgfx_08662514[];
extern u8 FireRingBgfx_08662534[];
extern u8 FireRingBgfx_08663250[];
extern u8 FireRingBgfx_086634AC[];
extern u8 FireRingBgfx_08663708[];
extern u8 FireRingBgfx_08663964[];
extern u8 FireRingBgfx_08664310[];
extern u8 FireRingBgfx_0866456C[];
extern u8 FireRingBgfx_08664EEC[];
extern u8 FireRingBgfx_086652B0[];
extern u8 FireRingBgfx_0866550C[];
extern u8 FireRingBgfx_08665E8C[];
extern u8 FireRingBgfx_08666250[];
extern u8 FireRingBgfx_086664AC[];
extern u8 FireRingBgfx_08666EBC[];
extern u8 FireRingBgfx_08667480[];
extern u8 FireRingBgfx_086676DC[];
extern u8 FireRingBgfx_08668208[];
extern u8 FireRingBgfx_086688C8[];
extern u8 FireRingBgfx_08668B24[];
extern u8 FireRingBgfx_086696FC[];
extern u8 FireRingBgfx_08669D70[];
extern u8 FireRingBgfx_08669FCC[];
extern u8 FireRingBgfx_0866ABE4[];
extern u8 FireRingBgfx_0866B1B4[];
extern u8 FireRingBgfx_0866B410[];
extern u8 FireRingBgfx_0866C04C[];
extern u8 FireRingBgfx_0866C4F4[];
extern u8 FireRingBgfx_0866C750[];
extern u8 FireRingBgfx_0866D3C8[];
extern u8 FireRingBgfx_0866D7DC[];
extern u8 FireRingBgfx_0866DA38[];
extern u8 FireRingBgfx_0866E674[];
extern u8 FireRingBgfx_0866E99C[];
extern u8 FireRingBgfx_0866EBF8[];
extern u8 FireRingBgfx_0866F854[];
extern u8 FireRingBgfx_0866FA8C[];
extern u8 FireRingBgfx_0866FCE8[];
extern u8 FireRingBgfx_08670888[];
extern u8 FireRingBgfx_08670968[];
extern u8 FireRingBgfx_08670BC4[];
extern u8 FireRingBgfx_086716C8[];
extern u8 FireRingBgfx_086716E4[];
extern u8 FireRingBgfx_08671940[];
extern u8 FireRingBgfx_08672388[];
extern u8 FireRingBgfx_08672CA0[];
extern u8 FireRingBgfx_08672EFC[];
extern u8 FireRingBgfx_08673158[];
extern u8 FireRingBgfx_08673AB4[];
extern u8 FireRingBgfx_08673B18[];
extern u8 FireRingBgfx_08673D74[];
extern u8 FireRingBgfx_086746A8[];
extern u8 FireRingBgfx_086747C8[];
extern u8 FireRingBgfx_08674A24[];
extern u8 FireRingBgfx_0867535C[];
extern u8 FireRingBgfx_08675518[];
extern u8 FireRingBgfx_08675774[];
extern u8 FireRingBgfx_08676108[];
extern u8 FireRingBgfx_08676350[];
extern u8 FireRingBgfx_086765AC[];
extern u8 FireRingBgfx_08676F54[];
extern u8 FireRingBgfx_086773BC[];
extern u8 FireRingBgfx_08677618[];
extern u8 FireRingBgfx_08678074[];
extern u8 FireRingBgfx_086788DC[];
extern u8 FireRingBgfx_08678B38[];
extern u8 FireRingBgfx_08679624[];
extern u8 FireRingBgfx_0867A2C4[];
extern u8 FireRingBgfx_0867A520[];
extern u8 FireRingBgfx_0867B168[];
extern u8 FireRingBgfx_0867C22C[];
extern u8 FireRingBgfx_0867C488[];
extern u8 FireRingBgfx_0867D1F8[];
extern u8 FireRingBgfx_0867E310[];
extern u8 FireRingBgfx_0867E56C[];
extern u8 FireRingBgfx_0867F310[];
extern u8 FireRingBgfx_0868033C[];
extern u8 FireRingBgfx_08680598[];
extern u8 FireRingBgfx_086812B4[];
extern u8 FireRingBgfx_0868218C[];
extern u8 FireRingBgfx_086823E8[];
extern u8 FireRingBgfx_086830C0[];
extern u8 FireRingBgfx_08683F14[];
extern u8 FireRingBgfx_08684170[];
extern u8 FireRingBgfx_08684E58[];
extern u8 FireRingBgfx_08685CE4[];
extern u8 FireRingBgfx_08685F40[];
extern u8 FireRingBgfx_08686C4C[];
extern u8 FireRingBgfx_08687BB4[];
extern u8 FireRingBgfx_08687E10[];
extern u8 FireRingBgfx_08688B80[];
extern u8 FireRingBgfx_08689BB0[];
extern u8 FireRingBgfx_08689E0C[];
extern u8 FireRingBgfx_0868ABD0[];
extern u8 FireRingBgfx_0868BC9C[];
extern u8 FireRingBgfx_0868BEF8[];
extern u8 FireRingBgfx_0868CCF8[];
extern u8 FireRingBgfx_0868DE68[];
extern u8 FireRingBgfx_0868E0C4[];
extern u8 FireRingBgfx_0868EEA8[];
extern u8 FireRingBgfx_0869008C[];
extern u8 FireRingBgfx_086902E8[];
extern u8 FireRingBgfx_08691064[];
extern u8 FireRingBgfx_086922A0[];
extern u8 FireRingBgfx_086924FC[];
extern u8 FireRingBgfx_08693298[];
extern u8 FireRingBgfx_08694528[];
extern u8 FireRingBgfx_08694784[];
extern u8 FireRingBgfx_0869542C[];
extern u8 FireRingBgfx_08696528[];
extern u8 FireRingBgfx_08696784[];
extern u8 FireRingBgfx_086973A4[];
extern u8 FireRingBgfx_08698394[];
extern u8 FireRingBgfx_086985F0[];
extern u8 FireRingBgfx_08699098[];
extern u8 FireRingBgfx_08699DF0[];
extern u8 FireRingBgfx_0869A04C[];
extern u8 FireRingBgfx_0869A960[];
extern u8 FireRingBgfx_0869B4F0[];
extern u8 FireRingBgfx_0869B74C[];
extern u8 FireRingBgfx_0869BF1C[];
extern u8 FireRingBgfx_0869C850[];
extern u8 OpBmBgfx_0869CAAC[];
extern u8 OpBmBgfx_0869CACC[];
extern u8 OpBmBgfx_0869D408[];
extern u8 OpBmBgfx_0869DDD0[];
extern u8 OpBmBgfx_0869E284[];
extern u8 OpBmBgfx_0869EAE4[];
extern u8 OpBmBgfx_0869F3EC[];
extern u8 OpBmBgfx_0869F8A0[];
extern u8 OpBmBgfx_086A0168[];
extern u8 OpBmBgfx_086A09B4[];
extern u8 OpBmBgfx_086A0E68[];
extern u8 OpBmBgfx_086A16E4[];
extern u8 OpBmBgfx_086A1F74[];
extern u8 OpBmBgfx_086A2428[];
extern u8 OpBmBgfx_086A2CEC[];
extern u8 OpBmBgfx_086A35B0[];
extern u8 OpBmBgfx_086A3A64[];
extern u8 OpBmBgfx_086A436C[];
extern u8 OpBmBgfx_086A4C68[];
extern u16 gUnk_086A511C[];
extern u8 OpBmBgfx_086A515C[];
extern u8 OpBmBgfx_086A715C[];
extern u8 OpBmBgfx_086A915C[];
extern u8 OpBmBgfx_086A9610[];
extern u8 OpBmBgfx_086AB610[];
extern u8 OpBmBgfx_086AD610[];
extern u8 OpBmBgfx_086ADAC4[];
extern u8 OpBmBgfx_086AFAC4[];
extern u8 OpBmBgfx_086B16A4[];
extern u8 OpBmBgfx_086B1B58[];
extern u8 OpBmBgfx_086B3B58[];
extern u8 OpBmBgfx_086B4274[];
extern u8 OpBmBgfx_086B4728[];
extern u8 OpBmBgfx_086B4FA4[];
extern u8 OpBmBgfx_086B5444[];
extern u8 OpBmBgfx_086B58F8[];
extern u8 OpBmBgfx_086B5CE0[];
extern u8 OpBmBgfx_086B6054[];
extern u8 OpBmBgfx_086B6508[];
extern u8 OpBmBgfx_086B69BC[];
// ??? gUnk_086B6E70
// ??? gUnk_086B6E90
// ??? gUnk_086B7184
@@ -2158,7 +2381,7 @@ extern uintptr_t ProcScr_08DB9208[];
// ??? gUnk_08DB9674
// ??? gUnk_08DB9794
// ??? gUnk_08DB9A7C
// ??? gUnk_08DB9A84
// ??? gUnk_08DBA048
// ??? gUnk_08DBA258
// ??? gUnk_08DBA9FC
// ??? BmBgfxConf_08DB9A84
// ??? BmBgfxConf_08DBA048
// ??? BmBgfxConf_08DBA258
// ??? BmBgfxConf_FireRing
416 changes: 416 additions & 0 deletions src/bmbgfx_data.c

Large diffs are not rendered by default.

11 changes: 6 additions & 5 deletions tools/scripts/dump_bmbgfxconf.py
Original file line number Diff line number Diff line change
@@ -45,7 +45,7 @@ def dump_one_part(rom_data, off):
if size == 0:
size_s = " 0"
else:
size_s = f"{hex(size)}"
size_s = f"0x{size:04X}"

duration = rom_data[off + 10]

@@ -59,18 +59,18 @@ def dump_one_part(rom_data, off):
case 3:
print(" { " + f"BMFX_CONFT_PAL, {data}, {size_s}, {duration}" + " },")
case 4:
print(" { " + f"BMFX_CONFT_LOOP_START, {data}, {size_s}, {duration}" + " },")
print(" { BMFX_CONFT_LOOP_START },")
case 5:
print(" { " + f"BMFX_CONFT_LOOP, {data}, {size_s}, {duration}" + " },")
print(" { " + f"BMFX_CONFT_LOOP, 0, 0, {duration}" + " },")
case 6:
print(" { " + f"BMFX_CONFT_BLOCKING, {data}, {size_s}, {duration}" + " },")
case 7:
print(" { " + f"BMFX_CONFT_7, {data}, {size_s}, {duration}" + " },")
case 8:
print(" { " + f"BMFX_CONFT_CALL_IDLE, {data}, {size_s}, {duration}" + " },")
case 9:
print(" { " + f"BMFX_CONFT_BREAK, {data}, {size_s}, {duration}" + " },")

print(" { BMFX_CONFT_BREAK },")
break
case 10:
print(" { BMFX_CONFT_END },")
break
@@ -105,6 +105,7 @@ def main(args):
if name == None:
name = f"gUnknown_08{off:06X}"

print(f"// 0x08{off:06X}")
print(f"struct BmBgxConf CONST_DATA {name}[] = " + "{")
off = dump_one_part(rom_data, off)
print("};")
55 changes: 55 additions & 0 deletions tools/scripts/gen_split_data.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/usr/bin/python3
# -*- coding: UTF-8 -*-

# split data

import os, sys, subprocess

def generate_unsymboled_const_data():
list = {}

_identifier = " 0x08"
start_offse = 29

for line in sys.stdin.readlines():
if _identifier in line:
ptr = eval(line[start_offse:start_offse+10])

list[ptr] = f"gUnk_{ptr:08X}"

return sorted(list.values())

def write_data(fs, fh, symbol, start, end):
# fh.write(f'// ??? {symbol}\n')
fh.write(f'extern u8 {symbol}[];\n')

fs.write(f'\n\t.global {symbol}\n')
fs.write(f'{symbol}:\t@ 0x{symbol[5:5+8]}\n')
fs.write(f'\t.incbin "FireEmblem7J.base.gba", 0x{start:06X}, 0x{end:06X} - 0x{start:06X}\n')

def main(args):
try:
out_s = args[1]
out_h = args[2]
except IndexError:
sys.exit(f"Usage: {args[0]} OUT_FILE_S OUT_FILE_H")

symbols = generate_unsymboled_const_data()

with open(out_s, 'w') as fs, open(out_h, 'w') as fh:
for i in range(len(symbols)):
symbol = symbols[i]
off1 = eval(f'0x{symbol[7:7+6]}')

if i == (len(symbols) - 1):
off2 = 0
else:
symbol2 = symbols[i + 1]
off2 = eval(f'0x{symbol2[7:7+6]}')

print(symbol)

write_data(fs, fh, symbol, off1, off2)

if __name__ == '__main__':
main(sys.argv)
12 changes: 9 additions & 3 deletions tools/scripts/split-data.py
Original file line number Diff line number Diff line change
@@ -11,12 +11,18 @@
def generate_unsymboled_const_data(pstart, pend):
list = {}

files = os.listdir('asm/')
for fpath, dirs, files in os.walk('asm/'):
# list_dir = "asm/"
# identifier = ".4byte 0x08"

list_dir = "test/"
identifier = ".word 0x08"

files = os.listdir(list_dir)
for fpath, dirs, files in os.walk(list_dir):
for file in files:
with open(os.path.join(fpath, file), 'r') as f:
for line in f.readlines():
if ".4byte 0x08" in line:
if identifier in line:
ptr = eval(line[18:18+10])

if ptr < pstart or ptr > pend:

0 comments on commit 70be191

Please sign in to comment.