diff options
Diffstat (limited to 'asm/main.s')
-rw-r--r-- | asm/main.s | 757 |
1 files changed, 0 insertions, 757 deletions
diff --git a/asm/main.s b/asm/main.s deleted file mode 100644 index b7ac8c75c..000000000 --- a/asm/main.s +++ /dev/null @@ -1,757 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start AgbMain -AgbMain: @ 80003A4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0xFF - bl RegisterRamReset - movs r1, 0xA0 - lsls r1, 19 - ldr r2, _08000458 @ =0x00007fff - adds r0, r2, 0 - strh r0, [r1] - bl InitGpuRegManager - ldr r1, _0800045C @ =0x04000204 - ldr r2, _08000460 @ =0x00004014 - adds r0, r2, 0 - strh r0, [r1] - bl InitKeys - bl InitIntrHandlers - bl m4aSoundInit - bl EnableVCountIntrAtLine150 - bl sub_80F86C4 - bl CheckForFlashMemory - bl sub_80004C4 - bl InitMapMusic - bl ClearDma3Requests - bl ResetBgs - ldr r0, _08000464 @ =gHeap - movs r1, 0xE0 - lsls r1, 9 - bl InitHeap - bl SetDefaultFontsPointer - ldr r0, _08000468 @ =gUnknown_3003530 - movs r4, 0 - strb r4, [r0] - ldr r0, _0800046C @ =gUnknown_3005ECC - strb r4, [r0] - bl sub_80F50F4 - bl AGBPrintInit - ldr r0, _08000470 @ =gUnknown_30030E4 - strb r4, [r0] - ldr r7, _08000474 @ =gUnknown_30030F0 - movs r1, 0 - mov r8, r1 - adds r6, r0, 0 -_0800041A: - bl ReadKeys - ldr r0, _08000468 @ =gUnknown_3003530 - ldrb r0, [r0] - cmp r0, 0 - bne _08000444 - ldrh r1, [r7, 0x28] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08000444 - movs r0, 0xE - ands r0, r1 - cmp r0, 0xE - bne _08000444 - bl rfu_REQ_stopMode - bl rfu_waitREQComplete - bl sub_80008D8 -_08000444: - bl sub_80582E0 - cmp r0, 0x1 - bne _08000478 - strb r0, [r6] - bl sub_80004B0 - movs r0, 0 - strb r0, [r6] - b _0800049E - .align 2, 0 -_08000458: .4byte 0x00007fff -_0800045C: .4byte 0x04000204 -_08000460: .4byte 0x00004014 -_08000464: .4byte gHeap -_08000468: .4byte gUnknown_3003530 -_0800046C: .4byte gUnknown_3005ECC -_08000470: .4byte gUnknown_30030E4 -_08000474: .4byte gUnknown_30030F0 -_08000478: - ldr r5, _080004AC @ =gUnknown_30030E4 - movs r0, 0 - strb r0, [r5] - bl sub_80004B0 - bl sub_8058274 - adds r4, r0, 0 - cmp r4, 0x1 - bne _0800049E - movs r0, 0 - strh r0, [r7, 0x2E] - bl ClearSpriteCopyRequests - strb r4, [r5] - bl sub_80004B0 - mov r2, r8 - strb r2, [r5] -_0800049E: - bl PlayTimeCounter_Update - bl MapMusicMain - bl sub_8000890 - b _0800041A - .align 2, 0 -_080004AC: .4byte gUnknown_30030E4 - thumb_func_end AgbMain - - thumb_func_start sub_80004B0 -sub_80004B0: @ 80004B0 - push {lr} - bl HandleLinkConnection - lsls r0, 24 - cmp r0, 0 - bne _080004C0 - bl sub_8000510 -_080004C0: - pop {r0} - bx r0 - thumb_func_end sub_80004B0 - - thumb_func_start sub_80004C4 -sub_80004C4: @ 80004C4 - push {r4,lr} - ldr r0, _080004F4 @ =gUnknown_30030F0 - movs r4, 0 - str r4, [r0, 0x20] - str r4, [r0, 0x24] - str r4, [r0] - ldr r0, _080004F8 @ =sub_80EC820 - bl SetMainCallback2 - ldr r0, _080004FC @ =gUnknown_300500C - ldr r1, _08000500 @ =gUnknown_2024588 - str r1, [r0] - ldr r2, _08000504 @ =gUnknown_3005008 - ldr r0, _08000508 @ =gUnknown_202552C - str r0, [r2] - movs r0, 0xF2 - lsls r0, 4 - adds r1, r0 - str r4, [r1] - ldr r0, _0800050C @ =gUnknown_3005E88 - strb r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080004F4: .4byte gUnknown_30030F0 -_080004F8: .4byte sub_80EC820 -_080004FC: .4byte gUnknown_300500C -_08000500: .4byte gUnknown_2024588 -_08000504: .4byte gUnknown_3005008 -_08000508: .4byte gUnknown_202552C -_0800050C: .4byte gUnknown_3005E88 - thumb_func_end sub_80004C4 - - thumb_func_start sub_8000510 -sub_8000510: @ 8000510 - push {r4,lr} - bl sub_80F5118 - cmp r0, 0 - bne _0800053A - bl sub_813B870 - lsls r0, 24 - cmp r0, 0 - bne _0800053A - ldr r4, _08000540 @ =gUnknown_30030F0 - ldr r0, [r4] - cmp r0, 0 - beq _08000530 - bl _call_via_r0 -_08000530: - ldr r0, [r4, 0x4] - cmp r0, 0 - beq _0800053A - bl _call_via_r0 -_0800053A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000540: .4byte gUnknown_30030F0 - thumb_func_end sub_8000510 - - thumb_func_start SetMainCallback2 -SetMainCallback2: @ 8000544 - ldr r1, _08000554 @ =gUnknown_30030F0 - str r0, [r1, 0x4] - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - movs r0, 0 - strb r0, [r1] - bx lr - .align 2, 0 -_08000554: .4byte gUnknown_30030F0 - thumb_func_end SetMainCallback2 - - thumb_func_start StartTimer1 -StartTimer1: @ 8000558 - ldr r1, _08000560 @ =0x04000106 - movs r0, 0x80 - strh r0, [r1] - bx lr - .align 2, 0 -_08000560: .4byte 0x04000106 - thumb_func_end StartTimer1 - - thumb_func_start SeedRngAndSetTrainerId -SeedRngAndSetTrainerId: @ 8000564 - push {r4,lr} - ldr r0, _08000580 @ =0x04000104 - ldrh r4, [r0] - adds r0, r4, 0 - bl SeedRng - ldr r1, _08000584 @ =0x04000106 - movs r0, 0 - strh r0, [r1] - ldr r0, _08000588 @ =gUnknown_2020000 - strh r4, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000580: .4byte 0x04000104 -_08000584: .4byte 0x04000106 -_08000588: .4byte gUnknown_2020000 - thumb_func_end SeedRngAndSetTrainerId - - thumb_func_start GetGeneratedTrainerIdLower -GetGeneratedTrainerIdLower: @ 800058C - ldr r0, _08000594 @ =gUnknown_2020000 - ldrh r0, [r0] - bx lr - .align 2, 0 -_08000594: .4byte gUnknown_2020000 - thumb_func_end GetGeneratedTrainerIdLower - - thumb_func_start EnableVCountIntrAtLine150 -EnableVCountIntrAtLine150: @ 8000598 - push {lr} - movs r0, 0x4 - bl GetGpuReg - movs r1, 0xFF - ands r1, r0 - movs r2, 0x96 - lsls r2, 8 - adds r0, r2, 0 - orrs r1, r0 - movs r0, 0x20 - orrs r1, r0 - movs r0, 0x4 - bl SetGpuReg - movs r0, 0x4 - bl EnableInterrupts - pop {r0} - bx r0 - thumb_func_end EnableVCountIntrAtLine150 - - thumb_func_start InitKeys -InitKeys: @ 80005C0 - ldr r1, _080005DC @ =gUnknown_300352C - movs r0, 0x5 - strh r0, [r1] - ldr r1, _080005E0 @ =gUnknown_30030E0 - movs r0, 0x28 - strh r0, [r1] - ldr r1, _080005E4 @ =gUnknown_30030F0 - movs r0, 0 - strh r0, [r1, 0x2C] - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - strh r0, [r1, 0x28] - strh r0, [r1, 0x2A] - bx lr - .align 2, 0 -_080005DC: .4byte gUnknown_300352C -_080005E0: .4byte gUnknown_30030E0 -_080005E4: .4byte gUnknown_30030F0 - thumb_func_end InitKeys - - thumb_func_start ReadKeys -ReadKeys: @ 80005E8 - push {lr} - ldr r0, _08000624 @ =0x04000130 - ldrh r1, [r0] - ldr r2, _08000628 @ =0x000003ff - adds r0, r2, 0 - adds r3, r0, 0 - eors r3, r1 - ldr r1, _0800062C @ =gUnknown_30030F0 - ldrh r2, [r1, 0x28] - adds r0, r3, 0 - bics r0, r2 - strh r0, [r1, 0x2A] - strh r0, [r1, 0x2E] - strh r0, [r1, 0x30] - adds r2, r1, 0 - cmp r3, 0 - beq _08000634 - ldrh r0, [r2, 0x2C] - cmp r0, r3 - bne _08000634 - ldrh r0, [r2, 0x32] - subs r0, 0x1 - strh r0, [r2, 0x32] - lsls r0, 16 - cmp r0, 0 - bne _0800063A - strh r3, [r2, 0x30] - ldr r0, _08000630 @ =gUnknown_300352C - b _08000636 - .align 2, 0 -_08000624: .4byte 0x04000130 -_08000628: .4byte 0x000003ff -_0800062C: .4byte gUnknown_30030F0 -_08000630: .4byte gUnknown_300352C -_08000634: - ldr r0, _08000680 @ =gUnknown_30030E0 -_08000636: - ldrh r0, [r0] - strh r0, [r2, 0x32] -_0800063A: - strh r3, [r2, 0x28] - strh r3, [r2, 0x2C] - ldr r0, _08000684 @ =gUnknown_300500C - ldr r0, [r0] - ldrb r0, [r0, 0x13] - cmp r0, 0x2 - bne _0800066C - ldrh r1, [r2, 0x2E] - movs r3, 0x80 - lsls r3, 2 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800065C - movs r0, 0x1 - orrs r0, r1 - strh r0, [r2, 0x2E] -_0800065C: - ldrh r1, [r2, 0x2C] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0800066C - movs r0, 0x1 - orrs r0, r1 - strh r0, [r2, 0x2C] -_0800066C: - ldrh r1, [r2, 0x2E] - ldrh r0, [r2, 0x36] - ands r0, r1 - cmp r0, 0 - beq _0800067A - movs r0, 0x1 - strh r0, [r2, 0x34] -_0800067A: - pop {r0} - bx r0 - .align 2, 0 -_08000680: .4byte gUnknown_30030E0 -_08000684: .4byte gUnknown_300500C - thumb_func_end ReadKeys - - thumb_func_start InitIntrHandlers -InitIntrHandlers: @ 8000688 - push {r4,r5,lr} - ldr r5, _080006D4 @ =IntrMain - ldr r4, _080006D8 @ =gUnknown_3003580 - ldr r3, _080006DC @ =gUnknown_81E9F28 - ldr r2, _080006E0 @ =gIntrTable - movs r1, 0xD -_08000694: - ldm r3!, {r0} - stm r2!, {r0} - subs r1, 0x1 - cmp r1, 0 - bge _08000694 - ldr r0, _080006E4 @ =0x040000d4 - str r5, [r0] - str r4, [r0, 0x4] - ldr r1, _080006E8 @ =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r0, _080006EC @ =INTR_VECTOR - str r4, [r0] - movs r0, 0 - bl SetVBlankCallback - movs r0, 0 - bl SetHBlankCallback - movs r0, 0 - bl sub_8000718 - ldr r1, _080006F0 @ =0x04000208 - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl EnableInterrupts - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080006D4: .4byte IntrMain -_080006D8: .4byte gUnknown_3003580 -_080006DC: .4byte gUnknown_81E9F28 -_080006E0: .4byte gIntrTable -_080006E4: .4byte 0x040000d4 -_080006E8: .4byte 0x84000200 -_080006EC: .4byte INTR_VECTOR -_080006F0: .4byte 0x04000208 - thumb_func_end InitIntrHandlers - - thumb_func_start SetVBlankCallback -SetVBlankCallback: @ 80006F4 - ldr r1, _080006FC @ =gUnknown_30030F0 - str r0, [r1, 0xC] - bx lr - .align 2, 0 -_080006FC: .4byte gUnknown_30030F0 - thumb_func_end SetVBlankCallback - - thumb_func_start SetHBlankCallback -SetHBlankCallback: @ 8000700 - ldr r1, _08000708 @ =gUnknown_30030F0 - str r0, [r1, 0x10] - bx lr - .align 2, 0 -_08000708: .4byte gUnknown_30030F0 - thumb_func_end SetHBlankCallback - - thumb_func_start sub_800070C -sub_800070C: @ 800070C - ldr r1, _08000714 @ =gUnknown_30030F0 - str r0, [r1, 0x14] - bx lr - .align 2, 0 -_08000714: .4byte gUnknown_30030F0 - thumb_func_end sub_800070C - - thumb_func_start sub_8000718 -sub_8000718: @ 8000718 - ldr r1, _08000720 @ =gUnknown_30030F0 - str r0, [r1, 0x18] - bx lr - .align 2, 0 -_08000720: .4byte gUnknown_30030F0 - thumb_func_end sub_8000718 - - thumb_func_start sub_8000724 -sub_8000724: @ 8000724 - push {r4,r5,lr} - ldr r0, _08000734 @ =gUnknown_3003F3C - ldrb r0, [r0] - cmp r0, 0 - beq _08000738 - bl LinkVSync - b _08000744 - .align 2, 0 -_08000734: .4byte gUnknown_3003F3C -_08000738: - ldr r0, _080007A8 @ =gUnknown_300357C - ldrb r0, [r0] - cmp r0, 0 - bne _08000744 - bl sub_800B718 -_08000744: - ldr r5, _080007AC @ =gUnknown_30030F0 - ldr r1, [r5, 0x20] - cmp r1, 0 - beq _08000752 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] -_08000752: - ldr r0, [r5, 0xC] - cmp r0, 0 - beq _0800075C - bl _call_via_r0 -_0800075C: - ldr r0, [r5, 0x24] - adds r0, 0x1 - str r0, [r5, 0x24] - bl CopyBufferedValuesToGpuRegs - bl ProcessDma3Requests - ldr r1, _080007B0 @ =gUnknown_3003D88 - ldr r0, _080007B4 @ =gSoundInfo - ldrb r0, [r0, 0x4] - strb r0, [r1] - ldr r1, _080007B8 @ =gUnknown_3003D84 - ldr r4, _080007BC @ =0x04000006 - ldrh r0, [r4] - strb r0, [r1] - bl m4aSoundMain - ldr r1, _080007C0 @ =gUnknown_3003578 - ldrh r0, [r4] - strb r0, [r1] - bl sub_800DD28 - bl Random - bl sub_80FCF34 - ldr r2, _080007C4 @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r5, 0x1C] - ldrh r2, [r5, 0x1C] - orrs r1, r0 - strh r1, [r5, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080007A8: .4byte gUnknown_300357C -_080007AC: .4byte gUnknown_30030F0 -_080007B0: .4byte gUnknown_3003D88 -_080007B4: .4byte gSoundInfo -_080007B8: .4byte gUnknown_3003D84 -_080007BC: .4byte 0x04000006 -_080007C0: .4byte gUnknown_3003578 -_080007C4: .4byte INTR_CHECK - thumb_func_end sub_8000724 - - thumb_func_start InitFlashTimer -InitFlashTimer: @ 80007C8 - push {lr} - ldr r0, _080007D8 @ =gUnknown_81E9F60 - ldr r1, [r0] - movs r0, 0x2 - bl SetFlashTimerIntr - pop {r0} - bx r0 - .align 2, 0 -_080007D8: .4byte gUnknown_81E9F60 - thumb_func_end InitFlashTimer - - thumb_func_start HBlankIntr -HBlankIntr: @ 80007DC - push {r4,lr} - ldr r4, _08000804 @ =gUnknown_30030F0 - ldr r0, [r4, 0x10] - cmp r0, 0 - beq _080007EA - bl _call_via_r0 -_080007EA: - ldr r2, _08000808 @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x1C] - ldrh r2, [r4, 0x1C] - orrs r1, r0 - strh r1, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000804: .4byte gUnknown_30030F0 -_08000808: .4byte INTR_CHECK - thumb_func_end HBlankIntr - - thumb_func_start sub_800080C -sub_800080C: @ 800080C - push {lr} - ldr r1, _08000834 @ =gUnknown_3003D80 - ldr r0, _08000838 @ =0x04000006 - ldrh r0, [r0] - strb r0, [r1] - bl m4aSoundVSync - ldr r2, _0800083C @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08000840 @ =gUnknown_30030F0 - ldrh r2, [r0, 0x1C] - ldrh r3, [r0, 0x1C] - orrs r1, r2 - strh r1, [r0, 0x1C] - pop {r0} - bx r0 - .align 2, 0 -_08000834: .4byte gUnknown_3003D80 -_08000838: .4byte 0x04000006 -_0800083C: .4byte INTR_CHECK -_08000840: .4byte gUnknown_30030F0 - thumb_func_end sub_800080C - - thumb_func_start sub_8000844 -sub_8000844: @ 8000844 - push {r4,lr} - ldr r4, _0800086C @ =gUnknown_30030F0 - ldr r0, [r4, 0x18] - cmp r0, 0 - beq _08000852 - bl _call_via_r0 -_08000852: - ldr r2, _08000870 @ =INTR_CHECK - ldrh r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strh r0, [r2] - ldrh r0, [r4, 0x1C] - ldrh r2, [r4, 0x1C] - orrs r1, r0 - strh r1, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0800086C: .4byte gUnknown_30030F0 -_08000870: .4byte INTR_CHECK - thumb_func_end sub_8000844 - - thumb_func_start sub_8000874 -sub_8000874: @ 8000874 - ldr r0, _08000880 @ =gIntrTable - ldr r1, _08000884 @ =sub_8000844 - str r1, [r0, 0x4] - ldr r1, _08000888 @ =Timer3Intr - str r1, [r0, 0x8] - bx lr - .align 2, 0 -_08000880: .4byte gIntrTable -_08000884: .4byte sub_8000844 -_08000888: .4byte Timer3Intr - thumb_func_end sub_8000874 - - thumb_func_start nullsub_4 -nullsub_4: @ 800088C - bx lr - thumb_func_end nullsub_4 - - thumb_func_start sub_8000890 -sub_8000890: @ 8000890 - push {lr} - ldr r2, _080008B8 @ =gUnknown_30030F0 - ldrh r1, [r2, 0x1C] - ldr r0, _080008BC @ =0x0000fffe - ands r0, r1 - ldrh r1, [r2, 0x1C] - strh r0, [r2, 0x1C] - ldrh r1, [r2, 0x1C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080008B4 - movs r3, 0x1 -_080008AA: - ldrh r1, [r2, 0x1C] - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _080008AA -_080008B4: - pop {r0} - bx r0 - .align 2, 0 -_080008B8: .4byte gUnknown_30030F0 -_080008BC: .4byte 0x0000fffe - thumb_func_end sub_8000890 - - thumb_func_start sub_80008C0 -sub_80008C0: @ 80008C0 - ldr r1, _080008C8 @ =gUnknown_30030F0 - str r0, [r1, 0x20] - bx lr - .align 2, 0 -_080008C8: .4byte gUnknown_30030F0 - thumb_func_end sub_80008C0 - - thumb_func_start sub_80008CC -sub_80008CC: @ 80008CC - ldr r1, _080008D4 @ =gUnknown_30030F0 - movs r0, 0 - str r0, [r1, 0x20] - bx lr - .align 2, 0 -_080008D4: .4byte gUnknown_30030F0 - thumb_func_end sub_80008CC - - thumb_func_start sub_80008D8 -sub_80008D8: @ 80008D8 - push {r4,lr} - ldr r1, _08000930 @ =0x04000208 - movs r0, 0 - strh r0, [r1] - bl m4aSoundVSyncOff - bl remove_some_task - ldr r1, _08000934 @ =0x040000bc - ldrh r2, [r1, 0xA] - ldr r3, _08000938 @ =0x0000c5ff - adds r0, r3, 0 - ands r0, r2 - strh r0, [r1, 0xA] - ldrh r4, [r1, 0xA] - ldr r2, _0800093C @ =0x00007fff - adds r0, r2, 0 - ands r0, r4 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - adds r1, 0xC - ldrh r4, [r1, 0xA] - adds r0, r3, 0 - ands r0, r4 - strh r0, [r1, 0xA] - ldrh r4, [r1, 0xA] - adds r0, r2, 0 - ands r0, r4 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xA] - ldr r0, _08000940 @ =0x040000d4 - ldrh r1, [r0, 0xA] - ands r3, r1 - strh r3, [r0, 0xA] - ldrh r1, [r0, 0xA] - ands r2, r1 - strh r2, [r0, 0xA] - ldrh r0, [r0, 0xA] - movs r0, 0xDF - bl SoftReset - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08000930: .4byte 0x04000208 -_08000934: .4byte 0x040000bc -_08000938: .4byte 0x0000c5ff -_0800093C: .4byte 0x00007fff -_08000940: .4byte 0x040000d4 - thumb_func_end sub_80008D8 - - thumb_func_start sub_8000944 -sub_8000944: @ 8000944 - push {lr} - sub sp, 0x4 - mov r1, sp - movs r0, 0 - strh r0, [r1] - ldr r1, _08000960 @ =gPokemonCrySongs - ldr r2, _08000964 @ =0x01000034 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_08000960: .4byte gPokemonCrySongs -_08000964: .4byte 0x01000034 - thumb_func_end sub_8000944 - - .align 2, 0 @ Don't pad with nop. |