Decompiled files alAuxBusPull.c & alSynSetPan.c

This commit is contained in:
David Benepe
2021-07-22 20:16:31 -05:00
parent ccccf8ff51
commit 442f0c3c33
10 changed files with 104 additions and 218 deletions
@@ -1,52 +0,0 @@
glabel alAuxBusParam
/* 0665D4 800659D4 8C83001C */ lw $v1, 0x1c($a0)
/* 0665D8 800659D8 24010002 */ li $at, 2
/* 0665DC 800659DC 10A10006 */ beq $a1, $at, .L800659F8
/* 0665E0 800659E0 00801025 */ move $v0, $a0
/* 0665E4 800659E4 24010011 */ li $at, 17
/* 0665E8 800659E8 10A1000D */ beq $a1, $at, .L80065A20
/* 0665EC 800659EC 00000000 */ nop
/* 0665F0 800659F0 03E00008 */ jr $ra
/* 0665F4 800659F4 00001025 */ move $v0, $zero
.L800659F8:
/* 0665F8 800659F8 8C8E0014 */ lw $t6, 0x14($a0)
/* 0665FC 800659FC 00001025 */ move $v0, $zero
/* 066600 80065A00 000E7880 */ sll $t7, $t6, 2
/* 066604 80065A04 006FC021 */ addu $t8, $v1, $t7
/* 066608 80065A08 AF060000 */ sw $a2, ($t8)
/* 06660C 80065A0C 8C990014 */ lw $t9, 0x14($a0)
/* 066610 80065A10 00000000 */ nop
/* 066614 80065A14 27280001 */ addiu $t0, $t9, 1
/* 066618 80065A18 03E00008 */ jr $ra
/* 06661C 80065A1C AC880014 */ sw $t0, 0x14($a0)
.L80065A20:
/* 066620 80065A20 8C890014 */ lw $t1, 0x14($a0)
/* 066624 80065A24 00002825 */ move $a1, $zero
/* 066628 80065A28 19200013 */ blez $t1, .L80065A78
/* 06662C 80065A2C 00603825 */ move $a3, $v1
.L80065A30:
/* 066630 80065A30 8CEA0000 */ lw $t2, ($a3)
/* 066634 80065A34 00000000 */ nop
/* 066638 80065A38 14CA000A */ bne $a2, $t2, .L80065A64
/* 06663C 80065A3C 00000000 */ nop
/* 066640 80065A40 8C8B0014 */ lw $t3, 0x14($a0)
/* 066644 80065A44 00000000 */ nop
/* 066648 80065A48 256CFFFF */ addiu $t4, $t3, -1
/* 06664C 80065A4C 000C7080 */ sll $t6, $t4, 2
/* 066650 80065A50 AC8C0014 */ sw $t4, 0x14($a0)
/* 066654 80065A54 006E7821 */ addu $t7, $v1, $t6
/* 066658 80065A58 8DF80000 */ lw $t8, ($t7)
/* 06665C 80065A5C 00000000 */ nop
/* 066660 80065A60 ACF80000 */ sw $t8, ($a3)
.L80065A64:
/* 066664 80065A64 8C590014 */ lw $t9, 0x14($v0)
/* 066668 80065A68 24A50001 */ addiu $a1, $a1, 1
/* 06666C 80065A6C 00B9082A */ slt $at, $a1, $t9
/* 066670 80065A70 1420FFEF */ bnez $at, .L80065A30
/* 066674 80065A74 24E70004 */ addiu $a3, $a3, 4
.L80065A78:
/* 066678 80065A78 03E00008 */ jr $ra
/* 06667C 80065A7C 00001025 */ move $v0, $zero
@@ -1,57 +0,0 @@
glabel alAuxBusPull
/* 066500 80065900 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 066504 80065904 AFB10024 */ sw $s1, 0x24($sp)
/* 066508 80065908 8FB10050 */ lw $s1, 0x50($sp)
/* 06650C 8006590C AFBF003C */ sw $ra, 0x3c($sp)
/* 066510 80065910 AFB60038 */ sw $s6, 0x38($sp)
/* 066514 80065914 AFB50034 */ sw $s5, 0x34($sp)
/* 066518 80065918 AFB40030 */ sw $s4, 0x30($sp)
/* 06651C 8006591C AFB3002C */ sw $s3, 0x2c($sp)
/* 066520 80065920 AFB20028 */ sw $s2, 0x28($sp)
/* 066524 80065924 AFB00020 */ sw $s0, 0x20($sp)
/* 066528 80065928 8C83001C */ lw $v1, 0x1c($a0)
/* 06652C 8006592C 3C0E0200 */ lui $t6, (0x020006C0 >> 16) # lui $t6, 0x200
/* 066530 80065930 00061040 */ sll $v0, $a2, 1
/* 066534 80065934 3C0F0200 */ lui $t7, (0x02000800 >> 16) # lui $t7, 0x200
/* 066538 80065938 35CE06C0 */ ori $t6, (0x020006C0 & 0xFFFF) # ori $t6, $t6, 0x6c0
/* 06653C 8006593C 35EF0800 */ ori $t7, (0x02000800 & 0xFFFF) # ori $t7, $t7, 0x800
/* 066540 80065940 AE2E0000 */ sw $t6, ($s1)
/* 066544 80065944 AE220004 */ sw $v0, 4($s1)
/* 066548 80065948 AE2F0008 */ sw $t7, 8($s1)
/* 06654C 8006594C AE22000C */ sw $v0, 0xc($s1)
/* 066550 80065950 8C980014 */ lw $t8, 0x14($a0)
/* 066554 80065954 00C0A025 */ move $s4, $a2
/* 066558 80065958 00A0A825 */ move $s5, $a1
/* 06655C 8006595C 00E0B025 */ move $s6, $a3
/* 066560 80065960 00809825 */ move $s3, $a0
/* 066564 80065964 00008025 */ move $s0, $zero
/* 066568 80065968 1B00000F */ blez $t8, .L800659A8
/* 06656C 8006596C 26320010 */ addiu $s2, $s1, 0x10
/* 066570 80065970 00608825 */ move $s1, $v1
.L80065974:
/* 066574 80065974 8E240000 */ lw $a0, ($s1)
/* 066578 80065978 AFB20010 */ sw $s2, 0x10($sp)
/* 06657C 8006597C 8C990004 */ lw $t9, 4($a0)
/* 066580 80065980 02A02825 */ move $a1, $s5
/* 066584 80065984 02803025 */ move $a2, $s4
/* 066588 80065988 0320F809 */ jalr $t9
/* 06658C 8006598C 02C03825 */ move $a3, $s6
/* 066590 80065990 8E680014 */ lw $t0, 0x14($s3)
/* 066594 80065994 26100001 */ addiu $s0, $s0, 1
/* 066598 80065998 0208082A */ slt $at, $s0, $t0
/* 06659C 8006599C 26310004 */ addiu $s1, $s1, 4
/* 0665A0 800659A0 1420FFF4 */ bnez $at, .L80065974
/* 0665A4 800659A4 00409025 */ move $s2, $v0
.L800659A8:
/* 0665A8 800659A8 8FBF003C */ lw $ra, 0x3c($sp)
/* 0665AC 800659AC 02401025 */ move $v0, $s2
/* 0665B0 800659B0 8FB20028 */ lw $s2, 0x28($sp)
/* 0665B4 800659B4 8FB00020 */ lw $s0, 0x20($sp)
/* 0665B8 800659B8 8FB10024 */ lw $s1, 0x24($sp)
/* 0665BC 800659BC 8FB3002C */ lw $s3, 0x2c($sp)
/* 0665C0 800659C0 8FB40030 */ lw $s4, 0x30($sp)
/* 0665C4 800659C4 8FB50034 */ lw $s5, 0x34($sp)
/* 0665C8 800659C8 8FB60038 */ lw $s6, 0x38($sp)
/* 0665CC 800659CC 03E00008 */ jr $ra
/* 0665D0 800659D0 27BD0040 */ addiu $sp, $sp, 0x40
@@ -1,49 +0,0 @@
glabel alSynSetPan
/* 066720 80065B20 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 066724 80065B24 AFBF0014 */ sw $ra, 0x14($sp)
/* 066728 80065B28 AFA40020 */ sw $a0, 0x20($sp)
/* 06672C 80065B2C AFA50024 */ sw $a1, 0x24($sp)
/* 066730 80065B30 AFA60028 */ sw $a2, 0x28($sp)
/* 066734 80065B34 8CAF0008 */ lw $t7, 8($a1)
/* 066738 80065B38 00000000 */ nop
/* 06673C 80065B3C 11E0001F */ beqz $t7, .L80065BBC
/* 066740 80065B40 8FBF0014 */ lw $ra, 0x14($sp)
/* 066744 80065B44 0C01959A */ jal __allocParam
/* 066748 80065B48 00000000 */ nop
/* 06674C 80065B4C 1040001A */ beqz $v0, .L80065BB8
/* 066750 80065B50 240C000C */ li $t4, 12
/* 066754 80065B54 8FA80024 */ lw $t0, 0x24($sp)
/* 066758 80065B58 8FB80020 */ lw $t8, 0x20($sp)
/* 06675C 80065B5C 8D090008 */ lw $t1, 8($t0)
/* 066760 80065B60 8F19001C */ lw $t9, 0x1c($t8)
/* 066764 80065B64 8D2A00D8 */ lw $t2, 0xd8($t1)
/* 066768 80065B68 A44C0008 */ sh $t4, 8($v0)
/* 06676C 80065B6C 032A5821 */ addu $t3, $t9, $t2
/* 066770 80065B70 AC4B0004 */ sw $t3, 4($v0)
/* 066774 80065B74 93A4002B */ lbu $a0, 0x2b($sp)
/* 066778 80065B78 0C0196FB */ jal modify_panning
/* 06677C 80065B7C AFA2001C */ sw $v0, 0x1c($sp)
/* 066780 80065B80 8FA6001C */ lw $a2, 0x1c($sp)
/* 066784 80065B84 24050003 */ li $a1, 3
/* 066788 80065B88 ACC2000C */ sw $v0, 0xc($a2)
/* 06678C 80065B8C ACC00000 */ sw $zero, ($a2)
/* 066790 80065B90 8FAD0024 */ lw $t5, 0x24($sp)
/* 066794 80065B94 00000000 */ nop
/* 066798 80065B98 8DAE0008 */ lw $t6, 8($t5)
/* 06679C 80065B9C 00000000 */ nop
/* 0667A0 80065BA0 8DC4000C */ lw $a0, 0xc($t6)
/* 0667A4 80065BA4 00000000 */ nop
/* 0667A8 80065BA8 8C990008 */ lw $t9, 8($a0)
/* 0667AC 80065BAC 00000000 */ nop
/* 0667B0 80065BB0 0320F809 */ jalr $t9
/* 0667B4 80065BB4 00000000 */ nop
.L80065BB8:
/* 0667B8 80065BB8 8FBF0014 */ lw $ra, 0x14($sp)
.L80065BBC:
/* 0667BC 80065BBC 27BD0020 */ addiu $sp, $sp, 0x20
/* 0667C0 80065BC0 03E00008 */ jr $ra
/* 0667C4 80065BC4 00000000 */ nop
/* 0667C8 80065BC8 00000000 */ nop
/* 0667CC 80065BCC 00000000 */ nop
@@ -1,43 +0,0 @@
glabel func_80065A80
/* 066680 80065A80 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 066684 80065A84 AFA60028 */ sw $a2, 0x28($sp)
/* 066688 80065A88 AFBF0014 */ sw $ra, 0x14($sp)
/* 06668C 80065A8C AFA40020 */ sw $a0, 0x20($sp)
/* 066690 80065A90 90A200DC */ lbu $v0, 0xdc($a1)
/* 066694 80065A94 87AE002A */ lh $t6, 0x2a($sp)
/* 066698 80065A98 00A03825 */ move $a3, $a1
/* 06669C 80065A9C 11C2001C */ beq $t6, $v0, .L80065B10
/* 0666A0 80065AA0 0002C880 */ sll $t9, $v0, 2
/* 0666A4 80065AA4 0322C821 */ addu $t9, $t9, $v0
/* 0666A8 80065AA8 8C980034 */ lw $t8, 0x34($a0)
/* 0666AC 80065AAC 0019C880 */ sll $t9, $t9, 2
/* 0666B0 80065AB0 0322C823 */ subu $t9, $t9, $v0
/* 0666B4 80065AB4 0019C880 */ sll $t9, $t9, 2
/* 0666B8 80065AB8 24E6008C */ addiu $a2, $a3, 0x8c
/* 0666BC 80065ABC AFA60018 */ sw $a2, 0x18($sp)
/* 0666C0 80065AC0 AFA70024 */ sw $a3, 0x24($sp)
/* 0666C4 80065AC4 24050011 */ li $a1, 17
/* 0666C8 80065AC8 0C019675 */ jal alAuxBusParam
/* 0666CC 80065ACC 03192021 */ addu $a0, $t8, $t9
/* 0666D0 80065AD0 87AA002A */ lh $t2, 0x2a($sp)
/* 0666D4 80065AD4 8FA80020 */ lw $t0, 0x20($sp)
/* 0666D8 80065AD8 000A5880 */ sll $t3, $t2, 2
/* 0666DC 80065ADC 016A5821 */ addu $t3, $t3, $t2
/* 0666E0 80065AE0 000B5880 */ sll $t3, $t3, 2
/* 0666E4 80065AE4 8D090034 */ lw $t1, 0x34($t0)
/* 0666E8 80065AE8 016A5823 */ subu $t3, $t3, $t2
/* 0666EC 80065AEC 8FA60018 */ lw $a2, 0x18($sp)
/* 0666F0 80065AF0 000B5880 */ sll $t3, $t3, 2
/* 0666F4 80065AF4 24050002 */ li $a1, 2
/* 0666F8 80065AF8 0C019675 */ jal alAuxBusParam
/* 0666FC 80065AFC 012B2021 */ addu $a0, $t1, $t3
/* 066700 80065B00 87AC002A */ lh $t4, 0x2a($sp)
/* 066704 80065B04 8FAD0024 */ lw $t5, 0x24($sp)
/* 066708 80065B08 00000000 */ nop
/* 06670C 80065B0C A1AC00DC */ sb $t4, 0xdc($t5)
.L80065B10:
/* 066710 80065B10 8FBF0014 */ lw $ra, 0x14($sp)
/* 066714 80065B14 27BD0020 */ addiu $sp, $sp, 0x20
/* 066718 80065B18 03E00008 */ jr $ra
/* 06671C 80065B1C 00000000 */ nop
+1 -1
View File
@@ -9,7 +9,7 @@
enum {
AL_FILTER_FREE_VOICE,
AL_FILTER_SET_SOURCE,
AL_FILTER_ADD_SOURCE,
AL_FILTER_ADD_SOURCE, // 2
AL_FILTER_ADD_UPDATE,
AL_FILTER_RESET,
AL_FILTER_SET_WAVETABLE,
+73
View File
@@ -0,0 +1,73 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x80065900 */
#include "alSynStartVoiceParams.h"
#include "types.h"
#include "macros.h"
#include "audio_internal.h"
Acmd *alAuxBusPull(void *filter, s16 *outp, s32 outCount, s32 sampleOffset, Acmd *p) {
Acmd *ptr = p;
ALAuxBus *m = (ALAuxBus *)filter;
ALFilter **sources = m->sources;
s32 i;
aClearBuffer(ptr++, AL_AUX_L_OUT, outCount<<1);
aClearBuffer(ptr++, AL_AUX_R_OUT, outCount<<1);
for (i = 0; i < m->sourceCount; i++) {
ptr = (sources[i]->handler)(sources[i], outp, outCount, sampleOffset, ptr);
}
return ptr;
}
s32 alAuxBusParam(void *filter, s32 paramID, void *param) {
ALAuxBus *m = (ALAuxBus *) filter;
ALFilter **sources = m->sources;
s32 i;
switch (paramID) {
case AL_FILTER_ADD_SOURCE:
sources[m->sourceCount++] = (ALFilter *) param;
break;
case 0x11:
for (i = 0; i < m->sourceCount; i++) {
if ((ALFilter *) param == sources[i]) {
m->sourceCount--;
sources[i] = sources[m->sourceCount];
}
}
break;
}
return 0;
}
/* Size: 0x4C bytes */
typedef struct unk80065A80_arg0_34 {
u8 pad0[0x4C];
} unk80065A80_arg0_34;
/* Unknown size */
typedef struct unk80065A80_arg0 {
u8 pad0[0x34];
unk80065A80_arg0_34 *unk34;
} unk80065A80_arg0;
/* Unknown size */
typedef struct unk80065A80_arg1 {
u8 pad0[0x8C];
s32 unk8C;
u8 pad90[0x4C];
u8 unkDC;
} unk80065A80_arg1;
void func_80065A80(unk80065A80_arg0 *arg0, unk80065A80_arg1 *arg1, s16 arg2) {
if (arg2 != arg1->unkDC) {
alAuxBusParam(&arg0->unk34[arg1->unkDC], 0x11, &arg1->unk8C);
alAuxBusParam(&arg0->unk34[arg2], 2, &arg1->unk8C);
arg1->unkDC = arg2;
}
}
+27
View File
@@ -0,0 +1,27 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x80065B20 */
#include "alSynStartVoiceParams.h"
#include "types.h"
#include "macros.h"
#include "audio_internal.h"
void alSynSetPan(ALSynth *synth, ALVoice *v, u8 pan) {
ALParam *update;
ALFilter *f;
if (v->pvoice) {
update = __allocParam();
if(update != NULL) {
update->delta = synth->paramSamples + v->pvoice->offset;
update->type = AL_FILTER_SET_PAN;
update->data.i = modify_panning(pan);
update->next = 0;
f = v->pvoice->channelKnob;
(*f->setParam)(f, AL_FILTER_ADD_UPDATE, update);
}
}
}
+3
View File
@@ -11,4 +11,7 @@ enum StereoPanMode {
HEADPHONES
};
void set_stereo_pan_mode(s32 panMode);
s32 modify_panning(s32 pan);
#endif
-12
View File
@@ -1,12 +0,0 @@
/* The comment below is needed for this file to be picked up by generate_ld */
/* RAM_POS: 0x80065900 */
#include "unknown_066500.h"
#include "types.h"
#include "macros.h"
GLOBAL_ASM("asm/non_matchings/unknown_066500/alAuxBusPull.s")
GLOBAL_ASM("asm/non_matchings/unknown_066500/alAuxBusParam.s")
GLOBAL_ASM("asm/non_matchings/unknown_066500/func_80065A80.s")
GLOBAL_ASM("asm/non_matchings/unknown_066500/alSynSetPan.s")
-4
View File
@@ -1,4 +0,0 @@
#ifndef _UNKNOWN_066500_H_
#define _UNKNOWN_066500_H_
#endif