diff options
Diffstat (limited to 'asm')
-rwxr-xr-x | asm/bonus_field_select.s | 4 | ||||
-rwxr-xr-x | asm/ereader.s | 4 | ||||
-rwxr-xr-x | asm/field_select.s | 970 | ||||
-rwxr-xr-x | asm/high_scores.s | 40 | ||||
-rwxr-xr-x | asm/intro.s | 16 | ||||
-rwxr-xr-x | asm/options.s | 1312 | ||||
-rwxr-xr-x | asm/pokedex.s | 6 | ||||
-rwxr-xr-x | asm/rom_11B9C.s | 12 | ||||
-rwxr-xr-x | asm/rom_3219C.s | 4 | ||||
-rwxr-xr-x | asm/rom_9BC.s | 8 |
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 |