summaryrefslogtreecommitdiff
path: root/asm/debug_menu_1.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2021-04-03 20:44:48 -0500
committerGitHub <noreply@github.com>2021-04-03 20:44:48 -0500
commit22fec43f1812cb863ad699b357bd593222ae140c (patch)
tree4efa162869946a9bfdbde1be498857fac3db3b39 /asm/debug_menu_1.s
parenta2d206665c6fffbd962375f262b7fbb05c7b7478 (diff)
More menu work (#33)
* split adventure log menu out and decompile * add most adventure log matchings w/ 2 nonmatchings and move some relevant data * more work on other menus * fully decomp debug stuff around 203B3F0 * more debug menu work * fix CreatePartnerSelectionMenu nonmatch * move more data and clean some data up
Diffstat (limited to 'asm/debug_menu_1.s')
-rw-r--r--asm/debug_menu_1.s686
1 files changed, 686 insertions, 0 deletions
diff --git a/asm/debug_menu_1.s b/asm/debug_menu_1.s
new file mode 100644
index 0000000..12b27d9
--- /dev/null
+++ b/asm/debug_menu_1.s
@@ -0,0 +1,686 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_803AA34
+sub_803AA34:
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r0, _0803AA64
+ ldr r1, [r0]
+ ldr r2, _0803AA68
+ ldr r3, [r2]
+ ldrb r0, [r3, 0x4]
+ adds r1, r0
+ ldrb r0, [r1]
+ adds r5, r2, 0
+ cmp r0, 0
+ beq _0803AA7A
+ ldr r0, _0803AA6C
+ str r0, [r3, 0xC]
+ bl sub_803ABC8
+ lsls r0, 24
+ cmp r0, 0
+ beq _0803AA70
+ ldr r1, [r5]
+ movs r0, 0x3
+ str r0, [r1, 0x10]
+ b _0803AA82
+ .align 2, 0
+_0803AA64: .4byte gFriendAreas
+_0803AA68: .4byte gUnknown_203B3F4
+_0803AA6C: .4byte gDebug_CloseText
+_0803AA70:
+ ldr r1, [r5]
+ movs r0, 0x1
+ negs r0, r0
+ str r0, [r1, 0x10]
+ b _0803AA82
+_0803AA7A:
+ ldr r0, _0803AABC
+ str r0, [r3, 0xC]
+ movs r0, 0x2
+ str r0, [r3, 0x10]
+_0803AA82:
+ adds r4, 0x1
+ ldr r5, [r5]
+ mov r12, r5
+ lsls r1, r4, 3
+ mov r3, r12
+ adds r3, 0xC
+ adds r2, r3, r1
+ ldr r0, _0803AAC0
+ ldr r0, [r0]
+ str r0, [r2]
+ mov r2, r12
+ adds r2, 0x10
+ adds r1, r2, r1
+ movs r0, 0x4
+ str r0, [r1]
+ adds r4, 0x1
+ lsls r1, r4, 3
+ adds r3, r1
+ movs r0, 0
+ str r0, [r3]
+ adds r2, r1
+ movs r0, 0x1
+ str r0, [r2]
+ mov r1, r12
+ ldr r0, [r1, 0x10]
+ str r0, [r1, 0x8]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AABC: .4byte gDebug_OpenText
+_0803AAC0: .4byte gUnknown_80D4970
+ thumb_func_end sub_803AA34
+
+ thumb_func_start sub_803AAC4
+sub_803AAC4:
+ push {lr}
+ movs r0, 0x1
+ bl sub_8021274
+ cmp r0, 0x4
+ bhi _0803AB2E
+ lsls r0, 2
+ ldr r1, _0803AADC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803AADC: .4byte _0803AAE0
+ .align 2, 0
+_0803AAE0:
+ .4byte _0803AB2E
+ .4byte _0803AB2E
+ .4byte _0803AB24
+ .4byte _0803AAF4
+ .4byte _0803AB0C
+_0803AAF4:
+ bl sub_802132C
+ ldr r1, _0803AB08
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x2
+ bl sub_803A924
+ b _0803AB2E
+ .align 2, 0
+_0803AB08: .4byte gUnknown_203B3F4
+_0803AB0C:
+ bl sub_802132C
+ ldr r1, _0803AB20
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x3
+ bl sub_803A924
+ b _0803AB2E
+ .align 2, 0
+_0803AB20: .4byte gUnknown_203B3F4
+_0803AB24:
+ bl sub_80213A0
+ movs r0, 0x4
+ bl sub_803A924
+_0803AB2E:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803AAC4
+
+ thumb_func_start sub_803AB34
+sub_803AB34:
+ push {r4,lr}
+ sub sp, 0x4
+ movs r0, 0
+ str r0, [sp]
+ bl sub_8021274
+ ldr r4, _0803AB6C
+ ldr r0, [r4]
+ adds r0, 0x4C
+ bl sub_8012FD8
+ lsls r0, 24
+ cmp r0, 0
+ bne _0803AB5A
+ ldr r0, [r4]
+ adds r0, 0x4C
+ mov r1, sp
+ bl sub_8013114
+_0803AB5A:
+ ldr r0, [sp]
+ cmp r0, 0x2
+ beq _0803AB7A
+ cmp r0, 0x2
+ bgt _0803AB70
+ cmp r0, 0x1
+ beq _0803AB9E
+ b _0803ABA4
+ .align 2, 0
+_0803AB6C: .4byte gUnknown_203B3F4
+_0803AB70:
+ cmp r0, 0x3
+ beq _0803AB84
+ cmp r0, 0x4
+ beq _0803AB96
+ b _0803ABA4
+_0803AB7A:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ bl UnlockFriendArea
+ b _0803AB8E
+_0803AB84:
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x4]
+ movs r1, 0x1
+ bl sub_809249C
+_0803AB8E:
+ movs r0, 0x1
+ bl sub_803A924
+ b _0803ABA4
+_0803AB96:
+ movs r0, 0x3
+ bl sub_803A924
+ b _0803ABA4
+_0803AB9E:
+ movs r0, 0x1
+ bl sub_803A924
+_0803ABA4:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803AB34
+
+ thumb_func_start sub_803ABAC
+sub_803ABAC:
+ push {lr}
+ bl sub_80217EC
+ cmp r0, 0x1
+ bls _0803ABC4
+ cmp r0, 0x3
+ bhi _0803ABC4
+ bl sub_8021830
+ movs r0, 0x1
+ bl sub_803A924
+_0803ABC4:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803ABAC
+
+ thumb_func_start sub_803ABC8
+sub_803ABC8:
+ push {r4-r6,lr}
+ movs r5, 0
+ movs r6, 0x1
+_0803ABCE:
+ ldr r2, _0803AC08
+ movs r0, 0x58
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, [r2]
+ adds r2, r0, r1
+ ldrh r1, [r2]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0
+ beq _0803AC10
+ lsrs r0, r1, 1
+ ands r0, r6
+ cmp r0, 0
+ beq _0803AC10
+ ldr r0, _0803AC0C
+ ldr r4, [r0]
+ movs r1, 0x8
+ ldrsh r0, [r2, r1]
+ bl GetFriendArea
+ ldrb r1, [r4, 0x4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ bne _0803AC10
+ movs r0, 0
+ b _0803AC1C
+ .align 2, 0
+_0803AC08: .4byte gUnknown_203B45C
+_0803AC0C: .4byte gUnknown_203B3F4
+_0803AC10:
+ adds r5, 0x1
+ movs r0, 0xCE
+ lsls r0, 1
+ cmp r5, r0
+ ble _0803ABCE
+ movs r0, 0x1
+_0803AC1C:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803ABC8
+
+ thumb_func_start sub_803AC24
+sub_803AC24:
+ push {r4,lr}
+ ldr r4, _0803AC44
+ movs r0, 0xA0
+ lsls r0, 1
+ movs r1, 0x8
+ bl MemoryAlloc
+ str r0, [r4]
+ movs r0, 0
+ bl sub_803ACD0
+ movs r0, 0x1
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_0803AC44: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803AC24
+
+ thumb_func_start sub_803AC48
+sub_803AC48:
+ push {lr}
+ ldr r0, _0803AC60
+ ldr r0, [r0]
+ ldr r0, [r0]
+ cmp r0, 0x7
+ bhi _0803ACA8
+ lsls r0, 2
+ ldr r1, _0803AC64
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803AC60: .4byte gUnknown_203B3F8
+_0803AC64: .4byte _0803AC68
+ .align 2, 0
+_0803AC68:
+ .4byte _0803AC88
+ .4byte _0803AC90
+ .4byte _0803AC90
+ .4byte _0803AC96
+ .4byte _0803ACA8
+ .4byte _0803AC9C
+ .4byte _0803ACA2
+ .4byte _0803ACA8
+_0803AC88:
+ movs r0, 0x1
+ bl sub_803ACD0
+ b _0803ACAC
+_0803AC90:
+ bl sub_803AF38
+ b _0803ACAC
+_0803AC96:
+ bl sub_803AF88
+ b _0803ACAC
+_0803AC9C:
+ bl sub_803AFE8
+ b _0803ACAC
+_0803ACA2:
+ bl sub_803B034
+ b _0803ACAC
+_0803ACA8:
+ movs r0, 0x3
+ b _0803ACAE
+_0803ACAC:
+ movs r0, 0
+_0803ACAE:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_803AC48
+
+ thumb_func_start sub_803ACB4
+sub_803ACB4:
+ push {r4,lr}
+ ldr r4, _0803ACCC
+ ldr r0, [r4]
+ cmp r0, 0
+ beq _0803ACC6
+ bl MemoryFree
+ movs r0, 0
+ str r0, [r4]
+_0803ACC6:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803ACCC: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803ACB4
+
+ thumb_func_start sub_803ACD0
+sub_803ACD0:
+ push {lr}
+ ldr r1, _0803ACE4
+ ldr r1, [r1]
+ str r0, [r1]
+ bl sub_803ACE8
+ bl sub_803AD88
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803ACE4: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803ACD0
+
+ thumb_func_start sub_803ACE8
+sub_803ACE8:
+ push {r4-r7,lr}
+ ldr r4, _0803AD08
+ ldr r0, [r4]
+ adds r0, 0xE0
+ bl sub_8006518
+ ldr r1, [r4]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ beq _0803AD10
+ cmp r0, 0x5
+ beq _0803AD38
+ movs r2, 0
+ ldr r3, _0803AD0C
+ b _0803AD50
+ .align 2, 0
+_0803AD08: .4byte gUnknown_203B3F8
+_0803AD0C: .4byte gUnknown_80E7ED4
+_0803AD10:
+ bl sub_803AEB0
+ ldr r2, [r4]
+ movs r0, 0x88
+ lsls r0, 1
+ adds r2, r0
+ ldr r1, _0803AD34
+ ldm r1!, {r3,r5,r6}
+ stm r2!, {r3,r5,r6}
+ ldm r1!, {r3,r5,r7}
+ stm r2!, {r3,r5,r7}
+ ldr r1, [r4]
+ adds r0, r1, r0
+ adds r1, 0x90
+ bl sub_8012CAC
+ b _0803AD6C
+ .align 2, 0
+_0803AD34: .4byte gUnknown_80E7EEC
+_0803AD38:
+ movs r6, 0x94
+ lsls r6, 1
+ adds r1, r6
+ ldr r0, _0803AD4C
+ ldm r0!, {r2,r3,r7}
+ stm r1!, {r2,r3,r7}
+ ldm r0!, {r4-r6}
+ stm r1!, {r4-r6}
+ b _0803AD6C
+ .align 2, 0
+_0803AD4C: .4byte gUnknown_80E7F04
+_0803AD50:
+ ldr r0, [r4]
+ lsls r1, r2, 1
+ adds r1, r2
+ lsls r1, 3
+ adds r0, r1
+ adds r0, 0xE0
+ adds r1, r3, 0
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ ldm r1!, {r5-r7}
+ stm r0!, {r5-r7}
+ adds r2, 0x1
+ cmp r2, 0x3
+ ble _0803AD50
+_0803AD6C:
+ bl ResetUnusedInputStruct
+ ldr r0, _0803AD84
+ ldr r0, [r0]
+ adds r0, 0xE0
+ movs r1, 0x1
+ movs r2, 0x1
+ bl sub_800641C
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AD84: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803ACE8
+
+ thumb_func_start sub_803AD88
+sub_803AD88:
+ push {lr}
+ sub sp, 0x8
+ ldr r1, _0803ADA4
+ ldr r0, [r1]
+ ldr r0, [r0]
+ adds r2, r1, 0
+ cmp r0, 0x7
+ bhi _0803AE50
+ lsls r0, 2
+ ldr r1, _0803ADA8
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0803ADA4: .4byte gUnknown_203B3F8
+_0803ADA8: .4byte _0803ADAC
+ .align 2, 0
+_0803ADAC:
+ .4byte _0803AE50
+ .4byte _0803ADCC
+ .4byte _0803ADDA
+ .4byte _0803ADE2
+ .4byte _0803AE50
+ .4byte _0803AE0C
+ .4byte _0803AE44
+ .4byte _0803AE50
+_0803ADCC:
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl sub_8023868
+ b _0803AE50
+_0803ADDA:
+ movs r0, 0x1
+ bl sub_8023B7C
+ b _0803AE50
+_0803ADE2:
+ bl sub_8023DA4
+ ldr r0, _0803AE08
+ ldr r2, [r0]
+ adds r0, r2, 0
+ adds r0, 0x10
+ adds r1, r2, 0
+ adds r1, 0x90
+ adds r3, r2, 0
+ adds r3, 0xD0
+ ldr r2, [r2, 0xC]
+ str r2, [sp]
+ movs r2, 0x2
+ str r2, [sp, 0x4]
+ movs r2, 0
+ bl sub_8012D60
+ b _0803AE50
+ .align 2, 0
+_0803AE08: .4byte gUnknown_203B3F8
+_0803AE0C:
+ ldr r2, [r2]
+ movs r1, 0x3
+ str r1, [r2, 0x70]
+ movs r0, 0x1
+ str r0, [r2, 0x68]
+ movs r0, 0x64
+ str r0, [r2, 0x6C]
+ ldr r0, [r2, 0x8]
+ ldrb r0, [r0, 0x3]
+ str r0, [r2, 0x64]
+ str r1, [r2, 0x74]
+ movs r1, 0x94
+ lsls r1, 1
+ adds r0, r2, r1
+ str r0, [r2, 0x78]
+ movs r0, 0x2C
+ str r0, [r2, 0x7C]
+ adds r1, r2, 0
+ adds r1, 0x80
+ movs r0, 0x12
+ str r0, [r1]
+ adds r0, r2, 0
+ adds r0, 0x60
+ bl sub_8013AA0
+ bl sub_803AE58
+ b _0803AE50
+_0803AE44:
+ ldr r0, [r2]
+ ldr r1, [r0, 0x8]
+ adds r1, 0x4C
+ movs r0, 0x2
+ bl sub_801602C
+_0803AE50:
+ add sp, 0x8
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803AD88
+
+ thumb_func_start sub_803AE58
+sub_803AE58:
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r4, _0803AEA8
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_8008C54
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073B8
+ ldr r2, _0803AEAC
+ ldr r0, [r4]
+ ldr r3, [r0, 0x74]
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x4
+ movs r1, 0
+ bl xxx_call_draw_string
+ ldr r0, [r4]
+ adds r0, 0x60
+ bl sub_8013C68
+ ldr r0, [r4]
+ ldr r0, [r0, 0x74]
+ bl sub_80073E0
+ bl sub_8023DA4
+ ldr r0, [r4]
+ adds r0, 0x10
+ movs r1, 0
+ bl sub_8012EA4
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AEA8: .4byte gUnknown_203B3F8
+_0803AEAC: .4byte gDebug_NumberText2
+ thumb_func_end sub_803AE58
+
+ thumb_func_start sub_803AEB0
+sub_803AEB0:
+ push {r4-r6,lr}
+ ldr r4, _0803AEFC
+ ldr r0, [r4]
+ adds r0, 0xD0
+ movs r1, 0
+ movs r2, 0x10
+ bl MemoryFill16
+ ldr r4, [r4]
+ movs r3, 0
+ adds r1, r4, 0
+ adds r1, 0x90
+ ldr r0, _0803AF00
+ str r0, [r1]
+ adds r5, r4, 0
+ adds r5, 0x94
+ movs r0, 0x4
+ str r0, [r5]
+ movs r2, 0x1
+ adds r1, 0x8
+ ldr r0, _0803AF04
+ str r0, [r1]
+ adds r1, 0x4
+ movs r0, 0x5
+ str r0, [r1]
+ movs r6, 0x2
+ adds r0, r4, 0
+ adds r0, 0xA0
+ str r3, [r0]
+ adds r0, 0x4
+ str r2, [r0]
+ adds r0, 0x2C
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0803AF08
+ ldr r0, [r5]
+ str r0, [r4, 0xC]
+ b _0803AF2C
+ .align 2, 0
+_0803AEFC: .4byte gUnknown_203B3F8
+_0803AF00: .4byte gDebug_LevelText
+_0803AF04: .4byte gUnknown_80E7F2C
+_0803AF08:
+ adds r3, 0x1
+ cmp r3, r6
+ bge _0803AF2C
+ ldr r0, _0803AF34
+ ldr r2, [r0]
+ lsls r1, r3, 1
+ adds r0, r2, 0
+ adds r0, 0xD0
+ adds r0, r1
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _0803AF08
+ lsls r0, r3, 3
+ adds r1, r2, 0
+ adds r1, 0x94
+ adds r1, r0
+ ldr r0, [r1]
+ str r0, [r2, 0xC]
+_0803AF2C:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0803AF34: .4byte gUnknown_203B3F8
+ thumb_func_end sub_803AEB0
+
+ thumb_func_start sub_803AF38
+sub_803AF38:
+ push {lr}
+ movs r0, 0x1
+ bl sub_8023A94
+ cmp r0, 0x2
+ beq _0803AF78
+ cmp r0, 0x2
+ bcc _0803AF82
+ cmp r0, 0x3
+ bne _0803AF82
+ bl sub_8023B44
+ ldr r1, _0803AF70
+ ldr r1, [r1]
+ strh r0, [r1, 0x4]
+ ldr r3, _0803AF74
+ movs r0, 0x4
+ ldrsh r2, [r1, r0]
+ movs r0, 0x58
+ muls r2, r0
+ ldr r0, [r3]
+ adds r0, r2
+ str r0, [r1, 0x8]
+ movs r0, 0x3
+ bl sub_803ACD0
+ b _0803AF82
+ .align 2, 0
+_0803AF70: .4byte gUnknown_203B3F8
+_0803AF74: .4byte gUnknown_203B45C
+_0803AF78:
+ bl sub_8023C60
+ movs r0, 0x7
+ bl sub_803ACD0
+_0803AF82:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_803AF38
+
+ .align 2,0