summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/contest.s48
-rw-r--r--asm/contest_link_80C2020.s12
-rw-r--r--asm/contest_link_80C857C.s4
-rw-r--r--asm/matsuda_debug_menu.s (renamed from asm/matuda_debug_menu.s)1316
-rw-r--r--data/data2.s80
-rw-r--r--ld_script.txt3
-rw-r--r--src/matsuda_debug_menu.c937
-rw-r--r--sym_ewram.txt5
8 files changed, 1024 insertions, 1381 deletions
diff --git a/asm/contest.s b/asm/contest.s
index 59fd22aef..4b99acefc 100644
--- a/asm/contest.s
+++ b/asm/contest.s
@@ -2428,7 +2428,7 @@ _080AC664:
bl sub_80AF138
ldr r0, _080AC690 @ =gStringVar1
lsls r1, r7, 6
- ldr r2, _080AC694 @ =gUnknown_02038572
+ ldr r2, _080AC694 @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldrh r1, [r5, 0x6]
@@ -2446,7 +2446,7 @@ _080AC664:
b _080AC6B0
.align 2, 0
_080AC690: .4byte gStringVar1
-_080AC694: .4byte gUnknown_02038572
+_080AC694: .4byte gUnknown_02038570 + 0x2
_080AC698: .4byte gStringVar2
_080AC69C: .4byte gMoveNames
_080AC6A0:
@@ -3369,7 +3369,7 @@ _080ACE0A:
bl sub_80AF138
ldr r0, _080ACE4C @ =gStringVar1
lsls r1, r7, 6
- ldr r2, _080ACE50 @ =gUnknown_02038572
+ ldr r2, _080ACE50 @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r4, _080ACE54 @ =gStringVar4
@@ -3396,7 +3396,7 @@ _080ACE36:
.align 2, 0
_080ACE48: .4byte 0x02019260
_080ACE4C: .4byte gStringVar1
-_080ACE50: .4byte gUnknown_02038572
+_080ACE50: .4byte gUnknown_02038570 + 0x2
_080ACE54: .4byte gStringVar4
_080ACE58: .4byte gUnknown_083CC103
_080ACE5C: .4byte gMenuWindow
@@ -3511,7 +3511,7 @@ _080ACF48:
bl sub_80AF138
ldr r0, _080ACF90 @ =gStringVar1
lsls r1, r7, 6
- ldr r2, _080ACF94 @ =gUnknown_02038572
+ ldr r2, _080ACF94 @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r4, _080ACF98 @ =gStringVar4
@@ -3541,7 +3541,7 @@ _080ACF88:
bl _080AD8CA
.align 2, 0
_080ACF90: .4byte gStringVar1
-_080ACF94: .4byte gUnknown_02038572
+_080ACF94: .4byte gUnknown_02038570 + 0x2
_080ACF98: .4byte gStringVar4
_080ACF9C: .4byte gUnknown_083CBD52
_080ACFA0: .4byte gMenuWindow
@@ -3655,7 +3655,7 @@ _080AD070:
bl sub_80AF138
ldr r0, _080AD0D0 @ =gStringVar1
lsls r1, r7, 6
- ldr r2, _080AD0D4 @ =gUnknown_02038572
+ ldr r2, _080AD0D4 @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r4, _080AD0D8 @ =gStringVar4
@@ -3685,7 +3685,7 @@ _080AD070:
.align 2, 0
_080AD0CC: .4byte 0x02019260
_080AD0D0: .4byte gStringVar1
-_080AD0D4: .4byte gUnknown_02038572
+_080AD0D4: .4byte gUnknown_02038570 + 0x2
_080AD0D8: .4byte gStringVar4
_080AD0DC: .4byte gUnknown_083CC075
_080AD0E0: .4byte gMenuWindow
@@ -3859,7 +3859,7 @@ _080AD23A:
bl sub_80AF138
ldr r0, _080AD280 @ =gStringVar1
lsls r1, r7, 6
- ldr r2, _080AD284 @ =gUnknown_02038572
+ ldr r2, _080AD284 @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r3, _080AD288 @ =0x02019204
@@ -3887,7 +3887,7 @@ _080AD274: .4byte gUnknown_083CC2D8
_080AD278: .4byte gContestMoves
_080AD27C: .4byte 0x02019260
_080AD280: .4byte gStringVar1
-_080AD284: .4byte gUnknown_02038572
+_080AD284: .4byte gUnknown_02038570 + 0x2
_080AD288: .4byte 0x02019204
_080AD28C: .4byte gTasks
_080AD290:
@@ -4242,7 +4242,7 @@ _080AD53C:
lsls r1, 20
lsrs r1, 29
lsls r1, 6
- ldr r5, _080AD5B0 @ =gUnknown_02038572
+ ldr r5, _080AD5B0 @ =gUnknown_02038570 + 0x2
adds r1, r5
bl StringCopy
ldr r0, _080AD5B4 @ =gStringVar1
@@ -4285,7 +4285,7 @@ _080AD53C:
.align 2, 0
_080AD5A8: .4byte gStringVar3
_080AD5AC: .4byte 0x02019328
-_080AD5B0: .4byte gUnknown_02038572
+_080AD5B0: .4byte gUnknown_02038570 + 0x2
_080AD5B4: .4byte gStringVar1
_080AD5B8: .4byte gStringVar2
_080AD5BC: .4byte gMoveNames
@@ -4365,7 +4365,7 @@ _080AD664:
bl sub_80B09B0
ldr r0, _080AD6B8 @ =gStringVar1
lsls r1, r7, 6
- ldr r2, _080AD6BC @ =gUnknown_02038572
+ ldr r2, _080AD6BC @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r0, _080AD6C0 @ =gStringVar2
@@ -4399,7 +4399,7 @@ _080AD664:
.align 2, 0
_080AD6B4: .4byte 0x02019260
_080AD6B8: .4byte gStringVar1
-_080AD6BC: .4byte gUnknown_02038572
+_080AD6BC: .4byte gUnknown_02038570 + 0x2
_080AD6C0: .4byte gStringVar2
_080AD6C4: .4byte gMoveNames
_080AD6C8: .4byte gStringVar4
@@ -4548,7 +4548,7 @@ _080AD7E8:
bl sub_80AF138
ldr r0, _080AD828 @ =gStringVar1
lsls r1, r7, 6
- ldr r2, _080AD82C @ =gUnknown_02038572
+ ldr r2, _080AD82C @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r4, _080AD830 @ =gStringVar4
@@ -4574,7 +4574,7 @@ _080AD7E8:
b _080AD8CA
.align 2, 0
_080AD828: .4byte gStringVar1
-_080AD82C: .4byte gUnknown_02038572
+_080AD82C: .4byte gUnknown_02038570 + 0x2
_080AD830: .4byte gStringVar4
_080AD834: .4byte gUnknown_083CB00D
_080AD838: .4byte gMenuWindow
@@ -5043,7 +5043,7 @@ sub_80ADB88: @ 80ADB88
ldr r0, _080ADBF4 @ =gStringVar1
ldrb r1, [r6]
lsls r1, 6
- ldr r2, _080ADBF8 @ =gUnknown_02038572
+ ldr r2, _080ADBF8 @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r6, _080ADBFC @ =gStringVar4
@@ -5076,7 +5076,7 @@ sub_80ADB88: @ 80ADB88
_080ADBEC: .4byte gUnknown_02038695
_080ADBF0: .4byte 0x02019260
_080ADBF4: .4byte gStringVar1
-_080ADBF8: .4byte gUnknown_02038572
+_080ADBF8: .4byte gUnknown_02038570 + 0x2
_080ADBFC: .4byte gStringVar4
_080ADC00: .4byte gUnknown_083CB2F0
_080ADC04: .4byte gMenuWindow
@@ -5804,7 +5804,7 @@ _080AE19A:
ldr r5, _080AE2C4 @ =gUnknown_02038695
ldrb r0, [r5]
lsls r0, 6
- ldr r1, _080AE2C8 @ =gUnknown_02038572
+ ldr r1, _080AE2C8 @ =gUnknown_02038570 + 0x2
mov r8, r1
add r0, r8
mov r1, sp
@@ -5937,7 +5937,7 @@ _080AE19A:
b _080AE31E
.align 2, 0
_080AE2C4: .4byte gUnknown_02038695
-_080AE2C8: .4byte gUnknown_02038572
+_080AE2C8: .4byte gUnknown_02038570 + 0x2
_080AE2CC: .4byte gPlayerParty
_080AE2D0:
cmp r2, 0xFF
@@ -6499,7 +6499,7 @@ sub_80AE6E4: @ 80AE6E4
strb r0, [r3, 0x2]
adds r3, 0x3
lsls r1, r4, 6
- ldr r0, _080AE760 @ =gUnknown_02038572
+ ldr r0, _080AE760 @ =gUnknown_02038570 + 0x2
adds r1, r0
adds r0, r3, 0
bl sub_80AE598
@@ -6541,7 +6541,7 @@ sub_80AE6E4: @ 80AE6E4
bx r0
.align 2, 0
_080AE75C: .4byte gUnknown_020238CC
-_080AE760: .4byte gUnknown_02038572
+_080AE760: .4byte gUnknown_02038570 + 0x2
_080AE764: .4byte gUnknown_03004210
_080AE768: .4byte gUnknown_02038696
_080AE76C: .4byte gUnknown_083CA308
@@ -12550,7 +12550,7 @@ sub_80B146C: @ 80B146C
lsrs r5, r1, 24
ldr r0, _080B14C8 @ =gStringVar1
lsls r1, r4, 6
- ldr r2, _080B14CC @ =gUnknown_02038572
+ ldr r2, _080B14CC @ =gUnknown_02038570 + 0x2
adds r1, r2
bl StringCopy
ldr r0, _080B14D0 @ =gStringVar2
@@ -12586,7 +12586,7 @@ sub_80B146C: @ 80B146C
b _080B1538
.align 2, 0
_080B14C8: .4byte gStringVar1
-_080B14CC: .4byte gUnknown_02038572
+_080B14CC: .4byte gUnknown_02038570 + 0x2
_080B14D0: .4byte gStringVar2
_080B14D4: .4byte 0x02019260
_080B14D8: .4byte gMoveNames
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s
index d4b9a7c0f..4149db9dc 100644
--- a/asm/contest_link_80C2020.s
+++ b/asm/contest_link_80C2020.s
@@ -301,7 +301,7 @@ _080C2296:
strb r0, [r2, 0x2]
adds r2, 0x3
lsls r6, r5, 6
- ldr r7, _080C22EC @ =gUnknown_02038572
+ ldr r7, _080C22EC @ =gUnknown_02038570 + 0x2
adds r1, r6, r7
adds r0, r2, 0
bl StringCopy
@@ -332,7 +332,7 @@ _080C2296:
b _080C230A
.align 2, 0
_080C22E8: .4byte gUnknown_020238CC
-_080C22EC: .4byte gUnknown_02038572
+_080C22EC: .4byte gUnknown_02038570 + 0x2
_080C22F0: .4byte gUnknown_083D17E0
_080C22F4: .4byte gUnknown_0203869A
_080C22F8: .4byte gLinkPlayers + 0x8
@@ -1209,7 +1209,7 @@ _080C2A04:
bl StringCopy
_080C2A10:
ldr r0, _080C2A58 @ =gStringVar2
- ldr r1, _080C2A5C @ =gUnknown_02038572
+ ldr r1, _080C2A5C @ =gUnknown_02038570 + 0x2
adds r1, r4, r1
bl StringCopy
ldr r1, _080C2A60 @ =gContestText_PokeWon
@@ -1241,7 +1241,7 @@ _080C2A4A:
.align 2, 0
_080C2A54: .4byte gUnknown_0203857D
_080C2A58: .4byte gStringVar2
-_080C2A5C: .4byte gUnknown_02038572
+_080C2A5C: .4byte gUnknown_02038570 + 0x2
_080C2A60: .4byte gContestText_PokeWon
_080C2A64: .4byte 0x02018000
_080C2A68: .4byte 0x0000ffff
@@ -4867,7 +4867,7 @@ sub_80C4698: @ 80C4698
lsls r1, 24
lsrs r4, r1, 24
lsls r1, r4, 6
- ldr r0, _080C46E0 @ =gUnknown_02038572
+ ldr r0, _080C46E0 @ =gUnknown_02038570 + 0x2
adds r1, r0
adds r0, r5, 0
bl StringCopy
@@ -4897,7 +4897,7 @@ _080C46DA:
pop {r0}
bx r0
.align 2, 0
-_080C46E0: .4byte gUnknown_02038572
+_080C46E0: .4byte gUnknown_02038570 + 0x2
_080C46E4: .4byte gUnknown_0203869A
_080C46E8: .4byte gLinkPlayers
thumb_func_end sub_80C4698
diff --git a/asm/contest_link_80C857C.s b/asm/contest_link_80C857C.s
index b44220769..b06a88faf 100644
--- a/asm/contest_link_80C857C.s
+++ b/asm/contest_link_80C857C.s
@@ -342,7 +342,7 @@ _080C87EA:
mov r0, r10
movs r2, 0x40
bl memcpy
- ldr r0, _080C8824 @ =gUnknown_02038572
+ ldr r0, _080C8824 @ =gUnknown_02038570 + 0x2
adds r4, r5, r0
ldrh r0, [r6, 0x1A]
cmp r0, 0x1
@@ -359,7 +359,7 @@ _080C87EA:
_080C8818: .4byte gUnknown_02038570
_080C881C: .4byte gLinkPlayers
_080C8820: .4byte gBlockRecvBuffer
-_080C8824: .4byte gUnknown_02038572
+_080C8824: .4byte gUnknown_02038570 + 0x2
_080C8828:
ldrb r0, [r4, 0xA]
cmp r0, 0xFC
diff --git a/asm/matuda_debug_menu.s b/asm/matsuda_debug_menu.s
index c2fb1f004..2b7052f25 100644
--- a/asm/matuda_debug_menu.s
+++ b/asm/matsuda_debug_menu.s
@@ -6,1304 +6,6 @@
.text
- thumb_func_start unref_sub_80A9B28
-unref_sub_80A9B28: @ 80A9B28
- push {lr}
- sub sp, 0x8
- bl MenuZeroFillScreen
- movs r0, 0
- movs r1, 0
- movs r2, 0x11
- movs r3, 0x12
- bl MenuDrawTextWindow
- ldr r3, _080A9B6C @ =gUnknown_083C91F0
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x7
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x7
- bl InitMenu
- ldr r1, _080A9B70 @ =gCallback_03004AE8
- ldr r0, _080A9B74 @ =sub_80A9B78
- str r0, [r1]
- movs r0, 0
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_080A9B6C: .4byte gUnknown_083C91F0
-_080A9B70: .4byte gCallback_03004AE8
-_080A9B74: .4byte sub_80A9B78
- thumb_func_end unref_sub_80A9B28
-
- thumb_func_start sub_80A9B78
-sub_80A9B78: @ 80A9B78
- push {lr}
- bl ProcessMenuInput
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _080A9B8E
- movs r0, 0
- b _080A9BB6
-_080A9B8E:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A9BB0
- ldr r2, _080A9BA8 @ =gCallback_03004AE8
- ldr r0, _080A9BAC @ =gUnknown_083C91F0
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- movs r0, 0
- b _080A9BB6
- .align 2, 0
-_080A9BA8: .4byte gCallback_03004AE8
-_080A9BAC: .4byte gUnknown_083C91F0
-_080A9BB0:
- bl sub_8071C20
- movs r0, 0x1
-_080A9BB6:
- pop {r1}
- bx r1
- thumb_func_end sub_80A9B78
-
- thumb_func_start sub_80A9BBC
-sub_80A9BBC: @ 80A9BBC
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080A9BE0 @ =sub_80A9BE4
- movs r1, 0xFF
- bl CreateTask
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_080A9BE0: .4byte sub_80A9BE4
- thumb_func_end sub_80A9BBC
-
- thumb_func_start sub_80A9BE4
-sub_80A9BE4: @ 80A9BE4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080A9C14 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A9C10
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080A9C18 @ =gUnknown_0203869A
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A9C0C
- bl sub_80AF668
-_080A9C0C:
- bl sub_80C2358
-_080A9C10:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9C14: .4byte gPaletteFade
-_080A9C18: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9BE4
-
- thumb_func_start sub_80A9C1C
-sub_80A9C1C: @ 80A9C1C
- push {lr}
- ldr r1, _080A9C30 @ =gUnknown_0203869A
- movs r0, 0
- strb r0, [r1]
- bl sub_80AA10C
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A9C30: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9C1C
-
- thumb_func_start sub_80A9C34
-sub_80A9C34: @ 80A9C34
- push {lr}
- bl sub_80AA10C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A9C34
-
- thumb_func_start sub_80A9C40
-sub_80A9C40: @ 80A9C40
- push {r4,r5,lr}
- ldr r5, _080A9C88 @ =sub_80A9E3C
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080A9C8C @ =sub_80A9C98
- adds r0, r4, 0
- adds r1, r5, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r0, _080A9C90 @ =sub_80A9E04
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9C94 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x1C]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x1C]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9C88: .4byte sub_80A9E3C
-_080A9C8C: .4byte sub_80A9C98
-_080A9C90: .4byte sub_80A9E04
-_080A9C94: .4byte gTasks
- thumb_func_end sub_80A9C40
-
- thumb_func_start sub_80A9C98
-sub_80A9C98: @ 80A9C98
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80AE098
- ldr r1, _080A9CB8 @ =sub_80C8734
- ldr r2, _080A9CBC @ =sub_80A9CC0
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CB8: .4byte sub_80C8734
-_080A9CBC: .4byte sub_80A9CC0
- thumb_func_end sub_80A9C98
-
- thumb_func_start sub_80A9CC0
-sub_80A9CC0: @ 80A9CC0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9CD4 @ =sub_80C88AC
- ldr r2, _080A9CD8 @ =sub_80A9CDC
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CD4: .4byte sub_80C88AC
-_080A9CD8: .4byte sub_80A9CDC
- thumb_func_end sub_80A9CC0
-
- thumb_func_start sub_80A9CDC
-sub_80A9CDC: @ 80A9CDC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9CF0 @ =sub_80C8E1C
- ldr r2, _080A9CF4 @ =sub_80A9D58
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CF0: .4byte sub_80C8E1C
-_080A9CF4: .4byte sub_80A9D58
- thumb_func_end sub_80A9CDC
-
- thumb_func_start sub_80A9CF8
-sub_80A9CF8: @ 80A9CF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A9D28 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A9D20
- ldr r0, _080A9D2C @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x1C]
- bl DestroyTask
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8071C20
-_080A9D20:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9D28: .4byte gReceivedRemoteLinkPlayers
-_080A9D2C: .4byte gTasks
- thumb_func_end sub_80A9CF8
-
- thumb_func_start sub_80A9D30
-sub_80A9D30: @ 80A9D30
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800832C
- ldr r1, _080A9D50 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A9D54 @ =sub_80A9CF8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9D50: .4byte gTasks
-_080A9D54: .4byte sub_80A9CF8
- thumb_func_end sub_80A9D30
-
- thumb_func_start sub_80A9D58
-sub_80A9D58: @ 80A9D58
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r1, _080A9DA8 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, 0x12
- adds r2, r0, r1
-_080A9D6E:
- mov r0, sp
- adds r1, r0, r3
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080A9D6E
- mov r0, sp
- bl sub_80C4B34
- ldr r1, _080A9DAC @ =gUnknown_0203869B
- strb r0, [r1]
- ldr r0, _080A9DB0 @ =gScriptContestCategory
- ldrb r0, [r0]
- bl sub_80AE82C
- movs r0, 0
- bl sub_80B0F28
- ldr r1, _080A9DB4 @ =sub_80C8EBC
- ldr r2, _080A9DB8 @ =sub_80A9DBC
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9DA8: .4byte gTasks
-_080A9DAC: .4byte gUnknown_0203869B
-_080A9DB0: .4byte gScriptContestCategory
-_080A9DB4: .4byte sub_80C8EBC
-_080A9DB8: .4byte sub_80A9DBC
- thumb_func_end sub_80A9D58
-
- thumb_func_start sub_80A9DBC
-sub_80A9DBC: @ 80A9DBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9DD0 @ =sub_80C8F34
- ldr r2, _080A9DD4 @ =sub_80A9DD8
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9DD0: .4byte sub_80C8F34
-_080A9DD4: .4byte sub_80A9DD8
- thumb_func_end sub_80A9DBC
-
- thumb_func_start sub_80A9DD8
-sub_80A9DD8: @ 80A9DD8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A9E00 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1C]
- bl DestroyTask
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8071C20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E00: .4byte gTasks
- thumb_func_end sub_80A9DD8
-
- thumb_func_start sub_80A9E04
-sub_80A9E04: @ 80A9E04
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080A9E30 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x2
- bne _080A9E2A
- ldr r2, _080A9E34 @ =gTasks
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1C]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080A9E38 @ =sub_80A9D30
- str r1, [r0]
-_080A9E2A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E30: .4byte gMain
-_080A9E34: .4byte gTasks
-_080A9E38: .4byte sub_80A9D30
- thumb_func_end sub_80A9E04
-
- thumb_func_start sub_80A9E3C
-sub_80A9E3C: @ 80A9E3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl OpenLink
- movs r1, 0
- ldr r3, _080A9E74 @ =gBlockRecvBuffer
- movs r2, 0xFF
-_080A9E4C:
- lsls r0, r1, 8
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080A9E4C
- ldr r1, _080A9E78 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080A9E7C @ =sub_80A9E80
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E74: .4byte gBlockRecvBuffer
-_080A9E78: .4byte gTasks
-_080A9E7C: .4byte sub_80A9E80
- thumb_func_end sub_80A9E3C
-
- thumb_func_start sub_80A9E80
-sub_80A9E80: @ 80A9E80
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9EA0 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080A9EA4
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- b _080A9ECC
- .align 2, 0
-_080A9EA0: .4byte gTasks
-_080A9EA4:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080A9ECC
- movs r0, 0
- strh r0, [r4, 0x8]
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _080A9EC8
- ldr r0, _080A9EC4 @ =sub_80A9ED8
- b _080A9ECA
- .align 2, 0
-_080A9EC4: .4byte sub_80A9ED8
-_080A9EC8:
- ldr r0, _080A9ED4 @ =sub_80A9F10
-_080A9ECA:
- str r0, [r4]
-_080A9ECC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9ED4: .4byte sub_80A9F10
- thumb_func_end sub_80A9E80
-
- thumb_func_start sub_80A9ED8
-sub_80A9ED8: @ 80A9ED8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9F08 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x65
- bne _080A9F02
- bl sub_8007F4C
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _080A9F0C @ =sub_80A9F10
- str r0, [r4]
-_080A9F02:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9F08: .4byte gTasks
-_080A9F0C: .4byte sub_80A9F10
- thumb_func_end sub_80A9ED8
-
- thumb_func_start sub_80A9F10
-sub_80A9F10: @ 80A9F10
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A9F44 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A9F3E
- bl GetMultiplayerId
- ldr r1, _080A9F48 @ =gUnknown_02038695
- strb r0, [r1]
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080A9F3E
- ldr r1, _080A9F4C @ =gUnknown_0203869A
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080A9F3E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9F44: .4byte gReceivedRemoteLinkPlayers
-_080A9F48: .4byte gUnknown_02038695
-_080A9F4C: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9F10
-
- thumb_func_start sub_80A9F50
-sub_80A9F50: @ 80A9F50
- push {r4,lr}
- movs r2, 0x80
- lsls r2, 19
- movs r0, 0x40
- strh r0, [r2]
- ldrh r0, [r2]
- movs r3, 0x88
- lsls r3, 5
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r4, _080A9FB8 @ =gWindowConfig_81E6C3C
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _080A9FBC @ =gMenuWindow
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r0, _080A9FC0 @ =REG_MOSAIC
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x44
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r0, _080A9FC4 @ =gUnknown_030042A4
- strh r1, [r0]
- ldr r0, _080A9FC8 @ =gUnknown_030042A0
- strh r1, [r0]
- ldr r0, _080A9FCC @ =gUnknown_030042C0
- strh r1, [r0]
- ldr r0, _080A9FD0 @ =gUnknown_030041B4
- strh r1, [r0]
- ldr r0, _080A9FD4 @ =gUnknown_03004288
- strh r1, [r0]
- ldr r0, _080A9FD8 @ =gUnknown_03004280
- strh r1, [r0]
- ldr r0, _080A9FDC @ =gUnknown_030041B0
- strh r1, [r0]
- ldr r0, _080A9FE0 @ =gUnknown_030041B8
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9FB8: .4byte gWindowConfig_81E6C3C
-_080A9FBC: .4byte gMenuWindow
-_080A9FC0: .4byte REG_MOSAIC
-_080A9FC4: .4byte gUnknown_030042A4
-_080A9FC8: .4byte gUnknown_030042A0
-_080A9FCC: .4byte gUnknown_030042C0
-_080A9FD0: .4byte gUnknown_030041B4
-_080A9FD4: .4byte gUnknown_03004288
-_080A9FD8: .4byte gUnknown_03004280
-_080A9FDC: .4byte gUnknown_030041B0
-_080A9FE0: .4byte gUnknown_030041B8
- thumb_func_end sub_80A9F50
-
- thumb_func_start sub_80A9FE4
-sub_80A9FE4: @ 80A9FE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r1, _080AA054 @ =gUnknown_083C9228
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- add r5, sp, 0x8
- movs r6, 0
- ldr r1, _080AA058 @ =0x040000d4
- movs r4, 0x80
- lsls r4, 5
- mov r12, r5
- ldr r7, _080AA05C @ =0x85000400
- movs r0, 0x85
- lsls r0, 24
- mov r8, r0
-_080AA012:
- str r6, [sp, 0x8]
- mov r0, r12
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AA012
- str r6, [sp, 0x8]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r8
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xC0
- lsls r0, 19
- mov r1, sp
- bl sub_80034D4
- ldr r0, _080AA060 @ =gWindowConfig_81E6C3C
- bl LoadFontDefaultPalette
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA054: .4byte gUnknown_083C9228
-_080AA058: .4byte 0x040000d4
-_080AA05C: .4byte 0x85000400
-_080AA060: .4byte gWindowConfig_81E6C3C
- thumb_func_end sub_80A9FE4
-
- thumb_func_start sub_80AA064
-sub_80AA064: @ 80AA064
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- ldr r0, _080AA088 @ =gMain
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x4
- bne _080AA084
- ldr r0, _080AA08C @ =sub_805469C
- bl SetMainCallback2
-_080AA084:
- pop {r0}
- bx r0
- .align 2, 0
-_080AA088: .4byte gMain
-_080AA08C: .4byte sub_805469C
- thumb_func_end sub_80AA064
-
- thumb_func_start sub_80AA090
-sub_80AA090: @ 80AA090
- push {lr}
- ldr r1, _080AA0E8 @ =REG_BG0HOFS
- ldr r0, _080AA0EC @ =gUnknown_030042A4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F0 @ =gUnknown_030042A0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F4 @ =gUnknown_030042C0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F8 @ =gUnknown_030041B4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0FC @ =gUnknown_03004288
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA100 @ =gUnknown_03004280
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA104 @ =gUnknown_030041B0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA108 @ =gUnknown_030041B8
- ldrh r0, [r0]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080AA0E8: .4byte REG_BG0HOFS
-_080AA0EC: .4byte gUnknown_030042A4
-_080AA0F0: .4byte gUnknown_030042A0
-_080AA0F4: .4byte gUnknown_030042C0
-_080AA0F8: .4byte gUnknown_030041B4
-_080AA0FC: .4byte gUnknown_03004288
-_080AA100: .4byte gUnknown_03004280
-_080AA104: .4byte gUnknown_030041B0
-_080AA108: .4byte gUnknown_030041B8
- thumb_func_end sub_80AA090
-
- thumb_func_start sub_80AA10C
-sub_80AA10C: @ 80AA10C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, _080AA238 @ =gPaletteFade
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80A9F50
- bl dp12_8087EA4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl sub_80A9FE4
- ldr r0, _080AA23C @ =sub_80AA090
- bl SetVBlankCallback
- ldr r0, _080AA240 @ =sub_80AA064
- bl SetMainCallback2
- ldrb r1, [r4, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r4, 0x8]
- ldr r4, _080AA244 @ =gUnknown_02038694
- movs r0, 0
- strb r0, [r4]
- ldr r0, _080AA248 @ =gUnknown_02038570
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080AA16A
- movs r0, 0
- movs r1, 0
- bl sub_80AE398
-_080AA16A:
- ldrb r0, [r4]
- bl sub_80AE098
- movs r5, 0
- ldr r6, _080AA24C @ =gUnknown_083C9276
- adds r0, r6, 0x1
- mov r8, r0
- ldr r7, _080AA250 @ =gUnknown_083C9364
-_080AA17A:
- lsls r2, r5, 2
- adds r0, r2, r7
- ldr r1, [r0]
- adds r2, r5
- lsls r2, 17
- movs r0, 0xA8
- lsls r0, 14
- adds r2, r0
- lsrs r2, 16
- lsls r4, r5, 1
- adds r0, r4, r6
- ldrb r3, [r0]
- add r4, r8
- ldrb r0, [r4]
- str r0, [sp]
- ldr r0, _080AA254 @ =gMenuWindow
- bl sub_8003460
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080AA17A
- ldr r1, _080AA258 @ =gScriptContestCategory
- ldr r4, _080AA25C @ =gScriptContestRank
- movs r0, 0
- strh r0, [r4]
- strh r0, [r1]
- movs r5, 0
- movs r0, 0
- bl sub_80AA5BC
- ldrb r0, [r4]
- bl sub_80AA5E8
- ldr r4, _080AA254 @ =gMenuWindow
- ldr r1, _080AA260 @ =gUnknown_083C9337
- movs r0, 0x12
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xD6
- movs r3, 0x12
- bl sub_8003460
- ldr r1, _080AA264 @ =gUnknown_083C933B
- movs r0, 0xC
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xDC
- movs r3, 0
- bl sub_8003460
- ldr r0, _080AA268 @ =gUnknown_083C92B4
- bl LoadSpriteSheet
- ldr r0, _080AA26C @ =gUnknown_083C92BC
- bl LoadSpritePalette
- movs r0, 0x3
- bl sub_80AA280
- movs r0, 0x3
- bl sub_80AA658
- movs r0, 0x3
- movs r1, 0
- bl sub_80AA614
- ldr r0, _080AA270 @ =gSpriteTemplate_83C92CC
- ldr r1, _080AA274 @ =gUnknown_083C9296
- ldrb r1, [r1, 0x3]
- ldr r2, _080AA278 @ =gUnknown_083C92A8
- ldrb r2, [r2, 0x1]
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AA27C @ =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- movs r0, 0x3
- strh r0, [r1, 0x32]
- strh r5, [r1, 0x34]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA238: .4byte gPaletteFade
-_080AA23C: .4byte sub_80AA090
-_080AA240: .4byte sub_80AA064
-_080AA244: .4byte gUnknown_02038694
-_080AA248: .4byte gUnknown_02038570
-_080AA24C: .4byte gUnknown_083C9276
-_080AA250: .4byte gUnknown_083C9364
-_080AA254: .4byte gMenuWindow
-_080AA258: .4byte gScriptContestCategory
-_080AA25C: .4byte gScriptContestRank
-_080AA260: .4byte gUnknown_083C9337
-_080AA264: .4byte gUnknown_083C933B
-_080AA268: .4byte gUnknown_083C92B4
-_080AA26C: .4byte gUnknown_083C92BC
-_080AA270: .4byte gSpriteTemplate_83C92CC
-_080AA274: .4byte gUnknown_083C9296
-_080AA278: .4byte gUnknown_083C92A8
-_080AA27C: .4byte gSprites
- thumb_func_end sub_80AA10C
-
- thumb_func_start sub_80AA280
-sub_80AA280: @ 80AA280
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080AA2E8 @ =gMenuWindow
- movs r1, 0x1E
- str r1, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r4, _080AA2EC @ =0x02000000
- ldr r1, _080AA2F0 @ =gUnknown_083C932C
- adds r0, r4, 0
- bl StringCopy
- lsls r1, r7, 6
- ldr r0, _080AA2F4 @ =gUnknown_0203857D
- adds r1, r0
- adds r0, r4, 0
- bl StringAppend
- movs r5, 0
- ldr r6, _080AA2F8 @ =gUnknown_083C926E
- adds r0, r6, 0x1
- mov r8, r0
-_080AA2BE:
- cmp r7, r5
- bne _080AA2FC
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 17
- movs r0, 0x80
- lsls r0, 10
- adds r2, r0
- lsrs r2, 16
- lsls r1, r5, 1
- adds r0, r1, r6
- ldrb r3, [r0]
- add r1, r8
- ldrb r0, [r1]
- str r0, [sp]
- ldr r0, _080AA2E8 @ =gMenuWindow
- ldr r1, _080AA2EC @ =0x02000000
- bl sub_8003460
- b _080AA322
- .align 2, 0
-_080AA2E8: .4byte gMenuWindow
-_080AA2EC: .4byte 0x02000000
-_080AA2F0: .4byte gUnknown_083C932C
-_080AA2F4: .4byte gUnknown_0203857D
-_080AA2F8: .4byte gUnknown_083C926E
-_080AA2FC:
- lsls r1, r5, 6
- ldr r0, _080AA338 @ =gUnknown_0203857D
- adds r1, r0
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 17
- movs r0, 0x80
- lsls r0, 10
- adds r2, r0
- lsrs r2, 16
- lsls r4, r5, 1
- adds r0, r4, r6
- ldrb r3, [r0]
- add r4, r8
- ldrb r0, [r4]
- str r0, [sp]
- ldr r0, _080AA33C @ =gMenuWindow
- bl sub_8003460
-_080AA322:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AA2BE
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA338: .4byte gUnknown_0203857D
-_080AA33C: .4byte gMenuWindow
- thumb_func_end sub_80AA280
-
- thumb_func_start sub_80AA340
-sub_80AA340: @ 80AA340
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA378 @ =0x02000000
- ldr r1, _080AA37C @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x26
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA380 @ =gMenuWindow
- ldr r1, _080AA384 @ =gUnknown_083C9282
- ldrb r3, [r1]
- ldrb r1, [r1, 0x1]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x66
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA378: .4byte 0x02000000
-_080AA37C: .4byte gUnknown_02038570
-_080AA380: .4byte gMenuWindow
-_080AA384: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA340
-
- thumb_func_start sub_80AA388
-sub_80AA388: @ 80AA388
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA3C0 @ =0x02000000
- ldr r1, _080AA3C4 @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA3C8 @ =gMenuWindow
- ldr r1, _080AA3CC @ =gUnknown_083C9282
- ldrb r3, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x6C
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA3C0: .4byte 0x02000000
-_080AA3C4: .4byte gUnknown_02038570
-_080AA3C8: .4byte gMenuWindow
-_080AA3CC: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA388
-
- thumb_func_start sub_80AA3D0
-sub_80AA3D0: @ 80AA3D0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA408 @ =0x02000000
- ldr r1, _080AA40C @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x27
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA410 @ =gMenuWindow
- ldr r1, _080AA414 @ =gUnknown_083C9282
- ldrb r3, [r1, 0x4]
- ldrb r1, [r1, 0x5]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x72
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA408: .4byte 0x02000000
-_080AA40C: .4byte gUnknown_02038570
-_080AA410: .4byte gMenuWindow
-_080AA414: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA3D0
-
- thumb_func_start sub_80AA418
-sub_80AA418: @ 80AA418
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA450 @ =0x02000000
- ldr r1, _080AA454 @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x29
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA458 @ =gMenuWindow
- ldr r1, _080AA45C @ =gUnknown_083C9282
- ldrb r3, [r1, 0x6]
- ldrb r1, [r1, 0x7]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x78
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA450: .4byte 0x02000000
-_080AA454: .4byte gUnknown_02038570
-_080AA458: .4byte gMenuWindow
-_080AA45C: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA418
-
- thumb_func_start sub_80AA460
-sub_80AA460: @ 80AA460
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA498 @ =0x02000000
- ldr r1, _080AA49C @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x2A
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA4A0 @ =gMenuWindow
- ldr r1, _080AA4A4 @ =gUnknown_083C9282
- ldrb r3, [r1, 0x8]
- ldrb r1, [r1, 0x9]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x7E
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA498: .4byte 0x02000000
-_080AA49C: .4byte gUnknown_02038570
-_080AA4A0: .4byte gMenuWindow
-_080AA4A4: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA460
-
- thumb_func_start sub_80AA4A8
-sub_80AA4A8: @ 80AA4A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA4E0 @ =0x02000000
- ldr r1, _080AA4E4 @ =gUnknown_02038570
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA4E8 @ =gMenuWindow
- ldr r1, _080AA4EC @ =gUnknown_083C9282
- ldrb r3, [r1, 0xA]
- ldrb r1, [r1, 0xB]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x84
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA4E0: .4byte 0x02000000
-_080AA4E4: .4byte gUnknown_02038570
-_080AA4E8: .4byte gMenuWindow
-_080AA4EC: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA4A8
-
- thumb_func_start sub_80AA4F0
-sub_80AA4F0: @ 80AA4F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r7, _080AA5A8 @ =gMenuWindow
- ldr r0, _080AA5AC @ =gUnknown_083C928E
- lsls r5, r6, 1
- adds r1, r5, r0
- ldrb r1, [r1]
- mov r9, r1
- adds r0, 0x1
- adds r0, r5, r0
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0x7
- add r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- str r0, [sp]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0
- mov r2, r9
- mov r3, r10
- bl FillWindowRect_DefaultPalette
- ldr r0, _080AA5B0 @ =gUnknown_02038570
- lsls r4, 6
- adds r4, r5, r4
- adds r0, 0x1E
- adds r4, r0
- ldrh r1, [r4]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080AA5B4 @ =gMoveNames
- adds r1, r0
- lsls r2, r6, 3
- subs r2, r6
- lsls r2, 17
- movs r0, 0x8A
- lsls r0, 16
- adds r2, r0
- lsrs r2, 16
- mov r0, r10
- str r0, [sp]
- adds r0, r7, 0
- mov r3, r9
- bl sub_8003460
- ldr r0, _080AA5B8 @ =gStringVar1
- mov r9, r0
- ldrh r1, [r4]
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r6
- lsls r5, 17
- movs r0, 0xFA
- lsls r0, 16
- adds r5, r0
- lsrs r5, 16
- mov r0, r10
- str r0, [sp]
- adds r0, r7, 0
- mov r1, r9
- adds r2, r5, 0
- mov r3, r8
- bl sub_8003460
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA5A8: .4byte gMenuWindow
-_080AA5AC: .4byte gUnknown_083C928E
-_080AA5B0: .4byte gUnknown_02038570
-_080AA5B4: .4byte gMoveNames
-_080AA5B8: .4byte gStringVar1
- thumb_func_end sub_80AA4F0
-
thumb_func_start sub_80AA5BC
sub_80AA5BC: @ 80AA5BC
push {lr}
@@ -2644,18 +1346,18 @@ _080AAFD4: .4byte gUnknown_02038680
_080AAFD8: .4byte gUnknown_02038678
thumb_func_end sub_80AAF30
- thumb_func_start sub_80AAFDC
-sub_80AAFDC: @ 80AAFDC
+ thumb_func_start MasudaDebugMenu_SetHighScore
+MasudaDebugMenu_SetHighScore: @ 80AAFDC
push {lr}
bl sub_80AAF30
bl sub_8071C20
movs r0, 0x1
pop {r1}
bx r1
- thumb_func_end sub_80AAFDC
+ thumb_func_end MasudaDebugMenu_SetHighScore
- thumb_func_start sub_80AAFEC
-sub_80AAFEC: @ 80AAFEC
+ thumb_func_start MasudaDebugMenu_ResetHighScore
+MasudaDebugMenu_ResetHighScore: @ 80AAFEC
push {r4,lr}
ldr r1, _080AB01C @ =gUnknown_0203856C
movs r0, 0
@@ -2685,10 +1387,10 @@ _080AB01C: .4byte gUnknown_0203856C
_080AB020: .4byte gUnknown_02038678
_080AB024: .4byte gUnknown_02038680
_080AB028: .4byte gUnknown_02038670
- thumb_func_end sub_80AAFEC
+ thumb_func_end MasudaDebugMenu_ResetHighScore
- thumb_func_start sub_80AB02C
-sub_80AB02C: @ 80AB02C
+ thumb_func_start MasudaDebugMenu_SetArtMuseumItems
+MasudaDebugMenu_SetArtMuseumItems: @ 80AB02C
push {r4,r5,lr}
ldr r1, _080AB078 @ =gUnknown_02038695
movs r0, 0x3
@@ -2730,7 +1432,7 @@ _080AB058:
_080AB078: .4byte gUnknown_02038695
_080AB07C: .4byte gUnknown_02038690
_080AB080: .4byte gScriptContestCategory
- thumb_func_end sub_80AB02C
+ thumb_func_end MasudaDebugMenu_SetArtMuseumItems
thumb_func_start unref_sub_80AB084
unref_sub_80AB084: @ 80AB084
diff --git a/data/data2.s b/data/data2.s
index 4a3b246cb..c954c670f 100644
--- a/data/data2.s
+++ b/data/data2.s
@@ -13747,41 +13747,42 @@ gBattleAnimSpriteTemplate_83C2010:: @ 83C2010
@ 83C9150
.string "テストです$" @ "test"
-Unknown_83C9166:
+gMasudaDebugMenu_ActionContestText:
.string "Contest$"
-Unknown_83C916E:
+gMasudaDebugMenu_ActionContestResultsText:
.string "Contest results$"
.string "パラメータへんこう$" @ "Change parameter"
.string "わざ へんこう$" @ "Change move"
-Unknown_83C9190:
+gMasudaDebugMenu_ActionContestCommText:
.string "Contest (comm.)$"
-Unknown_83C91A0:
+gMasudaDebugMenu_ActionCommTestText:
.string "Init comm. data$"
-Unknown_83C91B0:
+gMasudaDebugMenu_ActionSetHighScoreText:
.string "Set highest score$"
-Unknown_83C91C2:
+gMasudaDebugMenu_ActionResetHighScoreText:
.string "Reset highest score$"
-Unknown_83C91D6:
+gMasudaDebugMenu_ActionSetAllArtMuseumText:
.string "Set all art museum items$"
.align 2
-gUnknown_083C91F0:: @ 83C91F0
- .4byte Unknown_83C9166, sub_80A9C1C
- .4byte Unknown_83C916E, sub_80A9BBC
- .4byte Unknown_83C9190, sub_80A9C34
- .4byte Unknown_83C91A0, sub_80A9C40
- .4byte Unknown_83C91B0, sub_80AAFDC
- .4byte Unknown_83C91C2, sub_80AAFEC
- .4byte Unknown_83C91D6, sub_80AB02C
+gMasudaDebugMenuActions:: @ 83C91F0
+ .4byte gMasudaDebugMenu_ActionContestText, MasudaDebugMenu_Contest
+ .4byte gMasudaDebugMenu_ActionContestResultsText, MasudaDebugMenu_ContestResults
+ .4byte gMasudaDebugMenu_ActionContestCommText, MasudaDebugMenu_ContestComm
+ .4byte gMasudaDebugMenu_ActionCommTestText, MasudaDebugMenu_CommTest
+ .4byte gMasudaDebugMenu_ActionSetHighScoreText, MasudaDebugMenu_SetHighScore
+ .4byte gMasudaDebugMenu_ActionResetHighScoreText, MasudaDebugMenu_ResetHighScore
+ .4byte gMasudaDebugMenu_ActionSetAllArtMuseumText, MasudaDebugMenu_SetArtMuseumItems
+
+gMasudaDebugMenu_UnknownByteArray:: @ 83C9228
+ .byte 0xFC, 0x02, 0x0F, 0x00, 0xFF
-gUnknown_083C9228:: @ 83C9228
- .incbin "baserom.gba", 0x003c9228, 0x5
Unknown_083C922D:
.incbin "graphics/unknown/ball.4bpp"
@@ -13792,8 +13793,13 @@ Unknown_083C924E:
gUnknown_083C926E:: @ 83C926E
.incbin "baserom.gba", 0x003c926e, 0x8
-gUnknown_083C9276:: @ 83C9276
- .incbin "baserom.gba", 0x003c9276, 0xc
+gMasudaDebugMenuContestTopLeft:: @ 83C9276
+ .byte 0, 6
+ .byte 15, 6
+ .byte 0, 8
+ .byte 15, 8
+ .byte 0, 10
+ .byte 15, 10
gUnknown_083C9282:: @ 83C9282
.incbin "baserom.gba", 0x003c9282, 0xc
@@ -13802,10 +13808,10 @@ gUnknown_083C928E:: @ 83C928E
.incbin "baserom.gba", 0x003c928e, 0x8
gUnknown_083C9296:: @ 83C9296
- .incbin "baserom.gba", 0x003c9296, 0x12
+ .byte 0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88
gUnknown_083C92A8:: @ 83C92A8
- .incbin "baserom.gba", 0x003c92a8, 0xc
+ .byte 0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98
.align 2
gUnknown_083C92B4:: @ 83C92B4
@@ -13846,37 +13852,37 @@ gUnknown_083C92E4:: @ 83C92E4
.4byte sub_80AABF0
.4byte sub_80AAD44
-gUnknown_083C932C:: @ 83C932C
+gMasudaDebugMenu_StartText:: @ 83C932C
.string "{COLOR CYAN}{HIGHLIGHT RED}$"
.string "かいし$" @ Start
-gUnknown_083C9337:: @ 83C9337
+gMasudaDebugMenu_GoBackText:: @ 83C9337
.string "もどる$" @ Go Back
-gUnknown_083C933B:: @ 83C933B
+gMasudaDebugMenu_BattlePointsText:: @ 83C933B
.string "{COLOR MAGENTA}BP.$"
-Unknown_83C9342:
+gMasudaDebugMenuText_Cool:
.string "かっこよさ$" @ coolness
-Unknown_83C9348:
+gMasudaDebugMenuText_Cute:
.string "かわいさ$" @ cuteness
-Unknown_83C934D:
+gMasudaDebugMenuText_Beauty:
.string "うつくしさ$" @ beauty
-Unknown_83C9353:
+gMasudaDebugMenuText_Smart:
.string "かしこさ$" @ smartness
-Unknown_83C9358:
+gMasudaDebugMenuText_Tough:
.string "たくましさ$" @ toughness
-Unknown_83C935E:
+gMasudaDebugMenuText_Sheen:
.string "けづや$" @ sheen
.align 2
-gUnknown_083C9364:: @ 83C9364
- .4byte Unknown_83C9342
- .4byte Unknown_83C9348
- .4byte Unknown_83C934D
- .4byte Unknown_83C9353
- .4byte Unknown_83C9358
- .4byte Unknown_83C935E
+gMasudaDebugMenuTextList1:: @ 83C9364
+ .4byte gMasudaDebugMenuText_Cool
+ .4byte gMasudaDebugMenuText_Cute
+ .4byte gMasudaDebugMenuText_Beauty
+ .4byte gMasudaDebugMenuText_Smart
+ .4byte gMasudaDebugMenuText_Tough
+ .4byte gMasudaDebugMenuText_Sheen
Unknown_83C937C:
.string "かっこよさコンテスト$" @ Cool Contest
diff --git a/ld_script.txt b/ld_script.txt
index f410daf32..ea9ecce67 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -115,7 +115,8 @@ SECTIONS {
asm/item_menu.o(.text);
asm/battle_anim_80A7E7C.o(.text);
src/item.o(.text);
- asm/matuda_debug_menu.o(.text);
+ src/matsuda_debug_menu.o(.text);
+ asm/matsuda_debug_menu.o(.text);
asm/contest.o(.text);
asm/shop.o(.text);
src/berry.o(.text);
diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c
new file mode 100644
index 000000000..d68352a34
--- /dev/null
+++ b/src/matsuda_debug_menu.c
@@ -0,0 +1,937 @@
+#include "global.h"
+#include "main.h"
+#include "menu.h"
+#include "palette.h"
+#include "task.h"
+#include "link.h"
+#include "text.h"
+#include "sprite.h"
+#include "string_util.h"
+
+#define BIT(n) (1 << (n))
+
+extern u8 gUnknown_0203869A;
+extern u8 gUnknown_0203869B;
+extern u8 gUnknown_02038695;
+extern u16 gScriptContestCategory;
+extern u16 gScriptContestRank;
+extern u8 (*gCallback_03004AE8)(void);
+extern void sub_80034D4(u8 *, u8 *);
+extern void sub_80AF668(void);
+extern void sub_80C2358(void);
+extern void sub_8071C20(void);
+extern void sub_80AA10C(void);
+extern void sub_80A9C98(u8);
+extern void sub_80C8734(void);
+extern void sub_80A9CC0(u8);
+extern void sub_80C88AC(u8);
+extern void sub_80A9CDC(u8);
+extern void sub_80C8E1C(u8);
+extern void sub_80A9D58(u8);
+extern void sub_80C8EBC(u8);
+extern void sub_80A9DBC(u8);
+extern u8 sub_80C4B34(u8 *);
+extern void sub_80B0F28(u8);
+extern void sub_80C8F34(u8);
+extern void sub_80A9DD8(u8);
+extern void sub_80A9F10(u8);
+extern void sub_805469C(void);
+extern void sub_80AE398(u8, u8);
+extern void sub_80AE098(u8);
+extern void sub_80AA5BC(u8);
+extern void sub_80AA5E8(u16);
+extern void sub_80AA658(u8);
+extern void sub_80AA614(u8, u8);
+
+extern struct Window gMenuWindow;
+
+extern u16 gUnknown_030042A4;
+extern u16 gUnknown_030042A0;
+extern u16 gUnknown_030042C0;
+extern u16 gUnknown_030041B4;
+extern u16 gUnknown_03004288;
+extern u16 gUnknown_03004280;
+extern u16 gUnknown_030041B0;
+extern u16 gUnknown_030041B8;
+
+extern u8 gUnknown_02038694;
+extern u8 gUnknown_083C9296[];
+extern u8 gUnknown_083C92A8[];
+extern u8 gUnknown_083C9282[];
+extern u8 gUnknown_0203857D[][64];
+extern u8 gUnknown_083C926E[][2];
+extern u8 gUnknown_083C928E[][2];
+extern u8 unk_2000000[];
+extern u8 gMasudaDebugMenu_GoBackText[];
+extern u8 gMasudaDebugMenu_BattlePointsText[];
+extern u8 gMasudaDebugMenu_StartText[];
+
+extern u8 gUnknown_083C92BC[];
+extern u8 gUnknown_083C92B4[];
+extern struct SpriteTemplate gSpriteTemplate_83C92CC;
+
+extern u8 gMoveNames[][13];
+
+extern u8 gMasudaDebugMenu_UnknownByteArray[];
+extern u32 gMasudaDebugMenuTextList1[];
+extern u8 gMasudaDebugMenuContestTopLeft[][2];
+
+struct UnknownStruct
+{
+ u8 text[2];
+ u8 unk2;
+ u8 filler3[28];
+ u16 unk1E[1];
+ u8 filler4[5];
+ u8 unkArr[6];
+ u8 filler[20];
+};
+
+extern struct UnknownStruct gUnknown_02038570[];
+
+extern bool8 gReceivedRemoteLinkPlayers;
+extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2];
+
+struct DebugMenuAction
+{
+ u8 *text;
+ u8 (*func)(void);
+};
+
+extern struct DebugMenuAction gMasudaDebugMenuActions[];
+
+s8 sub_80A9B78(void);
+void sub_80A9BE4(u8 taskId);
+void sub_80A9E04(u8 taskId);
+void sub_80A9E3C(u8 taskId);
+void sub_80A9ED8(u8);
+void sub_80A9E80(u8);
+void sub_80AA280(u8);
+
+u8 unref_sub_80A9B28(void)
+{
+ MenuZeroFillScreen();
+ MenuDrawTextWindow(0, 0, 17, 18);
+ PrintMenuItems(1, 1, 7, gMasudaDebugMenuActions);
+ InitMenu(0, 1, 1, 7, 0, 16);
+ gCallback_03004AE8 = sub_80A9B78;
+ return 0;
+}
+
+s8 sub_80A9B78(void)
+{
+ s8 choice = ProcessMenuInput();
+
+ switch(choice)
+ {
+ case -2:
+ return 0;
+ default:
+ gCallback_03004AE8 = gMasudaDebugMenuActions[choice].func;
+ return 0;
+ case -1:
+ sub_8071C20();
+ return 1;
+ }
+}
+
+s8 MasudaDebugMenu_ContestResults(void)
+{
+ BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
+ CreateTask(sub_80A9BE4, 0xFF);
+ return 1;
+}
+
+void sub_80A9BE4(u8 taskId)
+{
+ if(!gPaletteFade.active)
+ {
+ DestroyTask(taskId);
+
+ if(!(gUnknown_0203869A & 1))
+ sub_80AF668();
+
+ sub_80C2358();
+ }
+}
+
+s8 MasudaDebugMenu_Contest(void)
+{
+ gUnknown_0203869A = 0;
+ sub_80AA10C();
+ return 0;
+}
+
+s8 MasudaDebugMenu_ContestComm(void)
+{
+ sub_80AA10C();
+ return 0;
+}
+
+s8 MasudaDebugMenu_CommTest(void)
+{
+ u8 newTaskId;
+ u8 newTaskId2;
+
+ newTaskId = CreateTask(sub_80A9E3C, 0);
+ SetTaskFuncWithFollowupFunc(newTaskId, sub_80A9E3C, sub_80A9C98);
+ newTaskId2 = CreateTask(sub_80A9E04, 1);
+ gTasks[newTaskId2].data[10] = newTaskId;
+ gTasks[newTaskId].data[10] = newTaskId2;
+ return 1;
+}
+
+void sub_80A9C98(u8 taskId)
+{
+ sub_80AE098(0);
+ SetTaskFuncWithFollowupFunc(taskId, sub_80C8734, sub_80A9CC0);
+}
+
+void sub_80A9CC0(u8 taskId)
+{
+ SetTaskFuncWithFollowupFunc(taskId, sub_80C88AC, sub_80A9CDC);
+}
+
+void sub_80A9CDC(u8 taskId)
+{
+ SetTaskFuncWithFollowupFunc(taskId, sub_80C8E1C, sub_80A9D58);
+}
+
+void sub_80A9CF8(u8 taskId)
+{
+ if(gReceivedRemoteLinkPlayers == FALSE)
+ {
+ DestroyTask(gTasks[taskId].data[10]);
+ DestroyTask(taskId);
+ sub_8071C20();
+ }
+}
+
+void sub_80A9D30(u8 taskId)
+{
+ sub_800832C();
+ gTasks[taskId].func = sub_80A9CF8;
+}
+
+void sub_80A9D58(u8 taskId)
+{
+ int i;
+ u8 dest[4];
+
+ for(i = 0; i < 4; i++)
+ dest[i] = gTasks[taskId].data[5 + i];
+
+ gUnknown_0203869B = sub_80C4B34(&dest);
+ sub_80AE82C((u8)gScriptContestCategory);
+ sub_80B0F28(0);
+ SetTaskFuncWithFollowupFunc(taskId, sub_80C8EBC, sub_80A9DBC);
+}
+
+void sub_80A9DBC(u8 taskId)
+{
+ SetTaskFuncWithFollowupFunc(taskId, sub_80C8F34, sub_80A9DD8);
+}
+
+void sub_80A9DD8(u8 taskId)
+{
+ DestroyTask(gTasks[taskId].data[10]);
+ DestroyTask(taskId);
+ sub_8071C20();
+}
+
+void sub_80A9E04(u8 taskId)
+{
+ if(gMain.newKeys == 2)
+ gTasks[(u8)gTasks[taskId].data[10]].func = sub_80A9D30;
+}
+
+void sub_80A9E3C(u8 taskId)
+{
+ u8 i;
+
+ OpenLink();
+
+ for(i = 0; i < 4; i++)
+ gBlockRecvBuffer[i][0] = 255;
+
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = sub_80A9E80;
+}
+
+void sub_80A9E80(u8 taskId)
+{
+ TaskFunc func;
+
+ if(gTasks[taskId].data[0] < 10)
+ gTasks[taskId].data[0]++;
+ else
+ {
+ if(GetLinkPlayerCount_2() > 3)
+ {
+ gTasks[taskId].data[0] = 0;
+
+ if(IsLinkMaster())
+ {
+ func = sub_80A9ED8;
+ gTasks[taskId].func = (TaskFunc)func;
+ }
+ else
+ {
+ func = sub_80A9F10;
+ gTasks[taskId].func = (TaskFunc)func;
+ }
+ }
+ }
+}
+
+void sub_80A9ED8(u8 taskId)
+{
+ gTasks[taskId].data[0] = gTasks[taskId].data[0] + 1;
+ if((gTasks[taskId].data[0]) == 101)
+ {
+ sub_8007F4C();
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = sub_80A9F10;
+ }
+}
+
+void sub_80A9F10(u8 taskId)
+{
+ if(gReceivedRemoteLinkPlayers)
+ {
+ gUnknown_02038695 = GetMultiplayerId();
+ if(GetLinkPlayerCount() == 4)
+ {
+ gUnknown_0203869A = 1;
+ SwitchTaskToFollowupFunc(taskId);
+ }
+ }
+}
+
+void sub_80A9F50(void)
+{
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP;
+ REG_DISPCNT |= DISPCNT_OBJ_ON | DISPCNT_BG0_ON;
+ SetUpWindowConfig(&gWindowConfig_81E6C3C);
+ InitWindowFromConfig(&gMenuWindow, &gWindowConfig_81E6C3C);
+ REG_MOSAIC = 0;
+ REG_BLDCNT = 0;
+ REG_BLDALPHA = 0;
+ REG_BLDY = 0;
+ REG_BG0HOFS = 0;
+ REG_BG0VOFS = 0;
+ gUnknown_030042A4 = 0;
+ gUnknown_030042A0 = 0;
+ gUnknown_030042C0 = 0;
+ gUnknown_030041B4 = 0;
+ gUnknown_03004288 = 0;
+ gUnknown_03004280 = 0;
+ gUnknown_030041B0 = 0;
+ gUnknown_030041B8 = 0;
+}
+
+void sub_80A9FE4(void)
+{
+ u8 *addr;
+ u32 i;
+ u8 ptr[5];
+
+ memcpy(ptr, gMasudaDebugMenu_UnknownByteArray, 5);
+
+ addr = (void *)VRAM;
+ i = VRAM_SIZE;
+
+ while(1)
+ {
+ DmaFill32(3, 0, addr, 0x1000);
+ addr += 0x1000;
+ i -= 0x1000;
+ if(i <= 0x1000)
+ {
+ DmaFill32(3, 0, addr, i);
+ break;
+ }
+ }
+ sub_80034D4(VRAM, &ptr);
+ LoadFontDefaultPalette(&gWindowConfig_81E6C3C);
+}
+
+void sub_80AA064(void)
+{
+ AnimateSprites();
+ BuildOamBuffer();
+ RunTasks();
+ UpdatePaletteFade();
+ if(gMain.newKeys == 4)
+ SetMainCallback2(sub_805469C);
+}
+
+void sub_80AA090(void)
+{
+ REG_BG0HOFS = gUnknown_030042A4;
+ REG_BG0VOFS = gUnknown_030042A0;
+ REG_BG1HOFS = gUnknown_030042C0;
+ REG_BG1VOFS = gUnknown_030041B4;
+ REG_BG2HOFS = gUnknown_03004288;
+ REG_BG2VOFS = gUnknown_03004280;
+ REG_BG3HOFS = gUnknown_030041B0;
+ REG_BG3VOFS = gUnknown_030041B8;
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+ sub_8089668();
+}
+
+void sub_80AA10C(void)
+{
+ u8 i;
+ u8 zero;
+ u8 spriteId;
+
+ gPaletteFade.bufferTransferDisabled = 1;
+ SetVBlankCallback(0);
+ sub_80A9F50();
+ dp12_8087EA4();
+ ResetPaletteFade();
+ ResetSpriteData();
+ ResetTasks();
+ FreeAllSpritePalettes();
+ sub_80A9FE4();
+ SetVBlankCallback(sub_80AA090);
+ SetMainCallback2(sub_80AA064);
+ gPaletteFade.bufferTransferDisabled = 0;
+ gUnknown_02038694 = 0;
+
+ if(!(gUnknown_02038570[0].unk2))
+ sub_80AE398(0, 0);
+
+ sub_80AE098(gUnknown_02038694);
+
+ for(i = 0; i < 6; i++)
+ {
+ sub_8003460(&gMenuWindow, gMasudaDebugMenuTextList1[i],
+ (0xA * i + 0x2A), gMasudaDebugMenuContestTopLeft[i][0],
+ gMasudaDebugMenuContestTopLeft[i][1]);
+ }
+
+ gScriptContestCategory = gScriptContestRank = 0;
+ zero = 0;
+ sub_80AA5BC(zero);
+ sub_80AA5E8((u8)gScriptContestRank);
+ sub_8003460(&gMenuWindow, gMasudaDebugMenu_GoBackText, 0xD6, 0x12, 0x12);
+ sub_8003460(&gMenuWindow, gMasudaDebugMenu_BattlePointsText, 0xDC, zero, 0xC);
+ LoadSpriteSheet(gUnknown_083C92B4);
+ LoadSpritePalette(gUnknown_083C92BC);
+ sub_80AA280(3);
+ sub_80AA658(3);
+ sub_80AA614(3, zero);
+ spriteId = CreateSprite(&gSpriteTemplate_83C92CC, gUnknown_083C9296[3], gUnknown_083C92A8[1], 5);
+ gSprites[spriteId].data0 = 1;
+ gSprites[spriteId].data1 = 1;
+ gSprites[spriteId].data2 = 3;
+ gSprites[spriteId].data3 = zero; // only this assignment of zero is necessary. other replacements of 0 with zero do not change the asm, compiler will treat it the same.
+}
+
+void sub_80AA280(u8 var)
+{
+ u8 i;
+
+ FillWindowRect_DefaultPalette(&gMenuWindow, 0, 0, 0, 0x1E, 3);
+ StringCopy(unk_2000000, &gMasudaDebugMenu_StartText);
+ StringAppend(unk_2000000, &gUnknown_0203857D[var][0]);
+
+ for(i = 0; i < 4; i++)
+ {
+ if(var == i)
+ {
+ sub_8003460(&gMenuWindow, unk_2000000, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]);
+ }
+ else
+ {
+ u8 *ptr = gUnknown_0203857D[i];
+ sub_8003460(&gMenuWindow, ptr, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]);
+ }
+ }
+}
+
+#ifdef NONMATCHING
+void sub_80AA340(u8 var)
+{
+ ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[1], STR_CONV_MODE_RIGHT_ALIGN, 3);
+ sub_8003460(&gMenuWindow, unk_2000000, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]);
+}
+#else
+__attribute__((naked))
+void sub_80AA340(u8 var)
+{
+ asm(".syntax unified\n\
+ push {r4,lr}\n\
+ sub sp, 0x4\n\
+ lsls r0, 24\n\
+ ldr r4, _080AA378 @ =0x02000000\n\
+ ldr r1, _080AA37C @ =gUnknown_02038570\n\
+ lsrs r0, 18\n\
+ adds r0, r1\n\
+ adds r0, 0x26\n\
+ ldrb r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, _080AA380 @ =gMenuWindow\n\
+ ldr r1, _080AA384 @ =gUnknown_083C9282\n\
+ ldrb r3, [r1]\n\
+ ldrb r1, [r1, 0x1]\n\
+ str r1, [sp]\n\
+ adds r1, r4, 0\n\
+ movs r2, 0x66\n\
+ bl sub_8003460\n\
+ add sp, 0x4\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080AA378: .4byte 0x02000000\n\
+_080AA37C: .4byte gUnknown_02038570\n\
+_080AA380: .4byte gMenuWindow\n\
+_080AA384: .4byte gUnknown_083C9282\n\
+ .syntax divided");
+}
+#endif
+
+#ifdef NONMATCHING
+void sub_80AA388(u8 var)
+{
+ ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[3], STR_CONV_MODE_RIGHT_ALIGN, 3);
+ sub_8003460(&gMenuWindow, unk_2000000, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]);
+}
+#else
+__attribute__((naked))
+void sub_80AA388(u8 var)
+{
+ asm(".syntax unified\n\
+ push {r4,lr}\n\
+ sub sp, 0x4\n\
+ lsls r0, 24\n\
+ ldr r4, _080AA3C0 @ =0x02000000\n\
+ ldr r1, _080AA3C4 @ =gUnknown_02038570\n\
+ lsrs r0, 18\n\
+ adds r0, r1\n\
+ adds r0, 0x28\n\
+ ldrb r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, _080AA3C8 @ =gMenuWindow\n\
+ ldr r1, _080AA3CC @ =gUnknown_083C9282\n\
+ ldrb r3, [r1, 0x2]\n\
+ ldrb r1, [r1, 0x3]\n\
+ str r1, [sp]\n\
+ adds r1, r4, 0\n\
+ movs r2, 0x6C\n\
+ bl sub_8003460\n\
+ add sp, 0x4\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080AA3C0: .4byte 0x02000000\n\
+_080AA3C4: .4byte gUnknown_02038570\n\
+_080AA3C8: .4byte gMenuWindow\n\
+_080AA3CC: .4byte gUnknown_083C9282\n\
+ .syntax divided");
+}
+#endif
+
+#ifdef NONMATCHING
+void sub_80AA3D0(u8 var)
+{
+ ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[2], STR_CONV_MODE_RIGHT_ALIGN, 3);
+ sub_8003460(&gMenuWindow, unk_2000000, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]);
+}
+#else
+__attribute__((naked))
+void sub_80AA3D0(u8 var)
+{
+ asm(".syntax unified\n\
+ push {r4,lr}\n\
+ sub sp, 0x4\n\
+ lsls r0, 24\n\
+ ldr r4, _080AA408 @ =0x02000000\n\
+ ldr r1, _080AA40C @ =gUnknown_02038570\n\
+ lsrs r0, 18\n\
+ adds r0, r1\n\
+ adds r0, 0x27\n\
+ ldrb r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, _080AA410 @ =gMenuWindow\n\
+ ldr r1, _080AA414 @ =gUnknown_083C9282\n\
+ ldrb r3, [r1, 0x4]\n\
+ ldrb r1, [r1, 0x5]\n\
+ str r1, [sp]\n\
+ adds r1, r4, 0\n\
+ movs r2, 0x72\n\
+ bl sub_8003460\n\
+ add sp, 0x4\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080AA408: .4byte 0x02000000\n\
+_080AA40C: .4byte gUnknown_02038570\n\
+_080AA410: .4byte gMenuWindow\n\
+_080AA414: .4byte gUnknown_083C9282\n\
+ .syntax divided");
+}
+#endif
+
+#ifdef NONMATCHING
+void sub_80AA418(u8 var)
+{
+ ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[4], STR_CONV_MODE_RIGHT_ALIGN, 3);
+ sub_8003460(&gMenuWindow, unk_2000000, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]);
+}
+#else
+__attribute__((naked))
+void sub_80AA418(u8 var)
+{
+ asm(".syntax unified\n\
+ push {r4,lr}\n\
+ sub sp, 0x4\n\
+ lsls r0, 24\n\
+ ldr r4, _080AA450 @ =0x02000000\n\
+ ldr r1, _080AA454 @ =gUnknown_02038570\n\
+ lsrs r0, 18\n\
+ adds r0, r1\n\
+ adds r0, 0x29\n\
+ ldrb r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, _080AA458 @ =gMenuWindow\n\
+ ldr r1, _080AA45C @ =gUnknown_083C9282\n\
+ ldrb r3, [r1, 0x6]\n\
+ ldrb r1, [r1, 0x7]\n\
+ str r1, [sp]\n\
+ adds r1, r4, 0\n\
+ movs r2, 0x78\n\
+ bl sub_8003460\n\
+ add sp, 0x4\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080AA450: .4byte 0x02000000\n\
+_080AA454: .4byte gUnknown_02038570\n\
+_080AA458: .4byte gMenuWindow\n\
+_080AA45C: .4byte gUnknown_083C9282\n\
+ .syntax divided");
+}
+#endif
+
+#ifdef NONMATCHING
+void sub_80AA460(u8 var)
+{
+ ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[5], STR_CONV_MODE_RIGHT_ALIGN, 3);
+ sub_8003460(&gMenuWindow, unk_2000000, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]);
+}
+#else
+__attribute__((naked))
+void sub_80AA460(u8 var)
+{
+ asm(".syntax unified\n\
+ push {r4,lr}\n\
+ sub sp, 0x4\n\
+ lsls r0, 24\n\
+ ldr r4, _080AA498 @ =0x02000000\n\
+ ldr r1, _080AA49C @ =gUnknown_02038570\n\
+ lsrs r0, 18\n\
+ adds r0, r1\n\
+ adds r0, 0x2A\n\
+ ldrb r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, _080AA4A0 @ =gMenuWindow\n\
+ ldr r1, _080AA4A4 @ =gUnknown_083C9282\n\
+ ldrb r3, [r1, 0x8]\n\
+ ldrb r1, [r1, 0x9]\n\
+ str r1, [sp]\n\
+ adds r1, r4, 0\n\
+ movs r2, 0x7E\n\
+ bl sub_8003460\n\
+ add sp, 0x4\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080AA498: .4byte 0x02000000\n\
+_080AA49C: .4byte gUnknown_02038570\n\
+_080AA4A0: .4byte gMenuWindow\n\
+_080AA4A4: .4byte gUnknown_083C9282\n\
+ .syntax divided");
+}
+#endif
+
+#ifdef NONMATCHING
+void sub_80AA4A8(u8 var)
+{
+ ConvertIntToDecimalStringN(unk_2000000, gUnknown_02038570[var].unkArr[6], STR_CONV_MODE_RIGHT_ALIGN, 3);
+ sub_8003460(&gMenuWindow, unk_2000000, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]);
+}
+#else
+__attribute__((naked))
+void sub_80AA4A8(u8 var)
+{
+ asm(".syntax unified\n\
+ push {r4,lr}\n\
+ sub sp, 0x4\n\
+ lsls r0, 24\n\
+ ldr r4, _080AA4E0 @ =0x02000000\n\
+ ldr r1, _080AA4E4 @ =gUnknown_02038570\n\
+ lsrs r0, 18\n\
+ adds r0, r1\n\
+ adds r0, 0x2B\n\
+ ldrb r1, [r0]\n\
+ adds r0, r4, 0\n\
+ movs r2, 0x1\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ ldr r0, _080AA4E8 @ =gMenuWindow\n\
+ ldr r1, _080AA4EC @ =gUnknown_083C9282\n\
+ ldrb r3, [r1, 0xA]\n\
+ ldrb r1, [r1, 0xB]\n\
+ str r1, [sp]\n\
+ adds r1, r4, 0\n\
+ movs r2, 0x84\n\
+ bl sub_8003460\n\
+ add sp, 0x4\n\
+ pop {r4}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080AA4E0: .4byte 0x02000000\n\
+_080AA4E4: .4byte gUnknown_02038570\n\
+_080AA4E8: .4byte gMenuWindow\n\
+_080AA4EC: .4byte gUnknown_083C9282\n\
+ .syntax divided");
+}
+#endif
+
+#ifdef NONMATCHING
+void sub_80AA4F0(u8 var1, u8 var2)
+{
+ u8 temp = gUnknown_083C928E[var2][0] + 7;
+ u8 temp2 = gUnknown_083C928E[var2][1] + 1;
+
+ FillWindowRect_DefaultPalette(&gMenuWindow, 0, temp, temp2, temp, temp2);
+ sub_8003460(&gMenuWindow, gMoveNames[gUnknown_02038570[var1].unk1E[var2]], var2 * 14 + 0x8A, temp, temp2);
+ ConvertIntToDecimalStringN(gStringVar1, gUnknown_02038570[var1].unk1E[var2], STR_CONV_MODE_LEADING_ZEROS, 3);
+ sub_8003460(&gMenuWindow, gStringVar1, var2 * 2 + 0xFA, temp, temp2);
+}
+#else
+__attribute__((naked))
+void sub_80AA4F0(u8 var1, u8 var2)
+{
+ asm(".syntax unified\n\
+ push {r4-r7,lr}\n\
+ mov r7, r10\n\
+ mov r6, r9\n\
+ mov r5, r8\n\
+ push {r5-r7}\n\
+ sub sp, 0x8\n\
+ adds r4, r0, 0\n\
+ adds r6, r1, 0\n\
+ lsls r4, 24\n\
+ lsrs r4, 24\n\
+ lsls r6, 24\n\
+ lsrs r6, 24\n\
+ ldr r7, _080AA5A8 @ =gMenuWindow\n\
+ ldr r0, _080AA5AC @ =gUnknown_083C928E\n\
+ lsls r5, r6, 1\n\
+ adds r1, r5, r0\n\
+ ldrb r1, [r1]\n\
+ mov r9, r1\n\
+ adds r0, 0x1\n\
+ adds r0, r5, r0\n\
+ ldrb r0, [r0]\n\
+ mov r10, r0\n\
+ movs r0, 0x7\n\
+ add r0, r9\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ mov r8, r0\n\
+ str r0, [sp]\n\
+ mov r0, r10\n\
+ adds r0, 0x1\n\
+ lsls r0, 24\n\
+ lsrs r0, 24\n\
+ str r0, [sp, 0x4]\n\
+ adds r0, r7, 0\n\
+ movs r1, 0\n\
+ mov r2, r9\n\
+ mov r3, r10\n\
+ bl FillWindowRect_DefaultPalette\n\
+ ldr r0, _080AA5B0 @ =gUnknown_02038570\n\
+ lsls r4, 6\n\
+ adds r4, r5, r4\n\
+ adds r0, 0x1E\n\
+ adds r4, r0\n\
+ ldrh r1, [r4]\n\
+ movs r0, 0xD\n\
+ muls r1, r0\n\
+ ldr r0, _080AA5B4 @ =gMoveNames\n\
+ adds r1, r0\n\
+ lsls r2, r6, 3\n\
+ subs r2, r6\n\
+ lsls r2, 17\n\
+ movs r0, 0x8A\n\
+ lsls r0, 16\n\
+ adds r2, r0\n\
+ lsrs r2, 16\n\
+ mov r0, r10\n\
+ str r0, [sp]\n\
+ adds r0, r7, 0\n\
+ mov r3, r9\n\
+ bl sub_8003460\n\
+ ldr r0, _080AA5B8 @ =gStringVar1\n\
+ mov r9, r0\n\
+ ldrh r1, [r4]\n\
+ movs r2, 0x2\n\
+ movs r3, 0x3\n\
+ bl ConvertIntToDecimalStringN\n\
+ adds r5, r6\n\
+ lsls r5, 17\n\
+ movs r0, 0xFA\n\
+ lsls r0, 16\n\
+ adds r5, r0\n\
+ lsrs r5, 16\n\
+ mov r0, r10\n\
+ str r0, [sp]\n\
+ adds r0, r7, 0\n\
+ mov r1, r9\n\
+ adds r2, r5, 0\n\
+ mov r3, r8\n\
+ bl sub_8003460\n\
+ add sp, 0x8\n\
+ pop {r3-r5}\n\
+ mov r8, r3\n\
+ mov r9, r4\n\
+ mov r10, r5\n\
+ pop {r4-r7}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080AA5A8: .4byte gMenuWindow\n\
+_080AA5AC: .4byte gUnknown_083C928E\n\
+_080AA5B0: .4byte gUnknown_02038570\n\
+_080AA5B4: .4byte gMoveNames\n\
+_080AA5B8: .4byte gStringVar1\n\
+ .syntax divided");
+}
+#endif
+
+/*
+ thumb_func_start sub_80AA4F0
+sub_80AA4F0: @ 80AA4F0
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ adds r4, r0, 0
+ adds r6, r1, 0
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r6, 24
+ lsrs r6, 24
+ ldr r7, _080AA5A8 @ =gMenuWindow
+ ldr r0, _080AA5AC @ =gUnknown_083C928E
+ lsls r5, r6, 1
+ adds r1, r5, r0
+ ldrb r1, [r1]
+ mov r9, r1
+ adds r0, 0x1
+ adds r0, r5, r0
+ ldrb r0, [r0]
+ mov r10, r0
+ movs r0, 0x7
+ add r0, r9
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ str r0, [sp]
+ mov r0, r10
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x4]
+ adds r0, r7, 0
+ movs r1, 0
+ mov r2, r9
+ mov r3, r10
+ bl FillWindowRect_DefaultPalette
+ ldr r0, _080AA5B0 @ =gUnknown_02038570
+ lsls r4, 6
+ adds r4, r5, r4
+ adds r0, 0x1E
+ adds r4, r0
+ ldrh r1, [r4]
+ movs r0, 0xD
+ muls r1, r0
+ ldr r0, _080AA5B4 @ =gMoveNames
+ adds r1, r0
+ lsls r2, r6, 3
+ subs r2, r6
+ lsls r2, 17
+ movs r0, 0x8A
+ lsls r0, 16
+ adds r2, r0
+ lsrs r2, 16
+ mov r0, r10
+ str r0, [sp]
+ adds r0, r7, 0
+ mov r3, r9
+ bl sub_8003460
+ ldr r0, _080AA5B8 @ =gStringVar1
+ mov r9, r0
+ ldrh r1, [r4]
+ movs r2, 0x2
+ movs r3, 0x3
+ bl ConvertIntToDecimalStringN
+ adds r5, r6
+ lsls r5, 17
+ movs r0, 0xFA
+ lsls r0, 16
+ adds r5, r0
+ lsrs r5, 16
+ mov r0, r10
+ str r0, [sp]
+ adds r0, r7, 0
+ mov r1, r9
+ adds r2, r5, 0
+ mov r3, r8
+ bl sub_8003460
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080AA5A8: .4byte gMenuWindow
+_080AA5AC: .4byte gUnknown_083C928E
+_080AA5B0: .4byte gUnknown_02038570
+_080AA5B4: .4byte gMoveNames
+_080AA5B8: .4byte gStringVar1
+ thumb_func_end sub_80AA4F0
+*/
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 5bcdf1363..44804c5bb 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -749,10 +749,7 @@ gUnknown_0203856C: @ 203856C
.space 0x4
gUnknown_02038570: @ 2038570
- .space 0x2
-
-gUnknown_02038572: @ 2038572
- .space 0xB
+ .space 0xD
gUnknown_0203857D: @ 203857D
.space 0x11