summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorProjectRevoTPP <projectrevotpp@hotmail.com>2017-06-26 21:09:49 -0400
committerProjectRevoTPP <projectrevotpp@hotmail.com>2017-06-26 21:09:49 -0400
commitd10bffc7d8977bee1b42a550dc154d03bf92c3c6 (patch)
tree68b660f18ea933835710cfcb1fee5041837feee6
parentf85513f76999c79c6355711fcefaf058d02c7c46 (diff)
decompile up to sub_80BA800
-rw-r--r--asm/sound_check_menu.s467
-rw-r--r--data/sound_check_menu.s14
-rwxr-xr-xsrc/sound_check_menu.c209
3 files changed, 210 insertions, 480 deletions
diff --git a/asm/sound_check_menu.s b/asm/sound_check_menu.s
index 99b894c83..9ebeee4e8 100644
--- a/asm/sound_check_menu.s
+++ b/asm/sound_check_menu.s
@@ -6,469 +6,6 @@
.text
- thumb_func_start sub_80BA65C
-sub_80BA65C: @ 80BA65C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80BA400
- lsls r0, 24
- cmp r0, 0
- beq _080BA67C
- ldr r0, _080BA684 @ =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080BA688 @ =sub_80BA384
- str r0, [r1]
-_080BA67C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA684: .4byte gTasks
-_080BA688: .4byte sub_80BA384
- thumb_func_end sub_80BA65C
-
- thumb_func_start sub_80BA68C
-sub_80BA68C: @ 80BA68C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080BA6B0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BA6AA
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080BA6B4 @ =CB2_InitTitleScreen
- bl SetMainCallback2
-_080BA6AA:
- pop {r0}
- bx r0
- .align 2, 0
-_080BA6B0: .4byte gPaletteFade
-_080BA6B4: .4byte CB2_InitTitleScreen
- thumb_func_end sub_80BA68C
-
- thumb_func_start sub_80BA6B8
-sub_80BA6B8: @ 80BA6B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080BA6C6
- cmp r0, 0x1
- beq _080BA6E0
-_080BA6C6:
- ldr r1, _080BA6D4 @ =REG_WIN1H
- ldr r2, _080BA6D8 @ =0x000011df
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BA6DC @ =0x00002957
- b _080BA6EC
- .align 2, 0
-_080BA6D4: .4byte REG_WIN1H
-_080BA6D8: .4byte 0x000011df
-_080BA6DC: .4byte 0x00002957
-_080BA6E0:
- ldr r1, _080BA6F4 @ =REG_WIN1H
- ldr r2, _080BA6F8 @ =0x000011df
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BA6FC @ =0x0000618f
-_080BA6EC:
- adds r0, r2, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BA6F4: .4byte REG_WIN1H
-_080BA6F8: .4byte 0x000011df
-_080BA6FC: .4byte 0x0000618f
- thumb_func_end sub_80BA6B8
-
- thumb_func_start sub_80BA700
-sub_80BA700: @ 80BA700
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r7, r2, 16
- movs r1, 0
- movs r2, 0
-_080BA714:
- mov r3, sp
- adds r0, r3, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _080BA714
- mov r1, sp
- movs r0, 0xB0
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- movs r4, 0
- adds r0, r5, 0
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080BA748
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1]
- movs r4, 0x1
-_080BA748:
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080BA766
- cmp r4, 0
- beq _080BA76C
-_080BA766:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1, 0x1]
-_080BA76C:
- mov r4, sp
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4, 0x2]
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- mov r0, sp
- bl MenuPrint
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BA700
-
- thumb_func_start sub_80BA79C
-sub_80BA79C: @ 80BA79C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r3, 0
- movs r1, 0
-_080BA7AE:
- mov r2, sp
- adds r0, r2, r3
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xA
- bls _080BA7AE
- mov r0, sp
- movs r1, 0xFF
- strb r1, [r0, 0xA]
- movs r3, 0
- ldrb r0, [r4]
- lsls r2, r6, 24
- lsls r5, 24
- cmp r0, 0xFF
- beq _080BA7EC
-_080BA7D0:
- mov r0, sp
- adds r1, r0, r3
- adds r0, r4, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080BA7EC
- cmp r3, 0x9
- bls _080BA7D0
-_080BA7EC:
- lsrs r1, r2, 24
- lsrs r2, r5, 24
- mov r0, sp
- bl MenuPrint
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BA79C
-
- thumb_func_start sub_80BA800
-sub_80BA800: @ 80BA800
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xCC
- lsls r0, 24
- str r0, [sp, 0xB0]
- lsrs r2, r0, 24
- str r2, [sp, 0xAC]
- ldr r1, _080BA9E8 @ =gUnknown_083D0312
- mov r0, sp
- movs r2, 0xA
- bl memcpy
- mov r0, sp
- adds r0, 0xC
- str r0, [sp, 0xB4]
- ldr r1, _080BA9EC @ =gUnknown_083D031C
- movs r2, 0xB
- bl memcpy
- mov r2, sp
- adds r2, 0x18
- str r2, [sp, 0xB8]
- ldr r1, _080BA9F0 @ =gDebugText_Voice
- adds r0, r2, 0
- movs r2, 0xA
- bl memcpy
- mov r0, sp
- adds r0, 0x24
- str r0, [sp, 0xBC]
- ldr r1, _080BA9F4 @ =gDebugText_Volume
- movs r2, 0xA
- bl memcpy
- mov r2, sp
- adds r2, 0x30
- str r2, [sp, 0xC0]
- ldr r1, _080BA9F8 @ =gDebugText_Panpot
- adds r0, r2, 0
- movs r2, 0xA
- bl memcpy
- mov r0, sp
- adds r0, 0x3C
- str r0, [sp, 0xC4]
- ldr r1, _080BA9FC @ =gDebugText_Pitch
- movs r2, 0xA
- bl memcpy
- mov r2, sp
- adds r2, 0x48
- str r2, [sp, 0xC8]
- ldr r1, _080BAA00 @ =gDebugText_Length
- adds r0, r2, 0
- movs r2, 0xA
- bl memcpy
- add r4, sp, 0x54
- ldr r1, _080BAA04 @ =gDebugText_Release
- adds r0, r4, 0
- movs r2, 0xA
- bl memcpy
- add r7, sp, 0x60
- ldr r1, _080BAA08 @ =gDebugText_Progress
- adds r0, r7, 0
- movs r2, 0xA
- bl memcpy
- add r0, sp, 0x6C
- mov r10, r0
- ldr r1, _080BAA0C @ =gDebugText_Chorus
- movs r2, 0xA
- bl memcpy
- add r2, sp, 0x78
- mov r9, r2
- ldr r1, _080BAA10 @ =gDebugText_Priority
- mov r0, r9
- movs r2, 0xA
- bl memcpy
- add r0, sp, 0x84
- mov r8, r0
- ldr r1, _080BAA14 @ =gUnknown_083D0381
- movs r2, 0x9
- bl memcpy
- add r6, sp, 0x90
- ldr r1, _080BAA18 @ =gUnknown_083D038A
- adds r0, r6, 0
- movs r2, 0x9
- bl memcpy
- add r5, sp, 0x9C
- ldr r1, _080BAA1C @ =gUnknown_083D0393
- adds r0, r5, 0
- movs r2, 0x9
- bl memcpy
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xC5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- mov r0, sp
- movs r1, 0x13
- movs r2, 0x4
- bl MenuPrint
- ldr r0, [sp, 0xB4]
- movs r1, 0x13
- movs r2, 0x2
- bl MenuPrint
- ldr r0, [sp, 0xB8]
- movs r1, 0x2
- movs r2, 0x1
- bl MenuPrint
- ldr r0, [sp, 0xBC]
- movs r1, 0x2
- movs r2, 0x3
- bl MenuPrint
- ldr r0, [sp, 0xC0]
- movs r1, 0x2
- movs r2, 0x5
- bl MenuPrint
- ldr r0, [sp, 0xC4]
- movs r1, 0x2
- movs r2, 0x7
- bl MenuPrint
- ldr r0, [sp, 0xC8]
- movs r1, 0x2
- movs r2, 0x9
- bl MenuPrint
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xB
- bl MenuPrint
- adds r0, r7, 0
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- mov r0, r10
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- mov r0, r9
- movs r1, 0x2
- movs r2, 0x11
- bl MenuPrint
- mov r0, r8
- movs r1, 0x13
- movs r2, 0x10
- bl MenuPrint
- adds r0, r6, 0
- movs r1, 0x13
- movs r2, 0xE
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0x13
- movs r2, 0xC
- bl MenuPrint
- ldr r1, _080BAA20 @ =REG_WIN0H
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, _080BAA24 @ =gUnknown_020387B3
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080BAA28 @ =gUnknown_020387B1
- strb r1, [r0]
- ldr r0, _080BAA2C @ =gUnknown_020387B2
- strb r1, [r0]
- ldr r0, _080BAA30 @ =gUnknown_03005D30
- movs r2, 0
- str r2, [r0]
- ldr r0, _080BAA34 @ =gUnknown_020387D8
- strb r2, [r0]
- ldr r1, _080BAA38 @ =gUnknown_020387D9
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080BAA3C @ =gUnknown_020387B4
- str r2, [r0]
- movs r1, 0x78
- str r1, [r0, 0x4]
- str r2, [r0, 0x8]
- movs r1, 0xF0
- lsls r1, 6
- str r1, [r0, 0xC]
- movs r1, 0xB4
- str r1, [r0, 0x10]
- str r2, [r0, 0x18]
- str r2, [r0, 0x14]
- str r2, [r0, 0x1C]
- movs r1, 0x2
- str r1, [r0, 0x20]
- bl sub_80BAD5C
- movs r0, 0
- movs r1, 0
- bl sub_80BAE10
- ldr r1, _080BAA40 @ =gTasks
- ldr r2, [sp, 0xAC]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BAA44 @ =sub_80BAA48
- str r1, [r0]
- add sp, 0xCC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA9E8: .4byte gUnknown_083D0312
-_080BA9EC: .4byte gUnknown_083D031C
-_080BA9F0: .4byte gDebugText_Voice
-_080BA9F4: .4byte gDebugText_Volume
-_080BA9F8: .4byte gDebugText_Panpot
-_080BA9FC: .4byte gDebugText_Pitch
-_080BAA00: .4byte gDebugText_Length
-_080BAA04: .4byte gDebugText_Release
-_080BAA08: .4byte gDebugText_Progress
-_080BAA0C: .4byte gDebugText_Chorus
-_080BAA10: .4byte gDebugText_Priority
-_080BAA14: .4byte gUnknown_083D0381
-_080BAA18: .4byte gUnknown_083D038A
-_080BAA1C: .4byte gUnknown_083D0393
-_080BAA20: .4byte REG_WIN0H
-_080BAA24: .4byte gUnknown_020387B3
-_080BAA28: .4byte gUnknown_020387B1
-_080BAA2C: .4byte gUnknown_020387B2
-_080BAA30: .4byte gUnknown_03005D30
-_080BAA34: .4byte gUnknown_020387D8
-_080BAA38: .4byte gUnknown_020387D9
-_080BAA3C: .4byte gUnknown_020387B4
-_080BAA40: .4byte gTasks
-_080BAA44: .4byte sub_80BAA48
- thumb_func_end sub_80BA800
-
thumb_func_start sub_80BAA48
sub_80BAA48: @ 80BAA48
push {r4,r5,lr}
@@ -1146,7 +683,7 @@ sub_80BAF84: @ 80BAF84
movs r2, 0x4
bl memcpy
add r5, sp, 0x8
- ldr r1, _080BB024 @ =gUnknown_083D0381
+ ldr r1, _080BB024 @ =gDebugText_Playing
adds r0, r5, 0
movs r2, 0x9
bl memcpy
@@ -1202,7 +739,7 @@ sub_80BAF84: @ 80BAF84
.align 2, 0
_080BB01C: .4byte gOtherText_SE
_080BB020: .4byte gOtherText_Pan
-_080BB024: .4byte gUnknown_083D0381
+_080BB024: .4byte gDebugText_Playing
_080BB028: .4byte REG_WIN0H
_080BB02C: .4byte gUnknown_020387B4
_080BB030: .4byte gTasks
diff --git a/data/sound_check_menu.s b/data/sound_check_menu.s
index 6e4702ae3..9278b8b45 100644
--- a/data/sound_check_menu.s
+++ b/data/sound_check_menu.s
@@ -34,11 +34,11 @@ gUnknown_083D0300:: @ 83D0300
.byte 1, 15
.byte 1, 17
-gUnknown_083D0312:: @ 83D0312
- .string "Bぼたんで もどる$"
+gDebugText_BBack:: @ 83D0312
+ .string "Bぼたんで もどる$" @ back
-gUnknown_083D031C:: @ 83D031C
- .string "Aぼたんで さいせい$"
+gDebugText_APlay:: @ 83D031C
+ .string "Aぼたんで さいせい$" @ play
gDebugText_Voice:: @ 83D0327
.string "VOICE‥‥‥‥$"
@@ -67,13 +67,13 @@ gDebugText_Chorus:: @ 83D036D
gDebugText_Priority:: @ 83D0377
.string "PRIORITY‥$"
-gUnknown_083D0381:: @ 83D0381
+gDebugText_Playing:: @ 83D0381
.string "さいせいちゆう‥$" @ 再生中 (playing)
-gUnknown_083D038A:: @ 83D038A
+gDebugText_Reverse:: @ 83D038A
.string "はんてん‥‥‥‥$" @ 反転 (reverse)
-gUnknown_083D0393:: @ 83D0393
+gDebugText_Stereo:: @ 83D0393
.string "すてれお‥‥‥‥$" @ stereo
.align 2
diff --git a/src/sound_check_menu.c b/src/sound_check_menu.c
index 75cf48798..a46e7e363 100755
--- a/src/sound_check_menu.c
+++ b/src/sound_check_menu.c
@@ -7,22 +7,51 @@
#include "text.h"
#include "menu.h"
#include "songs.h"
+#include "title_screen.h"
// local task defines
-#define UNK_DATA0 data[0]
+#define WINDOW_SELECTED data[0]
#define BGM_INDEX data[1]
#define SE_INDEX data[2]
#define UNK_DATA3 data[3]
+// window selections
+enum
+{
+ BGM_WINDOW,
+ SE_WINDOW
+};
+
extern void sub_80BA6B8(u8);
-extern void sub_80BA700(u16, u8, u8);
-extern void sub_80BA79C(u8 *, u8, u8);
-extern void sub_80BA65C(u8);
extern void sub_80BA800(u8);
extern void sub_80BAF84(u8);
extern void sub_80BB25C(u8);
extern void sub_80BA68C(u8);
+extern void sub_80BAD5C(void);
+extern void sub_80BAE10(u8, u8);
+extern void sub_80BAA48(u8);
+
+struct Struct_20387B4
+{
+ u32 unk0;
+ u32 unk4;
+ u32 unk8;
+ u32 unkC;
+ u32 unk10;
+ u32 unk14;
+ u32 unk18;
+ u32 unk1C;
+ u32 unk20;
+};
+
+extern struct Struct_20387B4 gUnknown_020387B4;
+extern u8 gUnknown_020387B3;
+extern u8 gUnknown_020387B1;
+extern u8 gUnknown_020387B2;
+extern u32 gUnknown_03005D30;
+extern u8 gUnknown_020387D8;
+extern u8 gUnknown_020387D9;
extern u8 gUnknown_020387B0;
extern u8 *gBGMNames[];
@@ -34,9 +63,26 @@ extern u8 gDebugText_SE[];
extern u8 gDebugText_ABDesc[];
extern u8 gDebugText_UpDown[];
extern u8 gDebugText_DriverTest[];
+extern u8 gDebugText_BBack[];
+extern u8 gDebugText_APlay[];
+extern u8 gDebugText_Voice[];
+extern u8 gDebugText_Volume[];
+extern u8 gDebugText_Panpot[];
+extern u8 gDebugText_Pitch[];
+extern u8 gDebugText_Length[];
+extern u8 gDebugText_Release[];
+extern u8 gDebugText_Progress[];
+extern u8 gDebugText_Chorus[];
+extern u8 gDebugText_Priority[];
+extern u8 gDebugText_Playing[];
+extern u8 gDebugText_Reverse[];
+extern u8 gDebugText_Stereo[];
void sub_80BA258(u8);
void sub_80BA384(u8);
+void sub_80BA65C(u8);
+void sub_80BA700(u16, u16, u16);
+void sub_80BA79C(u8 *, u16, u16);
void sub_80BA0A8(void)
{
@@ -101,7 +147,7 @@ void CB2_StartSoundCheckMenu(void)
SetMainCallback2(sub_80BA0A8);
REG_DISPCNT = 0x7140;
taskId = CreateTask(sub_80BA258, 0);
- TASK.UNK_DATA0 = 0;
+ TASK.WINDOW_SELECTED = BGM_WINDOW;
TASK.BGM_INDEX = 0;
TASK.SE_INDEX = 0;
TASK.UNK_DATA3 = 0;
@@ -146,9 +192,9 @@ void sub_80BA258(u8 taskId)
}
}
-void sub_80BA384(u8 taskId)
+void sub_80BA384(u8 taskId) // Task_HandleDrawingSoundCheckMenuText
{
- sub_80BA6B8(TASK.UNK_DATA0);
+ sub_80BA6B8(TASK.WINDOW_SELECTED);
sub_80BA700(TASK.BGM_INDEX + BGM_STOP, 7, 8); // print by BGM index
sub_80BA79C(gBGMNames[TASK.BGM_INDEX], 11, 8);
sub_80BA700(TASK.SE_INDEX, 7, 15);
@@ -157,7 +203,7 @@ void sub_80BA384(u8 taskId)
}
#ifdef NONMATCHING
-bool8 sub_80BA400(u8 taskId)
+bool8 sub_80BA400(u8 taskId) // Task_ProcessSoundCheckMenuInput
{
if(gMain.newKeys & R_BUTTON) // driver test
{
@@ -198,6 +244,7 @@ bool8 sub_80BA400(u8 taskId)
// _080BA4C4
m4aSongNumStart(gTasks[taskId].data[2]);
gTasks[taskId].data[4] = gTasks[taskId].data[2];
+ return FALSE;
}
else // _080BA4D0
{
@@ -620,3 +667,149 @@ _080BA658: .4byte gUnknown_020387B0\n\
.syntax divided");
}
#endif
+
+void sub_80BA65C(u8 taskId)
+{
+ if(sub_80BA400(taskId) != FALSE)
+ gTasks[taskId].func = sub_80BA384;
+}
+
+void sub_80BA68C(u8 taskId)
+{
+ if(!gPaletteFade.active)
+ {
+ DestroyTask(taskId);
+ SetMainCallback2(CB2_InitTitleScreen);
+ }
+}
+
+void sub_80BA6B8(u8 windowType)
+{
+ switch(windowType)
+ {
+ case BGM_WINDOW:
+ default:
+ REG_WIN1H = 0x11DF;
+ REG_WIN1V = 0x2957;
+ break;
+ case SE_WINDOW:
+ REG_WIN1H = 0x11DF;
+ REG_WIN1V = 0x618F;
+ break;
+ }
+}
+
+void sub_80BA700(u16 soundIndex, u16 x, u16 y) // PrintSoundNumber ?
+{
+ u8 i;
+ u8 str[5];
+ bool8 someBool;
+ u8 divisorValue;
+
+ for(i = 0; i < 3; i++)
+ str[i] = 0; // initialize array
+
+ str[3] = 0xB0;
+ str[4] = 0xFF;
+ someBool = FALSE;
+
+ divisorValue = soundIndex / 100;
+ if(divisorValue)
+ {
+ str[0] = divisorValue + 0xA1;
+ someBool = TRUE;
+ }
+
+ divisorValue = (soundIndex % 100) / 10;
+ if(divisorValue || someBool != FALSE)
+ str[1] = divisorValue + 0xA1;
+
+ str[2] = ((soundIndex % 100) % 10) + 0xA1;
+ MenuPrint(str, x, y);
+}
+
+void sub_80BA79C(u8 *string, u16 x, u16 y)
+{
+ u8 i;
+ u8 str[11];
+
+ for(i = 0; i < 11; i++)
+ str[i] = 0; // format string.
+
+ str[10] = 0xFF; // the above for loop formats the last element of the array unnecessarily.
+
+ for(i = 0; string[i] != 0xFF && i < 10; i++)
+ str[i] = string[i];
+
+ MenuPrint(str, x, y);
+}
+
+void sub_80BA800(u8 taskId)
+{
+ u8 bbackStr[10];
+ u8 aplayStr[11];
+ u8 voiceStr[10];
+ u8 volumeStr[10];
+ u8 panpotStr[10];
+ u8 pitchStr[10];
+ u8 lengthStr[10];
+ u8 releaseStr[10];
+ u8 progressStr[10];
+ u8 chorusStr[10];
+ u8 priorityStr[10];
+ u8 playingStr[9];
+ u8 reverseStr[9];
+ u8 stereoStr[9];
+
+ memcpy(bbackStr, gDebugText_BBack, sizeof bbackStr);
+ memcpy(aplayStr, gDebugText_APlay, sizeof aplayStr);
+ memcpy(voiceStr, gDebugText_Voice, sizeof voiceStr);
+ memcpy(volumeStr, gDebugText_Volume, sizeof volumeStr);
+ memcpy(panpotStr, gDebugText_Panpot, sizeof panpotStr);
+ memcpy(pitchStr, gDebugText_Pitch, sizeof pitchStr);
+ memcpy(lengthStr, gDebugText_Length, sizeof lengthStr);
+ memcpy(releaseStr, gDebugText_Release, sizeof releaseStr);
+ memcpy(progressStr, gDebugText_Progress, sizeof progressStr);
+ memcpy(chorusStr, gDebugText_Chorus, sizeof chorusStr);
+ memcpy(priorityStr, gDebugText_Priority, sizeof priorityStr);
+ memcpy(playingStr, gDebugText_Playing, sizeof playingStr);
+ memcpy(reverseStr, gDebugText_Reverse, sizeof reverseStr);
+ memcpy(stereoStr, gDebugText_Stereo, sizeof stereoStr);
+
+ REG_DISPCNT = 0x3140;
+ MenuDrawTextWindow(0, 0, 0x1D, 0x13);
+ MenuPrint(bbackStr, 0x13, 0x4);
+ MenuPrint(aplayStr, 0x13, 0x2);
+ MenuPrint(voiceStr, 0x2, 0x1);
+ MenuPrint(volumeStr, 0x2, 0x3);
+ MenuPrint(panpotStr, 0x2, 0x5);
+ MenuPrint(pitchStr, 0x2, 0x7);
+ MenuPrint(lengthStr, 0x2, 0x9);
+ MenuPrint(releaseStr, 0x2, 0xB);
+ MenuPrint(progressStr, 0x2, 0xD);
+ MenuPrint(chorusStr, 0x2, 0xF);
+ MenuPrint(priorityStr, 0x2, 0x11);
+ MenuPrint(playingStr, 0x13, 0x10);
+ MenuPrint(reverseStr, 0x13, 0xE);
+ MenuPrint(stereoStr, 0x13, 0xC);
+ REG_WIN0H = 0xF0;
+ REG_WIN0V = 0xA0;
+ gUnknown_020387B3 = 0;
+ gUnknown_020387B1 = 0;
+ gUnknown_020387B2 = 0;
+ gUnknown_03005D30 = 0;
+ gUnknown_020387D8 = 0;
+ gUnknown_020387D9 = 1;
+ gUnknown_020387B4.unk0 = 0;
+ gUnknown_020387B4.unk4 = 0x78;
+ gUnknown_020387B4.unk8 = 0;
+ gUnknown_020387B4.unkC = 0x3C00;
+ gUnknown_020387B4.unk10 = 0xB4;
+ gUnknown_020387B4.unk18 = 0;
+ gUnknown_020387B4.unk14 = 0;
+ gUnknown_020387B4.unk1C = 0;
+ gUnknown_020387B4.unk20 = 2;
+ sub_80BAD5C();
+ sub_80BAE10(0, 0);
+ gTasks[taskId].func = sub_80BAA48;
+}