prime/asm/musyx/runtime/snd_midictrl.s

2342 lines
104 KiB
ArmAsm

.include "macros.inc"
.section .bss
.balign 8
.obj inpGlobalMIDIDirtyFlags, local
.skip 0x200
.endobj inpGlobalMIDIDirtyFlags
.obj midi_ctrl, local
.skip 0x4300
.endobj midi_ctrl
.obj inpChannelDefaults, local
.skip 0x80
.endobj inpChannelDefaults
.obj fx_ctrl, local
.skip 0x2180
.endobj fx_ctrl
.obj inpFXChannelDefaults, local
.skip 0x40
.endobj inpFXChannelDefaults
.obj midi_lastNote, local
.skip 0x80
.endobj midi_lastNote
.obj fx_lastNote, local
.skip 0x40
.endobj fx_lastNote
.section .data, "wa"
.balign 8
.obj lbl_803F41E8, local
# ROM: 0x3F11E8
.4byte 0x80000001
.4byte 0x80000002
.4byte 0x80000004
.4byte 0x80000008
.endobj lbl_803F41E8
.obj lbl_803F41F8, local
# ROM: 0x3F11F8
.4byte 0x80000010
.4byte 0x80000020
.4byte 0x80000040
.4byte 0x80000080
.endobj lbl_803F41F8
.obj lbl_803F4208, local
# ROM: 0x3F1208
.4byte lbl_803B2A78
.4byte lbl_803B2A80
.4byte lbl_803B2A88
.4byte lbl_803B2A90
.4byte lbl_803B2A98
.4byte lbl_803B2AA0
.4byte lbl_803B2AA8
.4byte lbl_803B2AB0
.4byte lbl_803B2AB8
.endobj lbl_803F4208
.obj lbl_803F422C, local
# ROM: 0x3F122C
.4byte lbl_803B2AF8
.4byte lbl_803B2B00
.4byte lbl_803B2B08
.4byte lbl_803B2B10
.4byte lbl_803B2B18
.4byte lbl_803B2B20
.4byte lbl_803B2B28
.4byte lbl_803B2B30
.4byte lbl_803B2B38
.endobj lbl_803F422C
.obj lbl_803F4250, local
.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
.endobj lbl_803F4250
.section .rodata
.balign 8
.obj inpColdMIDIDefaults, local
# ROM: 0x3D5AC0
.4byte 0
.4byte 0x0000007F
.4byte 0x0000407F
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0x00007F7F
.4byte 0x7F7F0000
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.4byte 0
.byte 0x40
.byte 0x00
.byte 0x00
.byte 0x00
.byte 0x40
.byte 0x00
.byte 0x00
.byte 0x00
.endobj inpColdMIDIDefaults
.obj inpWarmMIDIDefaults, local
# ROM: 0x3D5B48
.4byte 0xFF00FFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFF7F
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFF00FFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFF7F
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0
.4byte 0xFF00FFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0x40FFFFFF
.4byte 0xFFFF0000
.endobj inpWarmMIDIDefaults
.section .text, "ax"
.global inpSetGlobalMIDIDirtyFlag
inpSetGlobalMIDIDirtyFlag:
/* 803B10CC 003AE02C 3C C0 80 56 */ lis r6, inpGlobalMIDIDirtyFlags@ha
/* 803B10D0 003AE030 54 84 34 B2 */ rlwinm r4, r4, 6, 0x12, 0x19
/* 803B10D4 003AE034 38 06 07 90 */ addi r0, r6, inpGlobalMIDIDirtyFlags@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, inpGlobalMIDIDirtyFlags@ha
/* 803B110C 003AE06C 28 07 00 FF */ cmplwi r7, 0xff
/* 803B1110 003AE070 3B E8 07 90 */ addi r31, r8, inpGlobalMIDIDirtyFlags@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 synthKeyStateUpdate
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 synthKeyStateUpdate
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, inpWarmMIDIDefaults@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, inpWarmMIDIDefaults@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, inpColdMIDIDefaults@ha
/* 803B184C 003AE7AC 38 C3 8A C0 */ addi r6, r3, inpColdMIDIDefaults@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, midi_ctrl@ha
/* 803B1864 003AE7C4 1C 84 08 60 */ mulli r4, r4, 0x860
/* 803B1868 003AE7C8 38 63 09 90 */ addi r3, r3, midi_ctrl@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, fx_ctrl@ha
/* 803B1884 003AE7E4 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1888 003AE7E8 38 03 4D 10 */ addi r0, r3, fx_ctrl@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, midi_ctrl@ha
/* 803B1938 003AE898 54 66 06 FE */ clrlwi r6, r3, 0x1b
/* 803B193C 003AE89C 38 04 09 90 */ addi r0, r4, midi_ctrl@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, midi_ctrl@ha
/* 803B1978 003AE8D8 38 60 00 40 */ li r3, 0x40
/* 803B197C 003AE8DC 38 A4 09 90 */ addi r5, r4, midi_ctrl@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, midi_ctrl@ha
/* 803B19E4 003AE944 54 67 06 3C */ rlwinm r7, r3, 0, 0x18, 0x1e
/* 803B19E8 003AE948 38 04 09 90 */ addi r0, r4, midi_ctrl@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, midi_ctrl@ha
/* 803B1A34 003AE994 54 67 06 3C */ rlwinm r7, r3, 0, 0x18, 0x1e
/* 803B1A38 003AE998 38 04 09 90 */ addi r0, r4, midi_ctrl@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, midi_ctrl@ha
/* 803B1A74 003AE9D4 38 63 09 90 */ addi r3, r3, midi_ctrl@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, fx_ctrl@ha
/* 803B1AA4 003AEA04 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 803B1AA8 003AEA08 38 04 4D 10 */ addi r0, r4, fx_ctrl@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, fx_ctrl@ha
/* 803B1ADC 003AEA3C 38 60 00 40 */ li r3, 0x40
/* 803B1AE0 003AEA40 38 04 4D 10 */ addi r0, r4, fx_ctrl@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, fx_ctrl@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, fx_ctrl@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, fx_ctrl@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, fx_ctrl@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, fx_ctrl@ha
/* 803B1BB0 003AEB10 1C 80 00 86 */ mulli r4, r0, 0x86
/* 803B1BB4 003AEB14 38 03 4D 10 */ addi r0, r3, fx_ctrl@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 inpGetChannelDefaults
inpGetChannelDefaults:
/* 803B1BD0 003AEB30 54 80 06 3E */ clrlwi r0, r4, 0x18
/* 803B1BD4 003AEB34 3C A0 80 56 */ lis r5, inpChannelDefaults@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, inpChannelDefaults@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, inpChannelDefaults@ha
/* 803B1C28 003AEB88 54 84 25 36 */ rlwinm r4, r4, 4, 0x14, 0x1b
/* 803B1C2C 003AEB8C 38 03 4C 90 */ addi r0, r3, inpChannelDefaults@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, fx_ctrl@ha
/* 803B1CFC 003AEC5C 54 65 06 FE */ clrlwi r5, r3, 0x1b
/* 803B1D00 003AEC60 38 84 4D 10 */ addi r4, r4, fx_ctrl@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, fx_ctrl@ha
/* 803B1D48 003AECA8 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1D4C 003AECAC 38 84 4D 10 */ addi r4, r4, fx_ctrl@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, fx_ctrl@ha
/* 803B1D94 003AECF4 54 65 06 3C */ rlwinm r5, r3, 0, 0x18, 0x1e
/* 803B1D98 003AECF8 38 84 4D 10 */ addi r4, r4, fx_ctrl@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, fx_ctrl@ha
/* 803B1DD0 003AED30 38 A3 4D 10 */ addi r5, r3, fx_ctrl@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, midi_lastNote@ha
/* 803B1DFC 003AED5C 54 87 25 36 */ rlwinm r7, r4, 4, 0x14, 0x1b
/* 803B1E00 003AED60 38 86 6E D0 */ addi r4, r6, midi_lastNote@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, fx_lastNote@ha
/* 803B1E18 003AED78 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E1C 003AED7C 38 64 6F 50 */ addi r3, r4, fx_lastNote@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, midi_lastNote@ha
/* 803B1E38 003AED98 54 86 25 36 */ rlwinm r6, r4, 4, 0x14, 0x1b
/* 803B1E3C 003AED9C 38 85 6E D0 */ addi r4, r5, midi_lastNote@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, fx_lastNote@ha
/* 803B1E54 003AEDB4 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B1E58 003AEDB8 38 64 6F 50 */ addi r3, r4, fx_lastNote@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 inpGetVolume
inpGetVolume:
/* 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 inpGetPanning
inpGetPanning:
/* 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 inpGetSurPanning
inpGetSurPanning:
/* 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 inpGetPitchBend
inpGetPitchBend:
/* 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 inpGetDoppler
inpGetDoppler:
/* 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 inpGetModulation
inpGetModulation:
/* 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 inpGetPedal
inpGetPedal:
/* 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 inpGetPreAuxA
inpGetPreAuxA:
/* 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 inpGetReverb
inpGetReverb:
/* 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 inpGetPreAuxB
inpGetPreAuxB:
/* 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 inpGetPostAuxB
inpGetPostAuxB:
/* 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 inpGetTremolo
inpGetTremolo:
/* 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 inpGetAuxA
inpGetAuxA:
/* 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, inpGlobalMIDIDirtyFlags@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, inpGlobalMIDIDirtyFlags@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, inpAuxA@ha
/* 803B26C8 003AF628 1C E0 00 90 */ mulli r7, r0, 0x90
/* 803B26CC 003AF62C 38 83 0F 74 */ addi r4, r3, inpAuxA@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, inpAuxA@ha
/* 803B26F0 003AF650 1C 60 00 90 */ mulli r3, r0, 0x90
/* 803B26F4 003AF654 38 84 0F 74 */ addi r4, r4, inpAuxA@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 inpGetAuxB
inpGetAuxB:
/* 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, inpGlobalMIDIDirtyFlags@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, inpGlobalMIDIDirtyFlags@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, inpAuxB@ha
/* 803B277C 003AF6DC 1C E0 00 90 */ mulli r7, r0, 0x90
/* 803B2780 003AF6E0 38 83 0A F4 */ addi r4, r3, inpAuxB@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, inpAuxB@ha
/* 803B27A4 003AF704 1C 60 00 90 */ mulli r3, r0, 0x90
/* 803B27A8 003AF708 38 84 0A F4 */ addi r4, r4, inpAuxB@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 inpInit
inpInit:
/* 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, inpAuxA@ha
/* 803B28F0 003AF850 3C 60 80 55 */ lis r3, inpAuxB@ha
/* 803B28F4 003AF854 38 A3 0A F4 */ addi r5, r3, inpAuxB@l
/* 803B28F8 003AF858 38 00 00 02 */ li r0, 2
/* 803B28FC 003AF85C 38 84 0F 74 */ addi r4, r4, inpAuxA@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, inpGlobalMIDIDirtyFlags@ha
/* 803B2998 003AF8F8 38 00 00 04 */ li r0, 4
/* 803B299C 003AF8FC 38 A3 07 90 */ addi r5, r3, inpGlobalMIDIDirtyFlags@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
lbl_803B2A78:
/* 803B2A78 003AF9D8 38 60 00 80 */ li r3, 0x80
/* 803B2A7C 003AF9DC 4E 80 00 20 */ blr
lbl_803B2A80:
/* 803B2A80 003AF9E0 38 60 00 82 */ li r3, 0x82
/* 803B2A84 003AF9E4 4E 80 00 20 */ blr
lbl_803B2A88:
/* 803B2A88 003AF9E8 38 60 00 A0 */ li r3, 0xa0
/* 803B2A8C 003AF9EC 4E 80 00 20 */ blr
lbl_803B2A90:
/* 803B2A90 003AF9F0 38 60 00 A1 */ li r3, 0xa1
/* 803B2A94 003AF9F4 4E 80 00 20 */ blr
lbl_803B2A98:
/* 803B2A98 003AF9F8 38 60 00 83 */ li r3, 0x83
/* 803B2A9C 003AF9FC 4E 80 00 20 */ blr
lbl_803B2AA0:
/* 803B2AA0 003AFA00 38 60 00 84 */ li r3, 0x84
/* 803B2AA4 003AFA04 4E 80 00 20 */ blr
lbl_803B2AA8:
/* 803B2AA8 003AFA08 38 60 00 A2 */ li r3, 0xa2
/* 803B2AAC 003AFA0C 4E 80 00 20 */ blr
lbl_803B2AB0:
/* 803B2AB0 003AFA10 38 60 00 A3 */ li r3, 0xa3
/* 803B2AB4 003AFA14 4E 80 00 20 */ blr
lbl_803B2AB8:
/* 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
lbl_803B2AF8:
/* 803B2AF8 003AFA58 38 C0 00 80 */ li r6, 0x80
/* 803B2AFC 003AFA5C 48 00 00 40 */ b lbl_803B2B3C
lbl_803B2B00:
/* 803B2B00 003AFA60 38 C0 00 82 */ li r6, 0x82
/* 803B2B04 003AFA64 48 00 00 38 */ b lbl_803B2B3C
lbl_803B2B08:
/* 803B2B08 003AFA68 38 C0 00 A0 */ li r6, 0xa0
/* 803B2B0C 003AFA6C 48 00 00 30 */ b lbl_803B2B3C
lbl_803B2B10:
/* 803B2B10 003AFA70 38 C0 00 A1 */ li r6, 0xa1
/* 803B2B14 003AFA74 48 00 00 28 */ b lbl_803B2B3C
lbl_803B2B18:
/* 803B2B18 003AFA78 38 C0 00 83 */ li r6, 0x83
/* 803B2B1C 003AFA7C 48 00 00 20 */ b lbl_803B2B3C
lbl_803B2B20:
/* 803B2B20 003AFA80 38 C0 00 84 */ li r6, 0x84
/* 803B2B24 003AFA84 48 00 00 18 */ b lbl_803B2B3C
lbl_803B2B28:
/* 803B2B28 003AFA88 38 C0 00 A2 */ li r6, 0xa2
/* 803B2B2C 003AFA8C 48 00 00 10 */ b lbl_803B2B3C
lbl_803B2B30:
/* 803B2B30 003AFA90 38 C0 00 A3 */ li r6, 0xa3
/* 803B2B34 003AFA94 48 00 00 08 */ b lbl_803B2B3C
lbl_803B2B38:
/* 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