summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/code_8012A18.s244
-rw-r--r--asm/m4a.s216
-rw-r--r--asm/memory.s121
-rw-r--r--asm/rom_header.inc33
-rw-r--r--asm/save.s92
-rw-r--r--asm/sprite.s11
-rw-r--r--asm/text.s2
7 files changed, 271 insertions, 448 deletions
diff --git a/asm/code_8012A18.s b/asm/code_8012A18.s
index bf8e220..b1327f4 100644
--- a/asm/code_8012A18.s
+++ b/asm/code_8012A18.s
@@ -4698,7 +4698,7 @@ _08014E10:
adds r4, r1, r0
b _08014F0C
.align 2, 0
-_08014E20: .4byte gUnknown_202D3B8
+_08014E20: .4byte gFileCache + 0x110
_08014E24:
adds r5, 0x1
movs r0, 0
@@ -86812,10 +86812,10 @@ _0803DB54:
.align 2, 0
_0803DB84: .4byte gUnknown_80F60F8
_0803DB88: .4byte gUnknown_83B0000
-_0803DB8C: .4byte gUnknown_202EC88
+_0803DB8C: .4byte gDungeonNameBannerPalette
_0803DB90: .4byte gUnknown_80F6100
-_0803DB94: .4byte gUnknown_202EC8C
-_0803DB98: .4byte gUnknown_202EC90
+_0803DB94: .4byte gDungeonNameBannerFontFile
+_0803DB98: .4byte gDungeonNameBannerFontFile + 4
_0803DB9C: .4byte 0x06000140
_0803DBA0: .4byte gUnknown_203B418
_0803DBA4: .4byte 0x00000645
@@ -86862,7 +86862,7 @@ _0803DBEA:
.align 2, 0
_0803DC08: .4byte gUnknown_80F6118
_0803DC0C: .4byte gUnknown_20274A5
-_0803DC10: .4byte gUnknown_202EC8C
+_0803DC10: .4byte gDungeonNameBannerFontFile
thumb_func_end ShowDungeonNameBanner
thumb_func_start sub_803DC14
@@ -87273,7 +87273,7 @@ sub_803DEC8:
adds r1, r5, r0
b _0803DF56
.align 2, 0
-_0803DEFC: .4byte gUnknown_202EC8C
+_0803DEFC: .4byte gDungeonNameBannerFontFile
_0803DF00: .4byte 0xffff0800
_0803DF04: .4byte 0x000007fe
_0803DF08:
@@ -87287,7 +87287,7 @@ _0803DF08:
adds r0, r2, r0
b _0803DF3A
.align 2, 0
-_0803DF1C: .4byte gUnknown_202EC90
+_0803DF1C: .4byte gDungeonNameBannerFontFile + 4
_0803DF20:
lsls r0, r1, 3
adds r0, r5
@@ -88555,7 +88555,7 @@ _0803E9B4: .4byte 0x00018215
_0803E9B8: .4byte 0x0001c06c
_0803E9BC: .4byte gUnknown_202EE8C
_0803E9C0: .4byte gUnknown_202ECA4
-_0803E9C4: .4byte gUnknown_202EC88
+_0803E9C4: .4byte gDungeonNameBannerPalette
_0803E9C8: .4byte gUnknown_202D058
_0803E9CC: .4byte 0x000181e4
thumb_func_end sub_803E874
@@ -99078,7 +99078,7 @@ _08043984: .4byte 0xff00ffff
_08043988: .4byte gUnknown_202EDC8
_0804398C: .4byte gUnknown_81006A4
_08043990: .4byte 0x00000222
-_08043994: .4byte gUnknown_202EC88
+_08043994: .4byte gDungeonNameBannerPalette
_08043998: .4byte gUnknown_203B40C
_0804399C: .4byte gUnknown_203B41C
_080439A0:
@@ -104471,7 +104471,7 @@ sub_8046298:
ldrb r0, [r0, 0xD]
bx lr
.align 2, 0
-_080462A8: .4byte gUnknown_20389A4
+_080462A8: .4byte gItemParametersFile + 4
thumb_func_end sub_8046298
thumb_func_start sub_80462AC
@@ -245668,8 +245668,8 @@ _0808CDE4: .4byte gUnknown_203B45C
_0808CDE8: .4byte gUnknown_202F400
_0808CDEC: .4byte gUnknown_81075F4
_0808CDF0: .4byte gUnknown_8300500
-_0808CDF4: .4byte gUnknown_202F3E4
-_0808CDF8: .4byte gUnknown_202F3E0
+_0808CDF4: .4byte gMonsterParametersFile
+_0808CDF8: .4byte gMonsterParameters
_0808CDFC: .4byte gUnknown_20384E8
thumb_func_end LoadMonsterParameters
@@ -245907,7 +245907,7 @@ _0808CFB8:
pop {r0}
bx r0
.align 2, 0
-_0808CFC8: .4byte gUnknown_202F3E0
+_0808CFC8: .4byte gMonsterParameters
_0808CFCC: .4byte gUnknown_203B45C
thumb_func_end sub_808CE74
@@ -246197,7 +246197,7 @@ sub_808D1DC:
bne _0808D238
b _0808D268
.align 2, 0
-_0808D204: .4byte gUnknown_202F3E0
+_0808D204: .4byte gMonsterParameters
_0808D208: .4byte gUnknown_203B468
_0808D20C:
ldr r0, [r7]
@@ -246278,7 +246278,7 @@ sub_808D278:
bne _0808D2AA
b _0808D2DA
.align 2, 0
-_0808D29C: .4byte gUnknown_202F3E0
+_0808D29C: .4byte gMonsterParameters
_0808D2A0: .4byte gUnknown_203B468
_0808D2A4:
ldr r0, [r7]
@@ -247194,7 +247194,7 @@ sub_808D8BC:
pop {r0}
bx r0
.align 2, 0
-_0808D8DC: .4byte gUnknown_202F3E0
+_0808D8DC: .4byte gMonsterParameters
thumb_func_end sub_808D8BC
thumb_func_start sub_808D8E0
@@ -247216,7 +247216,7 @@ sub_808D8E0:
bx r0
.align 2, 0
_0808D900: .4byte gUnknown_8107600
-_0808D904: .4byte gUnknown_202F3E0
+_0808D904: .4byte gMonsterParameters
thumb_func_end sub_808D8E0
thumb_func_start sub_808D908
@@ -247238,7 +247238,7 @@ sub_808D908:
bx r0
.align 2, 0
_0808D928: .4byte gUnknown_8107608
-_0808D92C: .4byte gUnknown_202F3E0
+_0808D92C: .4byte gMonsterParameters
thumb_func_end sub_808D908
thumb_func_start sub_808D930
@@ -247287,7 +247287,7 @@ _0808D986:
bx r0
.align 2, 0
_0808D98C: .4byte gUnknown_8107638
-_0808D990: .4byte gUnknown_202F3E0
+_0808D990: .4byte gMonsterParameters
thumb_func_end sub_808D930
thumb_func_start sub_808D994
@@ -247303,7 +247303,7 @@ sub_808D994:
ldr r0, [r1]
bx lr
.align 2, 0
-_0808D9A8: .4byte gUnknown_202F3E0
+_0808D9A8: .4byte gMonsterParameters
thumb_func_end sub_808D994
thumb_func_start sub_808D9AC
@@ -247468,7 +247468,7 @@ sub_808DAB4:
ldr r0, [r1, 0x4]
bx lr
.align 2, 0
-_0808DAC8: .4byte gUnknown_202F3E0
+_0808DAC8: .4byte gMonsterParameters
thumb_func_end sub_808DAB4
thumb_func_start sub_808DACC
@@ -247484,7 +247484,7 @@ sub_808DACC:
ldrb r0, [r1, 0x9]
bx lr
.align 2, 0
-_0808DAE0: .4byte gUnknown_202F3E0
+_0808DAE0: .4byte gMonsterParameters
thumb_func_end sub_808DACC
thumb_func_start sub_808DAE4
@@ -247500,7 +247500,7 @@ sub_808DAE4:
ldrb r0, [r1, 0x19]
bx lr
.align 2, 0
-_0808DAF8: .4byte gUnknown_202F3E0
+_0808DAF8: .4byte gMonsterParameters
thumb_func_end sub_808DAE4
thumb_func_start sub_808DAFC
@@ -247516,7 +247516,7 @@ sub_808DAFC:
ldr r0, [r1, 0xC]
bx lr
.align 2, 0
-_0808DB10: .4byte gUnknown_202F3E0
+_0808DB10: .4byte gMonsterParameters
thumb_func_end sub_808DAFC
thumb_func_start sub_808DB14
@@ -247532,7 +247532,7 @@ sub_808DB14:
ldrb r0, [r1, 0x15]
bx lr
.align 2, 0
-_0808DB28: .4byte gUnknown_202F3E0
+_0808DB28: .4byte gMonsterParameters
thumb_func_end sub_808DB14
thumb_func_start sub_808DB2C
@@ -247550,7 +247550,7 @@ sub_808DB2C:
lsrs r0, 24
bx lr
.align 2, 0
-_0808DB44: .4byte gUnknown_202F3E0
+_0808DB44: .4byte gMonsterParameters
thumb_func_end sub_808DB2C
thumb_func_start sub_808DB48
@@ -247566,7 +247566,7 @@ sub_808DB48:
ldrb r0, [r1, 0x1C]
bx lr
.align 2, 0
-_0808DB5C: .4byte gUnknown_202F3E0
+_0808DB5C: .4byte gMonsterParameters
thumb_func_end sub_808DB48
thumb_func_start sub_808DB60
@@ -247582,7 +247582,7 @@ sub_808DB60:
ldrb r0, [r1, 0x1D]
bx lr
.align 2, 0
-_0808DB74: .4byte gUnknown_202F3E0
+_0808DB74: .4byte gMonsterParameters
thumb_func_end sub_808DB60
thumb_func_start sub_808DB78
@@ -247598,7 +247598,7 @@ sub_808DB78:
ldrh r0, [r1, 0x2C]
bx lr
.align 2, 0
-_0808DB8C: .4byte gUnknown_202F3E0
+_0808DB8C: .4byte gMonsterParameters
thumb_func_end sub_808DB78
thumb_func_start sub_808DB90
@@ -247614,7 +247614,7 @@ sub_808DB90:
ldrh r0, [r1, 0x2E]
bx lr
.align 2, 0
-_0808DBA4: .4byte gUnknown_202F3E0
+_0808DBA4: .4byte gMonsterParameters
thumb_func_end sub_808DB90
thumb_func_start sub_808DBA8
@@ -247630,7 +247630,7 @@ sub_808DBA8:
ldrb r0, [r1, 0x16]
bx lr
.align 2, 0
-_0808DBBC: .4byte gUnknown_202F3E0
+_0808DBBC: .4byte gMonsterParameters
thumb_func_end sub_808DBA8
thumb_func_start sub_808DBC0
@@ -247646,7 +247646,7 @@ sub_808DBC0:
ldrh r0, [r1, 0x1E]
bx lr
.align 2, 0
-_0808DBD4: .4byte gUnknown_202F3E0
+_0808DBD4: .4byte gMonsterParameters
thumb_func_end sub_808DBC0
thumb_func_start sub_808DBD8
@@ -247663,7 +247663,7 @@ sub_808DBD8:
ldrb r0, [r1]
bx lr
.align 2, 0
-_0808DBF0: .4byte gUnknown_202F3E0
+_0808DBF0: .4byte gMonsterParameters
thumb_func_end sub_808DBD8
thumb_func_start sub_808DBF4
@@ -247679,7 +247679,7 @@ sub_808DBF4:
ldrb r0, [r1, 0x12]
bx lr
.align 2, 0
-_0808DC08: .4byte gUnknown_202F3E0
+_0808DC08: .4byte gMonsterParameters
thumb_func_end sub_808DBF4
thumb_func_start sub_808DC0C
@@ -247696,7 +247696,7 @@ sub_808DC0C:
ldrsh r0, [r1, r2]
bx lr
.align 2, 0
-_0808DC24: .4byte gUnknown_202F3E0
+_0808DC24: .4byte gMonsterParameters
thumb_func_end sub_808DC0C
thumb_func_start sub_808DC28
@@ -247715,7 +247715,7 @@ sub_808DC28:
ldrh r0, [r2]
bx lr
.align 2, 0
-_0808DC44: .4byte gUnknown_202F3E0
+_0808DC44: .4byte gMonsterParameters
thumb_func_end sub_808DC28
thumb_func_start sub_808DC48
@@ -247734,7 +247734,7 @@ sub_808DC48:
ldrh r0, [r2]
bx lr
.align 2, 0
-_0808DC64: .4byte gUnknown_202F3E0
+_0808DC64: .4byte gMonsterParameters
thumb_func_end sub_808DC48
thumb_func_start sub_808DC68
@@ -247752,7 +247752,7 @@ sub_808DC68:
ldrb r0, [r2]
bx lr
.align 2, 0
-_0808DC80: .4byte gUnknown_202F3E0
+_0808DC80: .4byte gMonsterParameters
thumb_func_end sub_808DC68
thumb_func_start sub_808DC84
@@ -247770,7 +247770,7 @@ sub_808DC84:
ldrb r0, [r2]
bx lr
.align 2, 0
-_0808DC9C: .4byte gUnknown_202F3E0
+_0808DC9C: .4byte gMonsterParameters
thumb_func_end sub_808DC84
thumb_func_start sub_808DCA0
@@ -247790,7 +247790,7 @@ sub_808DCA0:
ldrsh r0, [r2, r1]
bx lr
.align 2, 0
-_0808DCBC: .4byte gUnknown_202F3E0
+_0808DCBC: .4byte gMonsterParameters
thumb_func_end sub_808DCA0
thumb_func_start sub_808DCC0
@@ -247808,7 +247808,7 @@ sub_808DCC0:
ldrsh r0, [r1, r2]
bx lr
.align 2, 0
-_0808DCD8: .4byte gUnknown_202F3E0
+_0808DCD8: .4byte gMonsterParameters
thumb_func_end sub_808DCC0
thumb_func_start sub_808DCDC
@@ -247828,7 +247828,7 @@ sub_808DCDC:
ldrsh r0, [r2, r1]
bx lr
.align 2, 0
-_0808DCF8: .4byte gUnknown_202F3E0
+_0808DCF8: .4byte gMonsterParameters
thumb_func_end sub_808DCDC
thumb_func_start sub_808DCFC
@@ -247845,7 +247845,7 @@ sub_808DCFC:
ldrsh r0, [r1, r2]
bx lr
.align 2, 0
-_0808DD14: .4byte gUnknown_202F3E0
+_0808DD14: .4byte gMonsterParameters
thumb_func_end sub_808DCFC
thumb_func_start sub_808DD18
@@ -247871,7 +247871,7 @@ sub_808DD18:
pop {r1}
bx r1
.align 2, 0
-_0808DD44: .4byte gUnknown_202F3E0
+_0808DD44: .4byte gMonsterParameters
thumb_func_end sub_808DD18
thumb_func_start sub_808DD48
@@ -247890,7 +247890,7 @@ sub_808DD48:
str r3, [r1, 0x4]
bx lr
.align 2, 0
-_0808DD64: .4byte gUnknown_202F3E0
+_0808DD64: .4byte gMonsterParameters
thumb_func_end sub_808DD48
thumb_func_start sub_808DD68
@@ -247909,7 +247909,7 @@ sub_808DD68:
ldrb r0, [r0, 0x8]
b _0808DD8A
.align 2, 0
-_0808DD84: .4byte gUnknown_202F3E0
+_0808DD84: .4byte gMonsterParameters
_0808DD88:
movs r0, 0xA
_0808DD8A:
@@ -247940,7 +247940,7 @@ sub_808DD90:
bl OpenFile
b _0808DDCA
.align 2, 0
-_0808DDBC: .4byte gUnknown_202F3E0
+_0808DDBC: .4byte gMonsterParameters
_0808DDC0: .4byte gUnknown_8107684
_0808DDC4: .4byte gUnknown_8510000
_0808DDC8:
@@ -247974,7 +247974,7 @@ sub_808DDD0:
bl OpenFileAndGetFileDataPtr
b _0808DE0A
.align 2, 0
-_0808DDFC: .4byte gUnknown_202F3E0
+_0808DDFC: .4byte gMonsterParameters
_0808DE00: .4byte gUnknown_8107684
_0808DE04: .4byte gUnknown_8510000
_0808DE08:
@@ -248001,7 +248001,7 @@ sub_808DE10:
ands r0, r1
bx lr
.align 2, 0
-_0808DE2C: .4byte gUnknown_202F3E0
+_0808DE2C: .4byte gMonsterParameters
thumb_func_end sub_808DE10
thumb_func_start sub_808DE30
@@ -253777,8 +253777,8 @@ _080909B8: .4byte gUnknown_203B460
_080909BC: .4byte gUnknown_20389A8
_080909C0: .4byte gUnknown_8109764
_080909C4: .4byte gUnknown_8300500
-_080909C8: .4byte gUnknown_20389A0
-_080909CC: .4byte gUnknown_20389A4
+_080909C8: .4byte gItemParametersFile
+_080909CC: .4byte gItemParametersFile + 4
thumb_func_end sub_8090998
thumb_func_start sub_80909D0
@@ -254085,7 +254085,7 @@ sub_8090BD0:
ldrb r0, [r0, 0xC]
bx lr
.align 2, 0
-_08090BE0: .4byte gUnknown_20389A4
+_08090BE0: .4byte gItemParametersFile + 4
thumb_func_end sub_8090BD0
thumb_func_start sub_8090BE4
@@ -254112,7 +254112,7 @@ _08090BF6:
ldr r0, [r0, 0x4]
b _08090C24
.align 2, 0
-_08090C10: .4byte gUnknown_20389A4
+_08090C10: .4byte gItemParametersFile + 4
_08090C14:
ldrb r0, [r4, 0x2]
ldr r1, _08090C2C
@@ -254127,7 +254127,7 @@ _08090C24:
pop {r1}
bx r1
.align 2, 0
-_08090C2C: .4byte gUnknown_20389A4
+_08090C2C: .4byte gItemParametersFile + 4
thumb_func_end sub_8090BE4
thumb_func_start sub_8090C30
@@ -254154,7 +254154,7 @@ _08090C42:
ldr r0, [r0, 0x8]
b _08090C70
.align 2, 0
-_08090C5C: .4byte gUnknown_20389A4
+_08090C5C: .4byte gItemParametersFile + 4
_08090C60:
ldrb r0, [r4, 0x2]
ldr r1, _08090C78
@@ -254169,7 +254169,7 @@ _08090C70:
pop {r1}
bx r1
.align 2, 0
-_08090C78: .4byte gUnknown_20389A4
+_08090C78: .4byte gItemParametersFile + 4
thumb_func_end sub_8090C30
thumb_func_start sub_8090C7C
@@ -254197,7 +254197,7 @@ _08090C90:
ldr r0, [r0, 0x4]
b _08090CC0
.align 2, 0
-_08090CAC: .4byte gUnknown_20389A4
+_08090CAC: .4byte gItemParametersFile + 4
_08090CB0:
ldrb r0, [r4, 0x2]
ldr r1, _08090CC8
@@ -254212,7 +254212,7 @@ _08090CC0:
pop {r1}
bx r1
.align 2, 0
-_08090CC8: .4byte gUnknown_20389A4
+_08090CC8: .4byte gItemParametersFile + 4
thumb_func_end sub_8090C7C
thumb_func_start sub_8090CCC
@@ -254240,7 +254240,7 @@ _08090CE0:
ldr r0, [r0, 0x8]
b _08090D10
.align 2, 0
-_08090CFC: .4byte gUnknown_20389A4
+_08090CFC: .4byte gItemParametersFile + 4
_08090D00:
ldrb r0, [r4, 0x2]
ldr r1, _08090D18
@@ -254255,7 +254255,7 @@ _08090D10:
pop {r1}
bx r1
.align 2, 0
-_08090D18: .4byte gUnknown_20389A4
+_08090D18: .4byte gItemParametersFile + 4
thumb_func_end sub_8090CCC
thumb_func_start sub_8090D1C
@@ -254268,7 +254268,7 @@ sub_8090D1C:
ldr r0, [r0, 0x4]
bx lr
.align 2, 0
-_08090D2C: .4byte gUnknown_20389A4
+_08090D2C: .4byte gItemParametersFile + 4
thumb_func_end sub_8090D1C
thumb_func_start sub_8090D30
@@ -254281,7 +254281,7 @@ sub_8090D30:
ldr r0, [r0, 0x8]
bx lr
.align 2, 0
-_08090D40: .4byte gUnknown_20389A4
+_08090D40: .4byte gItemParametersFile + 4
thumb_func_end sub_8090D30
thumb_func_start sub_8090D44
@@ -254294,7 +254294,7 @@ sub_8090D44:
ldrb r0, [r0, 0x1A]
bx lr
.align 2, 0
-_08090D54: .4byte gUnknown_20389A4
+_08090D54: .4byte gItemParametersFile + 4
thumb_func_end sub_8090D44
thumb_func_start sub_8090D58
@@ -254307,7 +254307,7 @@ sub_8090D58:
ldrb r0, [r0, 0x1D]
bx lr
.align 2, 0
-_08090D68: .4byte gUnknown_20389A4
+_08090D68: .4byte gItemParametersFile + 4
thumb_func_end sub_8090D58
thumb_func_start sub_8090D6C
@@ -254320,7 +254320,7 @@ sub_8090D6C:
ldrb r0, [r0, 0x1E]
bx lr
.align 2, 0
-_08090D7C: .4byte gUnknown_20389A4
+_08090D7C: .4byte gItemParametersFile + 4
thumb_func_end sub_8090D6C
thumb_func_start sub_8090D80
@@ -254335,7 +254335,7 @@ sub_8090D80:
ldrb r0, [r0]
bx lr
.align 2, 0
-_08090D94: .4byte gUnknown_20389A4
+_08090D94: .4byte gItemParametersFile + 4
thumb_func_end sub_8090D80
thumb_func_start sub_8090D98
@@ -254348,7 +254348,7 @@ sub_8090D98:
ldr r0, [r0, 0x10]
bx lr
.align 2, 0
-_08090DA8: .4byte gUnknown_20389A4
+_08090DA8: .4byte gItemParametersFile + 4
thumb_func_end sub_8090D98
thumb_func_start sub_8090DAC
@@ -254363,7 +254363,7 @@ sub_8090DAC:
ldrb r0, [r0]
bx lr
.align 2, 0
-_08090DC0: .4byte gUnknown_20389A4
+_08090DC0: .4byte gItemParametersFile + 4
thumb_func_end sub_8090DAC
thumb_func_start sub_8090DC4
@@ -254404,7 +254404,7 @@ sub_8090DC4:
pop {r0}
bx r0
.align 2, 0
-_08090E10: .4byte gUnknown_20389A4
+_08090E10: .4byte gItemParametersFile + 4
thumb_func_end sub_8090DC4
thumb_func_start sub_8090E14
@@ -254453,7 +254453,7 @@ _08090E50:
b _08090EC4
.align 2, 0
_08090E68: .4byte gUnknown_8109770
-_08090E6C: .4byte gUnknown_20389A4
+_08090E6C: .4byte gItemParametersFile + 4
_08090E70:
ldr r1, _08090E88
ldrb r0, [r5, 0x2]
@@ -254467,7 +254467,7 @@ _08090E70:
b _08090EC4
.align 2, 0
_08090E88: .4byte gUnknown_8109778
-_08090E8C: .4byte gUnknown_20389A4
+_08090E8C: .4byte gItemParametersFile + 4
_08090E90:
ldrb r0, [r5, 0x2]
cmp r0, 0x69
@@ -254544,7 +254544,7 @@ _08090F14:
bl sub_8090F58
b _08090F50
.align 2, 0
-_08090F2C: .4byte gUnknown_20389A4
+_08090F2C: .4byte gItemParametersFile + 4
_08090F30: .4byte gUnknown_8109784
_08090F34: .4byte gUnknown_810978C
_08090F38:
@@ -255209,7 +255209,7 @@ sub_80913CC:
ldrh r0, [r0, 0x18]
bx lr
.align 2, 0
-_080913DC: .4byte gUnknown_20389A4
+_080913DC: .4byte gItemParametersFile + 4
thumb_func_end sub_80913CC
thumb_func_start sub_80913E0
@@ -258154,7 +258154,7 @@ LoadWazaParameters:
.align 2, 0
_08092868: .4byte gUnknown_81098D0
_0809286C: .4byte gUnknown_8300500
-_08092870: .4byte gUnknown_2038C64
+_08092870: .4byte gWazaParametersFile
_08092874: .4byte gUnknown_2038C68
_08092878: .4byte gUnknown_2038C6C
thumb_func_end LoadWazaParameters
@@ -271490,7 +271490,7 @@ _080988F8:
bl GroundEffect_Action
bl nullsub_105
bl sub_809B474
- bl sub_80A2380
+ bl GroundScript_Unlock
bl sub_809D25C
bl sub_80A59DC
bl sub_809B614
@@ -271783,7 +271783,7 @@ _08098BD2:
sub_8098BDC:
push {lr}
bl sub_809B57C
- bl sub_80A2380
+ bl GroundScript_Unlock
bl sub_809D25C
bl sub_80A59DC
bl sub_809B614
@@ -279959,7 +279959,7 @@ sub_809CBBC:
b _0809CC4A
.align 2, 0
_0809CC0C: .4byte gUnknown_81163E4
-_0809CC10: .4byte gUnknown_20389A4
+_0809CC10: .4byte gItemParametersFile + 4
_0809CC14: .4byte gUnknown_203B460
_0809CC18: .4byte 0x0001869f
_0809CC1C:
@@ -284745,28 +284745,28 @@ _0809F3DC: .4byte gUnknown_2039A32
_0809F3E0:
adds r0, r6, 0
adds r1, r5, 0
- bl sub_80A7988
+ bl GroundLives_Cancel
adds r0, r6, 0
adds r1, r5, 0
- bl sub_80ABC5C
+ bl GroundObject_Cancel
adds r0, r6, 0
adds r1, r5, 0
- bl sub_80ACC98
+ bl GroundEffect_Cancel
b _0809F41E
_0809F3FA:
adds r0, r6, 0
adds r1, r5, 0
- bl sub_80A7988
+ bl GroundLives_Cancel
bl _0809EAE0
_0809F406:
adds r0, r6, 0
adds r1, r5, 0
- bl sub_80ABC5C
+ bl GroundObject_Cancel
bl _0809EAE0
_0809F412:
adds r0, r6, 0
adds r1, r5, 0
- bl sub_80ACC98
+ bl GroundEffect_Cancel
bl _0809EAE0
_0809F41E:
adds r0, r6, 0
@@ -284777,10 +284777,10 @@ _0809F42A:
bl sub_80A79FC
bl _0809EAE0
_0809F432:
- bl sub_80ABCCC
+ bl GroundObject_CancelBlank
bl _0809EAE0
_0809F43A:
- bl sub_80ACD08
+ bl GroundEffect_CancelBlank
bl _0809EAE0
_0809F442:
mov r2, r9
@@ -290448,7 +290448,7 @@ _080A233A:
b _080A236A
_080A2346:
movs r0, 0
- bl sub_80A6C88
+ bl GroundSprite_ExtendPaletteDelete
b _080A236A
_080A234E:
movs r0, 0
@@ -290478,8 +290478,8 @@ _080A236C:
bx r1
thumb_func_end sub_80A14E8
- thumb_func_start sub_80A2380
-sub_80A2380:
+ thumb_func_start GroundScript_Unlock
+GroundScript_Unlock:
push {r4-r7,lr}
ldr r1, _080A241C
ldrb r0, [r1]
@@ -290557,7 +290557,7 @@ _080A241C: .4byte gUnknown_2039A36
_080A2420: .4byte gUnknown_2039A38
_080A2424: .4byte gUnknown_8116848
_080A2428: .4byte gUnknown_2039AC0
- thumb_func_end sub_80A2380
+ thumb_func_end GroundScript_Unlock
thumb_func_start sub_80A242C
sub_80A242C:
@@ -299986,7 +299986,7 @@ sub_80A69FC:
cmp r4, 0
blt _080A6A7A
adds r0, r6, 0
- bl sub_80A6C88
+ bl GroundSprite_ExtendPaletteDelete
movs r0, 0
str r0, [r5, 0x8]
str r0, [r5]
@@ -300303,8 +300303,8 @@ _080A6C78:
bx r0
thumb_func_end GroundSprite_ExtendPaletteAdd
- thumb_func_start sub_80A6C88
-sub_80A6C88:
+ thumb_func_start GroundSprite_ExtendPaletteDelete
+GroundSprite_ExtendPaletteDelete:
push {r4-r6,lr}
adds r2, r0, 0
cmp r2, 0
@@ -300360,7 +300360,7 @@ _080A6CE6:
.align 2, 0
_080A6CEC: .4byte gUnknown_3001B7C
_080A6CF0: .4byte gUnknown_81178C0
- thumb_func_end sub_80A6C88
+ thumb_func_end GroundSprite_ExtendPaletteDelete
thumb_func_start sub_80A6CF4
sub_80A6CF4:
@@ -301931,7 +301931,7 @@ _080A787C:
cmp r0, r6
beq _080A788A
adds r0, r1, 0
- bl sub_80A8684
+ bl GroundLives_Delete
_080A788A:
adds r0, r5, 0
movs r1, 0x80
@@ -302062,8 +302062,8 @@ _080A7980: .4byte gUnknown_811808C
_080A7984: .4byte gUnknown_8118098
thumb_func_end GroundLives_Select
- thumb_func_start sub_80A7988
-sub_80A7988:
+ thumb_func_start GroundLives_Cancel
+GroundLives_Cancel:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -302101,7 +302101,7 @@ _080A79B2:
bne _080A79D4
_080A79CE:
adds r0, r1, 0
- bl sub_80A8684
+ bl GroundLives_Delete
_080A79D4:
adds r0, r6, 0
movs r1, 0x80
@@ -302121,7 +302121,7 @@ _080A79D4:
.align 2, 0
_080A79F4: .4byte gUnknown_81180BC
_080A79F8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A7988
+ thumb_func_end GroundLives_Cancel
thumb_func_start sub_80A79FC
sub_80A79FC:
@@ -302164,7 +302164,7 @@ _080A7A20:
cmp r0, 0
bne _080A7A50
adds r0, r6, 0
- bl sub_80A8684
+ bl GroundLives_Delete
_080A7A50:
adds r0, r6, 0x1
lsls r0, 16
@@ -303749,8 +303749,8 @@ _080A8674:
bx r1
thumb_func_end GroundLives_Add
- thumb_func_start sub_80A8684
-sub_80A8684:
+ thumb_func_start GroundLives_Delete
+GroundLives_Delete:
push {r4,lr}
adds r2, r0, 0
lsls r2, 16
@@ -303780,7 +303780,7 @@ sub_80A8684:
_080A86BC: .4byte gUnknown_3001B84
_080A86C0: .4byte gUnknown_8118194
_080A86C4: .4byte 0x0000ffff
- thumb_func_end sub_80A8684
+ thumb_func_end GroundLives_Delete
thumb_func_start sub_80A86C8
sub_80A86C8:
@@ -309318,7 +309318,7 @@ _080AB278:
b _080AB44C
_080AB292:
mov r0, r9
- bl sub_80A8684
+ bl GroundLives_Delete
b _080AB47C
.align 2, 0
_080AB29C: .4byte gUnknown_3001B84
@@ -310631,8 +310631,8 @@ _080ABC54: .4byte gUnknown_81183E4
_080ABC58: .4byte gUnknown_81183F0
thumb_func_end GroundObject_Select
- thumb_func_start sub_80ABC5C
-sub_80ABC5C:
+ thumb_func_start GroundObject_Cancel
+GroundObject_Cancel:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -310689,10 +310689,10 @@ _080ABCA6:
.align 2, 0
_080ABCC4: .4byte gUnknown_8118414
_080ABCC8: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABC5C
+ thumb_func_end GroundObject_Cancel
- thumb_func_start sub_80ABCCC
-sub_80ABCCC:
+ thumb_func_start GroundObject_CancelBlank
+GroundObject_CancelBlank:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -310752,7 +310752,7 @@ _080ABD20:
.align 2, 0
_080ABD40: .4byte gUnknown_811842C
_080ABD44: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABCCC
+ thumb_func_end GroundObject_CancelBlank
thumb_func_start sub_80ABD48
sub_80ABD48:
@@ -312792,7 +312792,7 @@ _080ACBE4:
cmp r0, r6
beq _080ACBF2
adds r0, r1, 0
- bl sub_80AD080
+ bl GroundEffect_Delete
_080ACBF2:
adds r0, r5, 0
movs r1, 0x80
@@ -312882,8 +312882,8 @@ _080ACC90: .4byte gUnknown_8118610
_080ACC94: .4byte gUnknown_811861C
thumb_func_end GroundEffect_Select
- thumb_func_start sub_80ACC98
-sub_80ACC98:
+ thumb_func_start GroundEffect_Cancel
+GroundEffect_Cancel:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -312920,7 +312920,7 @@ _080ACCC0:
bne _080ACCE2
_080ACCDC:
adds r0, r1, 0
- bl sub_80AD080
+ bl GroundEffect_Delete
_080ACCE2:
adds r0, r6, 0
movs r1, 0x80
@@ -312940,10 +312940,10 @@ _080ACCE2:
.align 2, 0
_080ACD00: .4byte gUnknown_8118640
_080ACD04: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACC98
+ thumb_func_end GroundEffect_Cancel
- thumb_func_start sub_80ACD08
-sub_80ACD08:
+ thumb_func_start GroundEffect_CancelBlank
+GroundEffect_CancelBlank:
push {r4-r7,lr}
mov r7, r8
push {r7}
@@ -312983,7 +312983,7 @@ _080ACD2C:
cmp r0, 0
bne _080ACD5C
adds r0, r6, 0
- bl sub_80AD080
+ bl GroundEffect_Delete
_080ACD5C:
adds r0, r6, 0x1
lsls r0, 16
@@ -313003,7 +313003,7 @@ _080ACD5C:
.align 2, 0
_080ACD7C: .4byte gUnknown_8118658
_080ACD80: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACD08
+ thumb_func_end GroundEffect_CancelBlank
thumb_func_start sub_80ACD84
sub_80ACD84:
@@ -313399,8 +313399,8 @@ _080AD078: .4byte gUnknown_812F1F8
_080AD07C: .4byte gUnknown_81186CC
thumb_func_end GroundEffect_Add
- thumb_func_start sub_80AD080
-sub_80AD080:
+ thumb_func_start GroundEffect_Delete
+GroundEffect_Delete:
push {r4,lr}
adds r2, r0, 0
lsls r2, 16
@@ -313432,7 +313432,7 @@ sub_80AD080:
_080AD0BC: .4byte gUnknown_3001B8C
_080AD0C0: .4byte gUnknown_81186D8
_080AD0C4: .4byte 0x0000ffff
- thumb_func_end sub_80AD080
+ thumb_func_end GroundEffect_Delete
thumb_func_start sub_80AD0C8
sub_80AD0C8:
@@ -314398,7 +314398,7 @@ _080AD72C:
cmp r0, 0x4
bne _080AD768
adds r0, r7, 0
- bl sub_80AD080
+ bl GroundEffect_Delete
b _080AD78A
.align 2, 0
_080AD754: .4byte gUnknown_3001B8C
diff --git a/asm/m4a.s b/asm/m4a.s
index 7133670..602f9b9 100644
--- a/asm/m4a.s
+++ b/asm/m4a.s
@@ -1,5 +1,6 @@
- .include "constants/gba_constants.inc"
.include "asm/macros.inc"
+ .include "constants/gba_constants.inc"
+ .include "constants/m4a_constants.inc"
.syntax unified
@@ -18,16 +19,16 @@ _080AE268:
thumb_func_start SoundMain
SoundMain:
- ldr r0, _080AE2E0
+ ldr r0, lt_SOUND_INFO_PTR
ldr r0, [r0]
- ldr r2, _080AE2E4
- ldr r3, [r0]
+ ldr r2, lt_ID_NUMBER
+ ldr r3, [r0, o_SoundInfo_ident]
cmp r2, r3
- beq _080AE282
- bx lr
-_080AE282:
- adds r3, 0x1
- str r3, [r0]
+ beq SoundMain_1
+ bx lr @ Exit the function if ident doesn't match ID_NUMBER.
+SoundMain_1:
+ adds r3, 1
+ str r3, [r0, o_SoundInfo_ident]
push {r4-r7,lr}
mov r1, r8
mov r2, r9
@@ -35,65 +36,66 @@ _080AE282:
mov r4, r11
push {r0-r4}
sub sp, 0x18
- ldrb r1, [r0, 0xC]
- cmp r1, 0
- beq _080AE2A6
- ldr r2, _080AE2EC
+ ldrb r1, [r0, o_SoundInfo_maxLines]
+ cmp r1, 0 @ if maxLines is 0, there is no maximum
+ beq SoundMain_3
+ ldr r2, lt_REG_VCOUNT
ldrb r2, [r2]
- cmp r2, 0xA0
- bcs _080AE2A4
- adds r2, 0xE4
-_080AE2A4:
+ cmp r2, VCOUNT_VBLANK
+ bhs SoundMain_2
+ adds r2, TOTAL_SCANLINES
+SoundMain_2:
adds r1, r2
-_080AE2A6:
+SoundMain_3:
str r1, [sp, 0x14]
- ldr r3, [r0, 0x20]
+ ldr r3, [r0, o_SoundInfo_func]
cmp r3, 0
- beq _080AE2B6
- ldr r0, [r0, 0x24]
+ beq SoundMain_4
+ ldr r0, [r0, o_SoundInfo_intp]
bl call_r3
ldr r0, [sp, 0x18]
-_080AE2B6:
- ldr r3, [r0, 0x28]
+SoundMain_4:
+ ldr r3, [r0, o_SoundInfo_CgbSound]
bl call_r3
ldr r0, [sp, 0x18]
- ldr r3, [r0, 0x10]
+ ldr r3, [r0, o_SoundInfo_pcmSamplesPerVBlank]
mov r8, r3
- ldr r5, _080AE2F0
+ ldr r5, lt_o_SoundInfo_pcmBuffer
adds r5, r0
- ldrb r4, [r0, 0x4]
- subs r7, r4, 0x1
- bls _080AE2D6
- ldrb r1, [r0, 0xB]
+ ldrb r4, [r0, o_SoundInfo_pcmDmaCounter]
+ subs r7, r4, 1
+ bls SoundMain_5
+ ldrb r1, [r0, o_SoundInfo_pcmDmaPeriod]
subs r1, r7
mov r2, r8
muls r2, r1
adds r5, r2
-_080AE2D6:
+SoundMain_5:
str r5, [sp, 0x8]
- ldr r6, _080AE2F4
- ldr r3, _080AE2E8
+ ldr r6, lt_PCM_DMA_BUF_SIZE
+ ldr r3, lt_SoundMainRAM_Buffer
bx r3
+
.align 2, 0
-_080AE2E0: .4byte SOUND_INFO_PTR
-_080AE2E4: .4byte 0x68736d53
-_080AE2E8: .4byte SoundMainRAM_Buffer + 1
-_080AE2EC: .4byte 0x04000006
-_080AE2F0: .4byte 0x00000350
-_080AE2F4: .4byte 0x00000630
+lt_SOUND_INFO_PTR: .word SOUND_INFO_PTR
+lt_ID_NUMBER: .word ID_NUMBER
+lt_SoundMainRAM_Buffer: .word SoundMainRAM_Buffer + 1
+lt_REG_VCOUNT: .word REG_VCOUNT
+lt_o_SoundInfo_pcmBuffer: .word o_SoundInfo_pcmBuffer
+lt_PCM_DMA_BUF_SIZE: .word PCM_DMA_BUF_SIZE
thumb_func_end SoundMain
- thumb_func_start sub_80AE2F8
-sub_80AE2F8:
- ldrb r3, [r0, 0x5]
+ thumb_func_start SoundMainRAM
+SoundMainRAM:
+ ldrb r3, [r0, o_SoundInfo_reverb]
cmp r3, 0
- beq _080AE358
- adr r1, _080AE304
+ beq SoundMainRAM_NoReverb
+ adr r1, SoundMainRAM_Reverb
bx r1
.arm
-_080AE304:
+SoundMainRAM_Reverb:
cmp r4, 0x2
- addeq r7, r0, 0x350
+ addeq r7, r0, o_SoundInfo_pcmBuffer
addne r7, r5, r8
mov r4, r8
_080AE314:
@@ -115,22 +117,22 @@ _080AE314:
add r0, pc, 0x2F
bx r0
.thumb
-_080AE358:
+SoundMainRAM_NoReverb:
movs r0, 0
mov r1, r8
adds r6, r5
lsrs r1, 3
- bcc _080AE366
+ bcc SoundMainRAM_NoReverb_Ok
stm r5!, {r0}
stm r6!, {r0}
-_080AE366:
+SoundMainRAM_NoReverb_Ok:
lsrs r1, 1
- bcc _080AE372
+ bcc SoundMainRAM_NoReverb_Loop
stm r5!, {r0}
stm r6!, {r0}
stm r5!, {r0}
stm r6!, {r0}
-_080AE372:
+SoundMainRAM_NoReverb_Loop:
stm r5!, {r0}
stm r6!, {r0}
stm r5!, {r0}
@@ -140,31 +142,33 @@ _080AE372:
stm r5!, {r0}
stm r6!, {r0}
subs r1, 0x1
- bgt _080AE372
+ bgt SoundMainRAM_NoReverb_Loop
+_080AE386:
ldr r4, [sp, 0x18]
- ldr r0, [r4, 0x18]
+ ldr r0, [r4, o_SoundInfo_divFreq]
mov r12, r0
- ldrb r0, [r4, 0x6]
- adds r4, 0x50
-_080AE390:
+ ldrb r0, [r4, o_SoundInfo_maxChans]
+ adds r4, o_SoundInfo_chans
+SoundMainRAM_ChanLoop:
str r0, [sp, 0x4]
- ldr r3, [r4, 0x24]
+ ldr r3, [r4, o_SoundChannel_wav]
ldr r0, [sp, 0x14]
cmp r0, 0
beq _080AE3B0
- ldr r1, _080AE3AC
+ ldr r1, =REG_VCOUNT
ldrb r1, [r1]
- cmp r1, 0xA0
- bcs _080AE3A4
- adds r1, 0xE4
+ cmp r1, VCOUNT_VBLANK
+ bhs _080AE3A4
+ adds r1, TOTAL_SCANLINES
_080AE3A4:
cmp r1, r0
bcc _080AE3B0
b _080AE682
- .align 2, 0
-_080AE3AC: .4byte 0x04000006
+
+ .pool
+
_080AE3B0:
- ldrb r6, [r4]
+ ldrb r6, [r4, o_SoundChannel_status]
movs r0, 0xC7
tst r0, r6
bne _080AE3BA
@@ -177,96 +181,96 @@ _080AE3BA:
tst r0, r6
bne _080AE3FA
movs r6, 0x3
- strb r6, [r4]
+ strb r6, [r4, o_SoundChannel_status]
adds r0, r3, 0
adds r0, 0x10
- str r0, [r4, 0x28]
+ str r0, [r4, o_SoundChannel_cp]
ldr r0, [r3, 0xC]
- str r0, [r4, 0x18]
+ str r0, [r4, o_SoundChannel_ct]
movs r5, 0
- strb r5, [r4, 0x9]
- str r5, [r4, 0x1C]
+ strb r5, [r4, o_SoundChannel_ev]
+ str r5, [r4, o_SoundChannel_fw]
ldrb r2, [r3, 0x3]
movs r0, 0xC0
tst r0, r2
beq _080AE442
movs r0, 0x10
orrs r6, r0
- strb r6, [r4]
+ strb r6, [r4, o_SoundChannel_status]
b _080AE442
_080AE3EA:
- ldrb r5, [r4, 0x9]
+ ldrb r5, [r4, o_SoundChannel_ev]
movs r0, 0x4
tst r0, r6
beq _080AE400
- ldrb r0, [r4, 0xD]
+ ldrb r0, [r4, o_SoundChannel_iel]
subs r0, 0x1
- strb r0, [r4, 0xD]
+ strb r0, [r4, o_SoundChannel_iel]
bhi _080AE450
_080AE3FA:
movs r0, 0
- strb r0, [r4]
+ strb r0, [r4, o_SoundChannel_status]
b _080AE678
_080AE400:
movs r0, 0x40
tst r0, r6
beq _080AE420
- ldrb r0, [r4, 0x7]
+ ldrb r0, [r4, o_SoundChannel_release]
muls r5, r0
lsrs r5, 8
- ldrb r0, [r4, 0xC]
+ ldrb r0, [r4, o_SoundChannel_iev]
cmp r5, r0
bhi _080AE450
_080AE412:
- ldrb r5, [r4, 0xC]
+ ldrb r5, [r4, o_SoundChannel_iev]
cmp r5, 0
beq _080AE3FA
movs r0, 0x4
orrs r6, r0
- strb r6, [r4]
+ strb r6, [r4, o_SoundChannel_status]
b _080AE450
_080AE420:
movs r2, 0x3
ands r2, r6
cmp r2, 0x2
bne _080AE43E
- ldrb r0, [r4, 0x5]
+ ldrb r0, [r4, o_SoundChannel_decay]
muls r5, r0
lsrs r5, 8
- ldrb r0, [r4, 0x6]
+ ldrb r0, [r4, o_SoundChannel_sustain]
cmp r5, r0
bhi _080AE450
adds r5, r0, 0
beq _080AE412
subs r6, 0x1
- strb r6, [r4]
+ strb r6, [r4, o_SoundChannel_status]
b _080AE450
_080AE43E:
cmp r2, 0x3
bne _080AE450
_080AE442:
- ldrb r0, [r4, 0x4]
+ ldrb r0, [r4, o_SoundChannel_attack]
adds r5, r0
cmp r5, 0xFF
bcc _080AE450
movs r5, 0xFF
subs r6, 0x1
- strb r6, [r4]
+ strb r6, [r4, o_SoundChannel_status]
_080AE450:
- strb r5, [r4, 0x9]
+ strb r5, [r4, o_SoundChannel_ev]
ldr r0, [sp, 0x18]
- ldrb r0, [r0, 0x7]
+ ldrb r0, [r0, o_SoundChannel_release]
adds r0, 0x1
muls r0, r5
lsrs r5, r0, 4
- ldrb r0, [r4, 0x2]
+ ldrb r0, [r4, o_SoundChannel_rightVolume]
muls r0, r5
lsrs r0, 8
- strb r0, [r4, 0xA]
- ldrb r0, [r4, 0x3]
+ strb r0, [r4, o_SoundChannel_er]
+ ldrb r0, [r4, o_SoundChannel_leftVolume]
muls r0, r5
lsrs r0, 8
- strb r0, [r4, 0xB]
+ strb r0, [r4, o_SoundChannel_el]
movs r0, 0x10
ands r0, r6
str r0, [sp, 0x10]
@@ -281,18 +285,18 @@ _080AE450:
str r0, [sp, 0x10]
_080AE484:
ldr r5, [sp, 0x8]
- ldr r2, [r4, 0x18]
- ldr r3, [r4, 0x28]
+ ldr r2, [r4, o_SoundChannel_ct]
+ ldr r3, [r4, o_SoundChannel_cp]
adr r0, _080AE490
bx r0
.arm
_080AE490:
str r8, [sp]
- ldrb r10, [r4, 0xA]
- ldrb r11, [r4, 0xB]
+ ldrb r10, [r4, o_SoundChannel_er]
+ ldrb r11, [r4, o_SoundChannel_el]
mov r10, r10, lsl 16
mov r11, r11, lsl 16
- ldrb r0, [r4, 0x1]
+ ldrb r0, [r4, o_SoundChannel_type]
tst r0, 0x8
beq _080AE5D0
_080AE4B0:
@@ -368,7 +372,7 @@ _080AE598:
ldrne r3, [sp, 0xC]
bne _080AE54C
_080AE5A8:
- strb r2, [r4]
+ strb r2, [r4, o_SoundChannel_status]
mov r0, r5, lsr 30
bic r5, r5, 0xC0000000
rsb r0, r0, 0x3
@@ -380,8 +384,8 @@ _080AE5A8:
b _080AE66C
_080AE5D0:
stmdb sp!, {r4,r12}
- ldr lr, [r4, 0x1C]
- ldr r1, [r4, 0x20]
+ ldr lr, [r4, o_SoundChannel_fw]
+ ldr r1, [r4, o_SoundChannel_freq]
mul r4, r12, r1
ldrsb r0, [r3]
ldrsb r1, [r3, 0x1]!
@@ -419,10 +423,10 @@ _080AE640:
bgt _080AE5EC
sub r3, r3, 0x1
ldmia sp!, {r4,r12}
- str lr, [r4, 0x1C]
+ str lr, [r4, o_SoundChannel_fw]
_080AE664:
- str r2, [r4, 0x18]
- str r3, [r4, 0x28]
+ str r2, [r4, o_SoundChannel_ct]
+ str r3, [r4, o_SoundChannel_cp]
_080AE66C:
ldr r8, [sp]
add r0, pc, 0x1
@@ -432,11 +436,11 @@ _080AE678:
ldr r0, [sp, 0x4]
subs r0, 0x1
ble _080AE682
- adds r4, 0x40
- b _080AE390
+ adds r4, SoundChannel_size
+ b SoundMainRAM_ChanLoop
_080AE682:
ldr r0, [sp, 0x18]
- ldr r3, _080AE698
+ ldr r3, =ID_NUMBER
str r3, [r0]
add sp, 0x1C
pop {r0-r7}
@@ -448,10 +452,8 @@ _080AE682:
call_r3:
bx r3
-
- .align 2, 0
-_080AE698: .4byte 0x68736D53
- thumb_func_end sub_80AE2F8
+ .pool
+ thumb_func_end SoundMainRAM
thumb_func_start sub_80AE69C
sub_80AE69C:
@@ -1770,7 +1772,7 @@ _080AEF72:
pop {r0}
bx r0
.align 2, 0
-_080AEF78: .4byte sub_80AE2F8
+_080AEF78: .4byte SoundMainRAM
_080AEF7C: .4byte SoundMainRAM_Buffer
_080AEF80: .4byte 0x04000100
_080AEF84: .4byte gUnknown_2039ED0
diff --git a/asm/memory.s b/asm/memory.s
index 418056c..1b9d36e 100644
--- a/asm/memory.s
+++ b/asm/memory.s
@@ -5,107 +5,6 @@
.text
- thumb_func_start InitHeapInternal
-InitHeapInternal:
- push {lr}
- sub sp, 0x8
- ldr r0, =gHeap
- str r0, [sp]
- movs r0, 0x90
- lsls r0, 10
- str r0, [sp, 0x4]
- ldr r1, =gUnknown_2000EA8
- movs r0, 0
- str r0, [r1]
- ldr r0, =gUnknown_2000EB0
- ldr r2, =gHeapHeader
- mov r1, sp
- movs r3, 0x20
- bl DoInitHeap
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end InitHeapInternal
-
- thumb_func_start DoInitHeap
-DoInitHeap:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r4, [r1, 0x4]
- mov r9, r4
- movs r4, 0x4
- negs r4, r4
- mov r5, r9
- ands r5, r4
- mov r9, r5
- ldr r6, =gUnknown_2000E88
- ldr r4, =gUnknown_2000EA8
- mov r8, r4
- ldr r5, [r4]
- lsls r4, r5, 2
- adds r4, r6
- str r0, [r4]
- adds r5, 0x1
- mov r4, r8
- str r5, [r4]
- ldr r5, [r1]
- str r5, [r0, 0x14]
- mov r1, r9
- str r1, [r0, 0x18]
- movs r1, 0x2
- str r1, [r0]
- movs r4, 0
- str r4, [r0, 0x4]
- str r2, [r0, 0x8]
- movs r1, 0x1
- str r1, [r0, 0xC]
- str r3, [r0, 0x10]
- str r4, [r2]
- str r4, [r2, 0x4]
- str r5, [r2, 0xC]
- mov r5, r9
- str r5, [r2, 0x10]
- str r4, [r2, 0x14]
- str r4, [r2, 0x8]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end DoInitHeap
-
- thumb_func_start InitSubHeap
-InitSubHeap:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r3, r2, 0
- lsls r4, r3, 1
- adds r4, r3
- movs r2, 0x4
- negs r2, r2
- lsls r4, 3
- ldr r5, [r1, 0x4]
- subs r5, r4
- ands r5, r2
- ldr r2, [r1]
- adds r4, r2, r4
- str r4, [sp]
- str r5, [sp, 0x4]
- mov r1, sp
- bl DoInitHeap
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end InitSubHeap
-
thumb_func_start xxx_memory_attr_related
xxx_memory_attr_related:
push {lr}
@@ -201,7 +100,7 @@ _080030C2:
_080030CC:
movs r7, 0x1
negs r7, r7
- ldr r1, =0x24001
+ ldr r1, _08003100
movs r4, 0
ldr r3, [r5, 0x8]
ldr r2, [r5, 0xC]
@@ -229,7 +128,7 @@ _080030FC:
adds r0, r7, 0
b _08003108
.align 2, 0
- .pool
+_08003100: .4byte 0x00024001
_08003104:
movs r0, 0x1
negs r0, r0
@@ -555,7 +454,7 @@ _LocateSet:
adds r6, r2, 0
cmp r5, 0
bne _0800335C
- ldr r5, =gUnknown_2000EB0
+ ldr r5, =gMainHeapDescriptor
_0800335C:
asrs r4, r6, 8
movs r0, 0x1
@@ -619,7 +518,7 @@ MemoryAlloc:
push {lr}
adds r3, r0, 0
adds r2, r1, 0
- ldr r0, =gUnknown_2000EB0
+ ldr r0, =gMainHeapDescriptor
adds r1, r3, 0
bl DoAlloc
pop {r1}
@@ -632,7 +531,7 @@ MemoryAlloc:
MemoryFree:
push {lr}
adds r1, r0, 0
- ldr r0, =gUnknown_2000EB0
+ ldr r0, =gMainHeapDescriptor
bl DoFree
pop {r0}
bx r0
@@ -650,7 +549,7 @@ MemoryLocate_LocalCreate:
adds r6, r3, 0
cmp r4, 0
bne _08003412
- ldr r4, =gUnknown_2000EB0
+ ldr r4, =gMainHeapDescriptor
_08003412:
adds r0, r4, 0
movs r1, 0x9
@@ -728,11 +627,11 @@ _080034A2:
movs r0, 0
mov r12, r0
movs r3, 0
- ldr r6, =gUnknown_2000EA8
+ ldr r6, =gHeapCount
ldr r0, [r6]
cmp r12, r0
bge _080034F2
- ldr r5, =gUnknown_2000E88
+ ldr r5, =gHeapDescriptorList
adds r1, r6, 0
adds r7, r5, 0
movs r2, 0
@@ -746,7 +645,7 @@ _080034BC:
str r0, [r1]
cmp r3, r0
bge _080034F8
- ldr r1, =gUnknown_2000EA8
+ ldr r1, =gHeapCount
adds r2, r7
_080034D2:
ldr r0, [r2, 0x4]
@@ -800,7 +699,7 @@ DoFree:
adds r4, r0, 0
cmp r4, 0
bne _0800352E
- ldr r4, =gUnknown_2000EB0
+ ldr r4, =gMainHeapDescriptor
_0800352E:
cmp r1, 0
beq _080035E4
diff --git a/asm/rom_header.inc b/asm/rom_header.inc
index 09b95ec..6730efa 100644
--- a/asm/rom_header.inc
+++ b/asm/rom_header.inc
@@ -1,37 +1,19 @@
.global RomHeaderNintendoLogo
RomHeaderNintendoLogo:
- .byte 0x24,0xff,0xae,0x51,0x69,0x9a,0xa2,0x21
- .byte 0x3d,0x84,0x82,0x0a,0x84,0xe4,0x09,0xad
- .byte 0x11,0x24,0x8b,0x98,0xc0,0x81,0x7f,0x21
- .byte 0xa3,0x52,0xbe,0x19,0x93,0x09,0xce,0x20
- .byte 0x10,0x46,0x4a,0x4a,0xf8,0x27,0x31,0xec
- .byte 0x58,0xc7,0xe8,0x33,0x82,0xe3,0xce,0xbf
- .byte 0x85,0xf4,0xdf,0x94,0xce,0x4b,0x09,0xc1
- .byte 0x94,0x56,0x8a,0xc0,0x13,0x72,0xa7,0xfc
- .byte 0x9f,0x84,0x4d,0x73,0xa3,0xca,0x9a,0x61
- .byte 0x58,0x97,0xa3,0x27,0xfc,0x03,0x98,0x76
- .byte 0x23,0x1d,0xc7,0x61,0x03,0x04,0xae,0x56
- .byte 0xbf,0x38,0x84,0x00,0x40,0xa7,0x0e,0xfd
- .byte 0xff,0x52,0xfe,0x03,0x6f,0x95,0x30,0xf1
- .byte 0x97,0xfb,0xc0,0x85,0x60,0xd6,0x80,0x25
- .byte 0xa9,0x63,0xbe,0x03,0x01,0x4e,0x38,0xe2
- .byte 0xf9,0xa2,0x34,0xff,0xbb,0x3e,0x03,0x44
- .byte 0x78,0x00,0x90,0xcb,0x88,0x11,0x3a,0x94
- .byte 0x65,0xc0,0x7c,0x63,0x87,0xf0,0x3c,0xaf
- .byte 0xd6,0x25,0xe4,0x8b,0x38,0x0a,0xac,0x72
- .byte 0x21,0xd4,0xf8,0x07
+ .space 156
RomHeaderGameTitle:
- .ascii "POKE DUNGEON"
+ .space 12
+ .global RomHeaderGameCode
RomHeaderGameCode:
- .ascii "B24E"
+ .space 4
RomHeaderMakerCode:
- .ascii "01"
+ .space 2
RomHeaderMagic:
- .byte 0x96
+ .byte 0
RomHeaderMainUnitCode:
.byte 0
@@ -42,11 +24,12 @@ RomHeaderDeviceType:
RomHeaderReserved1:
.space 7
+ .global RomHeaderSoftwareVersion
RomHeaderSoftwareVersion:
.byte 0
RomHeaderChecksum:
- .byte 0xA4
+ .byte 0
RomHeaderReserved2:
.space 2
diff --git a/asm/save.s b/asm/save.s
index b4e748f..2ebaaa4 100644
--- a/asm/save.s
+++ b/asm/save.s
@@ -5,48 +5,18 @@
.text
- thumb_func_start sub_8011C7C
-sub_8011C7C:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- lsrs r1, 2
- cmp r1, 0x1
- ble _08011C96
- adds r3, r4, 0x4
- subs r1, 0x1
-_08011C8C:
- ldm r3!, {r0}
- adds r2, r0
- subs r1, 0x1
- cmp r1, 0
- bne _08011C8C
-_08011C96:
- ldr r0, [r4]
- cmp r0, r2
- bne _08011CA0
- movs r0, 0
- b _08011CA2
-_08011CA0:
- movs r0, 0x1
-_08011CA2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8011C7C
-
thumb_func_start sub_8011CA8
sub_8011CA8:
push {lr}
adds r3, r0, 0
adds r2, r1, 0
- ldr r0, _08011CCC
+ ldr r0, =gUnknown_203B184
ldr r0, [r0]
- ldr r0, _08011CD0
+ ldr r0, =0xfff
adds r1, r2, r0
cmp r1, 0
bge _08011CBE
- ldr r0, _08011CD4
+ ldr r0, =0x1ffe
adds r1, r2, r0
_08011CBE:
asrs r1, 12
@@ -56,13 +26,11 @@ _08011CBE:
pop {r0}
bx r0
.align 2, 0
-_08011CCC: .4byte gUnknown_203B184
-_08011CD0: .4byte 0x00000fff
-_08011CD4: .4byte 0x00001ffe
+ .pool
thumb_func_end sub_8011CA8
- thumb_func_start sub_8011CD8
-sub_8011CD8:
+ thumb_func_start WriteSaveSector
+WriteSaveSector:
push {r4-r6,lr}
adds r5, r1, 0
adds r4, r2, 0
@@ -71,7 +39,7 @@ sub_8011CD8:
bl sub_8011CA8
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8011C58
+ bl CalculateChecksum
ldr r0, _08011D04
ldr r0, [r0]
cmp r0, 0
@@ -115,10 +83,10 @@ _08011D3A:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_8011CD8
+ thumb_func_end WriteSaveSector
- thumb_func_start sub_8011D40
-sub_8011D40:
+ thumb_func_start ReadSaveSector
+ReadSaveSector:
push {r4-r6,lr}
adds r5, r1, 0
adds r4, r2, 0
@@ -160,7 +128,7 @@ _08011D8A:
_08011D8E:
adds r0, r5, 0
adds r1, r4, 0
- bl sub_8011C7C
+ bl ValidateChecksum
lsls r0, 24
cmp r0, 0
bne _08011DA0
@@ -172,7 +140,7 @@ _08011DA2:
pop {r4-r6}
pop {r1}
bx r1
- thumb_func_end sub_8011D40
+ thumb_func_end ReadSaveSector
thumb_func_start sub_8011DA8
sub_8011DA8:
@@ -197,14 +165,14 @@ sub_8011DAC:
adds r0, r6, 0
adds r1, r5, 0
mov r2, r8
- bl sub_8011D40
+ bl ReadSaveSector
adds r7, r0, 0
cmp r7, 0
beq _08011DE8
adds r0, r6, 0
adds r1, r5, 0
mov r2, r8
- bl sub_8011D40
+ bl ReadSaveSector
adds r7, r0, 0
b _08011DF0
.align 2, 0
@@ -423,7 +391,7 @@ _08011F98: .4byte 0x00000444
thumb_func_start sub_8011F9C
sub_8011F9C:
push {lr}
- bl sub_8011D40
+ bl ReadSaveSector
pop {r1}
bx r1
thumb_func_end sub_8011F9C
@@ -443,7 +411,7 @@ sub_8011FA8:
mov r0, sp
adds r1, r5, 0
adds r2, r4, 0
- bl sub_8011D40
+ bl ReadSaveSector
adds r2, r0, 0
cmp r2, 0
bne _08011FD8
@@ -486,7 +454,7 @@ sub_8011FF8:
mov r0, sp
adds r1, r5, 0
adds r2, r4, 0
- bl sub_8011D40
+ bl ReadSaveSector
cmp r0, 0
bne _08012028
ldr r1, [r5, 0x14]
@@ -654,12 +622,12 @@ _080120E8:
adds r0, r7, 0
adds r1, r6, 0
adds r2, r4, 0
- bl sub_8011CD8
+ bl WriteSaveSector
adds r5, r0, 0
adds r0, r7, 0
adds r1, r6, 0
adds r2, r4, 0
- bl sub_8011CD8
+ bl WriteSaveSector
adds r4, r0, 0
adds r0, r6, 0
bl MemoryFree
@@ -692,7 +660,7 @@ _080121CE:
thumb_func_start sub_80121D4
sub_80121D4:
push {lr}
- bl sub_8011CD8
+ bl WriteSaveSector
pop {r1}
bx r1
thumb_func_end sub_80121D4
@@ -728,7 +696,7 @@ sub_80121E0:
mov r0, sp
adds r1, r4, 0
adds r2, r6, 0
- bl sub_8011CD8
+ bl WriteSaveSector
adds r5, r0, 0
adds r0, r4, 0
bl MemoryFree
@@ -1724,22 +1692,4 @@ _080129F2:
bx r1
thumb_func_end sub_80128B0
- thumb_func_start sub_80129FC
-sub_80129FC:
- push {r4,lr}
- ldr r4, _08012A14
- ldr r0, [r4]
- cmp r0, 0
- beq _08012A0E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08012A0E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08012A14: .4byte gUnknown_203B194
- thumb_func_end sub_80129FC
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/sprite.s b/asm/sprite.s
index 5081f37..06d87f0 100644
--- a/asm/sprite.s
+++ b/asm/sprite.s
@@ -5,17 +5,6 @@
.text
- thumb_func_start InitSprites
-InitSprites:
- push {lr}
- movs r0, 0x1
- bl sub_8004D8C
- movs r0, 0
- bl SetSavingIconCoords
- pop {r0}
- bx r0
- thumb_func_end InitSprites
-
thumb_func_start sub_8004D8C
sub_8004D8C:
push {r4,r5,lr}
diff --git a/asm/text.s b/asm/text.s
index a8e6dc5..bf0c037 100644
--- a/asm/text.s
+++ b/asm/text.s
@@ -121,7 +121,7 @@ _080062AC:
_080062F4: .4byte gUnknown_20274AC
_080062F8: .4byte gUnknown_80B87B4
_080062FC: .4byte gUnknown_8300500
-_08006300: .4byte gUnknown_202AFB4
+_08006300: .4byte gKanji
_08006304: .4byte gUnknown_80B87BC
_08006308: .4byte gUnknown_2027490
_0800630C: .4byte gUnknown_202B028