prime/asm/musyx/snd_midictrl.s

2183 lines
102 KiB
ArmAsm

.include "macros.inc"
.section .data, "wa"
.global lbl_803F41E8
lbl_803F41E8:
.incbin "baserom.dol", 0x3F11E8, 0x10
lbl_803F41F8:
.incbin "baserom.dol", 0x3F11F8, 0x10
lbl_803F4208:
.incbin "baserom.dol", 0x3F1208, 0x24
lbl_803F422C:
.incbin "baserom.dol", 0x3F122C, 0x24
lbl_803F4250:
.4byte lbl_803B2C2C
.4byte lbl_803B2C34
.4byte lbl_803B2C3C
.4byte lbl_803B2C44
.4byte lbl_803B2C4C
.4byte lbl_803B2C54
.4byte lbl_803B2C5C
.4byte lbl_803B2C64
.4byte lbl_803B2C6C
.skip 4
.section .rodata
.global lbl_803D8AC0
lbl_803D8AC0:
.incbin "baserom.dol", 0x3D5AC0, 0x88
.global lbl_803D8B48
lbl_803D8B48:
.incbin "baserom.dol", 0x3D5B48, 0x88
.section .text, "ax"
.global inpSetGlobalMIDIDirtyFlag
inpSetGlobalMIDIDirtyFlag:
/* 803B10CC 003AE02C 3C C0 80 56 */ lis r6, lbl_80560790@ha
/* 803B10D0 003AE030 54 84 34 B2 */ rlwinm r4, r4, 6, 0x12, 0x19
/* 803B10D4 003AE034 38 06 07 90 */ addi r0, r6, lbl_80560790@l
/* 803B10D8 003AE038 54 63 15 BA */ rlwinm r3, r3, 2, 0x16, 0x1d
/* 803B10DC 003AE03C 7C 80 22 14 */ add r4, r0, r4
/* 803B10E0 003AE040 7C 04 18 2E */ lwzx r0, r4, r3
/* 803B10E4 003AE044 7C 00 2B 78 */ or r0, r0, r5
/* 803B10E8 003AE048 7C 04 19 2E */ stwx r0, r4, r3
/* 803B10EC 003AE04C 4E 80 00 20 */ blr
.global inpSetMidiCtrl
inpSetMidiCtrl:
/* 803B10F0 003AE050 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803B10F4 003AE054 7C 08 02 A6 */ mflr r0
/* 803B10F8 003AE058 90 01 00 34 */ stw r0, 0x34(r1)
/* 803B10FC 003AE05C 39 61 00 30 */ addi r11, r1, 0x30
/* 803B1100 003AE060 4B FD 89 75 */ bl _savegpr_25
/* 803B1104 003AE064 54 87 06 3E */ clrlwi r7, r4, 0x18
/* 803B1108 003AE068 3D 00 80 56 */ lis r8, lbl_80560790@ha
/* 803B110C 003AE06C 28 07 00 FF */ cmplwi r7, 0xff
/* 803B1110 003AE070 3B E8 07 90 */ addi r31, r8, lbl_80560790@l
/* 803B1114 003AE074 41 82 05 CC */ beq lbl_803B16E0
/* 803B1118 003AE078 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 803B111C 003AE07C 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1120 003AE080 41 82 02 F4 */ beq lbl_803B1414
/* 803B1124 003AE084 54 68 06 3E */ clrlwi r8, r3, 0x18
/* 803B1128 003AE088 2C 08 00 26 */ cmpwi r8, 0x26
/* 803B112C 003AE08C 41 82 02 48 */ beq lbl_803B1374
/* 803B1130 003AE090 40 80 00 10 */ bge lbl_803B1140
/* 803B1134 003AE094 2C 08 00 06 */ cmpwi r8, 6
/* 803B1138 003AE098 41 82 00 20 */ beq lbl_803B1158
/* 803B113C 003AE09C 48 00 02 38 */ b lbl_803B1374
lbl_803B1140:
/* 803B1140 003AE0A0 2C 08 00 61 */ cmpwi r8, 0x61
/* 803B1144 003AE0A4 41 82 01 80 */ beq lbl_803B12C4
/* 803B1148 003AE0A8 40 80 02 2C */ bge lbl_803B1374
/* 803B114C 003AE0AC 2C 08 00 60 */ cmpwi r8, 0x60
/* 803B1150 003AE0B0 40 80 00 C0 */ bge lbl_803B1210
/* 803B1154 003AE0B4 48 00 02 20 */ b lbl_803B1374
lbl_803B1158:
/* 803B1158 003AE0B8 1D 40 08 60 */ mulli r10, r0, 0x860
/* 803B115C 003AE0BC 39 1F 02 00 */ addi r8, r31, 0x200
/* 803B1160 003AE0C0 1D 27 00 86 */ mulli r9, r7, 0x86
/* 803B1164 003AE0C4 7D 08 52 14 */ add r8, r8, r10
/* 803B1168 003AE0C8 7D 08 4A 14 */ add r8, r8, r9
/* 803B116C 003AE0CC 89 28 00 64 */ lbz r9, 0x64(r8)
/* 803B1170 003AE0D0 89 08 00 65 */ lbz r8, 0x65(r8)
/* 803B1174 003AE0D4 51 09 44 2E */ rlwimi r9, r8, 8, 0x10, 0x17
/* 803B1178 003AE0D8 55 28 04 3F */ clrlwi. r8, r9, 0x10
/* 803B117C 003AE0DC 41 82 00 08 */ beq lbl_803B1184
/* 803B1180 003AE0E0 48 00 01 F4 */ b lbl_803B1374
lbl_803B1184:
/* 803B1184 003AE0E4 54 C8 06 3E */ clrlwi r8, r6, 0x18
/* 803B1188 003AE0E8 39 40 00 18 */ li r10, 0x18
/* 803B118C 003AE0EC 28 08 00 18 */ cmplwi r8, 0x18
/* 803B1190 003AE0F0 41 81 00 08 */ bgt lbl_803B1198
/* 803B1194 003AE0F4 7D 0A 43 78 */ mr r10, r8
lbl_803B1198:
/* 803B1198 003AE0F8 54 00 20 36 */ slwi r0, r0, 4
/* 803B119C 003AE0FC 39 80 00 00 */ li r12, 0
/* 803B11A0 003AE100 39 3F 45 00 */ addi r9, r31, 0x4500
/* 803B11A4 003AE104 3D 00 80 55 */ lis r8, synthInfo@ha
/* 803B11A8 003AE108 7C 00 3A 14 */ add r0, r0, r7
/* 803B11AC 003AE10C 7D 9A 63 78 */ mr r26, r12
/* 803B11B0 003AE110 7D 49 01 AE */ stbx r10, r9, r0
/* 803B11B4 003AE114 55 4B 06 3E */ clrlwi r11, r10, 0x18
/* 803B11B8 003AE118 39 48 00 50 */ addi r10, r8, synthInfo@l
/* 803B11BC 003AE11C 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 803B11C0 003AE120 54 88 06 3E */ clrlwi r8, r4, 0x18
/* 803B11C4 003AE124 48 00 00 3C */ b lbl_803B1200
lbl_803B11C8:
/* 803B11C8 003AE128 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B11CC 003AE12C 7C E0 D2 14 */ add r7, r0, r26
/* 803B11D0 003AE130 88 07 01 22 */ lbz r0, 0x122(r7)
/* 803B11D4 003AE134 7C 09 00 40 */ cmplw r9, r0
/* 803B11D8 003AE138 40 82 00 20 */ bne lbl_803B11F8
/* 803B11DC 003AE13C 88 07 01 21 */ lbz r0, 0x121(r7)
/* 803B11E0 003AE140 7C 08 00 40 */ cmplw r8, r0
/* 803B11E4 003AE144 40 82 00 14 */ bne lbl_803B11F8
/* 803B11E8 003AE148 99 67 01 D7 */ stb r11, 0x1d7(r7)
/* 803B11EC 003AE14C 38 1A 01 D6 */ addi r0, r26, 0x1d6
/* 803B11F0 003AE150 80 ED AE 78 */ lwz r7, synthVoice@sda21(r13)
/* 803B11F4 003AE154 7D 67 01 AE */ stbx r11, r7, r0
lbl_803B11F8:
/* 803B11F8 003AE158 3B 5A 04 04 */ addi r26, r26, 0x404
/* 803B11FC 003AE15C 39 8C 00 01 */ addi r12, r12, 1
lbl_803B1200:
/* 803B1200 003AE160 88 0A 02 10 */ lbz r0, 0x210(r10)
/* 803B1204 003AE164 7C 0C 00 40 */ cmplw r12, r0
/* 803B1208 003AE168 41 80 FF C0 */ blt lbl_803B11C8
/* 803B120C 003AE16C 48 00 01 68 */ b lbl_803B1374
lbl_803B1210:
/* 803B1210 003AE170 1D 40 08 60 */ mulli r10, r0, 0x860
/* 803B1214 003AE174 39 1F 02 00 */ addi r8, r31, 0x200
/* 803B1218 003AE178 1D 27 00 86 */ mulli r9, r7, 0x86
/* 803B121C 003AE17C 7D 08 52 14 */ add r8, r8, r10
/* 803B1220 003AE180 7D 08 4A 14 */ add r8, r8, r9
/* 803B1224 003AE184 89 28 00 64 */ lbz r9, 0x64(r8)
/* 803B1228 003AE188 89 08 00 65 */ lbz r8, 0x65(r8)
/* 803B122C 003AE18C 51 09 44 2E */ rlwimi r9, r8, 8, 0x10, 0x17
/* 803B1230 003AE190 55 28 04 3F */ clrlwi. r8, r9, 0x10
/* 803B1234 003AE194 41 82 00 08 */ beq lbl_803B123C
/* 803B1238 003AE198 48 00 01 3C */ b lbl_803B1374
lbl_803B123C:
/* 803B123C 003AE19C 54 00 20 36 */ slwi r0, r0, 4
/* 803B1240 003AE1A0 39 1F 45 00 */ addi r8, r31, 0x4500
/* 803B1244 003AE1A4 7D 20 3A 14 */ add r9, r0, r7
/* 803B1248 003AE1A8 7D 68 48 AE */ lbzx r11, r8, r9
/* 803B124C 003AE1AC 28 0B 00 00 */ cmplwi r11, 0
/* 803B1250 003AE1B0 41 82 00 0C */ beq lbl_803B125C
/* 803B1254 003AE1B4 38 0B FF FF */ addi r0, r11, -1
/* 803B1258 003AE1B8 54 0B 06 3E */ clrlwi r11, r0, 0x18
lbl_803B125C:
/* 803B125C 003AE1BC 39 80 00 00 */ li r12, 0
/* 803B1260 003AE1C0 3C E0 80 55 */ lis r7, synthInfo@ha
/* 803B1264 003AE1C4 7D 68 49 AE */ stbx r11, r8, r9
/* 803B1268 003AE1C8 7D 9A 63 78 */ mr r26, r12
/* 803B126C 003AE1CC 39 47 00 50 */ addi r10, r7, synthInfo@l
/* 803B1270 003AE1D0 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 803B1274 003AE1D4 54 88 06 3E */ clrlwi r8, r4, 0x18
/* 803B1278 003AE1D8 48 00 00 3C */ b lbl_803B12B4
lbl_803B127C:
/* 803B127C 003AE1DC 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B1280 003AE1E0 7C E0 D2 14 */ add r7, r0, r26
/* 803B1284 003AE1E4 88 07 01 22 */ lbz r0, 0x122(r7)
/* 803B1288 003AE1E8 7C 09 00 40 */ cmplw r9, r0
/* 803B128C 003AE1EC 40 82 00 20 */ bne lbl_803B12AC
/* 803B1290 003AE1F0 88 07 01 21 */ lbz r0, 0x121(r7)
/* 803B1294 003AE1F4 7C 08 00 40 */ cmplw r8, r0
/* 803B1298 003AE1F8 40 82 00 14 */ bne lbl_803B12AC
/* 803B129C 003AE1FC 99 67 01 D7 */ stb r11, 0x1d7(r7)
/* 803B12A0 003AE200 38 1A 01 D6 */ addi r0, r26, 0x1d6
/* 803B12A4 003AE204 80 ED AE 78 */ lwz r7, synthVoice@sda21(r13)
/* 803B12A8 003AE208 7D 67 01 AE */ stbx r11, r7, r0
lbl_803B12AC:
/* 803B12AC 003AE20C 3B 5A 04 04 */ addi r26, r26, 0x404
/* 803B12B0 003AE210 39 8C 00 01 */ addi r12, r12, 1
lbl_803B12B4:
/* 803B12B4 003AE214 88 0A 02 10 */ lbz r0, 0x210(r10)
/* 803B12B8 003AE218 7C 0C 00 40 */ cmplw r12, r0
/* 803B12BC 003AE21C 41 80 FF C0 */ blt lbl_803B127C
/* 803B12C0 003AE220 48 00 00 B4 */ b lbl_803B1374
lbl_803B12C4:
/* 803B12C4 003AE224 1D 40 08 60 */ mulli r10, r0, 0x860
/* 803B12C8 003AE228 39 1F 02 00 */ addi r8, r31, 0x200
/* 803B12CC 003AE22C 1D 27 00 86 */ mulli r9, r7, 0x86
/* 803B12D0 003AE230 7D 08 52 14 */ add r8, r8, r10
/* 803B12D4 003AE234 7D 08 4A 14 */ add r8, r8, r9
/* 803B12D8 003AE238 89 28 00 64 */ lbz r9, 0x64(r8)
/* 803B12DC 003AE23C 89 08 00 65 */ lbz r8, 0x65(r8)
/* 803B12E0 003AE240 51 09 44 2E */ rlwimi r9, r8, 8, 0x10, 0x17
/* 803B12E4 003AE244 55 28 04 3F */ clrlwi. r8, r9, 0x10
/* 803B12E8 003AE248 41 82 00 08 */ beq lbl_803B12F0
/* 803B12EC 003AE24C 48 00 00 88 */ b lbl_803B1374
lbl_803B12F0:
/* 803B12F0 003AE250 54 00 20 36 */ slwi r0, r0, 4
/* 803B12F4 003AE254 39 1F 45 00 */ addi r8, r31, 0x4500
/* 803B12F8 003AE258 7D 20 3A 14 */ add r9, r0, r7
/* 803B12FC 003AE25C 7D 68 48 AE */ lbzx r11, r8, r9
/* 803B1300 003AE260 28 0B 00 18 */ cmplwi r11, 0x18
/* 803B1304 003AE264 40 80 00 0C */ bge lbl_803B1310
/* 803B1308 003AE268 38 0B 00 01 */ addi r0, r11, 1
/* 803B130C 003AE26C 54 0B 06 3E */ clrlwi r11, r0, 0x18
lbl_803B1310:
/* 803B1310 003AE270 39 80 00 00 */ li r12, 0
/* 803B1314 003AE274 3C E0 80 55 */ lis r7, synthInfo@ha
/* 803B1318 003AE278 7D 68 49 AE */ stbx r11, r8, r9
/* 803B131C 003AE27C 7D 9A 63 78 */ mr r26, r12
/* 803B1320 003AE280 39 47 00 50 */ addi r10, r7, synthInfo@l
/* 803B1324 003AE284 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 803B1328 003AE288 54 88 06 3E */ clrlwi r8, r4, 0x18
/* 803B132C 003AE28C 48 00 00 3C */ b lbl_803B1368
lbl_803B1330:
/* 803B1330 003AE290 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B1334 003AE294 7C E0 D2 14 */ add r7, r0, r26
/* 803B1338 003AE298 88 07 01 22 */ lbz r0, 0x122(r7)
/* 803B133C 003AE29C 7C 09 00 40 */ cmplw r9, r0
/* 803B1340 003AE2A0 40 82 00 20 */ bne lbl_803B1360
/* 803B1344 003AE2A4 88 07 01 21 */ lbz r0, 0x121(r7)
/* 803B1348 003AE2A8 7C 08 00 40 */ cmplw r8, r0
/* 803B134C 003AE2AC 40 82 00 14 */ bne lbl_803B1360
/* 803B1350 003AE2B0 99 67 01 D7 */ stb r11, 0x1d7(r7)
/* 803B1354 003AE2B4 38 1A 01 D6 */ addi r0, r26, 0x1d6
/* 803B1358 003AE2B8 80 ED AE 78 */ lwz r7, synthVoice@sda21(r13)
/* 803B135C 003AE2BC 7D 67 01 AE */ stbx r11, r7, r0
lbl_803B1360:
/* 803B1360 003AE2C0 3B 5A 04 04 */ addi r26, r26, 0x404
/* 803B1364 003AE2C4 39 8C 00 01 */ addi r12, r12, 1
lbl_803B1368:
/* 803B1368 003AE2C8 88 0A 02 10 */ lbz r0, 0x210(r10)
/* 803B136C 003AE2CC 7C 0C 00 40 */ cmplw r12, r0
/* 803B1370 003AE2D0 41 80 FF C0 */ blt lbl_803B1330
lbl_803B1374:
/* 803B1374 003AE2D4 54 BD 06 3E */ clrlwi r29, r5, 0x18
/* 803B1378 003AE2D8 54 9E 06 3E */ clrlwi r30, r4, 0x18
/* 803B137C 003AE2DC 1C FD 08 60 */ mulli r7, r29, 0x860
/* 803B1380 003AE2E0 3C 80 80 55 */ lis r4, synthInfo@ha
/* 803B1384 003AE2E4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1388 003AE2E8 54 C6 06 7E */ clrlwi r6, r6, 0x19
/* 803B138C 003AE2EC 1C 7E 00 86 */ mulli r3, r30, 0x86
/* 803B1390 003AE2F0 38 BF 02 00 */ addi r5, r31, 0x200
/* 803B1394 003AE2F4 3B 44 00 50 */ addi r26, r4, synthInfo@l
/* 803B1398 003AE2F8 3B 80 00 00 */ li r28, 0
/* 803B139C 003AE2FC 7C 67 1A 14 */ add r3, r7, r3
/* 803B13A0 003AE300 3B 20 00 00 */ li r25, 0
/* 803B13A4 003AE304 7C 03 02 14 */ add r0, r3, r0
/* 803B13A8 003AE308 3B 60 1F FF */ li r27, 0x1fff
/* 803B13AC 003AE30C 7C C5 01 AE */ stbx r6, r5, r0
/* 803B13B0 003AE310 48 00 00 3C */ b lbl_803B13EC
lbl_803B13B4:
/* 803B13B4 003AE314 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B13B8 003AE318 7C 60 CA 14 */ add r3, r0, r25
/* 803B13BC 003AE31C 88 03 01 22 */ lbz r0, 0x122(r3)
/* 803B13C0 003AE320 7C 1D 00 40 */ cmplw r29, r0
/* 803B13C4 003AE324 40 82 00 20 */ bne lbl_803B13E4
/* 803B13C8 003AE328 88 03 01 21 */ lbz r0, 0x121(r3)
/* 803B13CC 003AE32C 7C 1E 00 40 */ cmplw r30, r0
/* 803B13D0 003AE330 40 82 00 14 */ bne lbl_803B13E4
/* 803B13D4 003AE334 93 63 02 14 */ stw r27, 0x214(r3)
/* 803B13D8 003AE338 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B13DC 003AE33C 7C 60 CA 14 */ add r3, r0, r25
/* 803B13E0 003AE340 4B FE 97 01 */ bl sub_8039aae0
lbl_803B13E4:
/* 803B13E4 003AE344 3B 39 04 04 */ addi r25, r25, 0x404
/* 803B13E8 003AE348 3B 9C 00 01 */ addi r28, r28, 1
lbl_803B13EC:
/* 803B13EC 003AE34C 88 1A 02 10 */ lbz r0, 0x210(r26)
/* 803B13F0 003AE350 7C 1C 00 40 */ cmplw r28, r0
/* 803B13F4 003AE354 41 80 FF C0 */ blt lbl_803B13B4
/* 803B13F8 003AE358 57 A4 30 32 */ slwi r4, r29, 6
/* 803B13FC 003AE35C 57 C0 10 3A */ slwi r0, r30, 2
/* 803B1400 003AE360 38 7F 00 00 */ addi r3, r31, 0
/* 803B1404 003AE364 38 A0 00 FF */ li r5, 0xff
/* 803B1408 003AE368 7C 04 02 14 */ add r0, r4, r0
/* 803B140C 003AE36C 7C A3 01 2E */ stwx r5, r3, r0
/* 803B1410 003AE370 48 00 02 D0 */ b lbl_803B16E0
lbl_803B1414:
/* 803B1414 003AE374 54 68 06 3E */ clrlwi r8, r3, 0x18
/* 803B1418 003AE378 2C 08 00 26 */ cmpwi r8, 0x26
/* 803B141C 003AE37C 41 82 02 48 */ beq lbl_803B1664
/* 803B1420 003AE380 40 80 00 10 */ bge lbl_803B1430
/* 803B1424 003AE384 2C 08 00 06 */ cmpwi r8, 6
/* 803B1428 003AE388 41 82 00 20 */ beq lbl_803B1448
/* 803B142C 003AE38C 48 00 02 38 */ b lbl_803B1664
lbl_803B1430:
/* 803B1430 003AE390 2C 08 00 61 */ cmpwi r8, 0x61
/* 803B1434 003AE394 41 82 01 80 */ beq lbl_803B15B4
/* 803B1438 003AE398 40 80 02 2C */ bge lbl_803B1664
/* 803B143C 003AE39C 2C 08 00 60 */ cmpwi r8, 0x60
/* 803B1440 003AE3A0 40 80 00 C0 */ bge lbl_803B1500
/* 803B1444 003AE3A4 48 00 02 20 */ b lbl_803B1664
lbl_803B1448:
/* 803B1448 003AE3A8 1D 40 08 60 */ mulli r10, r0, 0x860
/* 803B144C 003AE3AC 39 1F 02 00 */ addi r8, r31, 0x200
/* 803B1450 003AE3B0 1D 27 00 86 */ mulli r9, r7, 0x86
/* 803B1454 003AE3B4 7D 08 52 14 */ add r8, r8, r10
/* 803B1458 003AE3B8 7D 08 4A 14 */ add r8, r8, r9
/* 803B145C 003AE3BC 89 28 00 64 */ lbz r9, 0x64(r8)
/* 803B1460 003AE3C0 89 08 00 65 */ lbz r8, 0x65(r8)
/* 803B1464 003AE3C4 51 09 44 2E */ rlwimi r9, r8, 8, 0x10, 0x17
/* 803B1468 003AE3C8 55 28 04 3F */ clrlwi. r8, r9, 0x10
/* 803B146C 003AE3CC 41 82 00 08 */ beq lbl_803B1474
/* 803B1470 003AE3D0 48 00 01 F4 */ b lbl_803B1664
lbl_803B1474:
/* 803B1474 003AE3D4 54 C8 06 3E */ clrlwi r8, r6, 0x18
/* 803B1478 003AE3D8 39 40 00 18 */ li r10, 0x18
/* 803B147C 003AE3DC 28 08 00 18 */ cmplwi r8, 0x18
/* 803B1480 003AE3E0 41 81 00 08 */ bgt lbl_803B1488
/* 803B1484 003AE3E4 7D 0A 43 78 */ mr r10, r8
lbl_803B1488:
/* 803B1488 003AE3E8 54 00 20 36 */ slwi r0, r0, 4
/* 803B148C 003AE3EC 39 80 00 00 */ li r12, 0
/* 803B1490 003AE3F0 39 3F 45 00 */ addi r9, r31, 0x4500
/* 803B1494 003AE3F4 3D 00 80 55 */ lis r8, synthInfo@ha
/* 803B1498 003AE3F8 7C 00 3A 14 */ add r0, r0, r7
/* 803B149C 003AE3FC 7D 99 63 78 */ mr r25, r12
/* 803B14A0 003AE400 7D 49 01 AE */ stbx r10, r9, r0
/* 803B14A4 003AE404 55 4B 06 3E */ clrlwi r11, r10, 0x18
/* 803B14A8 003AE408 39 48 00 50 */ addi r10, r8, synthInfo@l
/* 803B14AC 003AE40C 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 803B14B0 003AE410 54 88 06 3E */ clrlwi r8, r4, 0x18
/* 803B14B4 003AE414 48 00 00 3C */ b lbl_803B14F0
lbl_803B14B8:
/* 803B14B8 003AE418 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B14BC 003AE41C 7C E0 CA 14 */ add r7, r0, r25
/* 803B14C0 003AE420 88 07 01 22 */ lbz r0, 0x122(r7)
/* 803B14C4 003AE424 7C 09 00 40 */ cmplw r9, r0
/* 803B14C8 003AE428 40 82 00 20 */ bne lbl_803B14E8
/* 803B14CC 003AE42C 88 07 01 21 */ lbz r0, 0x121(r7)
/* 803B14D0 003AE430 7C 08 00 40 */ cmplw r8, r0
/* 803B14D4 003AE434 40 82 00 14 */ bne lbl_803B14E8
/* 803B14D8 003AE438 99 67 01 D7 */ stb r11, 0x1d7(r7)
/* 803B14DC 003AE43C 38 19 01 D6 */ addi r0, r25, 0x1d6
/* 803B14E0 003AE440 80 ED AE 78 */ lwz r7, synthVoice@sda21(r13)
/* 803B14E4 003AE444 7D 67 01 AE */ stbx r11, r7, r0
lbl_803B14E8:
/* 803B14E8 003AE448 3B 39 04 04 */ addi r25, r25, 0x404
/* 803B14EC 003AE44C 39 8C 00 01 */ addi r12, r12, 1
lbl_803B14F0:
/* 803B14F0 003AE450 88 0A 02 10 */ lbz r0, 0x210(r10)
/* 803B14F4 003AE454 7C 0C 00 40 */ cmplw r12, r0
/* 803B14F8 003AE458 41 80 FF C0 */ blt lbl_803B14B8
/* 803B14FC 003AE45C 48 00 01 68 */ b lbl_803B1664
lbl_803B1500:
/* 803B1500 003AE460 1D 40 08 60 */ mulli r10, r0, 0x860
/* 803B1504 003AE464 39 1F 02 00 */ addi r8, r31, 0x200
/* 803B1508 003AE468 1D 27 00 86 */ mulli r9, r7, 0x86
/* 803B150C 003AE46C 7D 08 52 14 */ add r8, r8, r10
/* 803B1510 003AE470 7D 08 4A 14 */ add r8, r8, r9
/* 803B1514 003AE474 89 28 00 64 */ lbz r9, 0x64(r8)
/* 803B1518 003AE478 89 08 00 65 */ lbz r8, 0x65(r8)
/* 803B151C 003AE47C 51 09 44 2E */ rlwimi r9, r8, 8, 0x10, 0x17
/* 803B1520 003AE480 55 28 04 3F */ clrlwi. r8, r9, 0x10
/* 803B1524 003AE484 41 82 00 08 */ beq lbl_803B152C
/* 803B1528 003AE488 48 00 01 3C */ b lbl_803B1664
lbl_803B152C:
/* 803B152C 003AE48C 54 00 20 36 */ slwi r0, r0, 4
/* 803B1530 003AE490 39 1F 45 00 */ addi r8, r31, 0x4500
/* 803B1534 003AE494 7D 20 3A 14 */ add r9, r0, r7
/* 803B1538 003AE498 7D 68 48 AE */ lbzx r11, r8, r9
/* 803B153C 003AE49C 28 0B 00 00 */ cmplwi r11, 0
/* 803B1540 003AE4A0 41 82 00 0C */ beq lbl_803B154C
/* 803B1544 003AE4A4 38 0B FF FF */ addi r0, r11, -1
/* 803B1548 003AE4A8 54 0B 06 3E */ clrlwi r11, r0, 0x18
lbl_803B154C:
/* 803B154C 003AE4AC 39 80 00 00 */ li r12, 0
/* 803B1550 003AE4B0 3C E0 80 55 */ lis r7, synthInfo@ha
/* 803B1554 003AE4B4 7D 68 49 AE */ stbx r11, r8, r9
/* 803B1558 003AE4B8 7D 99 63 78 */ mr r25, r12
/* 803B155C 003AE4BC 39 47 00 50 */ addi r10, r7, synthInfo@l
/* 803B1560 003AE4C0 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 803B1564 003AE4C4 54 88 06 3E */ clrlwi r8, r4, 0x18
/* 803B1568 003AE4C8 48 00 00 3C */ b lbl_803B15A4
lbl_803B156C:
/* 803B156C 003AE4CC 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B1570 003AE4D0 7C E0 CA 14 */ add r7, r0, r25
/* 803B1574 003AE4D4 88 07 01 22 */ lbz r0, 0x122(r7)
/* 803B1578 003AE4D8 7C 09 00 40 */ cmplw r9, r0
/* 803B157C 003AE4DC 40 82 00 20 */ bne lbl_803B159C
/* 803B1580 003AE4E0 88 07 01 21 */ lbz r0, 0x121(r7)
/* 803B1584 003AE4E4 7C 08 00 40 */ cmplw r8, r0
/* 803B1588 003AE4E8 40 82 00 14 */ bne lbl_803B159C
/* 803B158C 003AE4EC 99 67 01 D7 */ stb r11, 0x1d7(r7)
/* 803B1590 003AE4F0 38 19 01 D6 */ addi r0, r25, 0x1d6
/* 803B1594 003AE4F4 80 ED AE 78 */ lwz r7, synthVoice@sda21(r13)
/* 803B1598 003AE4F8 7D 67 01 AE */ stbx r11, r7, r0
lbl_803B159C:
/* 803B159C 003AE4FC 3B 39 04 04 */ addi r25, r25, 0x404
/* 803B15A0 003AE500 39 8C 00 01 */ addi r12, r12, 1
lbl_803B15A4:
/* 803B15A4 003AE504 88 0A 02 10 */ lbz r0, 0x210(r10)
/* 803B15A8 003AE508 7C 0C 00 40 */ cmplw r12, r0
/* 803B15AC 003AE50C 41 80 FF C0 */ blt lbl_803B156C
/* 803B15B0 003AE510 48 00 00 B4 */ b lbl_803B1664
lbl_803B15B4:
/* 803B15B4 003AE514 1D 40 08 60 */ mulli r10, r0, 0x860
/* 803B15B8 003AE518 39 1F 02 00 */ addi r8, r31, 0x200
/* 803B15BC 003AE51C 1D 27 00 86 */ mulli r9, r7, 0x86
/* 803B15C0 003AE520 7D 08 52 14 */ add r8, r8, r10
/* 803B15C4 003AE524 7D 08 4A 14 */ add r8, r8, r9
/* 803B15C8 003AE528 89 28 00 64 */ lbz r9, 0x64(r8)
/* 803B15CC 003AE52C 89 08 00 65 */ lbz r8, 0x65(r8)
/* 803B15D0 003AE530 51 09 44 2E */ rlwimi r9, r8, 8, 0x10, 0x17
/* 803B15D4 003AE534 55 28 04 3F */ clrlwi. r8, r9, 0x10
/* 803B15D8 003AE538 41 82 00 08 */ beq lbl_803B15E0
/* 803B15DC 003AE53C 48 00 00 88 */ b lbl_803B1664
lbl_803B15E0:
/* 803B15E0 003AE540 54 00 20 36 */ slwi r0, r0, 4
/* 803B15E4 003AE544 39 1F 45 00 */ addi r8, r31, 0x4500
/* 803B15E8 003AE548 7D 20 3A 14 */ add r9, r0, r7
/* 803B15EC 003AE54C 7D 68 48 AE */ lbzx r11, r8, r9
/* 803B15F0 003AE550 28 0B 00 18 */ cmplwi r11, 0x18
/* 803B15F4 003AE554 40 80 00 0C */ bge lbl_803B1600
/* 803B15F8 003AE558 38 0B 00 01 */ addi r0, r11, 1
/* 803B15FC 003AE55C 54 0B 06 3E */ clrlwi r11, r0, 0x18
lbl_803B1600:
/* 803B1600 003AE560 39 80 00 00 */ li r12, 0
/* 803B1604 003AE564 3C E0 80 55 */ lis r7, synthInfo@ha
/* 803B1608 003AE568 7D 68 49 AE */ stbx r11, r8, r9
/* 803B160C 003AE56C 7D 99 63 78 */ mr r25, r12
/* 803B1610 003AE570 39 47 00 50 */ addi r10, r7, synthInfo@l
/* 803B1614 003AE574 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 803B1618 003AE578 54 88 06 3E */ clrlwi r8, r4, 0x18
/* 803B161C 003AE57C 48 00 00 3C */ b lbl_803B1658
lbl_803B1620:
/* 803B1620 003AE580 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B1624 003AE584 7C E0 CA 14 */ add r7, r0, r25
/* 803B1628 003AE588 88 07 01 22 */ lbz r0, 0x122(r7)
/* 803B162C 003AE58C 7C 09 00 40 */ cmplw r9, r0
/* 803B1630 003AE590 40 82 00 20 */ bne lbl_803B1650
/* 803B1634 003AE594 88 07 01 21 */ lbz r0, 0x121(r7)
/* 803B1638 003AE598 7C 08 00 40 */ cmplw r8, r0
/* 803B163C 003AE59C 40 82 00 14 */ bne lbl_803B1650
/* 803B1640 003AE5A0 99 67 01 D7 */ stb r11, 0x1d7(r7)
/* 803B1644 003AE5A4 38 19 01 D6 */ addi r0, r25, 0x1d6
/* 803B1648 003AE5A8 80 ED AE 78 */ lwz r7, synthVoice@sda21(r13)
/* 803B164C 003AE5AC 7D 67 01 AE */ stbx r11, r7, r0
lbl_803B1650:
/* 803B1650 003AE5B0 3B 39 04 04 */ addi r25, r25, 0x404
/* 803B1654 003AE5B4 39 8C 00 01 */ addi r12, r12, 1
lbl_803B1658:
/* 803B1658 003AE5B8 88 0A 02 10 */ lbz r0, 0x210(r10)
/* 803B165C 003AE5BC 7C 0C 00 40 */ cmplw r12, r0
/* 803B1660 003AE5C0 41 80 FF C0 */ blt lbl_803B1620
lbl_803B1664:
/* 803B1664 003AE5C4 54 9B 06 3E */ clrlwi r27, r4, 0x18
/* 803B1668 003AE5C8 3B A0 00 00 */ li r29, 0
/* 803B166C 003AE5CC 1C FB 00 86 */ mulli r7, r27, 0x86
/* 803B1670 003AE5D0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1674 003AE5D4 3C 60 80 55 */ lis r3, synthInfo@ha
/* 803B1678 003AE5D8 54 C6 06 7E */ clrlwi r6, r6, 0x19
/* 803B167C 003AE5DC 38 9F 45 80 */ addi r4, r31, 0x4580
/* 803B1680 003AE5E0 7F B9 EB 78 */ mr r25, r29
/* 803B1684 003AE5E4 7C 07 02 14 */ add r0, r7, r0
/* 803B1688 003AE5E8 3B E3 00 50 */ addi r31, r3, synthInfo@l
/* 803B168C 003AE5EC 7C C4 01 AE */ stbx r6, r4, r0
/* 803B1690 003AE5F0 54 BE 06 3E */ clrlwi r30, r5, 0x18
/* 803B1694 003AE5F4 3B 80 1F FF */ li r28, 0x1fff
/* 803B1698 003AE5F8 48 00 00 3C */ b lbl_803B16D4
lbl_803B169C:
/* 803B169C 003AE5FC 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B16A0 003AE600 7C 60 CA 14 */ add r3, r0, r25
/* 803B16A4 003AE604 88 03 01 22 */ lbz r0, 0x122(r3)
/* 803B16A8 003AE608 7C 1E 00 40 */ cmplw r30, r0
/* 803B16AC 003AE60C 40 82 00 20 */ bne lbl_803B16CC
/* 803B16B0 003AE610 88 03 01 21 */ lbz r0, 0x121(r3)
/* 803B16B4 003AE614 7C 1B 00 40 */ cmplw r27, r0
/* 803B16B8 003AE618 40 82 00 14 */ bne lbl_803B16CC
/* 803B16BC 003AE61C 93 83 02 14 */ stw r28, 0x214(r3)
/* 803B16C0 003AE620 80 0D AE 78 */ lwz r0, synthVoice@sda21(r13)
/* 803B16C4 003AE624 7C 60 CA 14 */ add r3, r0, r25
/* 803B16C8 003AE628 4B FE 94 19 */ bl sub_8039aae0
lbl_803B16CC:
/* 803B16CC 003AE62C 3B 39 04 04 */ addi r25, r25, 0x404
/* 803B16D0 003AE630 3B BD 00 01 */ addi r29, r29, 1
lbl_803B16D4:
/* 803B16D4 003AE634 88 1F 02 10 */ lbz r0, 0x210(r31)
/* 803B16D8 003AE638 7C 1D 00 40 */ cmplw r29, r0
/* 803B16DC 003AE63C 41 80 FF C0 */ blt lbl_803B169C
lbl_803B16E0:
/* 803B16E0 003AE640 39 61 00 30 */ addi r11, r1, 0x30
/* 803B16E4 003AE644 4B FD 83 DD */ bl _restgpr_25
/* 803B16E8 003AE648 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803B16EC 003AE64C 7C 08 03 A6 */ mtlr r0
/* 803B16F0 003AE650 38 21 00 30 */ addi r1, r1, 0x30
/* 803B16F4 003AE654 4E 80 00 20 */ blr
.global inpSetMidiCtrl14
inpSetMidiCtrl14:
/* 803B16F8 003AE658 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803B16FC 003AE65C 7C 08 02 A6 */ mflr r0
/* 803B1700 003AE660 90 01 00 24 */ stw r0, 0x24(r1)
/* 803B1704 003AE664 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1708 003AE668 28 00 00 FF */ cmplwi r0, 0xff
/* 803B170C 003AE66C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803B1710 003AE670 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803B1714 003AE674 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B1718 003AE678 7C BD 2B 78 */ mr r29, r5
/* 803B171C 003AE67C 93 81 00 10 */ stw r28, 0x10(r1)
/* 803B1720 003AE680 7C 9C 23 78 */ mr r28, r4
/* 803B1724 003AE684 41 82 00 D8 */ beq lbl_803B17FC
/* 803B1728 003AE688 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B172C 003AE68C 28 00 00 40 */ cmplwi r0, 0x40
/* 803B1730 003AE690 40 80 00 34 */ bge lbl_803B1764
/* 803B1734 003AE694 54 7E 06 FE */ clrlwi r30, r3, 0x1b
/* 803B1738 003AE698 54 DF 04 3E */ clrlwi r31, r6, 0x10
/* 803B173C 003AE69C 7F C3 F3 78 */ mr r3, r30
/* 803B1740 003AE6A0 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f
/* 803B1744 003AE6A4 4B FF F9 AD */ bl inpSetMidiCtrl
/* 803B1748 003AE6A8 38 1E 00 20 */ addi r0, r30, 0x20
/* 803B174C 003AE6AC 57 E6 06 7E */ clrlwi r6, r31, 0x19
/* 803B1750 003AE6B0 7F 84 E3 78 */ mr r4, r28
/* 803B1754 003AE6B4 7F A5 EB 78 */ mr r5, r29
/* 803B1758 003AE6B8 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 803B175C 003AE6BC 4B FF F9 95 */ bl inpSetMidiCtrl
/* 803B1760 003AE6C0 48 00 00 9C */ b lbl_803B17FC
lbl_803B1764:
/* 803B1764 003AE6C4 28 00 00 80 */ cmplwi r0, 0x80
/* 803B1768 003AE6C8 41 82 00 0C */ beq lbl_803B1774
/* 803B176C 003AE6CC 28 00 00 81 */ cmplwi r0, 0x81
/* 803B1770 003AE6D0 40 82 00 3C */ bne lbl_803B17AC
lbl_803B1774:
/* 803B1774 003AE6D4 54 7F 06 3C */ rlwinm r31, r3, 0, 0x18, 0x1e
/* 803B1778 003AE6D8 54 DE 04 3E */ clrlwi r30, r6, 0x10
/* 803B177C 003AE6DC 7F E3 FB 78 */ mr r3, r31
/* 803B1780 003AE6E0 7F 84 E3 78 */ mr r4, r28
/* 803B1784 003AE6E4 7F A5 EB 78 */ mr r5, r29
/* 803B1788 003AE6E8 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f
/* 803B178C 003AE6EC 4B FF F9 65 */ bl inpSetMidiCtrl
/* 803B1790 003AE6F0 38 1F 00 01 */ addi r0, r31, 1
/* 803B1794 003AE6F4 57 C6 06 7E */ clrlwi r6, r30, 0x19
/* 803B1798 003AE6F8 7F 84 E3 78 */ mr r4, r28
/* 803B179C 003AE6FC 7F A5 EB 78 */ mr r5, r29
/* 803B17A0 003AE700 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 803B17A4 003AE704 4B FF F9 4D */ bl inpSetMidiCtrl
/* 803B17A8 003AE708 48 00 00 54 */ b lbl_803B17FC
lbl_803B17AC:
/* 803B17AC 003AE70C 28 00 00 84 */ cmplwi r0, 0x84
/* 803B17B0 003AE710 41 82 00 0C */ beq lbl_803B17BC
/* 803B17B4 003AE714 28 00 00 85 */ cmplwi r0, 0x85
/* 803B17B8 003AE718 40 82 00 3C */ bne lbl_803B17F4
lbl_803B17BC:
/* 803B17BC 003AE71C 54 7F 06 3C */ rlwinm r31, r3, 0, 0x18, 0x1e
/* 803B17C0 003AE720 54 DE 04 3E */ clrlwi r30, r6, 0x10
/* 803B17C4 003AE724 7F E3 FB 78 */ mr r3, r31
/* 803B17C8 003AE728 7F 84 E3 78 */ mr r4, r28
/* 803B17CC 003AE72C 7F A5 EB 78 */ mr r5, r29
/* 803B17D0 003AE730 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f
/* 803B17D4 003AE734 4B FF F9 1D */ bl inpSetMidiCtrl
/* 803B17D8 003AE738 38 1F 00 01 */ addi r0, r31, 1
/* 803B17DC 003AE73C 57 C6 06 7E */ clrlwi r6, r30, 0x19
/* 803B17E0 003AE740 7F 84 E3 78 */ mr r4, r28
/* 803B17E4 003AE744 7F A5 EB 78 */ mr r5, r29
/* 803B17E8 003AE748 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 803B17EC 003AE74C 4B FF F9 05 */ bl inpSetMidiCtrl
/* 803B17F0 003AE750 48 00 00 0C */ b lbl_803B17FC
lbl_803B17F4:
/* 803B17F4 003AE754 54 C6 CE 3E */ rlwinm r6, r6, 0x19, 0x18, 0x1f
/* 803B17F8 003AE758 4B FF F8 F9 */ bl inpSetMidiCtrl
lbl_803B17FC:
/* 803B17FC 003AE75C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B1800 003AE760 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803B1804 003AE764 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803B1808 003AE768 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803B180C 003AE76C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803B1810 003AE770 7C 08 03 A6 */ mtlr r0
/* 803B1814 003AE774 38 21 00 20 */ addi r1, r1, 0x20
/* 803B1818 003AE778 4E 80 00 20 */ blr
.global inpResetMidiCtrl
inpResetMidiCtrl:
/* 803B181C 003AE77C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B1820 003AE780 7C 08 02 A6 */ mflr r0
/* 803B1824 003AE784 3C C0 80 3E */ lis r6, lbl_803D8B48@ha
/* 803B1828 003AE788 28 05 00 00 */ cmplwi r5, 0
/* 803B182C 003AE78C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B1830 003AE790 38 C6 8B 48 */ addi r6, r6, lbl_803D8B48@l
/* 803B1834 003AE794 93 E1 00 0C */ stw r31, 0xc(r1)
/* 803B1838 003AE798 7C 9F 23 78 */ mr r31, r4
/* 803B183C 003AE79C 93 C1 00 08 */ stw r30, 8(r1)
/* 803B1840 003AE7A0 7C 7E 1B 78 */ mr r30, r3
/* 803B1844 003AE7A4 41 82 00 0C */ beq lbl_803B1850
/* 803B1848 003AE7A8 3C 60 80 3E */ lis r3, lbl_803D8AC0@ha
/* 803B184C 003AE7AC 38 C3 8A C0 */ addi r6, r3, lbl_803D8AC0@l
lbl_803B1850:
/* 803B1850 003AE7B0 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 803B1854 003AE7B4 28 04 00 FF */ cmplwi r4, 0xff
/* 803B1858 003AE7B8 41 82 00 24 */ beq lbl_803B187C
/* 803B185C 003AE7BC 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 803B1860 003AE7C0 3C 60 80 56 */ lis r3, lbl_80560990@ha
/* 803B1864 003AE7C4 1C 84 08 60 */ mulli r4, r4, 0x860
/* 803B1868 003AE7C8 38 63 09 90 */ addi r3, r3, lbl_80560990@l
/* 803B186C 003AE7CC 1C 00 00 86 */ mulli r0, r0, 0x86
/* 803B1870 003AE7D0 7C 63 22 14 */ add r3, r3, r4
/* 803B1874 003AE7D4 7C 63 02 14 */ add r3, r3, r0
/* 803B1878 003AE7D8 48 00 00 18 */ b lbl_803B1890
lbl_803B187C:
/* 803B187C 003AE7DC 57 C0 06 3E */ clrlwi r0, r30, 0x18
/* 803B1880 003AE7E0 3C 60 80 56 */ lis r3, lbl_80564D10@ha
/* 803B1884 003AE7E4 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1888 003AE7E8 38 03 4D 10 */ addi r0, r3, lbl_80564D10@l
/* 803B188C 003AE7EC 7C 60 22 14 */ add r3, r0, r4
lbl_803B1890:
/* 803B1890 003AE7F0 28 05 00 00 */ cmplwi r5, 0
/* 803B1894 003AE7F4 41 82 00 14 */ beq lbl_803B18A8
/* 803B1898 003AE7F8 7C C4 33 78 */ mr r4, r6
/* 803B189C 003AE7FC 38 A0 00 86 */ li r5, 0x86
/* 803B18A0 003AE800 4B C5 1B F1 */ bl memcpy
/* 803B18A4 003AE804 48 00 00 40 */ b lbl_803B18E4
lbl_803B18A8:
/* 803B18A8 003AE808 38 00 00 43 */ li r0, 0x43
/* 803B18AC 003AE80C 38 80 00 00 */ li r4, 0
/* 803B18B0 003AE810 7C 09 03 A6 */ mtctr r0
lbl_803B18B4:
/* 803B18B4 003AE814 88 06 00 00 */ lbz r0, 0(r6)
/* 803B18B8 003AE818 28 00 00 FF */ cmplwi r0, 0xff
/* 803B18BC 003AE81C 41 82 00 08 */ beq lbl_803B18C4
/* 803B18C0 003AE820 98 03 00 00 */ stb r0, 0(r3)
lbl_803B18C4:
/* 803B18C4 003AE824 88 06 00 01 */ lbz r0, 1(r6)
/* 803B18C8 003AE828 28 00 00 FF */ cmplwi r0, 0xff
/* 803B18CC 003AE82C 41 82 00 08 */ beq lbl_803B18D4
/* 803B18D0 003AE830 98 03 00 01 */ stb r0, 1(r3)
lbl_803B18D4:
/* 803B18D4 003AE834 38 84 00 01 */ addi r4, r4, 1
/* 803B18D8 003AE838 38 63 00 02 */ addi r3, r3, 2
/* 803B18DC 003AE83C 38 C6 00 02 */ addi r6, r6, 2
/* 803B18E0 003AE840 42 00 FF D4 */ bdnz lbl_803B18B4
lbl_803B18E4:
/* 803B18E4 003AE844 7F C3 F3 78 */ mr r3, r30
/* 803B18E8 003AE848 7F E4 FB 78 */ mr r4, r31
/* 803B18EC 003AE84C 38 A0 00 FF */ li r5, 0xff
/* 803B18F0 003AE850 48 00 04 FD */ bl inpSetMidiLastNote
/* 803B18F4 003AE854 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B18F8 003AE858 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 803B18FC 003AE85C 83 C1 00 08 */ lwz r30, 8(r1)
/* 803B1900 003AE860 7C 08 03 A6 */ mtlr r0
/* 803B1904 003AE864 38 21 00 10 */ addi r1, r1, 0x10
/* 803B1908 003AE868 4E 80 00 20 */ blr
.global inpGetMidiCtrl
inpGetMidiCtrl:
/* 803B190C 003AE86C 54 88 06 3E */ clrlwi r8, r4, 0x18
/* 803B1910 003AE870 28 08 00 FF */ cmplwi r8, 0xff
/* 803B1914 003AE874 41 82 02 B4 */ beq lbl_803B1BC8
/* 803B1918 003AE878 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 803B191C 003AE87C 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1920 003AE880 41 82 01 70 */ beq lbl_803B1A90
/* 803B1924 003AE884 54 67 06 3E */ clrlwi r7, r3, 0x18
/* 803B1928 003AE888 28 07 00 40 */ cmplwi r7, 0x40
/* 803B192C 003AE88C 40 80 00 3C */ bge lbl_803B1968
/* 803B1930 003AE890 1C A0 08 60 */ mulli r5, r0, 0x860
/* 803B1934 003AE894 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B1938 003AE898 54 66 06 FE */ clrlwi r6, r3, 0x1b
/* 803B193C 003AE89C 38 04 09 90 */ addi r0, r4, lbl_80560990@l
/* 803B1940 003AE8A0 1C 68 00 86 */ mulli r3, r8, 0x86
/* 803B1944 003AE8A4 7C 00 2A 14 */ add r0, r0, r5
/* 803B1948 003AE8A8 7C 80 1A 14 */ add r4, r0, r3
/* 803B194C 003AE8AC 7C 64 32 14 */ add r3, r4, r6
/* 803B1950 003AE8B0 7C 84 30 AE */ lbzx r4, r4, r6
/* 803B1954 003AE8B4 88 03 00 20 */ lbz r0, 0x20(r3)
/* 803B1958 003AE8B8 54 83 38 30 */ slwi r3, r4, 7
/* 803B195C 003AE8BC 7C 60 03 78 */ or r0, r3, r0
/* 803B1960 003AE8C0 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1964 003AE8C4 4E 80 00 20 */ blr
lbl_803B1968:
/* 803B1968 003AE8C8 28 07 00 46 */ cmplwi r7, 0x46
/* 803B196C 003AE8CC 40 80 00 3C */ bge lbl_803B19A8
/* 803B1970 003AE8D0 1C C0 08 60 */ mulli r6, r0, 0x860
/* 803B1974 003AE8D4 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B1978 003AE8D8 38 60 00 40 */ li r3, 0x40
/* 803B197C 003AE8DC 38 A4 09 90 */ addi r5, r4, lbl_80560990@l
/* 803B1980 003AE8E0 1C 88 00 86 */ mulli r4, r8, 0x86
/* 803B1984 003AE8E4 38 00 3F FF */ li r0, 0x3fff
/* 803B1988 003AE8E8 7C A5 32 14 */ add r5, r5, r6
/* 803B198C 003AE8EC 7C 85 22 14 */ add r4, r5, r4
/* 803B1990 003AE8F0 7C 84 38 AE */ lbzx r4, r4, r7
/* 803B1994 003AE8F4 7C 63 20 10 */ subfc r3, r3, r4
/* 803B1998 003AE8F8 7C 63 19 10 */ subfe r3, r3, r3
/* 803B199C 003AE8FC 7C 00 18 78 */ andc r0, r0, r3
/* 803B19A0 003AE900 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B19A4 003AE904 4E 80 00 20 */ blr
lbl_803B19A8:
/* 803B19A8 003AE908 28 07 00 60 */ cmplwi r7, 0x60
/* 803B19AC 003AE90C 41 80 00 14 */ blt lbl_803B19C0
/* 803B19B0 003AE910 28 07 00 66 */ cmplwi r7, 0x66
/* 803B19B4 003AE914 40 80 00 0C */ bge lbl_803B19C0
/* 803B19B8 003AE918 38 60 00 00 */ li r3, 0
/* 803B19BC 003AE91C 4E 80 00 20 */ blr
lbl_803B19C0:
/* 803B19C0 003AE920 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803B19C4 003AE924 28 06 00 80 */ cmplwi r6, 0x80
/* 803B19C8 003AE928 41 82 00 0C */ beq lbl_803B19D4
/* 803B19CC 003AE92C 28 06 00 81 */ cmplwi r6, 0x81
/* 803B19D0 003AE930 40 82 00 44 */ bne lbl_803B1A14
lbl_803B19D4:
/* 803B19D4 003AE934 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 803B19D8 003AE938 54 85 06 3E */ clrlwi r5, r4, 0x18
/* 803B19DC 003AE93C 1C C0 08 60 */ mulli r6, r0, 0x860
/* 803B19E0 003AE940 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B19E4 003AE944 54 67 06 3C */ rlwinm r7, r3, 0, 0x18, 0x1e
/* 803B19E8 003AE948 38 04 09 90 */ addi r0, r4, lbl_80560990@l
/* 803B19EC 003AE94C 1C 65 00 86 */ mulli r3, r5, 0x86
/* 803B19F0 003AE950 7C 00 32 14 */ add r0, r0, r6
/* 803B19F4 003AE954 7C 80 1A 14 */ add r4, r0, r3
/* 803B19F8 003AE958 7C 64 3A 14 */ add r3, r4, r7
/* 803B19FC 003AE95C 7C 84 38 AE */ lbzx r4, r4, r7
/* 803B1A00 003AE960 88 03 00 01 */ lbz r0, 1(r3)
/* 803B1A04 003AE964 54 83 38 30 */ slwi r3, r4, 7
/* 803B1A08 003AE968 7C 60 03 78 */ or r0, r3, r0
/* 803B1A0C 003AE96C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1A10 003AE970 4E 80 00 20 */ blr
lbl_803B1A14:
/* 803B1A14 003AE974 28 06 00 84 */ cmplwi r6, 0x84
/* 803B1A18 003AE978 41 82 00 0C */ beq lbl_803B1A24
/* 803B1A1C 003AE97C 28 06 00 85 */ cmplwi r6, 0x85
/* 803B1A20 003AE980 40 82 00 44 */ bne lbl_803B1A64
lbl_803B1A24:
/* 803B1A24 003AE984 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 803B1A28 003AE988 54 85 06 3E */ clrlwi r5, r4, 0x18
/* 803B1A2C 003AE98C 1C C0 08 60 */ mulli r6, r0, 0x860
/* 803B1A30 003AE990 3C 80 80 56 */ lis r4, lbl_80560990@ha
/* 803B1A34 003AE994 54 67 06 3C */ rlwinm r7, r3, 0, 0x18, 0x1e
/* 803B1A38 003AE998 38 04 09 90 */ addi r0, r4, lbl_80560990@l
/* 803B1A3C 003AE99C 1C 65 00 86 */ mulli r3, r5, 0x86
/* 803B1A40 003AE9A0 7C 00 32 14 */ add r0, r0, r6
/* 803B1A44 003AE9A4 7C 80 1A 14 */ add r4, r0, r3
/* 803B1A48 003AE9A8 7C 64 3A 14 */ add r3, r4, r7
/* 803B1A4C 003AE9AC 7C 84 38 AE */ lbzx r4, r4, r7
/* 803B1A50 003AE9B0 88 03 00 01 */ lbz r0, 1(r3)
/* 803B1A54 003AE9B4 54 83 38 30 */ slwi r3, r4, 7
/* 803B1A58 003AE9B8 7C 60 03 78 */ or r0, r3, r0
/* 803B1A5C 003AE9BC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1A60 003AE9C0 4E 80 00 20 */ blr
lbl_803B1A64:
/* 803B1A64 003AE9C4 54 A3 06 3E */ clrlwi r3, r5, 0x18
/* 803B1A68 003AE9C8 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1A6C 003AE9CC 1C 83 08 60 */ mulli r4, r3, 0x860
/* 803B1A70 003AE9D0 3C 60 80 56 */ lis r3, lbl_80560990@ha
/* 803B1A74 003AE9D4 38 63 09 90 */ addi r3, r3, lbl_80560990@l
/* 803B1A78 003AE9D8 1C 00 00 86 */ mulli r0, r0, 0x86
/* 803B1A7C 003AE9DC 7C 63 22 14 */ add r3, r3, r4
/* 803B1A80 003AE9E0 7C 63 02 14 */ add r3, r3, r0
/* 803B1A84 003AE9E4 7C 03 30 AE */ lbzx r0, r3, r6
/* 803B1A88 003AE9E8 54 03 3C 30 */ rlwinm r3, r0, 7, 0x10, 0x18
/* 803B1A8C 003AE9EC 4E 80 00 20 */ blr
lbl_803B1A90:
/* 803B1A90 003AE9F0 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803B1A94 003AE9F4 28 06 00 40 */ cmplwi r6, 0x40
/* 803B1A98 003AE9F8 40 80 00 34 */ bge lbl_803B1ACC
/* 803B1A9C 003AE9FC 1C C8 00 86 */ mulli r6, r8, 0x86
/* 803B1AA0 003AEA00 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1AA4 003AEA04 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 803B1AA8 003AEA08 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1AAC 003AEA0C 7C 80 32 14 */ add r4, r0, r6
/* 803B1AB0 003AEA10 7C 64 2A 14 */ add r3, r4, r5
/* 803B1AB4 003AEA14 7C 84 28 AE */ lbzx r4, r4, r5
/* 803B1AB8 003AEA18 88 03 00 20 */ lbz r0, 0x20(r3)
/* 803B1ABC 003AEA1C 54 83 38 30 */ slwi r3, r4, 7
/* 803B1AC0 003AEA20 7C 60 03 78 */ or r0, r3, r0
/* 803B1AC4 003AEA24 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1AC8 003AEA28 4E 80 00 20 */ blr
lbl_803B1ACC:
/* 803B1ACC 003AEA2C 28 06 00 46 */ cmplwi r6, 0x46
/* 803B1AD0 003AEA30 40 80 00 34 */ bge lbl_803B1B04
/* 803B1AD4 003AEA34 1C A8 00 86 */ mulli r5, r8, 0x86
/* 803B1AD8 003AEA38 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1ADC 003AEA3C 38 60 00 40 */ li r3, 0x40
/* 803B1AE0 003AEA40 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1AE4 003AEA44 7C 80 2A 14 */ add r4, r0, r5
/* 803B1AE8 003AEA48 38 00 3F FF */ li r0, 0x3fff
/* 803B1AEC 003AEA4C 7C 84 30 AE */ lbzx r4, r4, r6
/* 803B1AF0 003AEA50 7C 63 20 10 */ subfc r3, r3, r4
/* 803B1AF4 003AEA54 7C 63 19 10 */ subfe r3, r3, r3
/* 803B1AF8 003AEA58 7C 00 18 78 */ andc r0, r0, r3
/* 803B1AFC 003AEA5C 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1B00 003AEA60 4E 80 00 20 */ blr
lbl_803B1B04:
/* 803B1B04 003AEA64 28 06 00 60 */ cmplwi r6, 0x60
/* 803B1B08 003AEA68 41 80 00 14 */ blt lbl_803B1B1C
/* 803B1B0C 003AEA6C 28 06 00 66 */ cmplwi r6, 0x66
/* 803B1B10 003AEA70 40 80 00 0C */ bge lbl_803B1B1C
/* 803B1B14 003AEA74 38 60 00 00 */ li r3, 0
/* 803B1B18 003AEA78 4E 80 00 20 */ blr
lbl_803B1B1C:
/* 803B1B1C 003AEA7C 54 65 06 3E */ clrlwi r5, r3, 0x18
/* 803B1B20 003AEA80 28 05 00 80 */ cmplwi r5, 0x80
/* 803B1B24 003AEA84 41 82 00 0C */ beq lbl_803B1B30
/* 803B1B28 003AEA88 28 05 00 81 */ cmplwi r5, 0x81
/* 803B1B2C 003AEA8C 40 82 00 38 */ bne lbl_803B1B64
lbl_803B1B30:
/* 803B1B30 003AEA90 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1B34 003AEA94 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1B38 003AEA98 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1B3C 003AEA9C 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1B40 003AEAA0 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1B44 003AEAA4 7C 80 32 14 */ add r4, r0, r6
/* 803B1B48 003AEAA8 7C 64 2A 14 */ add r3, r4, r5
/* 803B1B4C 003AEAAC 7C 84 28 AE */ lbzx r4, r4, r5
/* 803B1B50 003AEAB0 88 03 00 01 */ lbz r0, 1(r3)
/* 803B1B54 003AEAB4 54 83 38 30 */ slwi r3, r4, 7
/* 803B1B58 003AEAB8 7C 60 03 78 */ or r0, r3, r0
/* 803B1B5C 003AEABC 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1B60 003AEAC0 4E 80 00 20 */ blr
lbl_803B1B64:
/* 803B1B64 003AEAC4 28 05 00 84 */ cmplwi r5, 0x84
/* 803B1B68 003AEAC8 41 82 00 0C */ beq lbl_803B1B74
/* 803B1B6C 003AEACC 28 05 00 85 */ cmplwi r5, 0x85
/* 803B1B70 003AEAD0 40 82 00 38 */ bne lbl_803B1BA8
lbl_803B1B74:
/* 803B1B74 003AEAD4 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1B78 003AEAD8 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1B7C 003AEADC 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1B80 003AEAE0 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1B84 003AEAE4 38 04 4D 10 */ addi r0, r4, lbl_80564D10@l
/* 803B1B88 003AEAE8 7C 80 32 14 */ add r4, r0, r6
/* 803B1B8C 003AEAEC 7C 64 2A 14 */ add r3, r4, r5
/* 803B1B90 003AEAF0 7C 84 28 AE */ lbzx r4, r4, r5
/* 803B1B94 003AEAF4 88 03 00 01 */ lbz r0, 1(r3)
/* 803B1B98 003AEAF8 54 83 38 30 */ slwi r3, r4, 7
/* 803B1B9C 003AEAFC 7C 60 03 78 */ or r0, r3, r0
/* 803B1BA0 003AEB00 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B1BA4 003AEB04 4E 80 00 20 */ blr
lbl_803B1BA8:
/* 803B1BA8 003AEB08 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1BAC 003AEB0C 3C 60 80 56 */ lis r3, lbl_80564D10@ha
/* 803B1BB0 003AEB10 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1BB4 003AEB14 38 03 4D 10 */ addi r0, r3, lbl_80564D10@l
/* 803B1BB8 003AEB18 7C 60 22 14 */ add r3, r0, r4
/* 803B1BBC 003AEB1C 7C 03 28 AE */ lbzx r0, r3, r5
/* 803B1BC0 003AEB20 54 03 3C 30 */ rlwinm r3, r0, 7, 0x10, 0x18
/* 803B1BC4 003AEB24 4E 80 00 20 */ blr
lbl_803B1BC8:
/* 803B1BC8 003AEB28 38 60 00 00 */ li r3, 0
/* 803B1BCC 003AEB2C 4E 80 00 20 */ blr
.global sub_803b1bd0
sub_803b1bd0:
/* 803B1BD0 003AEB30 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1BD4 003AEB34 3C A0 80 56 */ lis r5, lbl_80564C90@ha
/* 803B1BD8 003AEB38 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1BDC 003AEB3C 54 86 25 36 */ rlwinm r6, r4, 4, 0x14, 0x1b
/* 803B1BE0 003AEB40 38 05 4C 90 */ addi r0, r5, lbl_80564C90@l
/* 803B1BE4 003AEB44 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 803B1BE8 003AEB48 7C 00 32 14 */ add r0, r0, r6
/* 803B1BEC 003AEB4C 7C 60 22 14 */ add r3, r0, r4
/* 803B1BF0 003AEB50 4C 82 00 20 */ bnelr
/* 803B1BF4 003AEB54 3C 60 80 56 */ lis r3, inpFXChannelDefaults@ha
/* 803B1BF8 003AEB58 38 03 6E 90 */ addi r0, r3, inpFXChannelDefaults@l
/* 803B1BFC 003AEB5C 7C 60 22 14 */ add r3, r0, r4
/* 803B1C00 003AEB60 4E 80 00 20 */ blr
.global inpResetChannelDefaults
inpResetChannelDefaults:
/* 803B1C04 003AEB64 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1C08 003AEB68 3C A0 80 56 */ lis r5, inpFXChannelDefaults@ha
/* 803B1C0C 003AEB6C 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1C10 003AEB70 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803B1C14 003AEB74 38 05 6E 90 */ addi r0, r5, inpFXChannelDefaults@l
/* 803B1C18 003AEB78 38 A0 00 02 */ li r5, 2
/* 803B1C1C 003AEB7C 7C 60 32 14 */ add r3, r0, r6
/* 803B1C20 003AEB80 41 82 00 18 */ beq lbl_803B1C38
/* 803B1C24 003AEB84 3C 60 80 56 */ lis r3, lbl_80564C90@ha
/* 803B1C28 003AEB88 54 84 25 36 */ rlwinm r4, r4, 4, 0x14, 0x1b
/* 803B1C2C 003AEB8C 38 03 4C 90 */ addi r0, r3, lbl_80564C90@l
/* 803B1C30 003AEB90 7C 00 22 14 */ add r0, r0, r4
/* 803B1C34 003AEB94 7C 60 32 14 */ add r3, r0, r6
lbl_803B1C38:
/* 803B1C38 003AEB98 98 A3 00 00 */ stb r5, 0(r3)
/* 803B1C3C 003AEB9C 4E 80 00 20 */ blr
.global inpAddCtrl
inpAddCtrl:
/* 803B1C40 003AEBA0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803B1C44 003AEBA4 7C 08 02 A6 */ mflr r0
/* 803B1C48 003AEBA8 90 01 00 24 */ stw r0, 0x24(r1)
/* 803B1C4C 003AEBAC 39 61 00 20 */ addi r11, r1, 0x20
/* 803B1C50 003AEBB0 4B FD 7E 2D */ bl _savegpr_27
/* 803B1C54 003AEBB4 54 C0 06 3F */ clrlwi. r0, r6, 0x18
/* 803B1C58 003AEBB8 7C DD 33 78 */ mr r29, r6
/* 803B1C5C 003AEBBC 7C 7B 1B 78 */ mr r27, r3
/* 803B1C60 003AEBC0 7C BC 2B 78 */ mr r28, r5
/* 803B1C64 003AEBC4 7C FE 3B 78 */ mr r30, r7
/* 803B1C68 003AEBC8 40 82 00 0C */ bne lbl_803B1C74
/* 803B1C6C 003AEBCC 38 00 00 00 */ li r0, 0
/* 803B1C70 003AEBD0 98 1B 00 22 */ stb r0, 0x22(r27)
lbl_803B1C74:
/* 803B1C74 003AEBD4 8B FB 00 22 */ lbz r31, 0x22(r27)
/* 803B1C78 003AEBD8 28 1F 00 04 */ cmplwi r31, 4
/* 803B1C7C 003AEBDC 40 80 00 44 */ bge lbl_803B1CC0
/* 803B1C80 003AEBE0 38 1F 00 01 */ addi r0, r31, 1
/* 803B1C84 003AEBE4 28 1E 00 00 */ cmplwi r30, 0
/* 803B1C88 003AEBE8 98 1B 00 22 */ stb r0, 0x22(r27)
/* 803B1C8C 003AEBEC 40 82 00 10 */ bne lbl_803B1C9C
/* 803B1C90 003AEBF0 7C 83 23 78 */ mr r3, r4
/* 803B1C94 003AEBF4 48 00 0D BD */ bl inpTranslateExCtrl
/* 803B1C98 003AEBF8 7C 64 1B 78 */ mr r4, r3
lbl_803B1C9C:
/* 803B1C9C 003AEBFC 28 1E 00 00 */ cmplwi r30, 0
/* 803B1CA0 003AEC00 41 82 00 0C */ beq lbl_803B1CAC
/* 803B1CA4 003AEC04 63 A0 00 10 */ ori r0, r29, 0x10
/* 803B1CA8 003AEC08 54 1D 06 3E */ clrlwi r29, r0, 0x18
lbl_803B1CAC:
/* 803B1CAC 003AEC0C 57 E0 1D 78 */ rlwinm r0, r31, 3, 0x15, 0x1c
/* 803B1CB0 003AEC10 7C 9B 01 AE */ stbx r4, r27, r0
/* 803B1CB4 003AEC14 7C 7B 02 14 */ add r3, r27, r0
/* 803B1CB8 003AEC18 9B A3 00 01 */ stb r29, 1(r3)
/* 803B1CBC 003AEC1C 93 83 00 04 */ stw r28, 4(r3)
lbl_803B1CC0:
/* 803B1CC0 003AEC20 39 61 00 20 */ addi r11, r1, 0x20
/* 803B1CC4 003AEC24 4B FD 7E 05 */ bl _restgpr_27
/* 803B1CC8 003AEC28 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B1CCC 003AEC2C 7C 08 03 A6 */ mtlr r0
/* 803B1CD0 003AEC30 38 21 00 20 */ addi r1, r1, 0x20
/* 803B1CD4 003AEC34 4E 80 00 20 */ blr
.global inpFXCopyCtrl
inpFXCopyCtrl:
/* 803B1CD8 003AEC38 54 66 06 3E */ clrlwi r6, r3, 0x18
/* 803B1CDC 003AEC3C 80 84 00 F4 */ lwz r4, 0xf4(r4)
/* 803B1CE0 003AEC40 80 05 00 F4 */ lwz r0, 0xf4(r5)
/* 803B1CE4 003AEC44 28 06 00 40 */ cmplwi r6, 0x40
/* 803B1CE8 003AEC48 54 87 06 3E */ clrlwi r7, r4, 0x18
/* 803B1CEC 003AEC4C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 803B1CF0 003AEC50 40 80 00 40 */ bge lbl_803B1D30
/* 803B1CF4 003AEC54 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1CF8 003AEC58 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1CFC 003AEC5C 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 803B1D00 003AEC60 38 84 4D 10 */ addi r4, r4, lbl_80564D10@l
/* 803B1D04 003AEC64 1C E7 00 86 */ mulli r7, r7, 0x86
/* 803B1D08 003AEC68 7C 64 32 14 */ add r3, r4, r6
/* 803B1D0C 003AEC6C 7C 03 28 AE */ lbzx r0, r3, r5
/* 803B1D10 003AEC70 39 04 00 20 */ addi r8, r4, 0x20
/* 803B1D14 003AEC74 7C 84 3A 14 */ add r4, r4, r7
/* 803B1D18 003AEC78 7C 66 2A 14 */ add r3, r6, r5
/* 803B1D1C 003AEC7C 7C 04 29 AE */ stbx r0, r4, r5
/* 803B1D20 003AEC80 7C 07 2A 14 */ add r0, r7, r5
/* 803B1D24 003AEC84 7C 68 18 AE */ lbzx r3, r8, r3
/* 803B1D28 003AEC88 7C 68 01 AE */ stbx r3, r8, r0
/* 803B1D2C 003AEC8C 4E 80 00 20 */ blr
lbl_803B1D30:
/* 803B1D30 003AEC90 28 06 00 80 */ cmplwi r6, 0x80
/* 803B1D34 003AEC94 41 82 00 0C */ beq lbl_803B1D40
/* 803B1D38 003AEC98 28 06 00 81 */ cmplwi r6, 0x81
/* 803B1D3C 003AEC9C 40 82 00 40 */ bne lbl_803B1D7C
lbl_803B1D40:
/* 803B1D40 003AECA0 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1D44 003AECA4 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1D48 003AECA8 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1D4C 003AECAC 38 84 4D 10 */ addi r4, r4, lbl_80564D10@l
/* 803B1D50 003AECB0 7C 64 32 14 */ add r3, r4, r6
/* 803B1D54 003AECB4 1C E7 00 86 */ mulli r7, r7, 0x86
/* 803B1D58 003AECB8 7C 03 28 AE */ lbzx r0, r3, r5
/* 803B1D5C 003AECBC 39 04 00 01 */ addi r8, r4, 1
/* 803B1D60 003AECC0 7C 64 3A 14 */ add r3, r4, r7
/* 803B1D64 003AECC4 7C 03 29 AE */ stbx r0, r3, r5
/* 803B1D68 003AECC8 7C 66 2A 14 */ add r3, r6, r5
/* 803B1D6C 003AECCC 7C 07 2A 14 */ add r0, r7, r5
/* 803B1D70 003AECD0 7C 68 18 AE */ lbzx r3, r8, r3
/* 803B1D74 003AECD4 7C 68 01 AE */ stbx r3, r8, r0
/* 803B1D78 003AECD8 4E 80 00 20 */ blr
lbl_803B1D7C:
/* 803B1D7C 003AECDC 28 06 00 84 */ cmplwi r6, 0x84
/* 803B1D80 003AECE0 41 82 00 0C */ beq lbl_803B1D8C
/* 803B1D84 003AECE4 28 06 00 85 */ cmplwi r6, 0x85
/* 803B1D88 003AECE8 40 82 00 40 */ bne lbl_803B1DC8
lbl_803B1D8C:
/* 803B1D8C 003AECEC 1C C0 00 86 */ mulli r6, r0, 0x86
/* 803B1D90 003AECF0 3C 80 80 56 */ lis r4, lbl_80564D10@ha
/* 803B1D94 003AECF4 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1D98 003AECF8 38 84 4D 10 */ addi r4, r4, lbl_80564D10@l
/* 803B1D9C 003AECFC 7C 64 32 14 */ add r3, r4, r6
/* 803B1DA0 003AED00 1C E7 00 86 */ mulli r7, r7, 0x86
/* 803B1DA4 003AED04 7C 03 28 AE */ lbzx r0, r3, r5
/* 803B1DA8 003AED08 39 04 00 01 */ addi r8, r4, 1
/* 803B1DAC 003AED0C 7C 64 3A 14 */ add r3, r4, r7
/* 803B1DB0 003AED10 7C 03 29 AE */ stbx r0, r3, r5
/* 803B1DB4 003AED14 7C 66 2A 14 */ add r3, r6, r5
/* 803B1DB8 003AED18 7C 07 2A 14 */ add r0, r7, r5
/* 803B1DBC 003AED1C 7C 68 18 AE */ lbzx r3, r8, r3
/* 803B1DC0 003AED20 7C 68 01 AE */ stbx r3, r8, r0
/* 803B1DC4 003AED24 4E 80 00 20 */ blr
lbl_803B1DC8:
/* 803B1DC8 003AED28 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1DCC 003AED2C 3C 60 80 56 */ lis r3, lbl_80564D10@ha
/* 803B1DD0 003AED30 38 A3 4D 10 */ addi r5, r3, lbl_80564D10@l
/* 803B1DD4 003AED34 1C 07 00 86 */ mulli r0, r7, 0x86
/* 803B1DD8 003AED38 7C 65 22 14 */ add r3, r5, r4
/* 803B1DDC 003AED3C 7C 83 30 AE */ lbzx r4, r3, r6
/* 803B1DE0 003AED40 7C 65 02 14 */ add r3, r5, r0
/* 803B1DE4 003AED44 7C 83 31 AE */ stbx r4, r3, r6
/* 803B1DE8 003AED48 4E 80 00 20 */ blr
.global inpSetMidiLastNote
inpSetMidiLastNote:
/* 803B1DEC 003AED4C 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1DF0 003AED50 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1DF4 003AED54 41 82 00 20 */ beq lbl_803B1E14
/* 803B1DF8 003AED58 3C C0 80 56 */ lis r6, lbl_80566ED0@ha
/* 803B1DFC 003AED5C 54 87 25 36 */ rlwinm r7, r4, 4, 0x14, 0x1b
/* 803B1E00 003AED60 38 86 6E D0 */ addi r4, r6, lbl_80566ED0@l
/* 803B1E04 003AED64 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E08 003AED68 7C 64 3A 14 */ add r3, r4, r7
/* 803B1E0C 003AED6C 7C A3 01 AE */ stbx r5, r3, r0
/* 803B1E10 003AED70 4E 80 00 20 */ blr
lbl_803B1E14:
/* 803B1E14 003AED74 3C 80 80 56 */ lis r4, lbl_80566F50@ha
/* 803B1E18 003AED78 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E1C 003AED7C 38 64 6F 50 */ addi r3, r4, lbl_80566F50@l
/* 803B1E20 003AED80 7C A3 01 AE */ stbx r5, r3, r0
/* 803B1E24 003AED84 4E 80 00 20 */ blr
.global inpGetMidiLastNote
inpGetMidiLastNote:
/* 803B1E28 003AED88 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1E2C 003AED8C 28 00 00 FF */ cmplwi r0, 0xff
/* 803B1E30 003AED90 41 82 00 20 */ beq lbl_803B1E50
/* 803B1E34 003AED94 3C A0 80 56 */ lis r5, lbl_80566ED0@ha
/* 803B1E38 003AED98 54 86 25 36 */ rlwinm r6, r4, 4, 0x14, 0x1b
/* 803B1E3C 003AED9C 38 85 6E D0 */ addi r4, r5, lbl_80566ED0@l
/* 803B1E40 003AEDA0 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E44 003AEDA4 7C 64 32 14 */ add r3, r4, r6
/* 803B1E48 003AEDA8 7C 63 00 AE */ lbzx r3, r3, r0
/* 803B1E4C 003AEDAC 4E 80 00 20 */ blr
lbl_803B1E50:
/* 803B1E50 003AEDB0 3C 80 80 56 */ lis r4, lbl_80566F50@ha
/* 803B1E54 003AEDB4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E58 003AEDB8 38 64 6F 50 */ addi r3, r4, lbl_80566F50@l
/* 803B1E5C 003AEDBC 7C 63 00 AE */ lbzx r3, r3, r0
/* 803B1E60 003AEDC0 4E 80 00 20 */ blr
.global _GetInputValue
_GetInputValue:
/* 803B1E64 003AEDC4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803B1E68 003AEDC8 7C 08 02 A6 */ mflr r0
/* 803B1E6C 003AEDCC 90 01 00 34 */ stw r0, 0x34(r1)
/* 803B1E70 003AEDD0 39 61 00 30 */ addi r11, r1, 0x30
/* 803B1E74 003AEDD4 4B FD 7B FD */ bl _savegpr_24
/* 803B1E78 003AEDD8 7C 99 23 78 */ mr r25, r4
/* 803B1E7C 003AEDDC 7C 78 1B 78 */ mr r24, r3
/* 803B1E80 003AEDE0 7C BA 2B 78 */ mr r26, r5
/* 803B1E84 003AEDE4 7C DB 33 78 */ mr r27, r6
/* 803B1E88 003AEDE8 7F 3F CB 78 */ mr r31, r25
/* 803B1E8C 003AEDEC 3B C0 00 00 */ li r30, 0
/* 803B1E90 003AEDF0 3B A0 00 00 */ li r29, 0
/* 803B1E94 003AEDF4 48 00 04 44 */ b lbl_803B22D8
lbl_803B1E98:
/* 803B1E98 003AEDF8 88 1F 00 01 */ lbz r0, 1(r31)
/* 803B1E9C 003AEDFC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
/* 803B1EA0 003AEE00 41 82 00 30 */ beq lbl_803B1ED0
/* 803B1EA4 003AEE04 28 18 00 00 */ cmplwi r24, 0
/* 803B1EA8 003AEE08 41 82 00 1C */ beq lbl_803B1EC4
/* 803B1EAC 003AEE0C 88 BF 00 00 */ lbz r5, 0(r31)
/* 803B1EB0 003AEE10 7F 03 C3 78 */ mr r3, r24
/* 803B1EB4 003AEE14 38 80 00 00 */ li r4, 0
/* 803B1EB8 003AEE18 4B FF 35 A1 */ bl varGet
/* 803B1EBC 003AEE1C 7C 60 07 34 */ extsh r0, r3
/* 803B1EC0 003AEE20 48 00 00 08 */ b lbl_803B1EC8
lbl_803B1EC4:
/* 803B1EC4 003AEE24 38 00 00 00 */ li r0, 0
lbl_803B1EC8:
/* 803B1EC8 003AEE28 7C 03 03 78 */ mr r3, r0
/* 803B1ECC 003AEE2C 48 00 00 90 */ b lbl_803B1F5C
lbl_803B1ED0:
/* 803B1ED0 003AEE30 88 7F 00 00 */ lbz r3, 0(r31)
/* 803B1ED4 003AEE34 28 03 00 80 */ cmplwi r3, 0x80
/* 803B1ED8 003AEE38 41 82 00 2C */ beq lbl_803B1F04
/* 803B1EDC 003AEE3C 28 03 00 01 */ cmplwi r3, 1
/* 803B1EE0 003AEE40 41 82 00 24 */ beq lbl_803B1F04
/* 803B1EE4 003AEE44 28 03 00 0A */ cmplwi r3, 0xa
/* 803B1EE8 003AEE48 41 82 00 1C */ beq lbl_803B1F04
/* 803B1EEC 003AEE4C 38 03 FF 60 */ addi r0, r3, -160
/* 803B1EF0 003AEE50 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 803B1EF4 003AEE54 28 00 00 01 */ cmplwi r0, 1
/* 803B1EF8 003AEE58 40 81 00 0C */ ble lbl_803B1F04
/* 803B1EFC 003AEE5C 28 03 00 83 */ cmplwi r3, 0x83
/* 803B1F00 003AEE60 40 82 01 C4 */ bne lbl_803B20C4
lbl_803B1F04:
/* 803B1F04 003AEE64 2C 03 00 A2 */ cmpwi r3, 0xa2
/* 803B1F08 003AEE68 40 80 00 40 */ bge lbl_803B1F48
/* 803B1F0C 003AEE6C 2C 03 00 A0 */ cmpwi r3, 0xa0
/* 803B1F10 003AEE70 40 80 00 08 */ bge lbl_803B1F18
/* 803B1F14 003AEE74 48 00 00 34 */ b lbl_803B1F48
lbl_803B1F18:
/* 803B1F18 003AEE78 28 18 00 00 */ cmplwi r24, 0
/* 803B1F1C 003AEE7C 41 82 00 24 */ beq lbl_803B1F40
/* 803B1F20 003AEE80 1C 83 00 0C */ mulli r4, r3, 0xc
/* 803B1F24 003AEE84 38 03 01 34 */ addi r0, r3, 0x134
/* 803B1F28 003AEE88 38 60 00 01 */ li r3, 1
/* 803B1F2C 003AEE8C 38 84 FA 44 */ addi r4, r4, -1468
/* 803B1F30 003AEE90 7C 98 22 AE */ lhax r4, r24, r4
/* 803B1F34 003AEE94 7C 78 01 AE */ stbx r3, r24, r0
/* 803B1F38 003AEE98 54 83 08 3C */ slwi r3, r4, 1
/* 803B1F3C 003AEE9C 48 00 00 20 */ b lbl_803B1F5C
lbl_803B1F40:
/* 803B1F40 003AEEA0 38 60 00 00 */ li r3, 0
/* 803B1F44 003AEEA4 48 00 00 18 */ b lbl_803B1F5C
lbl_803B1F48:
/* 803B1F48 003AEEA8 7F 44 D3 78 */ mr r4, r26
/* 803B1F4C 003AEEAC 7F 65 DB 78 */ mr r5, r27
/* 803B1F50 003AEEB0 4B FF F9 BD */ bl inpGetMidiCtrl
/* 803B1F54 003AEEB4 54 63 04 3E */ clrlwi r3, r3, 0x10
/* 803B1F58 003AEEB8 38 63 E0 00 */ addi r3, r3, -8192
lbl_803B1F5C:
/* 803B1F5C 003AEEBC 80 1F 00 04 */ lwz r0, 4(r31)
/* 803B1F60 003AEEC0 7C 00 0E 70 */ srawi r0, r0, 1
/* 803B1F64 003AEEC4 7C 03 01 D6 */ mullw r0, r3, r0
/* 803B1F68 003AEEC8 7C 00 7E 70 */ srawi r0, r0, 0xf
/* 803B1F6C 003AEECC 2C 00 E0 00 */ cmpwi r0, -8192
/* 803B1F70 003AEED0 40 80 00 0C */ bge lbl_803B1F7C
/* 803B1F74 003AEED4 38 60 E0 00 */ li r3, -8192
/* 803B1F78 003AEED8 48 00 00 14 */ b lbl_803B1F8C
lbl_803B1F7C:
/* 803B1F7C 003AEEDC 2C 00 1F FF */ cmpwi r0, 0x1fff
/* 803B1F80 003AEEE0 38 60 1F FF */ li r3, 0x1fff
/* 803B1F84 003AEEE4 41 81 00 08 */ bgt lbl_803B1F8C
/* 803B1F88 003AEEE8 7C 03 03 78 */ mr r3, r0
lbl_803B1F8C:
/* 803B1F8C 003AEEEC 88 1F 00 01 */ lbz r0, 1(r31)
/* 803B1F90 003AEEF0 54 00 07 3E */ clrlwi r0, r0, 0x1c
/* 803B1F94 003AEEF4 2C 00 00 02 */ cmpwi r0, 2
/* 803B1F98 003AEEF8 41 82 00 88 */ beq lbl_803B2020
/* 803B1F9C 003AEEFC 40 80 00 14 */ bge lbl_803B1FB0
/* 803B1FA0 003AEF00 2C 00 00 00 */ cmpwi r0, 0
/* 803B1FA4 003AEF04 41 82 00 18 */ beq lbl_803B1FBC
/* 803B1FA8 003AEF08 40 80 00 20 */ bge lbl_803B1FC8
/* 803B1FAC 003AEF0C 48 00 03 24 */ b lbl_803B22D0
lbl_803B1FB0:
/* 803B1FB0 003AEF10 2C 00 00 04 */ cmpwi r0, 4
/* 803B1FB4 003AEF14 40 80 03 1C */ bge lbl_803B22D0
/* 803B1FB8 003AEF18 48 00 00 B4 */ b lbl_803B206C
lbl_803B1FBC:
/* 803B1FBC 003AEF1C 3B C3 20 00 */ addi r30, r3, 0x2000
/* 803B1FC0 003AEF20 3B 80 00 01 */ li r28, 1
/* 803B1FC4 003AEF24 48 00 03 0C */ b lbl_803B22D0
lbl_803B1FC8:
/* 803B1FC8 003AEF28 28 1C 00 00 */ cmplwi r28, 0
/* 803B1FCC 003AEF2C 41 82 00 34 */ beq lbl_803B2000
/* 803B1FD0 003AEF30 7C 9E 1A 14 */ add r4, r30, r3
/* 803B1FD4 003AEF34 38 84 E0 00 */ addi r4, r4, -8192
/* 803B1FD8 003AEF38 2C 04 E0 00 */ cmpwi r4, -8192
/* 803B1FDC 003AEF3C 40 80 00 0C */ bge lbl_803B1FE8
/* 803B1FE0 003AEF40 38 60 E0 00 */ li r3, -8192
/* 803B1FE4 003AEF44 48 00 00 14 */ b lbl_803B1FF8
lbl_803B1FE8:
/* 803B1FE8 003AEF48 2C 04 1F FF */ cmpwi r4, 0x1fff
/* 803B1FEC 003AEF4C 38 60 1F FF */ li r3, 0x1fff
/* 803B1FF0 003AEF50 41 81 00 08 */ bgt lbl_803B1FF8
/* 803B1FF4 003AEF54 7C 83 23 78 */ mr r3, r4
lbl_803B1FF8:
/* 803B1FF8 003AEF58 3B C3 20 00 */ addi r30, r3, 0x2000
/* 803B1FFC 003AEF5C 48 00 02 D4 */ b lbl_803B22D0
lbl_803B2000:
/* 803B2000 003AEF60 7C 7E 1A 14 */ add r3, r30, r3
/* 803B2004 003AEF64 2C 03 3F FF */ cmpwi r3, 0x3fff
/* 803B2008 003AEF68 40 81 00 0C */ ble lbl_803B2014
/* 803B200C 003AEF6C 3B C0 3F FF */ li r30, 0x3fff
/* 803B2010 003AEF70 48 00 02 C0 */ b lbl_803B22D0
lbl_803B2014:
/* 803B2014 003AEF74 7C 60 FE 70 */ srawi r0, r3, 0x1f
/* 803B2018 003AEF78 7C 7E 00 78 */ andc r30, r3, r0
/* 803B201C 003AEF7C 48 00 02 B4 */ b lbl_803B22D0
lbl_803B2020:
/* 803B2020 003AEF80 28 1C 00 00 */ cmplwi r28, 0
/* 803B2024 003AEF84 41 82 00 14 */ beq lbl_803B2038
/* 803B2028 003AEF88 38 1E E0 00 */ addi r0, r30, -8192
/* 803B202C 003AEF8C 7C 00 19 D6 */ mullw r0, r0, r3
/* 803B2030 003AEF90 7C 00 6E 70 */ srawi r0, r0, 0xd
/* 803B2034 003AEF94 48 00 00 10 */ b lbl_803B2044
lbl_803B2038:
/* 803B2038 003AEF98 7C 03 F1 D6 */ mullw r0, r3, r30
/* 803B203C 003AEF9C 3B 80 00 01 */ li r28, 1
/* 803B2040 003AEFA0 54 00 9B 7E */ srwi r0, r0, 0xd
lbl_803B2044:
/* 803B2044 003AEFA4 2C 00 E0 00 */ cmpwi r0, -8192
/* 803B2048 003AEFA8 40 80 00 0C */ bge lbl_803B2054
/* 803B204C 003AEFAC 38 60 E0 00 */ li r3, -8192
/* 803B2050 003AEFB0 48 00 00 14 */ b lbl_803B2064
lbl_803B2054:
/* 803B2054 003AEFB4 2C 00 1F FF */ cmpwi r0, 0x1fff
/* 803B2058 003AEFB8 38 60 1F FF */ li r3, 0x1fff
/* 803B205C 003AEFBC 41 81 00 08 */ bgt lbl_803B2064
/* 803B2060 003AEFC0 7C 03 03 78 */ mr r3, r0
lbl_803B2064:
/* 803B2064 003AEFC4 3B C3 20 00 */ addi r30, r3, 0x2000
/* 803B2068 003AEFC8 48 00 02 68 */ b lbl_803B22D0
lbl_803B206C:
/* 803B206C 003AEFCC 28 1C 00 00 */ cmplwi r28, 0
/* 803B2070 003AEFD0 41 82 00 34 */ beq lbl_803B20A4
/* 803B2074 003AEFD4 38 1E E0 00 */ addi r0, r30, -8192
/* 803B2078 003AEFD8 7C 03 00 50 */ subf r0, r3, r0
/* 803B207C 003AEFDC 2C 00 E0 00 */ cmpwi r0, -8192
/* 803B2080 003AEFE0 40 80 00 0C */ bge lbl_803B208C
/* 803B2084 003AEFE4 38 60 E0 00 */ li r3, -8192
/* 803B2088 003AEFE8 48 00 00 14 */ b lbl_803B209C
lbl_803B208C:
/* 803B208C 003AEFEC 2C 00 1F FF */ cmpwi r0, 0x1fff
/* 803B2090 003AEFF0 38 60 1F FF */ li r3, 0x1fff
/* 803B2094 003AEFF4 41 81 00 08 */ bgt lbl_803B209C
/* 803B2098 003AEFF8 7C 03 03 78 */ mr r3, r0
lbl_803B209C:
/* 803B209C 003AEFFC 3B C3 20 00 */ addi r30, r3, 0x2000
/* 803B20A0 003AF000 48 00 02 30 */ b lbl_803B22D0
lbl_803B20A4:
/* 803B20A4 003AF004 7C 63 F0 50 */ subf r3, r3, r30
/* 803B20A8 003AF008 2C 03 3F FF */ cmpwi r3, 0x3fff
/* 803B20AC 003AF00C 40 81 00 0C */ ble lbl_803B20B8
/* 803B20B0 003AF010 3B C0 3F FF */ li r30, 0x3fff
/* 803B20B4 003AF014 48 00 02 1C */ b lbl_803B22D0
lbl_803B20B8:
/* 803B20B8 003AF018 7C 60 FE 70 */ srawi r0, r3, 0x1f
/* 803B20BC 003AF01C 7C 7E 00 78 */ andc r30, r3, r0
/* 803B20C0 003AF020 48 00 02 10 */ b lbl_803B22D0
lbl_803B20C4:
/* 803B20C4 003AF024 2C 03 00 A3 */ cmpwi r3, 0xa3
/* 803B20C8 003AF028 41 82 00 3C */ beq lbl_803B2104
/* 803B20CC 003AF02C 40 80 00 10 */ bge lbl_803B20DC
/* 803B20D0 003AF030 2C 03 00 A2 */ cmpwi r3, 0xa2
/* 803B20D4 003AF034 40 80 00 14 */ bge lbl_803B20E8
/* 803B20D8 003AF038 48 00 00 90 */ b lbl_803B2168
lbl_803B20DC:
/* 803B20DC 003AF03C 2C 03 00 A5 */ cmpwi r3, 0xa5
/* 803B20E0 003AF040 40 80 00 88 */ bge lbl_803B2168
/* 803B20E4 003AF044 48 00 00 3C */ b lbl_803B2120
lbl_803B20E8:
/* 803B20E8 003AF048 28 18 00 00 */ cmplwi r24, 0
/* 803B20EC 003AF04C 41 82 00 10 */ beq lbl_803B20FC
/* 803B20F0 003AF050 88 18 01 2F */ lbz r0, 0x12f(r24)
/* 803B20F4 003AF054 54 05 38 30 */ slwi r5, r0, 7
/* 803B20F8 003AF058 48 00 00 80 */ b lbl_803B2178
lbl_803B20FC:
/* 803B20FC 003AF05C 38 A0 00 00 */ li r5, 0
/* 803B2100 003AF060 48 00 00 78 */ b lbl_803B2178
lbl_803B2104:
/* 803B2104 003AF064 28 18 00 00 */ cmplwi r24, 0
/* 803B2108 003AF068 41 82 00 10 */ beq lbl_803B2118
/* 803B210C 003AF06C 80 18 01 58 */ lwz r0, 0x158(r24)
/* 803B2110 003AF070 54 05 BA 7E */ srwi r5, r0, 9
/* 803B2114 003AF074 48 00 00 64 */ b lbl_803B2178
lbl_803B2118:
/* 803B2118 003AF078 38 A0 00 00 */ li r5, 0
/* 803B211C 003AF07C 48 00 00 5C */ b lbl_803B2178
lbl_803B2120:
/* 803B2120 003AF080 28 18 00 00 */ cmplwi r24, 0
/* 803B2124 003AF084 41 82 00 3C */ beq lbl_803B2160
/* 803B2128 003AF088 80 6D AE 8C */ lwz r3, synthRealTime+4@sda21(r13)
/* 803B212C 003AF08C 80 18 00 94 */ lwz r0, 0x94(r24)
/* 803B2130 003AF090 80 8D AE 88 */ lwz r4, synthRealTime@sda21(r13)
/* 803B2134 003AF094 7C 00 18 10 */ subfc r0, r0, r3
/* 803B2138 003AF098 80 78 00 90 */ lwz r3, 0x90(r24)
/* 803B213C 003AF09C 54 05 C0 3E */ rotlwi r5, r0, 0x18
/* 803B2140 003AF0A0 7C 03 21 10 */ subfe r0, r3, r4
/* 803B2144 003AF0A4 50 05 C0 0E */ rlwimi r5, r0, 0x18, 0, 7
/* 803B2148 003AF0A8 2C 05 3F FF */ cmpwi r5, 0x3fff
/* 803B214C 003AF0AC 40 81 00 08 */ ble lbl_803B2154
/* 803B2150 003AF0B0 38 A0 3F FF */ li r5, 0x3fff
lbl_803B2154:
/* 803B2154 003AF0B4 38 00 00 01 */ li r0, 1
/* 803B2158 003AF0B8 98 18 00 A8 */ stb r0, 0xa8(r24)
/* 803B215C 003AF0BC 48 00 00 1C */ b lbl_803B2178
lbl_803B2160:
/* 803B2160 003AF0C0 38 A0 00 00 */ li r5, 0
/* 803B2164 003AF0C4 48 00 00 14 */ b lbl_803B2178
lbl_803B2168:
/* 803B2168 003AF0C8 7F 44 D3 78 */ mr r4, r26
/* 803B216C 003AF0CC 7F 65 DB 78 */ mr r5, r27
/* 803B2170 003AF0D0 4B FF F7 9D */ bl inpGetMidiCtrl
/* 803B2174 003AF0D4 54 65 04 3E */ clrlwi r5, r3, 0x10
lbl_803B2178:
/* 803B2178 003AF0D8 80 1F 00 04 */ lwz r0, 4(r31)
/* 803B217C 003AF0DC 7C 00 0E 70 */ srawi r0, r0, 1
/* 803B2180 003AF0E0 7C 05 01 D6 */ mullw r0, r5, r0
/* 803B2184 003AF0E4 7C 03 7E 70 */ srawi r3, r0, 0xf
/* 803B2188 003AF0E8 2C 03 3F FF */ cmpwi r3, 0x3fff
/* 803B218C 003AF0EC 40 81 00 08 */ ble lbl_803B2194
/* 803B2190 003AF0F0 38 60 3F FF */ li r3, 0x3fff
lbl_803B2194:
/* 803B2194 003AF0F4 88 1F 00 01 */ lbz r0, 1(r31)
/* 803B2198 003AF0F8 54 00 07 3E */ clrlwi r0, r0, 0x1c
/* 803B219C 003AF0FC 2C 00 00 02 */ cmpwi r0, 2
/* 803B21A0 003AF100 41 82 00 84 */ beq lbl_803B2224
/* 803B21A4 003AF104 40 80 00 14 */ bge lbl_803B21B8
/* 803B21A8 003AF108 2C 00 00 00 */ cmpwi r0, 0
/* 803B21AC 003AF10C 41 82 00 18 */ beq lbl_803B21C4
/* 803B21B0 003AF110 40 80 00 20 */ bge lbl_803B21D0
/* 803B21B4 003AF114 48 00 01 1C */ b lbl_803B22D0
lbl_803B21B8:
/* 803B21B8 003AF118 2C 00 00 04 */ cmpwi r0, 4
/* 803B21BC 003AF11C 40 80 01 14 */ bge lbl_803B22D0
/* 803B21C0 003AF120 48 00 00 BC */ b lbl_803B227C
lbl_803B21C4:
/* 803B21C4 003AF124 7C 7E 1B 78 */ mr r30, r3
/* 803B21C8 003AF128 3B 80 00 00 */ li r28, 0
/* 803B21CC 003AF12C 48 00 01 04 */ b lbl_803B22D0
lbl_803B21D0:
/* 803B21D0 003AF130 28 1C 00 00 */ cmplwi r28, 0
/* 803B21D4 003AF134 41 82 00 34 */ beq lbl_803B2208
/* 803B21D8 003AF138 7C 9E 1A 14 */ add r4, r30, r3
/* 803B21DC 003AF13C 38 84 E0 00 */ addi r4, r4, -8192
/* 803B21E0 003AF140 2C 04 E0 00 */ cmpwi r4, -8192
/* 803B21E4 003AF144 40 80 00 0C */ bge lbl_803B21F0
/* 803B21E8 003AF148 38 60 E0 00 */ li r3, -8192
/* 803B21EC 003AF14C 48 00 00 14 */ b lbl_803B2200
lbl_803B21F0:
/* 803B21F0 003AF150 2C 04 1F FF */ cmpwi r4, 0x1fff
/* 803B21F4 003AF154 38 60 1F FF */ li r3, 0x1fff
/* 803B21F8 003AF158 41 81 00 08 */ bgt lbl_803B2200
/* 803B21FC 003AF15C 7C 83 23 78 */ mr r3, r4
lbl_803B2200:
/* 803B2200 003AF160 3B C3 20 00 */ addi r30, r3, 0x2000
/* 803B2204 003AF164 48 00 00 CC */ b lbl_803B22D0
lbl_803B2208:
/* 803B2208 003AF168 7F DE 1A 14 */ add r30, r30, r3
/* 803B220C 003AF16C 38 00 3F FF */ li r0, 0x3fff
/* 803B2210 003AF170 28 1E 3F FF */ cmplwi r30, 0x3fff
/* 803B2214 003AF174 41 81 00 08 */ bgt lbl_803B221C
/* 803B2218 003AF178 7F C0 F3 78 */ mr r0, r30
lbl_803B221C:
/* 803B221C 003AF17C 7C 1E 03 78 */ mr r30, r0
/* 803B2220 003AF180 48 00 00 B0 */ b lbl_803B22D0
lbl_803B2224:
/* 803B2224 003AF184 28 1C 00 00 */ cmplwi r28, 0
/* 803B2228 003AF188 41 82 00 38 */ beq lbl_803B2260
/* 803B222C 003AF18C 38 1E E0 00 */ addi r0, r30, -8192
/* 803B2230 003AF190 7C 03 01 D6 */ mullw r0, r3, r0
/* 803B2234 003AF194 7C 00 76 70 */ srawi r0, r0, 0xe
/* 803B2238 003AF198 2C 00 E0 00 */ cmpwi r0, -8192
/* 803B223C 003AF19C 40 80 00 0C */ bge lbl_803B2248
/* 803B2240 003AF1A0 38 60 E0 00 */ li r3, -8192
/* 803B2244 003AF1A4 48 00 00 14 */ b lbl_803B2258
lbl_803B2248:
/* 803B2248 003AF1A8 2C 00 1F FF */ cmpwi r0, 0x1fff
/* 803B224C 003AF1AC 38 60 1F FF */ li r3, 0x1fff
/* 803B2250 003AF1B0 41 81 00 08 */ bgt lbl_803B2258
/* 803B2254 003AF1B4 7C 03 03 78 */ mr r3, r0
lbl_803B2258:
/* 803B2258 003AF1B8 3B C3 20 00 */ addi r30, r3, 0x2000
/* 803B225C 003AF1BC 48 00 00 74 */ b lbl_803B22D0
lbl_803B2260:
/* 803B2260 003AF1C0 7C 1E 19 D6 */ mullw r0, r30, r3
/* 803B2264 003AF1C4 3B C0 3F FF */ li r30, 0x3fff
/* 803B2268 003AF1C8 54 00 93 BE */ srwi r0, r0, 0xe
/* 803B226C 003AF1CC 28 00 3F FF */ cmplwi r0, 0x3fff
/* 803B2270 003AF1D0 41 81 00 60 */ bgt lbl_803B22D0
/* 803B2274 003AF1D4 7C 1E 03 78 */ mr r30, r0
/* 803B2278 003AF1D8 48 00 00 58 */ b lbl_803B22D0
lbl_803B227C:
/* 803B227C 003AF1DC 28 1C 00 00 */ cmplwi r28, 0
/* 803B2280 003AF1E0 41 82 00 34 */ beq lbl_803B22B4
/* 803B2284 003AF1E4 38 1E E0 00 */ addi r0, r30, -8192
/* 803B2288 003AF1E8 7C 03 00 50 */ subf r0, r3, r0
/* 803B228C 003AF1EC 2C 00 E0 00 */ cmpwi r0, -8192
/* 803B2290 003AF1F0 40 80 00 0C */ bge lbl_803B229C
/* 803B2294 003AF1F4 38 60 E0 00 */ li r3, -8192
/* 803B2298 003AF1F8 48 00 00 14 */ b lbl_803B22AC
lbl_803B229C:
/* 803B229C 003AF1FC 2C 00 1F FF */ cmpwi r0, 0x1fff
/* 803B22A0 003AF200 38 60 1F FF */ li r3, 0x1fff
/* 803B22A4 003AF204 41 81 00 08 */ bgt lbl_803B22AC
/* 803B22A8 003AF208 7C 03 03 78 */ mr r3, r0
lbl_803B22AC:
/* 803B22AC 003AF20C 3B C3 20 00 */ addi r30, r3, 0x2000
/* 803B22B0 003AF210 48 00 00 20 */ b lbl_803B22D0
lbl_803B22B4:
/* 803B22B4 003AF214 7C 63 F0 50 */ subf r3, r3, r30
/* 803B22B8 003AF218 2C 03 3F FF */ cmpwi r3, 0x3fff
/* 803B22BC 003AF21C 40 81 00 0C */ ble lbl_803B22C8
/* 803B22C0 003AF220 3B C0 3F FF */ li r30, 0x3fff
/* 803B22C4 003AF224 48 00 00 0C */ b lbl_803B22D0
lbl_803B22C8:
/* 803B22C8 003AF228 7C 60 FE 70 */ srawi r0, r3, 0x1f
/* 803B22CC 003AF22C 7C 7E 00 78 */ andc r30, r3, r0
lbl_803B22D0:
/* 803B22D0 003AF230 3B FF 00 08 */ addi r31, r31, 8
/* 803B22D4 003AF234 3B BD 00 01 */ addi r29, r29, 1
lbl_803B22D8:
/* 803B22D8 003AF238 88 19 00 22 */ lbz r0, 0x22(r25)
/* 803B22DC 003AF23C 7C 1D 00 40 */ cmplw r29, r0
/* 803B22E0 003AF240 41 80 FB B8 */ blt lbl_803B1E98
/* 803B22E4 003AF244 B3 D9 00 20 */ sth r30, 0x20(r25)
/* 803B22E8 003AF248 57 C3 04 3E */ clrlwi r3, r30, 0x10
/* 803B22EC 003AF24C 39 61 00 30 */ addi r11, r1, 0x30
/* 803B22F0 003AF250 4B FD 77 CD */ bl _restgpr_24
/* 803B22F4 003AF254 80 01 00 34 */ lwz r0, 0x34(r1)
/* 803B22F8 003AF258 7C 08 03 A6 */ mtlr r0
/* 803B22FC 003AF25C 38 21 00 30 */ addi r1, r1, 0x30
/* 803B2300 003AF260 4E 80 00 20 */ blr
.global sub_803b2304
sub_803b2304:
/* 803B2304 003AF264 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2308 003AF268 7C 08 02 A6 */ mflr r0
/* 803B230C 003AF26C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2310 003AF270 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B2314 003AF274 54 80 07 FF */ clrlwi. r0, r4, 0x1f
/* 803B2318 003AF278 40 82 00 0C */ bne lbl_803B2324
/* 803B231C 003AF27C A0 63 02 38 */ lhz r3, 0x238(r3)
/* 803B2320 003AF280 48 00 00 1C */ b lbl_803B233C
lbl_803B2324:
/* 803B2324 003AF284 54 80 00 3C */ rlwinm r0, r4, 0, 0, 0x1e
/* 803B2328 003AF288 38 83 02 18 */ addi r4, r3, 0x218
/* 803B232C 003AF28C 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2330 003AF290 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B2334 003AF294 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2338 003AF298 4B FF FB 2D */ bl _GetInputValue
lbl_803B233C:
/* 803B233C 003AF29C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2340 003AF2A0 7C 08 03 A6 */ mtlr r0
/* 803B2344 003AF2A4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2348 003AF2A8 4E 80 00 20 */ blr
.global sub_803b234c
sub_803b234c:
/* 803B234C 003AF2AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2350 003AF2B0 7C 08 02 A6 */ mflr r0
/* 803B2354 003AF2B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2358 003AF2B8 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B235C 003AF2BC 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
/* 803B2360 003AF2C0 40 82 00 0C */ bne lbl_803B236C
/* 803B2364 003AF2C4 A0 63 02 5C */ lhz r3, 0x25c(r3)
/* 803B2368 003AF2C8 48 00 00 1C */ b lbl_803B2384
lbl_803B236C:
/* 803B236C 003AF2CC 54 80 07 FA */ rlwinm r0, r4, 0, 0x1f, 0x1d
/* 803B2370 003AF2D0 38 83 02 3C */ addi r4, r3, 0x23c
/* 803B2374 003AF2D4 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2378 003AF2D8 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B237C 003AF2DC 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2380 003AF2E0 4B FF FA E5 */ bl _GetInputValue
lbl_803B2384:
/* 803B2384 003AF2E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2388 003AF2E8 7C 08 03 A6 */ mtlr r0
/* 803B238C 003AF2EC 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2390 003AF2F0 4E 80 00 20 */ blr
.global sub_803b2394
sub_803b2394:
/* 803B2394 003AF2F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2398 003AF2F8 7C 08 02 A6 */ mflr r0
/* 803B239C 003AF2FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B23A0 003AF300 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B23A4 003AF304 54 80 07 7B */ rlwinm. r0, r4, 0, 0x1d, 0x1d
/* 803B23A8 003AF308 40 82 00 0C */ bne lbl_803B23B4
/* 803B23AC 003AF30C A0 63 02 80 */ lhz r3, 0x280(r3)
/* 803B23B0 003AF310 48 00 00 1C */ b lbl_803B23CC
lbl_803B23B4:
/* 803B23B4 003AF314 54 80 07 B8 */ rlwinm r0, r4, 0, 0x1e, 0x1c
/* 803B23B8 003AF318 38 83 02 60 */ addi r4, r3, 0x260
/* 803B23BC 003AF31C 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B23C0 003AF320 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B23C4 003AF324 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B23C8 003AF328 4B FF FA 9D */ bl _GetInputValue
lbl_803B23CC:
/* 803B23CC 003AF32C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B23D0 003AF330 7C 08 03 A6 */ mtlr r0
/* 803B23D4 003AF334 38 21 00 10 */ addi r1, r1, 0x10
/* 803B23D8 003AF338 4E 80 00 20 */ blr
.global sub_803b23dc
sub_803b23dc:
/* 803B23DC 003AF33C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B23E0 003AF340 7C 08 02 A6 */ mflr r0
/* 803B23E4 003AF344 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B23E8 003AF348 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B23EC 003AF34C 54 80 07 39 */ rlwinm. r0, r4, 0, 0x1c, 0x1c
/* 803B23F0 003AF350 40 82 00 0C */ bne lbl_803B23FC
/* 803B23F4 003AF354 A0 63 02 A4 */ lhz r3, 0x2a4(r3)
/* 803B23F8 003AF358 48 00 00 1C */ b lbl_803B2414
lbl_803B23FC:
/* 803B23FC 003AF35C 54 80 07 76 */ rlwinm r0, r4, 0, 0x1d, 0x1b
/* 803B2400 003AF360 38 83 02 84 */ addi r4, r3, 0x284
/* 803B2404 003AF364 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2408 003AF368 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B240C 003AF36C 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2410 003AF370 4B FF FA 55 */ bl _GetInputValue
lbl_803B2414:
/* 803B2414 003AF374 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2418 003AF378 7C 08 03 A6 */ mtlr r0
/* 803B241C 003AF37C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2420 003AF380 4E 80 00 20 */ blr
.global sub_803b2424
sub_803b2424:
/* 803B2424 003AF384 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2428 003AF388 7C 08 02 A6 */ mflr r0
/* 803B242C 003AF38C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2430 003AF390 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B2434 003AF394 54 80 06 F7 */ rlwinm. r0, r4, 0, 0x1b, 0x1b
/* 803B2438 003AF398 40 82 00 0C */ bne lbl_803B2444
/* 803B243C 003AF39C A0 63 02 C8 */ lhz r3, 0x2c8(r3)
/* 803B2440 003AF3A0 48 00 00 1C */ b lbl_803B245C
lbl_803B2444:
/* 803B2444 003AF3A4 54 80 07 34 */ rlwinm r0, r4, 0, 0x1c, 0x1a
/* 803B2448 003AF3A8 38 83 02 A8 */ addi r4, r3, 0x2a8
/* 803B244C 003AF3AC 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2450 003AF3B0 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B2454 003AF3B4 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2458 003AF3B8 4B FF FA 0D */ bl _GetInputValue
lbl_803B245C:
/* 803B245C 003AF3BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2460 003AF3C0 7C 08 03 A6 */ mtlr r0
/* 803B2464 003AF3C4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2468 003AF3C8 4E 80 00 20 */ blr
.global sub_803b246c
sub_803b246c:
/* 803B246C 003AF3CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2470 003AF3D0 7C 08 02 A6 */ mflr r0
/* 803B2474 003AF3D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2478 003AF3D8 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B247C 003AF3DC 54 80 06 B5 */ rlwinm. r0, r4, 0, 0x1a, 0x1a
/* 803B2480 003AF3E0 40 82 00 0C */ bne lbl_803B248C
/* 803B2484 003AF3E4 A0 63 02 EC */ lhz r3, 0x2ec(r3)
/* 803B2488 003AF3E8 48 00 00 1C */ b lbl_803B24A4
lbl_803B248C:
/* 803B248C 003AF3EC 54 80 06 F2 */ rlwinm r0, r4, 0, 0x1b, 0x19
/* 803B2490 003AF3F0 38 83 02 CC */ addi r4, r3, 0x2cc
/* 803B2494 003AF3F4 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2498 003AF3F8 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B249C 003AF3FC 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B24A0 003AF400 4B FF F9 C5 */ bl _GetInputValue
lbl_803B24A4:
/* 803B24A4 003AF404 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B24A8 003AF408 7C 08 03 A6 */ mtlr r0
/* 803B24AC 003AF40C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B24B0 003AF410 4E 80 00 20 */ blr
.global inpGetVolume
inpGetVolume:
/* 803B24B4 003AF414 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B24B8 003AF418 7C 08 02 A6 */ mflr r0
/* 803B24BC 003AF41C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B24C0 003AF420 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B24C4 003AF424 54 80 06 73 */ rlwinm. r0, r4, 0, 0x19, 0x19
/* 803B24C8 003AF428 40 82 00 0C */ bne lbl_803B24D4
/* 803B24CC 003AF42C A0 63 03 10 */ lhz r3, 0x310(r3)
/* 803B24D0 003AF430 48 00 00 1C */ b lbl_803B24EC
lbl_803B24D4:
/* 803B24D4 003AF434 54 80 06 B0 */ rlwinm r0, r4, 0, 0x1a, 0x18
/* 803B24D8 003AF438 38 83 02 F0 */ addi r4, r3, 0x2f0
/* 803B24DC 003AF43C 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B24E0 003AF440 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B24E4 003AF444 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B24E8 003AF448 4B FF F9 7D */ bl _GetInputValue
lbl_803B24EC:
/* 803B24EC 003AF44C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B24F0 003AF450 7C 08 03 A6 */ mtlr r0
/* 803B24F4 003AF454 38 21 00 10 */ addi r1, r1, 0x10
/* 803B24F8 003AF458 4E 80 00 20 */ blr
.global sub_803b24fc
sub_803b24fc:
/* 803B24FC 003AF45C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2500 003AF460 7C 08 02 A6 */ mflr r0
/* 803B2504 003AF464 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2508 003AF468 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B250C 003AF46C 54 80 05 EF */ rlwinm. r0, r4, 0, 0x17, 0x17
/* 803B2510 003AF470 40 82 00 0C */ bne lbl_803B251C
/* 803B2514 003AF474 A0 63 03 58 */ lhz r3, 0x358(r3)
/* 803B2518 003AF478 48 00 00 1C */ b lbl_803B2534
lbl_803B251C:
/* 803B251C 003AF47C 54 80 06 2C */ rlwinm r0, r4, 0, 0x18, 0x16
/* 803B2520 003AF480 38 83 03 38 */ addi r4, r3, 0x338
/* 803B2524 003AF484 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2528 003AF488 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B252C 003AF48C 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2530 003AF490 4B FF F9 35 */ bl _GetInputValue
lbl_803B2534:
/* 803B2534 003AF494 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2538 003AF498 7C 08 03 A6 */ mtlr r0
/* 803B253C 003AF49C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2540 003AF4A0 4E 80 00 20 */ blr
.global sub_803b2544
sub_803b2544:
/* 803B2544 003AF4A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2548 003AF4A8 7C 08 02 A6 */ mflr r0
/* 803B254C 003AF4AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2550 003AF4B0 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B2554 003AF4B4 54 80 05 AD */ rlwinm. r0, r4, 0, 0x16, 0x16
/* 803B2558 003AF4B8 40 82 00 0C */ bne lbl_803B2564
/* 803B255C 003AF4BC A0 63 03 7C */ lhz r3, 0x37c(r3)
/* 803B2560 003AF4C0 48 00 00 1C */ b lbl_803B257C
lbl_803B2564:
/* 803B2564 003AF4C4 54 80 05 EA */ rlwinm r0, r4, 0, 0x17, 0x15
/* 803B2568 003AF4C8 38 83 03 5C */ addi r4, r3, 0x35c
/* 803B256C 003AF4CC 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2570 003AF4D0 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B2574 003AF4D4 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2578 003AF4D8 4B FF F8 ED */ bl _GetInputValue
lbl_803B257C:
/* 803B257C 003AF4DC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2580 003AF4E0 7C 08 03 A6 */ mtlr r0
/* 803B2584 003AF4E4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2588 003AF4E8 4E 80 00 20 */ blr
.global sub_803b258c
sub_803b258c:
/* 803B258C 003AF4EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2590 003AF4F0 7C 08 02 A6 */ mflr r0
/* 803B2594 003AF4F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2598 003AF4F8 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B259C 003AF4FC 54 80 05 6B */ rlwinm. r0, r4, 0, 0x15, 0x15
/* 803B25A0 003AF500 40 82 00 0C */ bne lbl_803B25AC
/* 803B25A4 003AF504 A0 63 03 A0 */ lhz r3, 0x3a0(r3)
/* 803B25A8 003AF508 48 00 00 1C */ b lbl_803B25C4
lbl_803B25AC:
/* 803B25AC 003AF50C 54 80 05 A8 */ rlwinm r0, r4, 0, 0x16, 0x14
/* 803B25B0 003AF510 38 83 03 80 */ addi r4, r3, 0x380
/* 803B25B4 003AF514 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B25B8 003AF518 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B25BC 003AF51C 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B25C0 003AF520 4B FF F8 A5 */ bl _GetInputValue
lbl_803B25C4:
/* 803B25C4 003AF524 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B25C8 003AF528 7C 08 03 A6 */ mtlr r0
/* 803B25CC 003AF52C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B25D0 003AF530 4E 80 00 20 */ blr
.global sub_803b25d4
sub_803b25d4:
/* 803B25D4 003AF534 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B25D8 003AF538 7C 08 02 A6 */ mflr r0
/* 803B25DC 003AF53C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B25E0 003AF540 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B25E4 003AF544 54 80 05 29 */ rlwinm. r0, r4, 0, 0x14, 0x14
/* 803B25E8 003AF548 40 82 00 0C */ bne lbl_803B25F4
/* 803B25EC 003AF54C A0 63 03 C4 */ lhz r3, 0x3c4(r3)
/* 803B25F0 003AF550 48 00 00 1C */ b lbl_803B260C
lbl_803B25F4:
/* 803B25F4 003AF554 54 80 05 66 */ rlwinm r0, r4, 0, 0x15, 0x13
/* 803B25F8 003AF558 38 83 03 A4 */ addi r4, r3, 0x3a4
/* 803B25FC 003AF55C 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2600 003AF560 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B2604 003AF564 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2608 003AF568 4B FF F8 5D */ bl _GetInputValue
lbl_803B260C:
/* 803B260C 003AF56C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2610 003AF570 7C 08 03 A6 */ mtlr r0
/* 803B2614 003AF574 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2618 003AF578 4E 80 00 20 */ blr
.global sub_803b261c
sub_803b261c:
/* 803B261C 003AF57C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2620 003AF580 7C 08 02 A6 */ mflr r0
/* 803B2624 003AF584 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2628 003AF588 80 83 02 14 */ lwz r4, 0x214(r3)
/* 803B262C 003AF58C 54 80 04 E7 */ rlwinm. r0, r4, 0, 0x13, 0x13
/* 803B2630 003AF590 40 82 00 0C */ bne lbl_803B263C
/* 803B2634 003AF594 A0 63 03 E8 */ lhz r3, 0x3e8(r3)
/* 803B2638 003AF598 48 00 00 1C */ b lbl_803B2654
lbl_803B263C:
/* 803B263C 003AF59C 54 80 05 24 */ rlwinm r0, r4, 0, 0x14, 0x12
/* 803B2640 003AF5A0 38 83 03 C8 */ addi r4, r3, 0x3c8
/* 803B2644 003AF5A4 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B2648 003AF5A8 88 A3 01 21 */ lbz r5, 0x121(r3)
/* 803B264C 003AF5AC 88 C3 01 22 */ lbz r6, 0x122(r3)
/* 803B2650 003AF5B0 4B FF F8 15 */ bl _GetInputValue
lbl_803B2654:
/* 803B2654 003AF5B4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2658 003AF5B8 7C 08 03 A6 */ mtlr r0
/* 803B265C 003AF5BC 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2660 003AF5C0 4E 80 00 20 */ blr
.global sub_803b2664
sub_803b2664:
/* 803B2664 003AF5C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2668 003AF5C8 7C 08 02 A6 */ mflr r0
/* 803B266C 003AF5CC 3C E0 80 56 */ lis r7, lbl_80560790@ha
/* 803B2670 003AF5D0 3D 20 80 3F */ lis r9, lbl_803F41E8@ha
/* 803B2674 003AF5D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2678 003AF5D8 38 07 07 90 */ addi r0, r7, lbl_80560790@l
/* 803B267C 003AF5DC 54 C8 34 B2 */ rlwinm r8, r6, 6, 0x12, 0x19
/* 803B2680 003AF5E0 38 E9 41 E8 */ addi r7, r9, lbl_803F41E8@l
/* 803B2684 003AF5E4 54 8A 15 BA */ rlwinm r10, r4, 2, 0x16, 0x1d
/* 803B2688 003AF5E8 54 8B 06 3E */ clrlwi r11, r4, 0x18
/* 803B268C 003AF5EC 7D 20 42 14 */ add r9, r0, r8
/* 803B2690 003AF5F0 54 A8 15 BA */ rlwinm r8, r5, 2, 0x16, 0x1d
/* 803B2694 003AF5F4 7D 47 50 2E */ lwzx r10, r7, r10
/* 803B2698 003AF5F8 7C E9 40 2E */ lwzx r7, r9, r8
/* 803B269C 003AF5FC 7D 44 38 38 */ and r4, r10, r7
/* 803B26A0 003AF600 7C 04 00 D0 */ neg r0, r4
/* 803B26A4 003AF604 7C 00 23 78 */ or r0, r0, r4
/* 803B26A8 003AF608 54 04 0F FF */ rlwinm. r4, r0, 1, 0x1f, 0x1f
/* 803B26AC 003AF60C 41 82 00 0C */ beq lbl_803B26B8
/* 803B26B0 003AF610 7C E0 50 78 */ andc r0, r7, r10
/* 803B26B4 003AF614 7C 09 41 2E */ stwx r0, r9, r8
lbl_803B26B8:
/* 803B26B8 003AF618 28 04 00 00 */ cmplwi r4, 0
/* 803B26BC 003AF61C 41 82 00 2C */ beq lbl_803B26E8
/* 803B26C0 003AF620 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B26C4 003AF624 3C 60 80 55 */ lis r3, lbl_80550F74@ha
/* 803B26C8 003AF628 1C E0 00 90 */ mulli r7, r0, 0x90
/* 803B26CC 003AF62C 38 83 0F 74 */ addi r4, r3, lbl_80550F74@l
/* 803B26D0 003AF630 38 60 00 00 */ li r3, 0
/* 803B26D4 003AF634 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B26D8 003AF638 7C 84 3A 14 */ add r4, r4, r7
/* 803B26DC 003AF63C 7C 84 02 14 */ add r4, r4, r0
/* 803B26E0 003AF640 4B FF F7 85 */ bl _GetInputValue
/* 803B26E4 003AF644 48 00 00 24 */ b lbl_803B2708
lbl_803B26E8:
/* 803B26E8 003AF648 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B26EC 003AF64C 3C 80 80 55 */ lis r4, lbl_80550F74@ha
/* 803B26F0 003AF650 1C 60 00 90 */ mulli r3, r0, 0x90
/* 803B26F4 003AF654 38 84 0F 74 */ addi r4, r4, lbl_80550F74@l
/* 803B26F8 003AF658 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B26FC 003AF65C 7C 64 1A 14 */ add r3, r4, r3
/* 803B2700 003AF660 7C 63 02 14 */ add r3, r3, r0
/* 803B2704 003AF664 A0 63 00 20 */ lhz r3, 0x20(r3)
lbl_803B2708:
/* 803B2708 003AF668 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B270C 003AF66C 7C 08 03 A6 */ mtlr r0
/* 803B2710 003AF670 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2714 003AF674 4E 80 00 20 */ blr
.global inpGetAuxA
inpGetAuxA:
/* 803B2718 003AF678 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B271C 003AF67C 7C 08 02 A6 */ mflr r0
/* 803B2720 003AF680 3C E0 80 56 */ lis r7, lbl_80560790@ha
/* 803B2724 003AF684 3D 20 80 3F */ lis r9, lbl_803F41F8@ha
/* 803B2728 003AF688 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B272C 003AF68C 38 07 07 90 */ addi r0, r7, lbl_80560790@l
/* 803B2730 003AF690 54 C8 34 B2 */ rlwinm r8, r6, 6, 0x12, 0x19
/* 803B2734 003AF694 38 E9 41 F8 */ addi r7, r9, lbl_803F41F8@l
/* 803B2738 003AF698 54 8A 15 BA */ rlwinm r10, r4, 2, 0x16, 0x1d
/* 803B273C 003AF69C 54 8B 06 3E */ clrlwi r11, r4, 0x18
/* 803B2740 003AF6A0 7D 20 42 14 */ add r9, r0, r8
/* 803B2744 003AF6A4 54 A8 15 BA */ rlwinm r8, r5, 2, 0x16, 0x1d
/* 803B2748 003AF6A8 7D 47 50 2E */ lwzx r10, r7, r10
/* 803B274C 003AF6AC 7C E9 40 2E */ lwzx r7, r9, r8
/* 803B2750 003AF6B0 7D 44 38 38 */ and r4, r10, r7
/* 803B2754 003AF6B4 7C 04 00 D0 */ neg r0, r4
/* 803B2758 003AF6B8 7C 00 23 78 */ or r0, r0, r4
/* 803B275C 003AF6BC 54 04 0F FF */ rlwinm. r4, r0, 1, 0x1f, 0x1f
/* 803B2760 003AF6C0 41 82 00 0C */ beq lbl_803B276C
/* 803B2764 003AF6C4 7C E0 50 78 */ andc r0, r7, r10
/* 803B2768 003AF6C8 7C 09 41 2E */ stwx r0, r9, r8
lbl_803B276C:
/* 803B276C 003AF6CC 28 04 00 00 */ cmplwi r4, 0
/* 803B2770 003AF6D0 41 82 00 2C */ beq lbl_803B279C
/* 803B2774 003AF6D4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B2778 003AF6D8 3C 60 80 55 */ lis r3, lbl_80550AF4@ha
/* 803B277C 003AF6DC 1C E0 00 90 */ mulli r7, r0, 0x90
/* 803B2780 003AF6E0 38 83 0A F4 */ addi r4, r3, lbl_80550AF4@l
/* 803B2784 003AF6E4 38 60 00 00 */ li r3, 0
/* 803B2788 003AF6E8 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B278C 003AF6EC 7C 84 3A 14 */ add r4, r4, r7
/* 803B2790 003AF6F0 7C 84 02 14 */ add r4, r4, r0
/* 803B2794 003AF6F4 4B FF F6 D1 */ bl _GetInputValue
/* 803B2798 003AF6F8 48 00 00 24 */ b lbl_803B27BC
lbl_803B279C:
/* 803B279C 003AF6FC 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B27A0 003AF700 3C 80 80 55 */ lis r4, lbl_80550AF4@ha
/* 803B27A4 003AF704 1C 60 00 90 */ mulli r3, r0, 0x90
/* 803B27A8 003AF708 38 84 0A F4 */ addi r4, r4, lbl_80550AF4@l
/* 803B27AC 003AF70C 1C 0B 00 24 */ mulli r0, r11, 0x24
/* 803B27B0 003AF710 7C 64 1A 14 */ add r3, r4, r3
/* 803B27B4 003AF714 7C 63 02 14 */ add r3, r3, r0
/* 803B27B8 003AF718 A0 63 00 20 */ lhz r3, 0x20(r3)
lbl_803B27BC:
/* 803B27BC 003AF71C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B27C0 003AF720 7C 08 03 A6 */ mtlr r0
/* 803B27C4 003AF724 38 21 00 10 */ addi r1, r1, 0x10
/* 803B27C8 003AF728 4E 80 00 20 */ blr
.global sub_803b27cc
sub_803b27cc:
/* 803B27CC 003AF72C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803B27D0 003AF730 28 03 00 00 */ cmplwi r3, 0
/* 803B27D4 003AF734 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803B27D8 003AF738 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803B27DC 003AF73C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B27E0 003AF740 41 82 01 0C */ beq lbl_803B28EC
/* 803B27E4 003AF744 38 00 00 07 */ li r0, 7
/* 803B27E8 003AF748 3B A0 00 00 */ li r29, 0
/* 803B27EC 003AF74C 98 03 02 18 */ stb r0, 0x218(r3)
/* 803B27F0 003AF750 3F C0 00 01 */ lis r30, 1
/* 803B27F4 003AF754 38 00 00 0B */ li r0, 0xb
/* 803B27F8 003AF758 3B E0 00 02 */ li r31, 2
/* 803B27FC 003AF75C 9B A3 02 19 */ stb r29, 0x219(r3)
/* 803B2800 003AF760 39 80 00 0A */ li r12, 0xa
/* 803B2804 003AF764 39 60 00 01 */ li r11, 1
/* 803B2808 003AF768 39 40 00 83 */ li r10, 0x83
/* 803B280C 003AF76C 93 C3 02 1C */ stw r30, 0x21c(r3)
/* 803B2810 003AF770 39 20 00 80 */ li r9, 0x80
/* 803B2814 003AF774 39 00 00 40 */ li r8, 0x40
/* 803B2818 003AF778 38 E0 00 41 */ li r7, 0x41
/* 803B281C 003AF77C 98 03 02 20 */ stb r0, 0x220(r3)
/* 803B2820 003AF780 38 C0 00 5B */ li r6, 0x5b
/* 803B2824 003AF784 38 A0 00 5D */ li r5, 0x5d
/* 803B2828 003AF788 38 80 00 84 */ li r4, 0x84
/* 803B282C 003AF78C 9B E3 02 21 */ stb r31, 0x221(r3)
/* 803B2830 003AF790 38 00 1F FF */ li r0, 0x1fff
/* 803B2834 003AF794 93 C3 02 24 */ stw r30, 0x224(r3)
/* 803B2838 003AF798 9B E3 02 3A */ stb r31, 0x23a(r3)
/* 803B283C 003AF79C 99 83 02 3C */ stb r12, 0x23c(r3)
/* 803B2840 003AF7A0 9B A3 02 3D */ stb r29, 0x23d(r3)
/* 803B2844 003AF7A4 93 C3 02 40 */ stw r30, 0x240(r3)
/* 803B2848 003AF7A8 99 63 02 5E */ stb r11, 0x25e(r3)
/* 803B284C 003AF7AC 99 43 02 60 */ stb r10, 0x260(r3)
/* 803B2850 003AF7B0 9B A3 02 61 */ stb r29, 0x261(r3)
/* 803B2854 003AF7B4 93 C3 02 64 */ stw r30, 0x264(r3)
/* 803B2858 003AF7B8 99 63 02 82 */ stb r11, 0x282(r3)
/* 803B285C 003AF7BC 99 23 02 84 */ stb r9, 0x284(r3)
/* 803B2860 003AF7C0 9B A3 02 85 */ stb r29, 0x285(r3)
/* 803B2864 003AF7C4 93 C3 02 88 */ stw r30, 0x288(r3)
/* 803B2868 003AF7C8 99 63 02 A6 */ stb r11, 0x2a6(r3)
/* 803B286C 003AF7CC 99 63 02 CC */ stb r11, 0x2cc(r3)
/* 803B2870 003AF7D0 9B A3 02 CD */ stb r29, 0x2cd(r3)
/* 803B2874 003AF7D4 93 C3 02 D0 */ stw r30, 0x2d0(r3)
/* 803B2878 003AF7D8 99 63 02 EE */ stb r11, 0x2ee(r3)
/* 803B287C 003AF7DC 99 03 02 F0 */ stb r8, 0x2f0(r3)
/* 803B2880 003AF7E0 9B A3 02 F1 */ stb r29, 0x2f1(r3)
/* 803B2884 003AF7E4 93 C3 02 F4 */ stw r30, 0x2f4(r3)
/* 803B2888 003AF7E8 99 63 03 12 */ stb r11, 0x312(r3)
/* 803B288C 003AF7EC 98 E3 03 14 */ stb r7, 0x314(r3)
/* 803B2890 003AF7F0 9B A3 03 15 */ stb r29, 0x315(r3)
/* 803B2894 003AF7F4 93 C3 03 18 */ stw r30, 0x318(r3)
/* 803B2898 003AF7F8 99 63 03 36 */ stb r11, 0x336(r3)
/* 803B289C 003AF7FC 9B A3 03 5A */ stb r29, 0x35a(r3)
/* 803B28A0 003AF800 98 C3 03 5C */ stb r6, 0x35c(r3)
/* 803B28A4 003AF804 9B A3 03 5D */ stb r29, 0x35d(r3)
/* 803B28A8 003AF808 93 C3 03 60 */ stw r30, 0x360(r3)
/* 803B28AC 003AF80C 99 63 03 7E */ stb r11, 0x37e(r3)
/* 803B28B0 003AF810 9B A3 03 A2 */ stb r29, 0x3a2(r3)
/* 803B28B4 003AF814 98 A3 03 A4 */ stb r5, 0x3a4(r3)
/* 803B28B8 003AF818 9B A3 03 A5 */ stb r29, 0x3a5(r3)
/* 803B28BC 003AF81C 93 C3 03 A8 */ stw r30, 0x3a8(r3)
/* 803B28C0 003AF820 99 63 03 C6 */ stb r11, 0x3c6(r3)
/* 803B28C4 003AF824 98 83 02 A8 */ stb r4, 0x2a8(r3)
/* 803B28C8 003AF828 9B A3 02 A9 */ stb r29, 0x2a9(r3)
/* 803B28CC 003AF82C 93 C3 02 AC */ stw r30, 0x2ac(r3)
/* 803B28D0 003AF830 99 63 02 CA */ stb r11, 0x2ca(r3)
/* 803B28D4 003AF834 9B A3 03 EA */ stb r29, 0x3ea(r3)
/* 803B28D8 003AF838 90 03 02 14 */ stw r0, 0x214(r3)
/* 803B28DC 003AF83C 9B A3 01 D4 */ stb r29, 0x1d4(r3)
/* 803B28E0 003AF840 9B A3 01 D5 */ stb r29, 0x1d5(r3)
/* 803B28E4 003AF844 9B A3 00 A8 */ stb r29, 0xa8(r3)
/* 803B28E8 003AF848 48 00 01 54 */ b lbl_803B2A3C
lbl_803B28EC:
/* 803B28EC 003AF84C 3C 80 80 55 */ lis r4, lbl_80550F74@ha
/* 803B28F0 003AF850 3C 60 80 55 */ lis r3, lbl_80550AF4@ha
/* 803B28F4 003AF854 38 A3 0A F4 */ addi r5, r3, lbl_80550AF4@l
/* 803B28F8 003AF858 38 00 00 02 */ li r0, 2
/* 803B28FC 003AF85C 38 84 0F 74 */ addi r4, r4, lbl_80550F74@l
/* 803B2900 003AF860 38 60 00 00 */ li r3, 0
/* 803B2904 003AF864 7C 09 03 A6 */ mtctr r0
lbl_803B2908:
/* 803B2908 003AF868 98 64 00 22 */ stb r3, 0x22(r4)
/* 803B290C 003AF86C 98 65 00 22 */ stb r3, 0x22(r5)
/* 803B2910 003AF870 98 64 00 46 */ stb r3, 0x46(r4)
/* 803B2914 003AF874 98 65 00 46 */ stb r3, 0x46(r5)
/* 803B2918 003AF878 98 64 00 6A */ stb r3, 0x6a(r4)
/* 803B291C 003AF87C 98 65 00 6A */ stb r3, 0x6a(r5)
/* 803B2920 003AF880 98 64 00 8E */ stb r3, 0x8e(r4)
/* 803B2924 003AF884 98 65 00 8E */ stb r3, 0x8e(r5)
/* 803B2928 003AF888 98 64 00 B2 */ stb r3, 0xb2(r4)
/* 803B292C 003AF88C 98 65 00 B2 */ stb r3, 0xb2(r5)
/* 803B2930 003AF890 98 64 00 D6 */ stb r3, 0xd6(r4)
/* 803B2934 003AF894 98 65 00 D6 */ stb r3, 0xd6(r5)
/* 803B2938 003AF898 98 64 00 FA */ stb r3, 0xfa(r4)
/* 803B293C 003AF89C 98 65 00 FA */ stb r3, 0xfa(r5)
/* 803B2940 003AF8A0 98 64 01 1E */ stb r3, 0x11e(r4)
/* 803B2944 003AF8A4 98 65 01 1E */ stb r3, 0x11e(r5)
/* 803B2948 003AF8A8 98 64 01 42 */ stb r3, 0x142(r4)
/* 803B294C 003AF8AC 98 65 01 42 */ stb r3, 0x142(r5)
/* 803B2950 003AF8B0 98 64 01 66 */ stb r3, 0x166(r4)
/* 803B2954 003AF8B4 98 65 01 66 */ stb r3, 0x166(r5)
/* 803B2958 003AF8B8 98 64 01 8A */ stb r3, 0x18a(r4)
/* 803B295C 003AF8BC 98 65 01 8A */ stb r3, 0x18a(r5)
/* 803B2960 003AF8C0 98 64 01 AE */ stb r3, 0x1ae(r4)
/* 803B2964 003AF8C4 98 65 01 AE */ stb r3, 0x1ae(r5)
/* 803B2968 003AF8C8 98 64 01 D2 */ stb r3, 0x1d2(r4)
/* 803B296C 003AF8CC 98 65 01 D2 */ stb r3, 0x1d2(r5)
/* 803B2970 003AF8D0 98 64 01 F6 */ stb r3, 0x1f6(r4)
/* 803B2974 003AF8D4 98 65 01 F6 */ stb r3, 0x1f6(r5)
/* 803B2978 003AF8D8 98 64 02 1A */ stb r3, 0x21a(r4)
/* 803B297C 003AF8DC 98 65 02 1A */ stb r3, 0x21a(r5)
/* 803B2980 003AF8E0 98 64 02 3E */ stb r3, 0x23e(r4)
/* 803B2984 003AF8E4 38 84 02 40 */ addi r4, r4, 0x240
/* 803B2988 003AF8E8 98 65 02 3E */ stb r3, 0x23e(r5)
/* 803B298C 003AF8EC 38 A5 02 40 */ addi r5, r5, 0x240
/* 803B2990 003AF8F0 42 00 FF 78 */ bdnz lbl_803B2908
/* 803B2994 003AF8F4 3C 60 80 56 */ lis r3, lbl_80560790@ha
/* 803B2998 003AF8F8 38 00 00 04 */ li r0, 4
/* 803B299C 003AF8FC 38 A3 07 90 */ addi r5, r3, lbl_80560790@l
/* 803B29A0 003AF900 38 60 00 00 */ li r3, 0
/* 803B29A4 003AF904 7C 09 03 A6 */ mtctr r0
lbl_803B29A8:
/* 803B29A8 003AF908 38 00 00 FF */ li r0, 0xff
/* 803B29AC 003AF90C 90 05 00 00 */ stw r0, 0(r5)
/* 803B29B0 003AF910 90 05 00 04 */ stw r0, 4(r5)
/* 803B29B4 003AF914 90 05 00 08 */ stw r0, 8(r5)
/* 803B29B8 003AF918 90 05 00 0C */ stw r0, 0xc(r5)
/* 803B29BC 003AF91C 90 05 00 10 */ stw r0, 0x10(r5)
/* 803B29C0 003AF920 90 05 00 14 */ stw r0, 0x14(r5)
/* 803B29C4 003AF924 90 05 00 18 */ stw r0, 0x18(r5)
/* 803B29C8 003AF928 90 05 00 1C */ stw r0, 0x1c(r5)
/* 803B29CC 003AF92C 90 05 00 20 */ stw r0, 0x20(r5)
/* 803B29D0 003AF930 90 05 00 24 */ stw r0, 0x24(r5)
/* 803B29D4 003AF934 90 05 00 28 */ stw r0, 0x28(r5)
/* 803B29D8 003AF938 90 05 00 2C */ stw r0, 0x2c(r5)
/* 803B29DC 003AF93C 90 05 00 30 */ stw r0, 0x30(r5)
/* 803B29E0 003AF940 90 05 00 34 */ stw r0, 0x34(r5)
/* 803B29E4 003AF944 90 05 00 38 */ stw r0, 0x38(r5)
/* 803B29E8 003AF948 90 05 00 3C */ stw r0, 0x3c(r5)
/* 803B29EC 003AF94C 38 A5 00 40 */ addi r5, r5, 0x40
/* 803B29F0 003AF950 90 05 00 00 */ stw r0, 0(r5)
/* 803B29F4 003AF954 38 63 00 01 */ addi r3, r3, 1
/* 803B29F8 003AF958 90 05 00 04 */ stw r0, 4(r5)
/* 803B29FC 003AF95C 90 05 00 08 */ stw r0, 8(r5)
/* 803B2A00 003AF960 90 05 00 0C */ stw r0, 0xc(r5)
/* 803B2A04 003AF964 90 05 00 10 */ stw r0, 0x10(r5)
/* 803B2A08 003AF968 90 05 00 14 */ stw r0, 0x14(r5)
/* 803B2A0C 003AF96C 90 05 00 18 */ stw r0, 0x18(r5)
/* 803B2A10 003AF970 90 05 00 1C */ stw r0, 0x1c(r5)
/* 803B2A14 003AF974 90 05 00 20 */ stw r0, 0x20(r5)
/* 803B2A18 003AF978 90 05 00 24 */ stw r0, 0x24(r5)
/* 803B2A1C 003AF97C 90 05 00 28 */ stw r0, 0x28(r5)
/* 803B2A20 003AF980 90 05 00 2C */ stw r0, 0x2c(r5)
/* 803B2A24 003AF984 90 05 00 30 */ stw r0, 0x30(r5)
/* 803B2A28 003AF988 90 05 00 34 */ stw r0, 0x34(r5)
/* 803B2A2C 003AF98C 90 05 00 38 */ stw r0, 0x38(r5)
/* 803B2A30 003AF990 90 05 00 3C */ stw r0, 0x3c(r5)
/* 803B2A34 003AF994 38 A5 00 40 */ addi r5, r5, 0x40
/* 803B2A38 003AF998 42 00 FF 70 */ bdnz lbl_803B29A8
lbl_803B2A3C:
/* 803B2A3C 003AF99C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803B2A40 003AF9A0 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803B2A44 003AF9A4 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803B2A48 003AF9A8 38 21 00 20 */ addi r1, r1, 0x20
/* 803B2A4C 003AF9AC 4E 80 00 20 */ blr
.global inpTranslateExCtrl
inpTranslateExCtrl:
/* 803B2A50 003AF9B0 54 64 06 3E */ clrlwi r4, r3, 0x18
/* 803B2A54 003AF9B4 38 04 FF 80 */ addi r0, r4, -128
/* 803B2A58 003AF9B8 28 00 00 08 */ cmplwi r0, 8
/* 803B2A5C 003AF9BC 4D 81 00 20 */ bgtlr
/* 803B2A60 003AF9C0 3C 80 80 3F */ lis r4, lbl_803F4208@ha
/* 803B2A64 003AF9C4 54 00 10 3A */ slwi r0, r0, 2
/* 803B2A68 003AF9C8 38 84 42 08 */ addi r4, r4, lbl_803F4208@l
/* 803B2A6C 003AF9CC 7C 04 00 2E */ lwzx r0, r4, r0
/* 803B2A70 003AF9D0 7C 09 03 A6 */ mtctr r0
/* 803B2A74 003AF9D4 4E 80 04 20 */ bctr
/* 803B2A78 003AF9D8 38 60 00 80 */ li r3, 0x80
/* 803B2A7C 003AF9DC 4E 80 00 20 */ blr
/* 803B2A80 003AF9E0 38 60 00 82 */ li r3, 0x82
/* 803B2A84 003AF9E4 4E 80 00 20 */ blr
/* 803B2A88 003AF9E8 38 60 00 A0 */ li r3, 0xa0
/* 803B2A8C 003AF9EC 4E 80 00 20 */ blr
/* 803B2A90 003AF9F0 38 60 00 A1 */ li r3, 0xa1
/* 803B2A94 003AF9F4 4E 80 00 20 */ blr
/* 803B2A98 003AF9F8 38 60 00 83 */ li r3, 0x83
/* 803B2A9C 003AF9FC 4E 80 00 20 */ blr
/* 803B2AA0 003AFA00 38 60 00 84 */ li r3, 0x84
/* 803B2AA4 003AFA04 4E 80 00 20 */ blr
/* 803B2AA8 003AFA08 38 60 00 A2 */ li r3, 0xa2
/* 803B2AAC 003AFA0C 4E 80 00 20 */ blr
/* 803B2AB0 003AFA10 38 60 00 A3 */ li r3, 0xa3
/* 803B2AB4 003AFA14 4E 80 00 20 */ blr
/* 803B2AB8 003AFA18 38 60 00 A4 */ li r3, 0xa4
/* 803B2ABC 003AFA1C 4E 80 00 20 */ blr
.global inpGetExCtrl
inpGetExCtrl:
/* 803B2AC0 003AFA20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B2AC4 003AFA24 7C 08 02 A6 */ mflr r0
/* 803B2AC8 003AFA28 54 85 06 3E */ clrlwi r5, r4, 0x18
/* 803B2ACC 003AFA2C 7C 86 23 78 */ mr r6, r4
/* 803B2AD0 003AFA30 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B2AD4 003AFA34 38 05 FF 80 */ addi r0, r5, -128
/* 803B2AD8 003AFA38 28 00 00 08 */ cmplwi r0, 8
/* 803B2ADC 003AFA3C 41 81 00 60 */ bgt lbl_803B2B3C
/* 803B2AE0 003AFA40 3C A0 80 3F */ lis r5, lbl_803F422C@ha
/* 803B2AE4 003AFA44 54 00 10 3A */ slwi r0, r0, 2
/* 803B2AE8 003AFA48 38 A5 42 2C */ addi r5, r5, lbl_803F422C@l
/* 803B2AEC 003AFA4C 7C 05 00 2E */ lwzx r0, r5, r0
/* 803B2AF0 003AFA50 7C 09 03 A6 */ mtctr r0
/* 803B2AF4 003AFA54 4E 80 04 20 */ bctr
/* 803B2AF8 003AFA58 38 C0 00 80 */ li r6, 0x80
/* 803B2AFC 003AFA5C 48 00 00 40 */ b lbl_803B2B3C
/* 803B2B00 003AFA60 38 C0 00 82 */ li r6, 0x82
/* 803B2B04 003AFA64 48 00 00 38 */ b lbl_803B2B3C
/* 803B2B08 003AFA68 38 C0 00 A0 */ li r6, 0xa0
/* 803B2B0C 003AFA6C 48 00 00 30 */ b lbl_803B2B3C
/* 803B2B10 003AFA70 38 C0 00 A1 */ li r6, 0xa1
/* 803B2B14 003AFA74 48 00 00 28 */ b lbl_803B2B3C
/* 803B2B18 003AFA78 38 C0 00 83 */ li r6, 0x83
/* 803B2B1C 003AFA7C 48 00 00 20 */ b lbl_803B2B3C
/* 803B2B20 003AFA80 38 C0 00 84 */ li r6, 0x84
/* 803B2B24 003AFA84 48 00 00 18 */ b lbl_803B2B3C
/* 803B2B28 003AFA88 38 C0 00 A2 */ li r6, 0xa2
/* 803B2B2C 003AFA8C 48 00 00 10 */ b lbl_803B2B3C
/* 803B2B30 003AFA90 38 C0 00 A3 */ li r6, 0xa3
/* 803B2B34 003AFA94 48 00 00 08 */ b lbl_803B2B3C
/* 803B2B38 003AFA98 38 C0 00 A4 */ li r6, 0xa4
lbl_803B2B3C:
/* 803B2B3C 003AFA9C 54 C0 06 3E */ clrlwi r0, r6, 0x18
/* 803B2B40 003AFAA0 2C 00 00 A1 */ cmpwi r0, 0xa1
/* 803B2B44 003AFAA4 41 82 00 28 */ beq lbl_803B2B6C
/* 803B2B48 003AFAA8 40 80 00 38 */ bge lbl_803B2B80
/* 803B2B4C 003AFAAC 2C 00 00 A0 */ cmpwi r0, 0xa0
/* 803B2B50 003AFAB0 40 80 00 08 */ bge lbl_803B2B58
/* 803B2B54 003AFAB4 48 00 00 2C */ b lbl_803B2B80
lbl_803B2B58:
/* 803B2B58 003AFAB8 A8 03 01 C4 */ lha r0, 0x1c4(r3)
/* 803B2B5C 003AFABC 54 03 08 3C */ slwi r3, r0, 1
/* 803B2B60 003AFAC0 38 03 20 00 */ addi r0, r3, 0x2000
/* 803B2B64 003AFAC4 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B2B68 003AFAC8 48 00 00 44 */ b lbl_803B2BAC
lbl_803B2B6C:
/* 803B2B6C 003AFACC A8 03 01 D0 */ lha r0, 0x1d0(r3)
/* 803B2B70 003AFAD0 54 03 08 3C */ slwi r3, r0, 1
/* 803B2B74 003AFAD4 38 03 20 00 */ addi r0, r3, 0x2000
/* 803B2B78 003AFAD8 54 03 04 3E */ clrlwi r3, r0, 0x10
/* 803B2B7C 003AFADC 48 00 00 30 */ b lbl_803B2BAC
lbl_803B2B80:
/* 803B2B80 003AFAE0 88 03 01 21 */ lbz r0, 0x121(r3)
/* 803B2B84 003AFAE4 28 00 00 FF */ cmplwi r0, 0xff
/* 803B2B88 003AFAE8 41 82 00 1C */ beq lbl_803B2BA4
/* 803B2B8C 003AFAEC 88 A3 01 22 */ lbz r5, 0x122(r3)
/* 803B2B90 003AFAF0 7C 83 23 78 */ mr r3, r4
/* 803B2B94 003AFAF4 7C 04 03 78 */ mr r4, r0
/* 803B2B98 003AFAF8 4B FF ED 75 */ bl inpGetMidiCtrl
/* 803B2B9C 003AFAFC 54 60 04 3E */ clrlwi r0, r3, 0x10
/* 803B2BA0 003AFB00 48 00 00 08 */ b lbl_803B2BA8
lbl_803B2BA4:
/* 803B2BA4 003AFB04 38 00 00 00 */ li r0, 0
lbl_803B2BA8:
/* 803B2BA8 003AFB08 54 03 04 3E */ clrlwi r3, r0, 0x10
lbl_803B2BAC:
/* 803B2BAC 003AFB0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B2BB0 003AFB10 7C 08 03 A6 */ mtlr r0
/* 803B2BB4 003AFB14 38 21 00 10 */ addi r1, r1, 0x10
/* 803B2BB8 003AFB18 4E 80 00 20 */ blr
.global inpSetExCtrl
inpSetExCtrl:
/* 803B2BBC 003AFB1C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803B2BC0 003AFB20 7C 08 02 A6 */ mflr r0
/* 803B2BC4 003AFB24 90 01 00 24 */ stw r0, 0x24(r1)
/* 803B2BC8 003AFB28 7C A0 07 35 */ extsh. r0, r5
/* 803B2BCC 003AFB2C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803B2BD0 003AFB30 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803B2BD4 003AFB34 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B2BD8 003AFB38 93 81 00 10 */ stw r28, 0x10(r1)
/* 803B2BDC 003AFB3C 40 80 00 0C */ bge lbl_803B2BE8
/* 803B2BE0 003AFB40 38 A0 00 00 */ li r5, 0
/* 803B2BE4 003AFB44 48 00 00 18 */ b lbl_803B2BFC
lbl_803B2BE8:
/* 803B2BE8 003AFB48 7C A0 07 34 */ extsh r0, r5
/* 803B2BEC 003AFB4C 38 A0 3F FF */ li r5, 0x3fff
/* 803B2BF0 003AFB50 2C 00 3F FF */ cmpwi r0, 0x3fff
/* 803B2BF4 003AFB54 41 81 00 08 */ bgt lbl_803B2BFC
/* 803B2BF8 003AFB58 7C 05 03 78 */ mr r5, r0
lbl_803B2BFC:
/* 803B2BFC 003AFB5C 54 87 06 3E */ clrlwi r7, r4, 0x18
/* 803B2C00 003AFB60 7C 86 23 78 */ mr r6, r4
/* 803B2C04 003AFB64 38 07 FF 80 */ addi r0, r7, -128
/* 803B2C08 003AFB68 7C A8 07 34 */ extsh r8, r5
/* 803B2C0C 003AFB6C 28 00 00 08 */ cmplwi r0, 8
/* 803B2C10 003AFB70 41 81 00 60 */ bgt lbl_803B2C70
/* 803B2C14 003AFB74 3C A0 80 3F */ lis r5, lbl_803F4250@ha
/* 803B2C18 003AFB78 54 00 10 3A */ slwi r0, r0, 2
/* 803B2C1C 003AFB7C 38 A5 42 50 */ addi r5, r5, lbl_803F4250@l
/* 803B2C20 003AFB80 7C 05 00 2E */ lwzx r0, r5, r0
/* 803B2C24 003AFB84 7C 09 03 A6 */ mtctr r0
/* 803B2C28 003AFB88 4E 80 04 20 */ bctr
lbl_803B2C2C:
/* 803B2C2C 003AFB8C 38 C0 00 80 */ li r6, 0x80
/* 803B2C30 003AFB90 48 00 00 40 */ b lbl_803B2C70
lbl_803B2C34:
/* 803B2C34 003AFB94 38 C0 00 82 */ li r6, 0x82
/* 803B2C38 003AFB98 48 00 00 38 */ b lbl_803B2C70
lbl_803B2C3C:
/* 803B2C3C 003AFB9C 38 C0 00 A0 */ li r6, 0xa0
/* 803B2C40 003AFBA0 48 00 00 30 */ b lbl_803B2C70
lbl_803B2C44:
/* 803B2C44 003AFBA4 38 C0 00 A1 */ li r6, 0xa1
/* 803B2C48 003AFBA8 48 00 00 28 */ b lbl_803B2C70
lbl_803B2C4C:
/* 803B2C4C 003AFBAC 38 C0 00 83 */ li r6, 0x83
/* 803B2C50 003AFBB0 48 00 00 20 */ b lbl_803B2C70
lbl_803B2C54:
/* 803B2C54 003AFBB4 38 C0 00 84 */ li r6, 0x84
/* 803B2C58 003AFBB8 48 00 00 18 */ b lbl_803B2C70
lbl_803B2C5C:
/* 803B2C5C 003AFBBC 38 C0 00 A2 */ li r6, 0xa2
/* 803B2C60 003AFBC0 48 00 00 10 */ b lbl_803B2C70
lbl_803B2C64:
/* 803B2C64 003AFBC4 38 C0 00 A3 */ li r6, 0xa3
/* 803B2C68 003AFBC8 48 00 00 08 */ b lbl_803B2C70
lbl_803B2C6C:
/* 803B2C6C 003AFBCC 38 C0 00 A4 */ li r6, 0xa4
lbl_803B2C70:
/* 803B2C70 003AFBD0 54 C0 06 3E */ clrlwi r0, r6, 0x18
/* 803B2C74 003AFBD4 2C 00 00 A2 */ cmpwi r0, 0xa2
/* 803B2C78 003AFBD8 40 80 00 0C */ bge lbl_803B2C84
/* 803B2C7C 003AFBDC 2C 00 00 A0 */ cmpwi r0, 0xa0
/* 803B2C80 003AFBE0 40 80 01 00 */ bge lbl_803B2D80
lbl_803B2C84:
/* 803B2C84 003AFBE4 8B A3 01 21 */ lbz r29, 0x121(r3)
/* 803B2C88 003AFBE8 28 1D 00 FF */ cmplwi r29, 0xff
/* 803B2C8C 003AFBEC 41 82 00 F4 */ beq lbl_803B2D80
/* 803B2C90 003AFBF0 8B C3 01 22 */ lbz r30, 0x122(r3)
/* 803B2C94 003AFBF4 41 82 00 EC */ beq lbl_803B2D80
/* 803B2C98 003AFBF8 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B2C9C 003AFBFC 28 00 00 40 */ cmplwi r0, 0x40
/* 803B2CA0 003AFC00 40 80 00 3C */ bge lbl_803B2CDC
/* 803B2CA4 003AFC04 54 FC 06 FE */ clrlwi r28, r7, 0x1b
/* 803B2CA8 003AFC08 7F A4 EB 78 */ mr r4, r29
/* 803B2CAC 003AFC0C 7F 83 E3 78 */ mr r3, r28
/* 803B2CB0 003AFC10 7F C5 F3 78 */ mr r5, r30
/* 803B2CB4 003AFC14 55 1F 04 3E */ clrlwi r31, r8, 0x10
/* 803B2CB8 003AFC18 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f
/* 803B2CBC 003AFC1C 4B FF E4 35 */ bl inpSetMidiCtrl
/* 803B2CC0 003AFC20 38 1C 00 20 */ addi r0, r28, 0x20
/* 803B2CC4 003AFC24 57 E6 06 7E */ clrlwi r6, r31, 0x19
/* 803B2CC8 003AFC28 7F A4 EB 78 */ mr r4, r29
/* 803B2CCC 003AFC2C 7F C5 F3 78 */ mr r5, r30
/* 803B2CD0 003AFC30 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 803B2CD4 003AFC34 4B FF E4 1D */ bl inpSetMidiCtrl
/* 803B2CD8 003AFC38 48 00 00 A8 */ b lbl_803B2D80
lbl_803B2CDC:
/* 803B2CDC 003AFC3C 28 00 00 80 */ cmplwi r0, 0x80
/* 803B2CE0 003AFC40 41 82 00 0C */ beq lbl_803B2CEC
/* 803B2CE4 003AFC44 28 00 00 81 */ cmplwi r0, 0x81
/* 803B2CE8 003AFC48 40 82 00 3C */ bne lbl_803B2D24
lbl_803B2CEC:
/* 803B2CEC 003AFC4C 54 FC 06 3C */ rlwinm r28, r7, 0, 0x18, 0x1e
/* 803B2CF0 003AFC50 7F A4 EB 78 */ mr r4, r29
/* 803B2CF4 003AFC54 7F 83 E3 78 */ mr r3, r28
/* 803B2CF8 003AFC58 7F C5 F3 78 */ mr r5, r30
/* 803B2CFC 003AFC5C 55 1F 04 3E */ clrlwi r31, r8, 0x10
/* 803B2D00 003AFC60 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f
/* 803B2D04 003AFC64 4B FF E3 ED */ bl inpSetMidiCtrl
/* 803B2D08 003AFC68 38 1C 00 01 */ addi r0, r28, 1
/* 803B2D0C 003AFC6C 57 E6 06 7E */ clrlwi r6, r31, 0x19
/* 803B2D10 003AFC70 7F A4 EB 78 */ mr r4, r29
/* 803B2D14 003AFC74 7F C5 F3 78 */ mr r5, r30
/* 803B2D18 003AFC78 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 803B2D1C 003AFC7C 4B FF E3 D5 */ bl inpSetMidiCtrl
/* 803B2D20 003AFC80 48 00 00 60 */ b lbl_803B2D80
lbl_803B2D24:
/* 803B2D24 003AFC84 28 00 00 84 */ cmplwi r0, 0x84
/* 803B2D28 003AFC88 41 82 00 0C */ beq lbl_803B2D34
/* 803B2D2C 003AFC8C 28 00 00 85 */ cmplwi r0, 0x85
/* 803B2D30 003AFC90 40 82 00 3C */ bne lbl_803B2D6C
lbl_803B2D34:
/* 803B2D34 003AFC94 54 FC 06 3C */ rlwinm r28, r7, 0, 0x18, 0x1e
/* 803B2D38 003AFC98 7F A4 EB 78 */ mr r4, r29
/* 803B2D3C 003AFC9C 7F 83 E3 78 */ mr r3, r28
/* 803B2D40 003AFCA0 7F C5 F3 78 */ mr r5, r30
/* 803B2D44 003AFCA4 55 1F 04 3E */ clrlwi r31, r8, 0x10
/* 803B2D48 003AFCA8 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f
/* 803B2D4C 003AFCAC 4B FF E3 A5 */ bl inpSetMidiCtrl
/* 803B2D50 003AFCB0 38 1C 00 01 */ addi r0, r28, 1
/* 803B2D54 003AFCB4 57 E6 06 7E */ clrlwi r6, r31, 0x19
/* 803B2D58 003AFCB8 7F A4 EB 78 */ mr r4, r29
/* 803B2D5C 003AFCBC 7F C5 F3 78 */ mr r5, r30
/* 803B2D60 003AFCC0 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 803B2D64 003AFCC4 4B FF E3 8D */ bl inpSetMidiCtrl
/* 803B2D68 003AFCC8 48 00 00 18 */ b lbl_803B2D80
lbl_803B2D6C:
/* 803B2D6C 003AFCCC 7C 83 23 78 */ mr r3, r4
/* 803B2D70 003AFCD0 7F A4 EB 78 */ mr r4, r29
/* 803B2D74 003AFCD4 7F C5 F3 78 */ mr r5, r30
/* 803B2D78 003AFCD8 55 06 CE 3E */ rlwinm r6, r8, 0x19, 0x18, 0x1f
/* 803B2D7C 003AFCDC 4B FF E3 75 */ bl inpSetMidiCtrl
lbl_803B2D80:
/* 803B2D80 003AFCE0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B2D84 003AFCE4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803B2D88 003AFCE8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803B2D8C 003AFCEC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803B2D90 003AFCF0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 803B2D94 003AFCF4 7C 08 03 A6 */ mtlr r0
/* 803B2D98 003AFCF8 38 21 00 20 */ addi r1, r1, 0x20
/* 803B2D9C 003AFCFC 4E 80 00 20 */ blr