summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rwxr-xr-xasm/bonus_field_select.s4
-rwxr-xr-xasm/ereader.s4
-rwxr-xr-xasm/field_select.s970
-rwxr-xr-xasm/high_scores.s40
-rwxr-xr-xasm/intro.s16
-rwxr-xr-xasm/options.s1312
-rwxr-xr-xasm/pokedex.s6
-rwxr-xr-xasm/rom_11B9C.s12
-rwxr-xr-xasm/rom_3219C.s4
-rwxr-xr-xasm/rom_9BC.s8
10 files changed, 62 insertions, 2314 deletions
diff --git a/asm/bonus_field_select.s b/asm/bonus_field_select.s
index 331e00b..f1b177d 100755
--- a/asm/bonus_field_select.s
+++ b/asm/bonus_field_select.s
@@ -23,7 +23,7 @@ _080025C0: .4byte gMain
thumb_func_start sub_25C4
sub_25C4: @ 0x080025C4
push {r4, lr}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x84
@@ -368,7 +368,7 @@ _080028A0:
lsls r2, r2, #1
adds r1, r5, r2
strb r0, [r1]
- bl sub_52B30
+ bl SaveFile_WriteToSram
movs r0, #2
strb r0, [r6]
_080028CC:
diff --git a/asm/ereader.s b/asm/ereader.s
index b5a612c..6ae020e 100755
--- a/asm/ereader.s
+++ b/asm/ereader.s
@@ -26,7 +26,7 @@ sub_2C78: @ 0x08002C78
mov r6, sb
mov r5, r8
push {r5, r6}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x86
@@ -922,7 +922,7 @@ sub_343C: @ 0x0800343C
mov r6, sb
mov r5, r8
push {r5, r6}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x86
diff --git a/asm/field_select.s b/asm/field_select.s
deleted file mode 100755
index f789dbf..0000000
--- a/asm/field_select.s
+++ /dev/null
@@ -1,970 +0,0 @@
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start FieldSelectMain
-FieldSelectMain: @ 0x08008AD4
- push {lr}
- ldr r1, _08008AEC @ =gUnknown_080792C0
- ldr r0, _08008AF0 @ =gMain
- ldrb r0, [r0, #3]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_08008AEC: .4byte gUnknown_080792C0
-_08008AF0: .4byte gMain
-
- thumb_func_start LoadFieldSelectGraphics
-LoadFieldSelectGraphics: @ 0x08008AF4
- push {r4, lr}
- bl sub_438
- movs r2, #0x80
- lsls r2, r2, #0x13
- movs r1, #0x84
- lsls r1, r1, #5
- adds r0, r1, #0
- strh r0, [r2]
- ldr r1, _08008BD4 @ =0x04000008
- movs r0, #4
- strh r0, [r1]
- ldrh r0, [r2]
- movs r3, #0x80
- lsls r3, r3, #1
- adds r1, r3, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _08008BD8 @ =0x0400000A
- adds r3, #5
- adds r0, r3, #0
- strh r0, [r1]
- ldrh r0, [r2]
- adds r3, #0xfb
- adds r1, r3, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _08008BDC @ =0x0400000C
- adds r3, #0xa
- adds r0, r3, #0
- strh r0, [r1]
- ldrh r0, [r2]
- movs r3, #0x80
- lsls r3, r3, #3
- adds r1, r3, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r4, _08008BE0 @ =gMain
- ldrh r0, [r2]
- strh r0, [r4, #0x16]
- ldr r0, _08008BE4 @ =0x040000D4
- ldr r1, _08008BE8 @ =gFieldSelectBGPals
- str r1, [r0]
- movs r1, #0xa0
- lsls r1, r1, #0x13
- str r1, [r0, #4]
- ldr r3, _08008BEC @ =0x80000100
- str r3, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08008BF0 @ =gFieldSelectWindow_Gfx
- str r1, [r0]
- ldr r1, _08008BF4 @ =0x06004000
- str r1, [r0, #4]
- ldr r1, _08008BF8 @ =0x80000A00
- str r1, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08008BFC @ =gFieldSelectMiniFields_Gfx
- str r1, [r0]
- ldr r1, _08008C00 @ =0x06008000
- str r1, [r0, #4]
- ldr r1, _08008C04 @ =0x80001C00
- str r1, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08008C08 @ =gUnknown_080A2400
- str r1, [r0]
- movs r1, #0xc0
- lsls r1, r1, #0x13
- str r1, [r0, #4]
- ldr r2, _08008C0C @ =0x80000400
- str r2, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08008C10 @ =gFieldSelectFrameShadowTilemap
- str r1, [r0]
- ldr r1, _08008C14 @ =0x06000800
- str r1, [r0, #4]
- str r2, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08008C18 @ =gFieldSelectWindowTilemap
- str r1, [r0]
- ldr r1, _08008C1C @ =0x06001000
- str r1, [r0, #4]
- str r2, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08008C20 @ =gFieldSelectSpritePals
- str r1, [r0]
- ldr r1, _08008C24 @ =0x05000200
- str r1, [r0, #4]
- str r3, [r0, #8]
- ldr r1, [r0, #8]
- ldr r1, _08008C28 @ =gFieldSelectSpriteGfx
- str r1, [r0]
- ldr r1, _08008C2C @ =0x06010000
- str r1, [r0, #4]
- ldr r1, _08008C30 @ =0x80002010
- str r1, [r0, #8]
- ldr r0, [r0, #8]
- bl sub_CBC
- bl sub_8C38
- ldr r0, _08008C34 @ =sub_8F94 + 1
- bl sub_FD5C
- ldrb r0, [r4, #3]
- adds r0, #1
- strb r0, [r4, #3]
- movs r0, #3
- bl m4aSongNumStart
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08008BD4: .4byte 0x04000008
-_08008BD8: .4byte 0x0400000A
-_08008BDC: .4byte 0x0400000C
-_08008BE0: .4byte gMain
-_08008BE4: .4byte 0x040000D4
-_08008BE8: .4byte gFieldSelectBGPals
-_08008BEC: .4byte 0x80000100
-_08008BF0: .4byte gFieldSelectWindow_Gfx
-_08008BF4: .4byte 0x06004000
-_08008BF8: .4byte 0x80000A00
-_08008BFC: .4byte gFieldSelectMiniFields_Gfx
-_08008C00: .4byte 0x06008000
-_08008C04: .4byte 0x80001C00
-_08008C08: .4byte gUnknown_080A2400
-_08008C0C: .4byte 0x80000400
-_08008C10: .4byte gFieldSelectFrameShadowTilemap
-_08008C14: .4byte 0x06000800
-_08008C18: .4byte gFieldSelectWindowTilemap
-_08008C1C: .4byte 0x06001000
-_08008C20: .4byte gFieldSelectSpritePals
-_08008C24: .4byte 0x05000200
-_08008C28: .4byte gFieldSelectSpriteGfx
-_08008C2C: .4byte 0x06010000
-_08008C30: .4byte 0x80002010
-_08008C34: .4byte sub_8F94 + 1
-
- thumb_func_start sub_8C38
-sub_8C38: @ 0x08008C38
- ldr r2, _08008C70 @ =gUnknown_02002838
- movs r3, #0
- movs r1, #0
- movs r0, #2
- strh r0, [r2]
- movs r0, #3
- strh r0, [r2, #2]
- strh r1, [r2, #4]
- movs r0, #1
- strh r0, [r2, #6]
- strh r1, [r2, #8]
- strh r1, [r2, #0xa]
- strh r1, [r2, #0xc]
- strh r1, [r2, #0xe]
- strh r1, [r2, #0x16]
- strh r1, [r2, #0x12]
- strb r3, [r2, #0x14]
- ldr r0, _08008C74 @ =gMain+0x74
- adds r1, r0, #0
- adds r1, #0xce
- ldrb r1, [r1]
- strb r1, [r2, #0x10]
- subs r0, #0x74
- strb r3, [r0, #4]
- ldr r0, _08008C78 @ =gUnknown_02002850
- strb r3, [r0]
- bx lr
- .align 2, 0
-_08008C70: .4byte gUnknown_02002838
-_08008C74: .4byte gMain+0x74
-_08008C78: .4byte gUnknown_02002850
-
- thumb_func_start sub_8C7C
-sub_8C7C: @ 0x08008C7C
- push {r4, r5, r6, r7, lr}
- bl sub_8F94
- ldr r7, _08008CC4 @ =gMain
- ldrh r1, [r7, #0x1c]
- movs r0, #0xf
- ands r0, r1
- cmp r0, #0xf
- bne _08008CA0
- ldr r1, _08008CC8 @ =gUnknown_02002850
- movs r0, #1
- strb r0, [r1]
- ldr r1, _08008CCC @ =gUnknown_02002838
- movs r0, #0
- strh r0, [r1, #0x16]
- ldrb r0, [r7, #3]
- adds r0, #1
- strb r0, [r7, #3]
-_08008CA0:
- ldr r0, _08008CC8 @ =gUnknown_02002850
- movs r6, #0
- ldrsb r6, [r0, r6]
- cmp r6, #0
- beq _08008CAC
- b _08008F56
-_08008CAC:
- ldr r5, _08008CCC @ =gUnknown_02002838
- ldrh r4, [r5, #0xa]
- adds r3, r5, #0
- cmp r4, #1
- bne _08008CB8
- b _08008E2E
-_08008CB8:
- cmp r4, #1
- bgt _08008CD0
- cmp r4, #0
- beq _08008CDC
- b _08008F4C
- .align 2, 0
-_08008CC4: .4byte gMain
-_08008CC8: .4byte gUnknown_02002850
-_08008CCC: .4byte gUnknown_02002838
-_08008CD0:
- cmp r4, #2
- beq _08008DC2
- cmp r4, #3
- bne _08008CDA
- b _08008F08
-_08008CDA:
- b _08008F4C
-_08008CDC:
- ldrh r1, [r7, #0x18]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _08008CFC
- ldrh r4, [r5, #8]
- cmp r4, #1
- bne _08008D1A
- movs r0, #0x6d
- bl m4aSongNumStart
- strh r6, [r5, #8]
- strh r6, [r5, #4]
- strh r4, [r5, #6]
- strh r4, [r5, #0xa]
- b _08008D1A
-_08008CFC:
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _08008D1A
- ldrh r0, [r5, #8]
- cmp r0, #0
- bne _08008D1A
- movs r0, #0x6d
- bl m4aSongNumStart
- movs r0, #1
- strh r0, [r5, #8]
- strh r0, [r5, #4]
- strh r6, [r5, #6]
- strh r0, [r5, #0xa]
-_08008D1A:
- ldr r2, _08008D50 @ =gMain
- ldrh r1, [r2, #0x18]
- movs r4, #1
- adds r0, r4, #0
- ands r0, r1
- adds r5, r2, #0
- cmp r0, #0
- beq _08008D66
- movs r0, #0x65
- bl m4aSongNumStart
- ldr r1, _08008D54 @ =gUnknown_02002838
- movs r2, #0
- movs r3, #2
- strh r3, [r1, #0xa]
- movs r0, #1
- strb r0, [r1, #0x14]
- strh r2, [r1, #0xe]
- ldrh r0, [r1, #8]
- cmp r0, #0
- bne _08008D58
- strh r2, [r1, #4]
- strh r4, [r1, #6]
- strh r3, [r1]
- movs r0, #3
- b _08008D62
- .align 2, 0
-_08008D50: .4byte gMain
-_08008D54: .4byte gUnknown_02002838
-_08008D58:
- strh r4, [r1, #4]
- strh r2, [r1, #6]
- movs r0, #7
- strh r0, [r1]
- movs r0, #0xb
-_08008D62:
- strh r0, [r1, #2]
- strh r2, [r1, #0xc]
-_08008D66:
- ldrh r1, [r5, #0x18]
- movs r4, #2
- adds r0, r4, #0
- ands r0, r1
- cmp r0, #0
- beq _08008DAA
- movs r0, #0x66
- bl m4aSongNumStart
- ldrb r0, [r5, #3]
- adds r0, #1
- movs r3, #0
- strb r0, [r5, #3]
- ldr r1, _08008D98 @ =gUnknown_02002838
- movs r2, #1
- strh r2, [r1, #0x16]
- ldrh r0, [r1, #8]
- cmp r0, #0
- bne _08008D9C
- strh r3, [r1, #4]
- strh r2, [r1, #6]
- strh r4, [r1]
- movs r0, #3
- b _08008DA6
- .align 2, 0
-_08008D98: .4byte gUnknown_02002838
-_08008D9C:
- strh r2, [r1, #4]
- strh r3, [r1, #6]
- movs r0, #7
- strh r0, [r1]
- movs r0, #0xb
-_08008DA6:
- strh r0, [r1, #2]
- strh r3, [r1, #0xc]
-_08008DAA:
- ldr r1, _08008DB8 @ =gMain
- ldrb r0, [r1, #4]
- cmp r0, #1
- bhi _08008DBC
- movs r0, #0
- strb r0, [r1, #6]
- b _08008F4C
- .align 2, 0
-_08008DB8: .4byte gMain
-_08008DBC:
- movs r0, #1
- strb r0, [r1, #6]
- b _08008F4C
-_08008DC2:
- ldrh r1, [r7, #0x18]
- movs r0, #0x30
- ands r0, r1
- cmp r0, #0
- beq _08008DDA
- movs r0, #0x67
- bl m4aSongNumStart
- ldrb r1, [r5, #0x10]
- movs r0, #1
- subs r0, r0, r1
- strb r0, [r5, #0x10]
-_08008DDA:
- ldrh r1, [r7, #0x18]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- beq _08008E00
- movs r0, #0x65
- bl m4aSongNumStart
- strh r6, [r5, #0xe]
- strh r6, [r5, #0xc]
- ldrb r0, [r5, #0x10]
- movs r2, #0xa1
- lsls r2, r2, #1
- adds r1, r7, r2
- strb r0, [r1]
- bl sub_52B30
- movs r0, #3
- strh r0, [r5, #0xa]
-_08008E00:
- ldrh r0, [r7, #0x18]
- ands r4, r0
- cmp r4, #0
- beq _08008E12
- movs r0, #0x66
- bl m4aSongNumStart
- strb r6, [r5, #0x14]
- strh r6, [r5, #0xa]
-_08008E12:
- ldrh r0, [r5, #0xe]
- adds r0, #1
- strh r0, [r5, #0xe]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #4
- bgt _08008E22
- b _08008F4C
-_08008E22:
- strh r6, [r5, #0xe]
- ldrh r1, [r5, #0x12]
- movs r0, #1
- subs r0, r0, r1
- strh r0, [r5, #0x12]
- b _08008F4C
-_08008E2E:
- ldrh r0, [r5, #8]
- cmp r0, #0
- bne _08008E5C
- ldr r2, _08008E58 @ =gUnknown_086A6B14
- movs r4, #0xc
- ldrsh r0, [r5, r4]
- movs r1, #4
- subs r0, r1, r0
- lsls r0, r0, #1
- adds r0, r0, r2
- ldrh r0, [r0]
- strh r0, [r5]
- movs r4, #0xc
- ldrsh r0, [r5, r4]
- subs r1, r1, r0
- lsls r1, r1, #1
- adds r2, #0xa
- adds r1, r1, r2
- ldrh r0, [r1]
- b _08008E76
- .align 2, 0
-_08008E58: .4byte gUnknown_086A6B14
-_08008E5C:
- ldr r1, _08008E94 @ =gUnknown_086A6B14
- movs r2, #0xc
- ldrsh r0, [r5, r2]
- lsls r0, r0, #1
- adds r0, r0, r1
- ldrh r0, [r0]
- strh r0, [r5]
- movs r4, #0xc
- ldrsh r0, [r5, r4]
- lsls r0, r0, #1
- adds r1, #0xa
- adds r0, r0, r1
- ldrh r0, [r0]
-_08008E76:
- strh r0, [r5, #2]
- ldr r0, _08008E98 @ =gMain
- ldr r1, [r0, #0x4c]
- movs r0, #1
- ands r1, r0
- cmp r1, #0
- bne _08008EA0
- ldrh r2, [r3, #0xc]
- movs r4, #0xc
- ldrsh r0, [r3, r4]
- cmp r0, #3
- bgt _08008E9C
- adds r0, r2, #1
- strh r0, [r3, #0xc]
- b _08008EA0
- .align 2, 0
-_08008E94: .4byte gUnknown_086A6B14
-_08008E98: .4byte gMain
-_08008E9C:
- strh r1, [r3, #0xc]
- strh r1, [r3, #0xa]
-_08008EA0:
- ldr r0, _08008ED0 @ =gMain
- ldrh r1, [r0, #0x18]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _08008ED8
- ldr r4, _08008ED4 @ =gUnknown_02002838
- ldrh r5, [r4, #8]
- cmp r5, #1
- bne _08008F4C
- movs r0, #0x6d
- bl m4aSongNumStart
- movs r0, #0
- strh r0, [r4, #8]
- strh r0, [r4, #4]
- strh r5, [r4, #6]
- movs r1, #2
- strh r1, [r4]
- movs r1, #3
- strh r1, [r4, #2]
- strh r0, [r4, #0xc]
- strh r0, [r4, #0xa]
- b _08008F4C
- .align 2, 0
-_08008ED0: .4byte gMain
-_08008ED4: .4byte gUnknown_02002838
-_08008ED8:
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _08008F4C
- ldr r4, _08008F04 @ =gUnknown_02002838
- ldrh r5, [r4, #8]
- cmp r5, #0
- bne _08008F4C
- movs r0, #0x6d
- bl m4aSongNumStart
- movs r0, #1
- strh r0, [r4, #8]
- strh r0, [r4, #4]
- strh r5, [r4, #6]
- movs r0, #7
- strh r0, [r4]
- movs r0, #0xb
- strh r0, [r4, #2]
- strh r5, [r4, #0xc]
- strh r5, [r4, #0xa]
- b _08008F4C
- .align 2, 0
-_08008F04: .4byte gUnknown_02002838
-_08008F08:
- ldrh r0, [r5, #0xe]
- adds r0, #1
- strh r0, [r5, #0xe]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #3
- ble _08008F4C
- strh r6, [r5, #0xe]
- ldrh r0, [r5, #8]
- cmp r0, #0
- bne _08008F28
- ldrh r1, [r5, #4]
- movs r0, #1
- subs r0, r0, r1
- strh r0, [r5, #4]
- b _08008F30
-_08008F28:
- ldrh r1, [r5, #6]
- movs r0, #1
- subs r0, r0, r1
- strh r0, [r5, #6]
-_08008F30:
- ldr r1, _08008F5C @ =gUnknown_02002838
- ldrh r0, [r1, #0xc]
- adds r0, #1
- strh r0, [r1, #0xc]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #5
- ble _08008F4C
- movs r0, #2
- strh r0, [r1, #0x16]
- ldr r1, _08008F60 @ =gMain
- ldrb r0, [r1, #3]
- adds r0, #1
- strb r0, [r1, #3]
-_08008F4C:
- ldr r0, _08008F60 @ =gMain
- ldr r1, _08008F5C @ =gUnknown_02002838
- ldrh r1, [r1, #8]
- strb r1, [r0, #4]
- strb r1, [r0, #5]
-_08008F56:
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08008F5C: .4byte gUnknown_02002838
-_08008F60: .4byte gMain
-
- thumb_func_start sub_8F64
-sub_8F64: @ 0x08008F64
- push {lr}
- ldr r0, _08008F88 @ =sub_8F94 + 1
- bl sub_FE04
- bl m4aMPlayAllStop
- bl sub_D10
- ldr r1, _08008F8C @ =gAutoDisplayTitlescreenMenu
- movs r0, #1
- strb r0, [r1]
- ldr r0, _08008F90 @ =gUnknown_02002838
- ldrh r0, [r0, #0x16]
- bl SetMainGameState
- pop {r0}
- bx r0
- .align 2, 0
-_08008F88: .4byte sub_8F94 + 1
-_08008F8C: .4byte gAutoDisplayTitlescreenMenu
-_08008F90: .4byte gUnknown_02002838
-
- thumb_func_start sub_8F94
-sub_8F94: @ 0x08008F94
- push {r4, r5, r6, r7, lr}
- mov r7, sl
- mov r6, sb
- mov r5, r8
- push {r5, r6, r7}
- sub sp, #4
- ldr r5, _08009254 @ =gMain
- ldrh r0, [r5, #0x38]
- ldr r0, _08009258 @ =0x00000642
- strh r0, [r5, #0x38]
- ldrh r0, [r5, #0x3a]
- ldr r0, _0800925C @ =0x00000808
- strh r0, [r5, #0x3a]
- ldr r1, _08009260 @ =0x04000050
- ldrh r0, [r5, #0x38]
- strh r0, [r1]
- adds r1, #2
- ldrh r0, [r5, #0x3a]
- strh r0, [r1]
- movs r0, #0xbe
- lsls r0, r0, #2
- adds r6, r5, r0
- movs r1, #0xec
- lsls r1, r1, #2
- adds r1, r1, r5
- mov sb, r1
- ldr r4, _08009264 @ =gUnknown_02002838
- ldrh r0, [r4]
- movs r2, #0xb8
- muls r0, r2, r0
- adds r0, r0, r6
- str r0, [sp]
- ldrh r0, [r4, #2]
- muls r0, r2, r0
- adds r0, r0, r6
- mov sl, r0
- ldrb r1, [r4, #0x10]
- lsls r1, r1, #1
- movs r3, #0x12
- ldrsh r0, [r4, r3]
- adds r0, #0xc
- adds r1, r1, r0
- adds r0, r1, #0
- muls r0, r2, r0
- adds r0, r0, r6
- mov r8, r0
- ldrh r0, [r4, #4]
- strh r0, [r6]
- ldrh r0, [r4, #6]
- mov r7, sb
- strh r0, [r7]
- movs r0, #1
- ldr r1, [sp]
- strh r0, [r1]
- mov r2, sl
- strh r0, [r2]
- movs r0, #0x14
- ldrsb r0, [r4, r0]
- mov r3, r8
- strh r0, [r3]
- ldr r0, _08009268 @ =gUnknown_086A6AD4
- movs r1, #0x10
- adds r2, r6, #0
- bl LoadSpriteSets
- ldrh r0, [r4, #4]
- cmp r0, #1
- bne _08009066
- movs r0, #0x25
- strh r0, [r6, #2]
- movs r0, #0x18
- strh r0, [r6, #4]
- ldr r7, _0800926C @ =gOamBuffer
- movs r0, #0xc0
- lsls r0, r0, #2
- adds r4, r5, r0
- ldr r1, _08009270 @ =0x000001FF
- mov ip, r1
- movs r5, #1
-_08009032:
- ldrh r3, [r4]
- lsls r3, r3, #3
- adds r3, r3, r7
- movs r2, #2
- ldrsh r1, [r4, r2]
- movs r2, #2
- ldrsh r0, [r6, r2]
- adds r1, r1, r0
- mov r0, ip
- ands r1, r0
- ldrh r2, [r3, #2]
- ldr r0, _08009274 @ =0xFFFFFE00
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r7
- ldrb r0, [r6, #4]
- ldrb r2, [r4, #4]
- adds r0, r0, r2
- strb r0, [r1]
- adds r4, #8
- subs r5, #1
- cmp r5, #0
- bge _08009032
-_08009066:
- ldr r0, _08009264 @ =gUnknown_02002838
- ldrh r1, [r0, #6]
- cmp r1, #1
- bne _080090BC
- movs r0, #0x8d
- mov r3, sb
- strh r0, [r3, #2]
- movs r0, #0x18
- strh r0, [r3, #4]
- ldr r6, _0800926C @ =gOamBuffer
- ldr r7, _08009274 @ =0xFFFFFE00
- mov ip, r7
- mov r4, sb
- adds r4, #8
- movs r5, #1
-_08009084:
- ldrh r3, [r4]
- lsls r3, r3, #3
- adds r3, r3, r6
- movs r0, #2
- ldrsh r1, [r4, r0]
- mov r2, sb
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r0, _08009270 @ =0x000001FF
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r6
- mov r2, sb
- ldrb r0, [r2, #4]
- ldrb r3, [r4, #4]
- adds r0, r0, r3
- strb r0, [r1]
- adds r4, #8
- subs r5, #1
- cmp r5, #0
- bge _08009084
-_080090BC:
- movs r0, #0x20
- ldr r7, [sp]
- strh r0, [r7, #2]
- strh r0, [r7, #4]
- ldr r1, _08009264 @ =gUnknown_02002838
- ldrh r0, [r1]
- lsls r0, r0, #2
- ldr r2, _08009268 @ =gUnknown_086A6AD4
- adds r0, r0, r2
- ldr r6, [r0]
- movs r5, #0
- ldrh r3, [r6]
- cmp r5, r3
- bge _0800913A
- movs r7, #0xd
- rsbs r7, r7, #0
- mov ip, r7
- ldr r0, _08009274 @ =0xFFFFFE00
- mov sb, r0
- ldr r4, [sp]
- adds r4, #8
-_080090E6:
- ldrh r2, [r4]
- lsls r2, r2, #3
- ldr r1, _0800926C @ =gOamBuffer
- adds r2, r2, r1
- ldrb r1, [r2, #1]
- mov r0, ip
- ands r0, r1
- movs r1, #4
- orrs r0, r1
- strb r0, [r2, #1]
- ldrh r3, [r4]
- lsls r3, r3, #3
- ldr r2, _0800926C @ =gOamBuffer
- adds r3, r3, r2
- movs r7, #2
- ldrsh r1, [r4, r7]
- ldr r2, [sp]
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r2, _08009270 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- ldr r3, _0800926C @ =gOamBuffer
- adds r1, r1, r3
- ldr r7, [sp]
- ldrb r0, [r7, #4]
- ldrb r2, [r4, #4]
- adds r0, r0, r2
- strb r0, [r1]
- adds r4, #8
- adds r5, #1
- ldrh r3, [r6]
- cmp r5, r3
- blt _080090E6
-_0800913A:
- movs r0, #0x88
- mov r7, sl
- strh r0, [r7, #2]
- movs r0, #0x20
- strh r0, [r7, #4]
- ldr r1, _08009264 @ =gUnknown_02002838
- ldrh r0, [r1, #2]
- lsls r0, r0, #2
- ldr r2, _08009268 @ =gUnknown_086A6AD4
- adds r0, r0, r2
- ldr r6, [r0]
- movs r5, #0
- ldrh r3, [r6]
- cmp r5, r3
- bge _080091BA
- movs r7, #0xd
- rsbs r7, r7, #0
- mov ip, r7
- ldr r0, _08009274 @ =0xFFFFFE00
- mov sb, r0
- mov r4, sl
- adds r4, #8
-_08009166:
- ldrh r2, [r4]
- lsls r2, r2, #3
- ldr r1, _0800926C @ =gOamBuffer
- adds r2, r2, r1
- ldrb r1, [r2, #1]
- mov r0, ip
- ands r0, r1
- movs r1, #4
- orrs r0, r1
- strb r0, [r2, #1]
- ldrh r3, [r4]
- lsls r3, r3, #3
- ldr r2, _0800926C @ =gOamBuffer
- adds r3, r3, r2
- movs r7, #2
- ldrsh r1, [r4, r7]
- mov r2, sl
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r2, _08009270 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, sb
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- ldr r3, _0800926C @ =gOamBuffer
- adds r1, r1, r3
- mov r7, sl
- ldrb r0, [r7, #4]
- ldrb r2, [r4, #4]
- adds r0, r0, r2
- strb r0, [r1]
- adds r4, #8
- adds r5, #1
- ldrh r3, [r6]
- cmp r5, r3
- blt _08009166
-_080091BA:
- mov r7, r8
- ldrh r0, [r7]
- cmp r0, #1
- bne _08009234
- ldr r1, _08009278 @ =gUnknown_086A6B28
- ldr r2, _08009264 @ =gUnknown_02002838
- ldrh r0, [r2, #8]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrh r0, [r0]
- strh r0, [r7, #2]
- ldrh r0, [r2, #8]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldrh r0, [r0, #2]
- strh r0, [r7, #4]
- ldr r6, _0800926C @ =gOamBuffer
- movs r3, #0xd
- rsbs r3, r3, #0
- mov sb, r3
- ldr r7, _08009274 @ =0xFFFFFE00
- mov ip, r7
- mov r4, r8
- adds r4, #8
- movs r5, #4
-_080091EC:
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r6
- ldrb r2, [r1, #1]
- mov r0, sb
- ands r0, r2
- strb r0, [r1, #1]
- ldrh r3, [r4]
- lsls r3, r3, #3
- adds r3, r3, r6
- movs r0, #2
- ldrsh r1, [r4, r0]
- mov r2, r8
- movs r7, #2
- ldrsh r0, [r2, r7]
- adds r1, r1, r0
- ldr r2, _08009270 @ =0x000001FF
- adds r0, r2, #0
- ands r1, r0
- ldrh r2, [r3, #2]
- mov r0, ip
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, #2]
- ldrh r1, [r4]
- lsls r1, r1, #3
- adds r1, r1, r6
- mov r3, r8
- ldrb r0, [r3, #4]
- ldrb r7, [r4, #4]
- adds r0, r0, r7
- strb r0, [r1]
- adds r4, #8
- subs r5, #1
- cmp r5, #0
- bge _080091EC
-_08009234:
- movs r0, #0
- ldr r1, [sp]
- strh r0, [r1]
- mov r2, sl
- strh r0, [r2]
- mov r3, r8
- strh r0, [r3]
- add sp, #4
- pop {r3, r4, r5}
- mov r8, r3
- mov sb, r4
- mov sl, r5
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08009254: .4byte gMain
-_08009258: .4byte 0x00000642
-_0800925C: .4byte 0x00000808
-_08009260: .4byte 0x04000050
-_08009264: .4byte gUnknown_02002838
-_08009268: .4byte gUnknown_086A6AD4
-_0800926C: .4byte gOamBuffer
-_08009270: .4byte 0x000001FF
-_08009274: .4byte 0xFFFFFE00
-_08009278: .4byte gUnknown_086A6B28
diff --git a/asm/high_scores.s b/asm/high_scores.s
index 2c93e68..ce16d73 100755
--- a/asm/high_scores.s
+++ b/asm/high_scores.s
@@ -40,7 +40,7 @@ _0800CE84: .4byte gMain
thumb_func_start sub_CE88
sub_CE88: @ 0x0800CE88
push {r4, r5, r6, r7, lr}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x84
@@ -1320,7 +1320,7 @@ _0800D8CE:
mov r3, sb
cmp r3, #1
ble _0800D8AC
- bl sub_52B30
+ bl SaveFile_WriteToSram
ldr r1, _0800D8FC @ =gMain
movs r0, #3
strb r0, [r1, #3]
@@ -1772,7 +1772,7 @@ _0800DC88:
mov r2, sb
cmp r2, #1
ble _0800DC68
- bl sub_52B30
+ bl SaveFile_WriteToSram
bl sub_2B4
bl m4aMPlayAllStop
bl sub_D10
@@ -1813,7 +1813,7 @@ sub_DCF0: @ 0x0800DCF0
movs r0, #0x65
bl m4aSongNumStart
bl sub_F6E0
- bl sub_52B30
+ bl SaveFile_WriteToSram
bl sub_2B4
bl m4aMPlayAllStop
bl sub_D10
@@ -1864,7 +1864,7 @@ sub_DD70: @ 0x0800DD70
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x84
@@ -2283,7 +2283,7 @@ sub_E0EC: @ 0x0800E0EC
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x84
@@ -5917,7 +5917,7 @@ _0800FDAA:
_0800FDB4:
adds r0, r7, #0
bl sub_1001C
- bl sub_D74
+ bl MainLoopIter
cmp r7, #0x1f
bne _0800FDE0
ldr r0, _0800FDCC @ =gUnknown_0201A920
@@ -5995,7 +5995,7 @@ _0800FE4C:
_0800FE54:
adds r0, r7, #0
bl sub_1001C
- bl sub_D74
+ bl MainLoopIter
cmp r7, #0x1f
bne _0800FE84
ldr r0, _0800FE80 @ =gUnknown_0201A920
@@ -6024,8 +6024,8 @@ _0800FE8C:
cmp r7, #0x1f
bls _0800FE4C
bl sub_10528
- bl sub_D74
- bl sub_490
+ bl MainLoopIter
+ bl ClearGraphicsMemory
add sp, #4
pop {r3}
mov r8, r3
@@ -6092,7 +6092,7 @@ _0800FF18:
_0800FF22:
adds r0, r7, #0
bl sub_1001C
- bl sub_D74
+ bl MainLoopIter
cmp r7, #0x1f
bne _0800FF50
ldr r0, _0800FF38 @ =gUnknown_0201A920
@@ -6170,7 +6170,7 @@ _0800FFBA:
_0800FFC2:
adds r0, r7, #0
bl sub_1001C
- bl sub_D74
+ bl MainLoopIter
cmp r7, #0x1f
bne _0800FFF0
ldr r0, _0800FFEC @ =gUnknown_0201A920
@@ -6197,7 +6197,7 @@ _0800FFF8:
lsrs r7, r0, #0x10
cmp r7, #0x1f
bls _0800FFBA
- bl sub_D74
+ bl MainLoopIter
add sp, #4
pop {r3}
mov r8, r3
@@ -6770,12 +6770,12 @@ sub_10424: @ 0x08010424
movs r5, #0
strh r0, [r1, #0x16]
strh r3, [r4]
- bl sub_D74
+ bl MainLoopIter
movs r0, #8
strh r0, [r4]
- bl sub_D74
+ bl MainLoopIter
strh r5, [r4]
- bl sub_D74
+ bl MainLoopIter
strh r5, [r6]
pop {r4, r5, r6}
pop {r0}
@@ -6805,13 +6805,13 @@ sub_10480: @ 0x08010480
orrs r0, r1
strh r0, [r2]
strh r4, [r5]
- bl sub_D74
+ bl MainLoopIter
movs r0, #8
strh r0, [r5]
- bl sub_D74
+ bl MainLoopIter
movs r0, #0x10
strh r0, [r5]
- bl sub_D74
+ bl MainLoopIter
mov r0, sp
strh r4, [r0]
ldr r1, _08010500 @ =0x040000D4
@@ -6838,7 +6838,7 @@ sub_10480: @ 0x08010480
strh r4, [r0]
adds r0, #2
strh r4, [r0]
- bl sub_D74
+ bl MainLoopIter
add sp, #4
pop {r4, r5}
pop {r0}
diff --git a/asm/intro.s b/asm/intro.s
index 1953b80..0783af7 100755
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -23,7 +23,7 @@ _08009298: .4byte gMain
thumb_func_start sub_929C
sub_929C: @ 0x0800929C
push {r4, lr}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r3, #0x80
lsls r3, r3, #0x13
movs r0, #0x80
@@ -70,7 +70,7 @@ sub_929C: @ 0x0800929C
ldr r0, _08009340 @ =gUnknown_0202C790
strb r2, [r0]
ldr r0, _08009344 @ =sub_93F8 + 1
- bl sub_898
+ bl SetMainCallback
bl sub_CBC
bl sub_24C
ldrb r0, [r4, #3]
@@ -169,7 +169,7 @@ sub_93D0: @ 0x080093D0
bl sub_2B4
bl m4aMPlayAllStop
bl sub_D10
- bl sub_8BC
+ bl ResetMainCallback
ldr r1, _080093F4 @ =gAutoDisplayTitlescreenMenu
movs r0, #0
strb r0, [r1]
@@ -264,9 +264,9 @@ sub_9498: @ 0x08009498
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- bl sub_490
+ bl ClearGraphicsMemory
bl sub_518
- bl sub_578
+ bl ClearSprites
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x80
@@ -3630,7 +3630,7 @@ sub_B090: @ 0x0800B090
push {lr}
sub sp, #8
bl sub_10480
- bl sub_578
+ bl ClearSprites
movs r2, #0
str r2, [sp]
ldr r1, _0800B0D4 @ =0x040000D4
@@ -4488,7 +4488,7 @@ _0800B79C: .4byte gUnknown_0202C790
sub_B7A0: @ 0x0800B7A0
push {lr}
sub sp, #8
- bl sub_578
+ bl ClearSprites
movs r2, #0
str r2, [sp]
ldr r1, _0800B7E4 @ =0x040000D4
@@ -6093,7 +6093,7 @@ sub_C498: @ 0x0800C498
push {lr}
sub sp, #8
bl sub_10480
- bl sub_578
+ bl ClearSprites
movs r2, #0
str r2, [sp]
ldr r1, _0800C4DC @ =0x040000D4
diff --git a/asm/options.s b/asm/options.s
index 438dee1..c31ae6d 100755
--- a/asm/options.s
+++ b/asm/options.s
@@ -4,1288 +4,6 @@
.text
- thumb_func_start OptionsMain
-OptionsMain: @ 0x08051220
- push {lr}
- ldr r1, _08051238 @ =gUnknown_08527F08
- ldr r0, _0805123C @ =gMain
- ldrb r0, [r0, #3]
- lsls r0, r0, #2
- adds r0, r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_08051238: .4byte gUnknown_08527F08
-_0805123C: .4byte gMain
-
- thumb_func_start sub_51240
-sub_51240: @ 0x08051240
- push {r4, r5, r6, r7, lr}
- mov r7, sb
- mov r6, r8
- push {r6, r7}
- sub sp, #4
- bl sub_438
- movs r2, #0x80
- lsls r2, r2, #0x13
- movs r1, #0x84
- lsls r1, r1, #5
- adds r0, r1, #0
- strh r0, [r2]
- ldr r1, _08051358 @ =0x04000008
- movs r0, #4
- strh r0, [r1]
- ldrh r0, [r2]
- movs r3, #0x80
- lsls r3, r3, #1
- adds r1, r3, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _0805135C @ =0x0400000A
- adds r3, #9
- adds r0, r3, #0
- strh r0, [r1]
- ldrh r0, [r2]
- adds r3, #0xf7
- adds r1, r3, #0
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _08051360 @ =gMain
- mov sb, r0
- ldrh r0, [r2]
- mov r1, sb
- strh r0, [r1, #0x16]
- ldr r5, _08051364 @ =0x040000D4
- ldr r0, _08051368 @ =gUnknown_0852B468
- str r0, [r5]
- movs r0, #0xa0
- lsls r0, r0, #0x13
- str r0, [r5, #4]
- ldr r0, _0805136C @ =0x80000100
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _08051370 @ =gUnknown_08528828
- str r0, [r5]
- ldr r0, _08051374 @ =0x06004000
- str r0, [r5, #4]
- ldr r0, _08051378 @ =0x80000C00
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _0805137C @ =gUnknown_0852A848
- str r0, [r5]
- ldr r0, _08051380 @ =0x06008000
- str r0, [r5, #4]
- ldr r0, _08051384 @ =0x80000600
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _08051388 @ =gUnknown_08528028
- str r0, [r5]
- ldr r7, _0805138C @ =gUnknown_03005C00
- str r7, [r5, #4]
- ldr r6, _08051390 @ =0x80000400
- str r6, [r5, #8]
- ldr r0, [r5, #8]
- str r7, [r5]
- movs r3, #0xc0
- lsls r3, r3, #0x13
- mov r8, r3
- str r3, [r5, #4]
- str r6, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _08051394 @ =gGameBoyPlayerEnabled
- ldr r0, [r0]
- cmp r0, #1
- beq _080512F8
- movs r4, #2
- str r4, [sp]
- movs r0, #0x12
- movs r1, #4
- movs r2, #2
- movs r3, #1
- bl sub_1068C
- str r4, [sp]
- movs r0, #0x12
- movs r1, #5
- movs r2, #3
- movs r3, #2
- bl sub_1068C
-_080512F8:
- str r7, [r5]
- mov r0, r8
- str r0, [r5, #4]
- str r6, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _08051398 @ =gUnknown_0852A048
- str r0, [r5]
- ldr r0, _0805139C @ =0x06000800
- str r0, [r5, #4]
- str r6, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _080513A0 @ =gGBAButtonIcons_Pals
- str r0, [r5]
- ldr r0, _080513A4 @ =0x05000200
- str r0, [r5, #4]
- ldr r0, _080513A8 @ =0x80000030
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- ldr r0, _080513AC @ =gOptionsSprites_Gfx
- str r0, [r5]
- ldr r0, _080513B0 @ =0x06010000
- str r0, [r5, #4]
- ldr r0, _080513B4 @ =0x80001010
- str r0, [r5, #8]
- ldr r0, [r5, #8]
- bl sub_513B8
- bl sub_51C9C
- bl m4aMPlayAllStop
- bl sub_CBC
- bl sub_24C
- bl sub_10C0
- mov r1, sb
- ldrb r0, [r1, #3]
- adds r0, #1
- strb r0, [r1, #3]
- add sp, #4
- pop {r3, r4}
- mov r8, r3
- mov sb, r4
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08051358: .4byte 0x04000008
-_0805135C: .4byte 0x0400000A
-_08051360: .4byte gMain
-_08051364: .4byte 0x040000D4
-_08051368: .4byte gUnknown_0852B468
-_0805136C: .4byte 0x80000100
-_08051370: .4byte gUnknown_08528828
-_08051374: .4byte 0x06004000
-_08051378: .4byte 0x80000C00
-_0805137C: .4byte gUnknown_0852A848
-_08051380: .4byte 0x06008000
-_08051384: .4byte 0x80000600
-_08051388: .4byte gUnknown_08528028
-_0805138C: .4byte gUnknown_03005C00
-_08051390: .4byte 0x80000400
-_08051394: .4byte gGameBoyPlayerEnabled
-_08051398: .4byte gUnknown_0852A048
-_0805139C: .4byte 0x06000800
-_080513A0: .4byte gGBAButtonIcons_Pals
-_080513A4: .4byte 0x05000200
-_080513A8: .4byte 0x80000030
-_080513AC: .4byte gOptionsSprites_Gfx
-_080513B0: .4byte 0x06010000
-_080513B4: .4byte 0x80001010
-
- thumb_func_start sub_513B8
-sub_513B8: @ 0x080513B8
- push {r4, r5, r6, lr}
- ldr r0, _08051468 @ =gUnknown_02002920
- mov ip, r0
- movs r2, #0
- movs r1, #0
- strh r1, [r0]
- strh r1, [r0, #2]
- strh r1, [r0, #4]
- movs r3, #1
- movs r0, #1
- mov r4, ip
- strh r0, [r4, #6]
- strh r1, [r4, #8]
- strh r1, [r4, #0xa]
- ldr r0, _0805146C @ =gMain+0x74
- adds r0, #0xcf
- ldrb r0, [r0]
- strh r0, [r4, #0xc]
- strh r1, [r4, #0xe]
- strh r1, [r4, #0x10]
- strb r2, [r4, #0x12]
- strb r2, [r4, #0x13]
- strb r3, [r4, #0x14]
- strb r2, [r4, #0x15]
- strb r2, [r4, #0x16]
- strb r3, [r4, #0x17]
- strh r1, [r4, #0x18]
- mov r2, ip
- movs r3, #0
- movs r1, #5
- adds r0, r2, #0
- adds r0, #0x1f
-_080513F8:
- strb r3, [r0]
- subs r0, #1
- subs r1, #1
- cmp r1, #0
- bge _080513F8
- movs r0, #0
- strh r0, [r2, #0x20]
- strh r0, [r2, #0x22]
- movs r3, #0xa
- movs r1, #1
- adds r0, r2, #0
- adds r0, #0x26
-_08051410:
- strh r3, [r0]
- subs r0, #2
- subs r1, #1
- cmp r1, #0
- bge _08051410
- movs r0, #0
- strh r0, [r2, #0x28]
- movs r1, #0
- ldr r6, _08051470 @ =gUnknown_02031AF0
- ldr r5, _08051474 @ =gUnknown_08527ED6
-_08051424:
- adds r4, r1, #1
- lsls r0, r1, #2
- adds r0, r0, r1
- lsls r0, r0, #1
- adds r2, r0, r5
- adds r1, r0, r6
- movs r3, #9
-_08051432:
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, #1
- adds r1, #1
- subs r3, #1
- cmp r3, #0
- bge _08051432
- adds r1, r4, #0
- cmp r1, #3
- ble _08051424
- bl sub_52528
- ldr r0, _08051478 @ =gGameBoyPlayerEnabled
- ldr r4, [r0]
- cmp r4, #1
- bne _0805147C
- ldr r3, _08051468 @ =gUnknown_02002920
- ldr r0, _0805146C @ =gMain+0x74
- adds r0, #0xcd
- ldrb r1, [r0]
- adds r2, r3, #0
- adds r2, #0x2a
- strb r1, [r2]
- strb r4, [r0]
- adds r2, r3, #0
- b _0805148C
- .align 2, 0
-_08051468: .4byte gUnknown_02002920
-_0805146C: .4byte gMain+0x74
-_08051470: .4byte gUnknown_02031AF0
-_08051474: .4byte gUnknown_08527ED6
-_08051478: .4byte gGameBoyPlayerEnabled
-_0805147C:
- ldr r2, _080514B0 @ =gUnknown_02002920
- adds r0, r2, #0
- adds r0, #0x2a
- movs r1, #0
- strb r1, [r0]
- ldr r0, _080514B4 @ =gMain+0x74
- adds r0, #0xcd
- strb r1, [r0]
-_0805148C:
- adds r1, r2, #0
- adds r1, #0x2e
- movs r0, #0
- strb r0, [r1]
- subs r1, #3
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r1, #2
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- pop {r4, r5, r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080514B0: .4byte gUnknown_02002920
-_080514B4: .4byte gMain+0x74
-
- thumb_func_start sub_514B8
-sub_514B8: @ 0x080514B8
- push {r4, r5, r6, r7, lr}
- bl sub_51C9C
- ldr r0, _080514D4 @ =gUnknown_02002920
- movs r1, #0
- ldrsh r0, [r0, r1]
- cmp r0, #4
- bls _080514CA
- b _08051B98
-_080514CA:
- lsls r0, r0, #2
- ldr r1, _080514D8 @ =_080514DC
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080514D4: .4byte gUnknown_02002920
-_080514D8: .4byte _080514DC
-_080514DC: @ jump table
- .4byte _080514F0 @ case 0
- .4byte _080517A8 @ case 1
- .4byte _080518D4 @ case 2
- .4byte _08051A08 @ case 3
- .4byte _08051AB8 @ case 4
-_080514F0:
- ldr r0, _08051514 @ =gMain
- ldrh r1, [r0, #0x18]
- movs r0, #0x40
- ands r0, r1
- cmp r0, #0
- beq _0805152C
- ldr r4, _08051518 @ =gUnknown_02002920
- movs r2, #0xa
- ldrsh r0, [r4, r2]
- cmp r0, #0xd
- beq _0805156C
- cmp r0, #0xe
- bne _0805151C
- movs r0, #0x67
- bl m4aSongNumStart
- movs r0, #0xd
- b _0805156A
- .align 2, 0
-_08051514: .4byte gMain
-_08051518: .4byte gUnknown_02002920
-_0805151C:
- cmp r0, #0
- ble _0805156C
- movs r0, #0x67
- bl m4aSongNumStart
- ldrh r0, [r4, #0xa]
- subs r0, #1
- b _0805156A
-_0805152C:
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0805156C
- ldr r4, _0805154C @ =gUnknown_02002920
- movs r3, #0xa
- ldrsh r0, [r4, r3]
- cmp r0, #5
- bgt _08051550
- movs r0, #0x67
- bl m4aSongNumStart
- ldrh r0, [r4, #0xa]
- adds r0, #1
- b _0805156A
- .align 2, 0
-_0805154C: .4byte gUnknown_02002920
-_08051550:
- cmp r0, #0xd
- bne _0805155E
- movs r0, #0x67
- bl m4aSongNumStart
- movs r0, #0xe
- b _0805156A
-_0805155E:
- cmp r0, #0xe
- bne _0805156C
- movs r0, #0x67
- bl m4aSongNumStart
- movs r0, #2
-_0805156A:
- strh r0, [r4, #0xa]
-_0805156C:
- ldr r0, _080515E8 @ =gMain
- ldrh r1, [r0, #0x18]
- movs r0, #0x10
- ands r0, r1
- cmp r0, #0
- beq _08051594
- ldr r0, _080515EC @ =gGameBoyPlayerEnabled
- ldr r0, [r0]
- cmp r0, #1
- bne _08051594
- ldr r4, _080515F0 @ =gUnknown_02002920
- ldrh r0, [r4, #0xa]
- cmp r0, #1
- bhi _08051594
- movs r0, #0x67
- bl m4aSongNumStart
- ldrh r0, [r4, #0xa]
- adds r0, #0xd
- strh r0, [r4, #0xa]
-_08051594:
- ldr r0, _080515E8 @ =gMain
- ldrh r1, [r0, #0x18]
- movs r0, #0x20
- ands r0, r1
- cmp r0, #0
- beq _080515C2
- ldr r0, _080515EC @ =gGameBoyPlayerEnabled
- ldr r0, [r0]
- cmp r0, #1
- bne _080515C2
- ldr r4, _080515F0 @ =gUnknown_02002920
- ldrh r0, [r4, #0xa]
- subs r0, #0xd
- lsls r0, r0, #0x10
- lsrs r0, r0, #0x10
- cmp r0, #1
- bhi _080515C2
- movs r0, #0x67
- bl m4aSongNumStart
- ldrh r0, [r4, #0xa]
- subs r0, #0xd
- strh r0, [r4, #0xa]
-_080515C2:
- ldr r4, _080515E8 @ =gMain
- ldrh r1, [r4, #0x18]
- movs r0, #1
- ands r0, r1
- cmp r0, #0
- bne _080515D0
- b _0805177C
-_080515D0:
- ldr r0, _080515F0 @ =gUnknown_02002920
- movs r6, #0xa
- ldrsh r0, [r0, r6]
- cmp r0, #0xe
- bls _080515DC
- b _08051A96
-_080515DC:
- lsls r0, r0, #2
- ldr r1, _080515F4 @ =_080515F8
- adds r0, r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080515E8: .4byte gMain
-_080515EC: .4byte gGameBoyPlayerEnabled
-_080515F0: .4byte gUnknown_02002920
-_080515F4: .4byte _080515F8
-_080515F8: @ jump table
- .4byte _08051634 @ case 0
- .4byte _08051674 @ case 1
- .4byte _080516B0 @ case 2
- .4byte _080516B0 @ case 3
- .4byte _080516B0 @ case 4
- .4byte _080516B0 @ case 5
- .4byte _080516D0 @ case 6
- .4byte _08051A96 @ case 7
- .4byte _08051A96 @ case 8
- .4byte _08051A96 @ case 9
- .4byte _08051A96 @ case 10
- .4byte _08051A96 @ case 11
- .4byte _08051A96 @ case 12
- .4byte _08051738 @ case 13
- .4byte _080516F8 @ case 14
-_08051634:
- movs r0, #0x65
- bl m4aSongNumStart
- ldr r3, _08051670 @ =gUnknown_02002920
- movs r4, #0
- movs r1, #0
- movs r2, #1
- movs r0, #1
- strh r0, [r3]
- strh r1, [r3, #0x18]
- adds r0, r3, #0
- adds r0, #0x30
- strb r2, [r0]
- adds r1, r3, #0
- adds r1, #0x2e
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #1
- beq _0805165C
- b _08051A96
-_0805165C:
- adds r0, r3, #0
- adds r0, #0x2b
- strb r4, [r0]
- adds r0, #2
- strb r4, [r0]
- subs r0, #1
- strb r4, [r0]
- strb r4, [r1]
- b _08051A96
- .align 2, 0
-_08051670: .4byte gUnknown_02002920
-_08051674:
- movs r0, #0x65
- bl m4aSongNumStart
- ldr r2, _080516AC @ =gUnknown_02002920
- movs r3, #0
- movs r1, #0
- movs r0, #2
- strh r0, [r2]
- strh r1, [r2, #0x18]
- adds r1, r2, #0
- adds r1, #0x30
- movs r0, #1
- strb r0, [r1]
- subs r1, #2
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #1
- beq _0805169A
- b _08051A96
-_0805169A:
- adds r0, r2, #0
- adds r0, #0x2b
- strb r3, [r0]
- adds r0, #2
- strb r3, [r0]
- subs r0, #1
- strb r3, [r0]
- strb r3, [r1]
- b _08051A96
- .align 2, 0
-_080516AC: .4byte gUnknown_02002920
-_080516B0:
- movs r0, #0x65
- bl m4aSongNumStart
- ldr r0, _080516C8 @ =gUnknown_02002920
- ldrh r1, [r0, #0xa]
- subs r1, #2
- strh r1, [r0, #0xc]
- ldr r0, _080516CC @ =gMain+0x74
- adds r0, #0xcf
- strb r1, [r0]
- b _08051A96
- .align 2, 0
-_080516C8: .4byte gUnknown_02002920
-_080516CC: .4byte gMain+0x74
-_080516D0:
- movs r0, #0x65
- bl m4aSongNumStart
- ldr r2, _080516F0 @ =gUnknown_02002920
- ldrh r1, [r2, #0xa]
- subs r1, #2
- strh r1, [r2, #0xc]
- ldr r0, _080516F4 @ =gMain+0x74
- adds r0, #0xcf
- strb r1, [r0]
- movs r0, #7
- strh r0, [r2, #0xa]
- movs r0, #3
- strh r0, [r2]
- b _08051A96
- .align 2, 0
-_080516F0: .4byte gUnknown_02002920
-_080516F4: .4byte gMain+0x74
-_080516F8:
- ldr r0, _08051730 @ =gGameBoyPlayerEnabled
- ldr r0, [r0]
- cmp r0, #1
- beq _08051702
- b _08051A96
-_08051702:
- movs r0, #0x65
- bl m4aSongNumStart
- ldr r1, _08051734 @ =gUnknown_02002920
- adds r0, r1, #0
- adds r0, #0x2d
- movs r2, #0
- strb r2, [r0]
- adds r3, r1, #0
- adds r3, #0x2e
- movs r0, #0
- ldrsb r0, [r3, r0]
- cmp r0, #1
- bne _08051720
- strb r2, [r3]
-_08051720:
- adds r0, r1, #0
- adds r0, #0x2b
- strb r2, [r0]
- adds r0, #1
- strb r2, [r0]
- subs r0, #2
- strb r2, [r0]
- b _08051A96
- .align 2, 0
-_08051730: .4byte gGameBoyPlayerEnabled
-_08051734: .4byte gUnknown_02002920
-_08051738:
- ldr r0, _08051774 @ =gGameBoyPlayerEnabled
- ldr r4, [r0]
- cmp r4, #1
- beq _08051742
- b _08051A96
-_08051742:
- movs r0, #0x65
- bl m4aSongNumStart
- movs r0, #0xb
- bl sub_11B0
- ldr r2, _08051778 @ =gUnknown_02002920
- adds r1, r2, #0
- adds r1, #0x2e
- movs r0, #0
- ldrsb r0, [r1, r0]
- cmp r0, #0
- bne _0805175E
- strb r4, [r1]
-_0805175E:
- adds r1, r2, #0
- adds r1, #0x2b
- movs r0, #0
- strb r0, [r1]
- adds r1, #1
- strb r0, [r1]
- adds r0, r2, #0
- adds r0, #0x2a
- strb r4, [r0]
- b _08051A96
- .align 2, 0
-_08051774: .4byte gGameBoyPlayerEnabled
-_08051778: .4byte gUnknown_02002920
-_0805177C:
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- bne _08051786
- b _08051A96
-_08051786:
- movs r0, #0x66
- bl m4aSongNumStart
- ldrb r0, [r4, #3]
- adds r0, #1
- strb r0, [r4, #3]
- ldr r7, _080517A4 @ =0x00000143
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- bl sub_525CC
- b _08051A96
- .align 2, 0
-_080517A4: .4byte 0x00000143
-_080517A8:
- ldr r1, _080517C8 @ =gMain
- ldrh r2, [r1, #0x1c]
- movs r0, #0x20
- ands r0, r2
- adds r3, r1, #0
- cmp r0, #0
- beq _080517D0
- ldr r0, _080517CC @ =gUnknown_02002920
- movs r2, #0x18
- ldrsh r1, [r0, r2]
- adds r4, r0, #0
- cmp r1, #0
- bne _080517EC
- ldrh r0, [r4, #0xe]
- subs r0, #1
- b _080517E6
- .align 2, 0
-_080517C8: .4byte gMain
-_080517CC: .4byte gUnknown_02002920
-_080517D0:
- movs r0, #0x10
- ands r0, r2
- ldr r4, _080517FC @ =gUnknown_02002920
- cmp r0, #0
- beq _080517EC
- movs r6, #0x18
- ldrsh r0, [r4, r6]
- cmp r0, #0
- bne _080517EC
- ldrh r0, [r4, #0xe]
- adds r0, #1
-_080517E6:
- strh r0, [r4, #0xe]
- movs r0, #0xa
- strh r0, [r4, #0x18]
-_080517EC:
- ldrh r1, [r3, #0x18]
- movs r0, #0x40
- ands r0, r1
- cmp r0, #0
- beq _08051800
- ldrh r0, [r4, #0xe]
- adds r0, #0xa
- b _0805180C
- .align 2, 0
-_080517FC: .4byte gUnknown_02002920
-_08051800:
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0805180E
- ldrh r0, [r4, #0xe]
- subs r0, #0xa
-_0805180C:
- strh r0, [r4, #0xe]
-_0805180E:
- ldr r5, _08051880 @ =gUnknown_02002920
- movs r7, #0xe
- ldrsh r0, [r5, r7]
- cmp r0, #0
- bge _0805181C
- movs r0, #0x21
- strh r0, [r5, #0xe]
-_0805181C:
- movs r1, #0xe
- ldrsh r0, [r5, r1]
- cmp r0, #0x21
- ble _08051828
- movs r0, #0
- strh r0, [r5, #0xe]
-_08051828:
- ldrh r4, [r5, #0xe]
- adds r4, #1
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- adds r0, r4, #0
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #0x12]
- adds r0, r4, #0
- movs r1, #0x64
- bl __modsi3
- adds r4, r0, #0
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- adds r0, r4, #0
- movs r1, #0xa
- bl __divsi3
- strb r0, [r5, #0x13]
- adds r0, r4, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r5, #0x14]
- ldr r0, _08051884 @ =gMain
- ldrh r1, [r0, #0x18]
- movs r4, #1
- ands r4, r1
- cmp r4, #0
- beq _0805188C
- bl m4aMPlayAllStop
- ldr r0, _08051888 @ =gUnknown_08527D22
- movs r2, #0xe
- ldrsh r1, [r5, r2]
- lsls r1, r1, #1
- adds r1, r1, r0
- ldrh r0, [r1]
- bl m4aSongNumStart
- b _080518AA
- .align 2, 0
-_08051880: .4byte gUnknown_02002920
-_08051884: .4byte gMain
-_08051888: .4byte gUnknown_08527D22
-_0805188C:
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _080518AA
- bl m4aMPlayAllStop
- movs r0, #0x66
- bl m4aSongNumStart
- movs r1, #0
- strh r4, [r5, #4]
- adds r0, r5, #0
- adds r0, #0x30
- strb r1, [r0]
- strh r4, [r5]
-_080518AA:
- ldr r0, _080518CC @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #7
- ands r0, r1
- cmp r0, #0
- bne _080518C0
- ldr r2, _080518D0 @ =gUnknown_02002920
- ldrh r1, [r2, #4]
- movs r0, #1
- subs r0, r0, r1
- strh r0, [r2, #4]
-_080518C0:
- ldr r1, _080518D0 @ =gUnknown_02002920
- ldrh r2, [r1, #0x18]
- movs r3, #0x18
- ldrsh r0, [r1, r3]
- b _080519F4
- .align 2, 0
-_080518CC: .4byte gMain
-_080518D0: .4byte gUnknown_02002920
-_080518D4:
- ldr r1, _080518F4 @ =gMain
- ldrh r2, [r1, #0x1c]
- movs r0, #0x20
- ands r0, r2
- adds r3, r1, #0
- cmp r0, #0
- beq _080518FC
- ldr r0, _080518F8 @ =gUnknown_02002920
- movs r6, #0x18
- ldrsh r1, [r0, r6]
- adds r4, r0, #0
- cmp r1, #0
- bne _08051918
- ldrh r0, [r4, #0x10]
- subs r0, #1
- b _08051912
- .align 2, 0
-_080518F4: .4byte gMain
-_080518F8: .4byte gUnknown_02002920
-_080518FC:
- movs r0, #0x10
- ands r0, r2
- ldr r4, _08051928 @ =gUnknown_02002920
- cmp r0, #0
- beq _08051918
- movs r7, #0x18
- ldrsh r0, [r4, r7]
- cmp r0, #0
- bne _08051918
- ldrh r0, [r4, #0x10]
- adds r0, #1
-_08051912:
- strh r0, [r4, #0x10]
- movs r0, #0xa
- strh r0, [r4, #0x18]
-_08051918:
- ldrh r1, [r3, #0x18]
- movs r0, #0x40
- ands r0, r1
- cmp r0, #0
- beq _0805192C
- ldrh r0, [r4, #0x10]
- adds r0, #0xa
- b _08051938
- .align 2, 0
-_08051928: .4byte gUnknown_02002920
-_0805192C:
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _0805193A
- ldrh r0, [r4, #0x10]
- subs r0, #0xa
-_08051938:
- strh r0, [r4, #0x10]
-_0805193A:
- ldr r5, _080519AC @ =gUnknown_02002920
- movs r1, #0x10
- ldrsh r0, [r5, r1]
- cmp r0, #0
- bge _08051948
- movs r0, #0xb7
- strh r0, [r5, #0x10]
-_08051948:
- movs r2, #0x10
- ldrsh r0, [r5, r2]
- cmp r0, #0xb7
- ble _08051954
- movs r0, #0
- strh r0, [r5, #0x10]
-_08051954:
- ldrh r4, [r5, #0x10]
- adds r4, #1
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- adds r0, r4, #0
- movs r1, #0x64
- bl __divsi3
- strb r0, [r5, #0x15]
- adds r0, r4, #0
- movs r1, #0x64
- bl __modsi3
- adds r4, r0, #0
- lsls r4, r4, #0x10
- asrs r4, r4, #0x10
- adds r0, r4, #0
- movs r1, #0xa
- bl __divsi3
- strb r0, [r5, #0x16]
- adds r0, r4, #0
- movs r1, #0xa
- bl __modsi3
- strb r0, [r5, #0x17]
- ldr r0, _080519B0 @ =gMain
- ldrh r1, [r0, #0x18]
- movs r4, #1
- ands r4, r1
- cmp r4, #0
- beq _080519B8
- bl m4aMPlayAllStop
- ldr r0, _080519B4 @ =gUnknown_08527D66
- movs r3, #0x10
- ldrsh r1, [r5, r3]
- lsls r1, r1, #1
- adds r1, r1, r0
- ldrh r0, [r1]
- bl m4aSongNumStart
- b _080519D6
- .align 2, 0
-_080519AC: .4byte gUnknown_02002920
-_080519B0: .4byte gMain
-_080519B4: .4byte gUnknown_08527D66
-_080519B8:
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _080519D6
- bl m4aMPlayAllStop
- movs r0, #0x66
- bl m4aSongNumStart
- movs r1, #0
- strh r4, [r5, #4]
- adds r0, r5, #0
- adds r0, #0x30
- strb r1, [r0]
- strh r4, [r5]
-_080519D6:
- ldr r0, _08051A00 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #7
- ands r0, r1
- cmp r0, #0
- bne _080519EC
- ldr r2, _08051A04 @ =gUnknown_02002920
- ldrh r1, [r2, #4]
- movs r0, #1
- subs r0, r0, r1
- strh r0, [r2, #4]
-_080519EC:
- ldr r1, _08051A04 @ =gUnknown_02002920
- ldrh r2, [r1, #0x18]
- movs r6, #0x18
- ldrsh r0, [r1, r6]
-_080519F4:
- cmp r0, #0
- bgt _080519FA
- b _08051B98
-_080519FA:
- subs r0, r2, #1
- strh r0, [r1, #0x18]
- b _08051B98
- .align 2, 0
-_08051A00: .4byte gMain
-_08051A04: .4byte gUnknown_02002920
-_08051A08:
- ldr r0, _08051A2C @ =gMain
- ldrh r1, [r0, #0x18]
- movs r0, #0x40
- ands r0, r1
- cmp r0, #0
- beq _08051A34
- ldr r4, _08051A30 @ =gUnknown_02002920
- movs r7, #0xa
- ldrsh r0, [r4, r7]
- cmp r0, #7
- ble _08051A52
- movs r0, #0x67
- bl m4aSongNumStart
- ldrh r0, [r4, #0xa]
- subs r0, #1
- b _08051A50
- .align 2, 0
-_08051A2C: .4byte gMain
-_08051A30: .4byte gUnknown_02002920
-_08051A34:
- movs r0, #0x80
- ands r0, r1
- cmp r0, #0
- beq _08051A52
- ldr r4, _08051A78 @ =gUnknown_02002920
- movs r1, #0xa
- ldrsh r0, [r4, r1]
- cmp r0, #0xa
- bgt _08051A52
- movs r0, #0x67
- bl m4aSongNumStart
- ldrh r0, [r4, #0xa]
- adds r0, #1
-_08051A50:
- strh r0, [r4, #0xa]
-_08051A52:
- ldr r0, _08051A7C @ =gMain
- ldrh r1, [r0, #0x18]
- movs r4, #1
- ands r4, r1
- cmp r4, #0
- beq _08051A80
- movs r0, #0x65
- bl m4aSongNumStart
- ldr r0, _08051A78 @ =gUnknown_02002920
- movs r1, #4
- strh r1, [r0]
- movs r2, #0xa
- ldrsh r1, [r0, r2]
- adds r0, r0, r1
- movs r1, #1
- strb r1, [r0, #0x13]
- b _08051A96
- .align 2, 0
-_08051A78: .4byte gUnknown_02002920
-_08051A7C: .4byte gMain
-_08051A80:
- movs r0, #2
- ands r0, r1
- cmp r0, #0
- beq _08051A96
- movs r0, #0x66
- bl m4aSongNumStart
- ldr r1, _08051AB0 @ =gUnknown_02002920
- movs r0, #6
- strh r0, [r1, #0xa]
- strh r4, [r1]
-_08051A96:
- ldr r0, _08051AB4 @ =gMain
- ldr r0, [r0, #0x4c]
- movs r1, #7
- ands r0, r1
- cmp r0, #0
- bne _08051B98
- ldr r2, _08051AB0 @ =gUnknown_02002920
- ldrh r1, [r2, #2]
- movs r0, #1
- subs r0, r0, r1
- strh r0, [r2, #2]
- b _08051B98
- .align 2, 0
-_08051AB0: .4byte gUnknown_02002920
-_08051AB4: .4byte gMain
-_08051AB8:
- ldr r4, _08051BF4 @ =gUnknown_02002920
- ldrh r0, [r4, #8]
- adds r0, #1
- movs r5, #0
- strh r0, [r4, #8]
- lsls r0, r0, #0x10
- asrs r0, r0, #0x10
- cmp r0, #0x18
- ble _08051AD4
- strh r5, [r4, #8]
- ldrh r1, [r4, #6]
- movs r0, #1
- subs r0, r0, r1
- strh r0, [r4, #6]
-_08051AD4:
- ldr r0, _08051BF8 @ =gMain
- ldrh r1, [r0, #0x18]
- ldr r0, _08051BFC @ =0x000003F7
- ands r0, r1
- cmp r0, #0
- beq _08051B0E
- movs r0, #0x65
- bl m4aSongNumStart
- movs r0, #0xa
- strh r0, [r4, #0x20]
- strh r5, [r4, #0x22]
- movs r0, #0
- adds r3, r4, #0
- adds r3, #0x24
- movs r2, #0xa
-_08051AF4:
- lsls r1, r0, #0x10
- asrs r1, r1, #0x10
- lsls r0, r1, #1
- adds r0, r0, r3
- strh r2, [r0]
- adds r1, #1
- lsls r1, r1, #0x10
- lsrs r0, r1, #0x10
- asrs r1, r1, #0x10
- cmp r1, #1
- ble _08051AF4
- movs r0, #0
- strh r0, [r4, #0x28]
-_08051B0E:
- ldr r4, _08051BF4 @ =gUnknown_02002920
- movs r3, #0x20
- ldrsh r0, [r4, r3]
- cmp r0, #0
- ble _08051B98
- bl sub_524BC
- ldrh r0, [r4, #0x20]
- subs r0, #1
- strh r0, [r4, #0x20]
- lsls r0, r0, #0x10
- asrs r5, r0, #0x10
- cmp r5, #0
- bne _08051B98
- ldr r2, _08051C00 @ =gUnknown_02031AF0
- movs r6, #0xa
- ldrsh r0, [r4, r6]
- subs r0, #7
- lsls r0, r0, #1
- adds r2, #0x28
- adds r0, r0, r2
- ldrh r1, [r4, #0x24]
- strb r1, [r0]
- movs r7, #0xa
- ldrsh r0, [r4, r7]
- subs r0, #7
- lsls r0, r0, #1
- adds r0, #1
- adds r0, r0, r2
- ldrh r1, [r4, #0x26]
- strb r1, [r0]
- ldr r2, _08051C04 @ =gMain+0x74
- movs r0, #0xa
- ldrsh r1, [r4, r0]
- subs r1, #7
- lsls r1, r1, #2
- adds r0, r2, #0
- adds r0, #0xd0
- adds r1, r1, r0
- ldr r3, _08051C08 @ =gUnknown_086BB910
- movs r6, #0x24
- ldrsh r0, [r4, r6]
- lsls r0, r0, #3
- adds r0, r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- movs r7, #0xa
- ldrsh r1, [r4, r7]
- subs r1, #7
- lsls r1, r1, #2
- adds r2, #0xd2
- adds r1, r1, r2
- movs r2, #0x26
- ldrsh r0, [r4, r2]
- lsls r0, r0, #3
- adds r0, r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- movs r0, #3
- strh r0, [r4]
- movs r3, #0xa
- ldrsh r0, [r4, r3]
- adds r0, r4, r0
- adds r0, #0x13
- movs r1, #0
- strb r1, [r0]
- strh r5, [r4, #8]
- movs r0, #1
- strh r0, [r4, #6]
-_08051B98:
- ldr r2, _08051BF4 @ =gUnknown_02002920
- movs r6, #0x2e
- adds r6, r6, r2
- mov ip, r6
- movs r0, #0
- ldrsb r0, [r6, r0]
- cmp r0, #1
- bne _08051C10
- adds r4, r2, #0
- adds r4, #0x2b
- ldrb r0, [r4]
- adds r0, #1
- movs r5, #0
- strb r0, [r4]
- lsls r0, r0, #0x18
- ldr r6, _08051C0C @ =gUnknown_086BB9B4
- adds r3, r2, #0
- adds r3, #0x2c
- movs r1, #0
- ldrsb r1, [r3, r1]
- lsls r1, r1, #2
- adds r1, r1, r6
- asrs r0, r0, #0x18
- movs r7, #2
- ldrsh r1, [r1, r7]
- cmp r0, r1
- ble _08051C30
- strb r5, [r4]
- ldrb r0, [r3]
- adds r0, #1
- strb r0, [r3]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- adds r2, #0x2d
- cmp r0, #0xc
- ble _08051BE8
- strb r5, [r3]
- strb r5, [r2]
- mov r0, ip
- strb r5, [r0]
-_08051BE8:
- movs r0, #0
- ldrsb r0, [r3, r0]
- lsls r0, r0, #2
- adds r0, r0, r6
- ldrb r0, [r0]
- b _08051C2E
- .align 2, 0
-_08051BF4: .4byte gUnknown_02002920
-_08051BF8: .4byte gMain
-_08051BFC: .4byte 0x000003F7
-_08051C00: .4byte gUnknown_02031AF0
-_08051C04: .4byte gMain+0x74
-_08051C08: .4byte gUnknown_086BB910
-_08051C0C: .4byte gUnknown_086BB9B4
-_08051C10:
- adds r1, r2, #0
- adds r1, #0x2b
- ldrb r0, [r1]
- adds r0, #1
- strb r0, [r1]
- lsls r0, r0, #0x18
- asrs r0, r0, #0x18
- cmp r0, #0x12
- ble _08051C30
- movs r0, #0
- strb r0, [r1]
- adds r2, #0x2d
- ldrb r1, [r2]
- movs r0, #1
- subs r0, r0, r1
-_08051C2E:
- strb r0, [r2]
-_08051C30:
- bl sub_11FC
- pop {r4, r5, r6, r7}
- pop {r0}
- bx r0
-
- thumb_func_start sub_51C3C
-sub_51C3C: @ 0x08051C3C
- push {lr}
- bl sub_111C
- bl sub_1170
- cmp r0, #0
- beq _08051C56
- bl sub_1198
- ldr r1, _08051C5C @ =gMain
- ldrb r0, [r1, #3]
- adds r0, #1
- strb r0, [r1, #3]
-_08051C56:
- pop {r0}
- bx r0
- .align 2, 0
-_08051C5C: .4byte gMain
-
- thumb_func_start sub_51C60
-sub_51C60: @ 0x08051C60
- push {lr}
- ldr r1, _08051C90 @ =gMain+0x74
- ldr r0, _08051C94 @ =gUnknown_02002920
- adds r0, #0x2a
- ldrb r0, [r0]
- adds r1, #0xcd
- strb r0, [r1]
- bl sub_52B30
- bl sub_2B4
- bl m4aMPlayAllStop
- bl sub_D10
- ldr r1, _08051C98 @ =gAutoDisplayTitlescreenMenu
- movs r0, #1
- strb r0, [r1]
- movs r0, #1
- bl SetMainGameState
- pop {r0}
- bx r0
- .align 2, 0
-_08051C90: .4byte gMain+0x74
-_08051C94: .4byte gUnknown_02002920
-_08051C98: .4byte gAutoDisplayTitlescreenMenu
-
thumb_func_start sub_51C9C
sub_51C9C: @ 0x08051C9C
push {r4, r5, r6, r7, lr}
@@ -1296,7 +14,7 @@ sub_51C9C: @ 0x08051C9C
sub sp, #0x8c
ldr r0, _08051D38 @ =gUnknown_0200B3B8
mov r8, r0
- ldr r2, _08051D3C @ =gUnknown_02002920
+ ldr r2, _08051D3C @ =gOptionsData
movs r3, #4
ldrsh r1, [r2, r3]
movs r0, #0xe6
@@ -1360,7 +78,7 @@ _08051D1E:
ldrb r0, [r0]
cmp r0, #1
bne _08051D50
- ldr r6, _08051D3C @ =gUnknown_02002920
+ ldr r6, _08051D3C @ =gOptionsData
movs r7, #6
ldrsh r0, [r6, r7]
cmp r0, #1
@@ -1370,7 +88,7 @@ _08051D1E:
b _08051D52
.align 2, 0
_08051D38: .4byte gUnknown_0200B3B8
-_08051D3C: .4byte gUnknown_02002920
+_08051D3C: .4byte gOptionsData
_08051D40: .4byte gUnknown_0200B978
_08051D44: .4byte gUnknown_0200BAE8
_08051D48: .4byte gUnknown_0200293A
@@ -1460,7 +178,7 @@ _08051DCE:
strh r0, [r6]
ldr r7, _08051F6C @ =gUnknown_0200C948
strh r0, [r7]
- ldr r5, _08051F70 @ =gUnknown_02002920
+ ldr r5, _08051F70 @ =gOptionsData
adds r0, r5, #0
adds r0, #0x30
ldrb r0, [r0]
@@ -1639,7 +357,7 @@ _08051EE2:
movs r0, #0x48
ldr r6, [sp, #0x60]
strh r0, [r6, #2]
- ldr r7, _08051F70 @ =gUnknown_02002920
+ ldr r7, _08051F70 @ =gOptionsData
movs r1, #0xa
ldrsh r0, [r7, r1]
cmp r0, #0
@@ -1651,7 +369,7 @@ _08051EE2:
_08051F64: .4byte gUnknown_0200C890
_08051F68: .4byte gUnknown_0200B978
_08051F6C: .4byte gUnknown_0200C948
-_08051F70: .4byte gUnknown_02002920
+_08051F70: .4byte gOptionsData
_08051F74: .4byte gUnknown_0200CA00
_08051F78: .4byte gUnknown_086BB9EC
_08051F7C: .4byte gUnknown_0200B3B8
@@ -1711,7 +429,7 @@ _08051FB2:
movs r0, #0x48
ldr r2, _080520DC @ =gUnknown_0200B978
strh r0, [r2, #2]
- ldr r3, _080520E0 @ =gUnknown_02002920
+ ldr r3, _080520E0 @ =gOptionsData
movs r4, #0xc
ldrsh r0, [r3, r4]
lsls r0, r0, #1
@@ -1744,7 +462,7 @@ _08051FB2:
strb r0, [r1]
movs r7, #0
mov ip, r7
- ldr r0, _080520E0 @ =gUnknown_02002920
+ ldr r0, _080520E0 @ =gOptionsData
str r0, [sp, #0x68]
movs r1, #0x54
str r1, [sp, #0x80]
@@ -1827,7 +545,7 @@ _080520D0: .4byte gOamBuffer
_080520D4: .4byte 0xFFFFFE00
_080520D8: .4byte 0x000001FF
_080520DC: .4byte gUnknown_0200B978
-_080520E0: .4byte gUnknown_02002920
+_080520E0: .4byte gOptionsData
_080520E4: .4byte gUnknown_086BB9A8
_080520E8:
mov r2, r8
@@ -2107,7 +825,7 @@ _08052304:
movs r0, #0xaa
ldr r2, [sp, #0x64]
strh r0, [r2, #2]
- ldr r0, _080524AC @ =gUnknown_02002920
+ ldr r0, _080524AC @ =gOptionsData
adds r0, #0x2a
ldrb r0, [r0]
lsls r1, r0, #1
@@ -2146,7 +864,7 @@ _08052304:
ldr r3, _080524B0 @ =gUnknown_0200C948
strh r0, [r3, #2]
strh r5, [r3, #4]
- ldr r6, _080524AC @ =gUnknown_02002920
+ ldr r6, _080524AC @ =gOptionsData
adds r6, #0x2d
mov sl, r6
adds r5, r3, #0
@@ -2223,7 +941,7 @@ _0805236C:
lsls r2, r2, #3
ldr r3, _08052494 @ =gOamBuffer
adds r2, r2, r3
- ldr r5, _080524AC @ =gUnknown_02002920
+ ldr r5, _080524AC @ =gOptionsData
adds r5, #0x2f
movs r1, #0
ldrsb r1, [r5, r1]
@@ -2312,7 +1030,7 @@ _0805249C: .4byte 0x000003FF
_080524A0: .4byte 0xFFFFFC00
_080524A4: .4byte 0x000001FF
_080524A8: .4byte 0xFFFFFE00
-_080524AC: .4byte gUnknown_02002920
+_080524AC: .4byte gOptionsData
_080524B0: .4byte gUnknown_0200C948
_080524B4: .4byte gUnknown_0200CA00
_080524B8: .4byte gMain
@@ -2320,7 +1038,7 @@ _080524B8: .4byte gMain
thumb_func_start sub_524BC
sub_524BC: @ 0x080524BC
push {r4, r5, lr}
- ldr r1, _0805251C @ =gUnknown_02002920
+ ldr r1, _0805251C @ =gOptionsData
movs r2, #0x28
ldrsh r0, [r1, r2]
adds r2, r1, #0
@@ -2370,7 +1088,7 @@ _08052514:
pop {r0}
bx r0
.align 2, 0
-_0805251C: .4byte gUnknown_02002920
+_0805251C: .4byte gOptionsData
_08052520: .4byte gMain
_08052524: .4byte 0x000003F7
diff --git a/asm/pokedex.s b/asm/pokedex.s
index 9980236..8aaa2c7 100755
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -27,7 +27,7 @@ sub_3DCC: @ 0x08003DCC
mov r6, sb
mov r5, r8
push {r5, r6, r7}
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x86
@@ -1684,7 +1684,7 @@ _08004C2A:
adds r2, #1
cmp r2, #0xcc
ble _08004C2A
- bl sub_52B30
+ bl SaveFile_WriteToSram
bl sub_2B4
bl m4aMPlayAllStop
bl sub_D10
@@ -1760,7 +1760,7 @@ _08004CC2:
movs r0, #1
mov r1, ip
strh r0, [r1]
- bl sub_52B30
+ bl SaveFile_WriteToSram
bl sub_2B4
bl m4aMPlayAllStop
bl sub_D10
diff --git a/asm/rom_11B9C.s b/asm/rom_11B9C.s
index ca2c4c6..d5b362d 100755
--- a/asm/rom_11B9C.s
+++ b/asm/rom_11B9C.s
@@ -35770,7 +35770,7 @@ _08023B36:
movs r4, #0
ldrsh r0, [r0, r4]
movs r1, #1
- bl sub_52BB0
+ bl SaveFile_SetPokedexFlags
_08023B66:
ldr r5, _08023C94 @ =gUnknown_020314E0
ldr r0, [r5]
@@ -44250,7 +44250,7 @@ _08028040:
movs r2, #0
ldrsh r0, [r0, r2]
movs r1, #1
- bl sub_52BB0
+ bl SaveFile_SetPokedexFlags
_08028060:
ldr r0, _08028070 @ =gUnknown_020314E0
ldr r1, [r0]
@@ -60704,7 +60704,7 @@ _0803062E:
movs r2, #0
ldrsh r0, [r0, r2]
movs r1, #1
- bl sub_52BB0
+ bl SaveFile_SetPokedexFlags
_0803065E:
ldr r5, _08030784 @ =gUnknown_020314E0
ldr r0, [r5]
@@ -63561,7 +63561,7 @@ sub_31CF8: @ 0x08031CF8
movs r2, #0
ldrsh r0, [r0, r2]
movs r1, #4
- bl sub_52BB0
+ bl SaveFile_SetPokedexFlags
_08031D20:
ldr r2, _08031D88 @ =gUnknown_086A3700
ldr r1, _08031D84 @ =gUnknown_020314E0
@@ -63757,7 +63757,7 @@ _08031E7C:
beq _08031E94
movs r0, #0x2b
movs r1, #4
- bl sub_52BB0
+ bl SaveFile_SetPokedexFlags
_08031E94:
mov r2, r8
ldr r0, [r2]
@@ -63789,7 +63789,7 @@ _08031EB4:
movs r1, #0
ldrsh r0, [r0, r1]
movs r1, #4
- bl sub_52BB0
+ bl SaveFile_SetPokedexFlags
_08031ECE:
ldr r2, _08031F1C @ =gUnknown_086A3700
ldr r1, _08031F20 @ =gUnknown_020314E0
diff --git a/asm/rom_3219C.s b/asm/rom_3219C.s
index 78f972d..e88ef82 100755
--- a/asm/rom_3219C.s
+++ b/asm/rom_3219C.s
@@ -5595,7 +5595,7 @@ _08035170:
.align 2, 0
_08035194: .4byte gMain
_08035198:
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
ldr r0, [r5]
strb r4, [r0, #0x1d]
_080351A0:
@@ -46258,7 +46258,7 @@ _08049EFA:
ldr r1, _08049F1C @ =gUnknown_020314E0
ldr r0, _08049F20 @ =gUnknown_02000000
str r0, [r1]
- bl sub_438
+ bl ResetSomeGraphicsRelatedStuff
ldr r1, _08049F18 @ =gMain
movs r0, #0
strb r0, [r1, #0xe]
diff --git a/asm/rom_9BC.s b/asm/rom_9BC.s
index 12970f6..fc9c5bc 100755
--- a/asm/rom_9BC.s
+++ b/asm/rom_9BC.s
@@ -620,9 +620,9 @@ sub_1884: @ 0x08001884
mov r1, r8
strh r0, [r1]
ldr r0, _08001960 @ =sub_19CC + 1
- bl sub_898
+ bl SetMainCallback
ldr r0, _08001964 @ =sub_1A78 + 1
- bl sub_8D4
+ bl SetVBlankIntrFunc
strh r4, [r5]
ldrh r0, [r6]
movs r1, #0x80
@@ -2250,8 +2250,8 @@ sub_2568: @ 0x08002568
ldr r4, _08002594 @ =0x04000208
movs r0, #0
strh r0, [r4]
- bl sub_8BC
- bl sub_8FC
+ bl ResetMainCallback
+ bl ResetVBlankIntrFunc
ldr r1, _08002598 @ =0x04000200
ldr r2, _0800259C @ =0x00002005
adds r0, r2, #0