Matches for audio/port_eu,external and fix lang problem (#275)

* some matches in audio in port_eu, heap, and external.

* update port eu

* Add export lang=c to makefile 

* near match for func_800CBB48

* Update src/audio/heap.c
This commit is contained in:
coco875
2022-11-21 02:23:49 +01:00
committed by GitHub
parent a4faefbc20
commit d7c9a14908
15 changed files with 90 additions and 420 deletions
+1
View File
@@ -13,6 +13,7 @@ default: all
VERSION ?= us
# If COMPARE is 1, check the output sha1sum when building 'all'
COMPARE ?= 1
export LANG := C
ifeq ($(VERSION),us)
VERSION_CFLAGS := -DVERSION_US
-35
View File
@@ -1,35 +0,0 @@
glabel func_800C13FC
/* 0C1FFC 800C13FC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C2000 800C1400 AFA40038 */ sw $a0, 0x38($sp)
/* 0C2004 800C1404 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C2008 800C1408 AFBE0028 */ sw $fp, 0x28($sp)
/* 0C200C 800C140C 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f
/* 0C2010 800C1410 03A0F025 */ move $fp, $sp
/* 0C2014 800C1414 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0)
/* 0C2018 800C1418 27A50034 */ addiu $a1, $sp, 0x34
/* 0C201C 800C141C 0C0335D4 */ jal osRecvMesg
/* 0C2020 800C1420 00003025 */ move $a2, $zero
/* 0C2024 800C1424 3C04800F */ lui $a0, %hi(D_800EA3B0) # $a0, 0x800f
/* 0C2028 800C1428 8C84A3B0 */ lw $a0, %lo(D_800EA3B0)($a0)
/* 0C202C 800C142C 8FC50038 */ lw $a1, 0x38($fp)
/* 0C2030 800C1430 0C033630 */ jal osSendMesg
/* 0C2034 800C1434 00003025 */ move $a2, $zero
/* 0C2038 800C1438 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f
/* 0C203C 800C143C 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0)
/* 0C2040 800C1440 27C50034 */ addiu $a1, $fp, 0x34
/* 0C2044 800C1444 0C0335D4 */ jal osRecvMesg
/* 0C2048 800C1448 24060001 */ li $a2, 1
/* 0C204C 800C144C 8FCE0034 */ lw $t6, 0x34($fp)
/* 0C2050 800C1450 8FCF0038 */ lw $t7, 0x38($fp)
/* 0C2054 800C1454 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f
/* 0C2058 800C1458 27C50034 */ addiu $a1, $fp, 0x34
/* 0C205C 800C145C 11CF0003 */ beq $t6, $t7, .L800C146C
/* 0C2060 800C1460 24060001 */ li $a2, 1
/* 0C2064 800C1464 0C0335D4 */ jal osRecvMesg
/* 0C2068 800C1468 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0)
.L800C146C:
/* 0C206C 800C146C 8FDF002C */ lw $ra, 0x2c($fp)
/* 0C2070 800C1470 03C0E825 */ move $sp, $fp
/* 0C2074 800C1474 8FDE0028 */ lw $fp, 0x28($fp)
/* 0C2078 800C1478 03E00008 */ jr $ra
/* 0C207C 800C147C 27BD0038 */ addiu $sp, $sp, 0x38
@@ -1,24 +0,0 @@
glabel func_800B90F0
/* 0B9CF0 800B90F0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0B9CF4 800B90F4 00803025 */ move $a2, $a0
/* 0B9CF8 800B90F8 AFBF0014 */ sw $ra, 0x14($sp)
/* 0B9CFC 800B90FC 3C04803B */ lui $a0, %hi(gAudioInitPool) # $a0, 0x803b
/* 0B9D00 800B9100 3C05803B */ lui $a1, %hi(D_803B71B0) # $a1, 0x803b
/* 0B9D04 800B9104 24A571B0 */ addiu $a1, %lo(D_803B71B0) # addiu $a1, $a1, 0x71b0
/* 0B9D08 800B9108 2484FBD8 */ addiu $a0, %lo(gAudioInitPool) # addiu $a0, $a0, -0x428
/* 0B9D0C 800B910C 0C02E41F */ jal sound_alloc_pool_init
/* 0B9D10 800B9110 AFA60018 */ sw $a2, 0x18($sp)
/* 0B9D14 800B9114 8FA70018 */ lw $a3, 0x18($sp)
/* 0B9D18 800B9118 3C0F800F */ lui $t7, %hi(D_800EA5D0) # $t7, 0x800f
/* 0B9D1C 800B911C 8DEFA5D0 */ lw $t7, %lo(D_800EA5D0)($t7)
/* 0B9D20 800B9120 3C0E803B */ lui $t6, %hi(D_803B71B0) # $t6, 0x803b
/* 0B9D24 800B9124 25CE71B0 */ addiu $t6, %lo(D_803B71B0) # addiu $t6, $t6, 0x71b0
/* 0B9D28 800B9128 3C04803B */ lui $a0, %hi(gLeftVolRampings) # $a0, 0x803b
/* 0B9D2C 800B912C 2484FBC8 */ addiu $a0, %lo(gLeftVolRampings) # addiu $a0, $a0, -0x438
/* 0B9D30 800B9130 00EE2821 */ addu $a1, $a3, $t6
/* 0B9D34 800B9134 0C02E41F */ jal sound_alloc_pool_init
/* 0B9D38 800B9138 01E73023 */ subu $a2, $t7, $a3
/* 0B9D3C 800B913C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0B9D40 800B9140 27BD0018 */ addiu $sp, $sp, 0x18
/* 0B9D44 800B9144 03E00008 */ jr $ra
/* 0B9D48 800B9148 00000000 */ nop
@@ -1,32 +0,0 @@
glabel func_800B914C
/* 0B9D4C 800B914C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0B9D50 800B9150 AFA40018 */ sw $a0, 0x18($sp)
/* 0B9D54 800B9154 3C04803B */ lui $a0, %hi(gLeftVolRampings) # $a0, 0x803b
/* 0B9D58 800B9158 2484FBC8 */ addiu $a0, %lo(gLeftVolRampings) # addiu $a0, $a0, -0x438
/* 0B9D5C 800B915C 8C8E0000 */ lw $t6, ($a0)
/* 0B9D60 800B9160 8FAF0018 */ lw $t7, 0x18($sp)
/* 0B9D64 800B9164 AFBF0014 */ sw $ra, 0x14($sp)
/* 0B9D68 800B9168 AC8E0004 */ sw $t6, 4($a0)
/* 0B9D6C 800B916C 0C02E3FF */ jal soundAlloc
/* 0B9D70 800B9170 8DE50000 */ lw $a1, ($t7)
/* 0B9D74 800B9174 8FB80018 */ lw $t8, 0x18($sp)
/* 0B9D78 800B9178 3C04803B */ lui $a0, %hi(gNotesAndBuffersPool) # $a0, 0x803b
/* 0B9D7C 800B917C 2484FBE8 */ addiu $a0, %lo(gNotesAndBuffersPool) # addiu $a0, $a0, -0x418
/* 0B9D80 800B9180 00402825 */ move $a1, $v0
/* 0B9D84 800B9184 0C02E41F */ jal sound_alloc_pool_init
/* 0B9D88 800B9188 8F060000 */ lw $a2, ($t8)
/* 0B9D8C 800B918C 8FB90018 */ lw $t9, 0x18($sp)
/* 0B9D90 800B9190 3C04803B */ lui $a0, %hi(gLeftVolRampings) # $a0, 0x803b
/* 0B9D94 800B9194 2484FBC8 */ addiu $a0, %lo(gLeftVolRampings) # addiu $a0, $a0, -0x438
/* 0B9D98 800B9198 0C02E3FF */ jal soundAlloc
/* 0B9D9C 800B919C 8F25000C */ lw $a1, 0xc($t9)
/* 0B9DA0 800B91A0 8FA80018 */ lw $t0, 0x18($sp)
/* 0B9DA4 800B91A4 3C04803B */ lui $a0, %hi(gSeqAndBankPool) # $a0, 0x803b
/* 0B9DA8 800B91A8 2484FC18 */ addiu $a0, %lo(gSeqAndBankPool) # addiu $a0, $a0, -0x3e8
/* 0B9DAC 800B91AC 00402825 */ move $a1, $v0
/* 0B9DB0 800B91B0 0C02E41F */ jal sound_alloc_pool_init
/* 0B9DB4 800B91B4 8D06000C */ lw $a2, 0xc($t0)
/* 0B9DB8 800B91B8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0B9DBC 800B91BC 27BD0018 */ addiu $sp, $sp, 0x18
/* 0B9DC0 800B91C0 03E00008 */ jr $ra
/* 0B9DC4 800B91C4 00000000 */ nop
@@ -1,25 +0,0 @@
glabel func_800B9FB8
/* 0BABB8 800B9FB8 3C03803B */ lui $v1, %hi(gNumSynthesisReverbs) # $v1, 0x803b
/* 0BABBC 800B9FBC 8063FBC3 */ lb $v1, %lo(gNumSynthesisReverbs)($v1)
/* 0BABC0 800B9FC0 3C0E803B */ lui $t6, %hi(gSynthesisReverbs) # 0x803b
/* 0BABC4 800B9FC4 25C2F790 */ addiu $v0, $t6, %lo(gSynthesisReverbs) # -0x870
/* 0BABC8 800B9FC8 1860000E */ blez $v1, .L800BA004
/* 0BABCC 800B9FCC 00037940 */ sll $t7, $v1, 5
/* 0BABD0 800B9FD0 01E37821 */ addu $t7, $t7, $v1
/* 0BABD4 800B9FD4 000F78C0 */ sll $t7, $t7, 3
/* 0BABD8 800B9FD8 01E22021 */ addu $a0, $t7, $v0
.L800B9FDC:
/* 0BABDC 800B9FDC 94430008 */ lhu $v1, 8($v0)
/* 0BABE0 800B9FE0 24420108 */ addiu $v0, $v0, 0x108
/* 0BABE4 800B9FE4 04610003 */ bgez $v1, .L800B9FF4
/* 0BABE8 800B9FE8 0003C083 */ sra $t8, $v1, 2
/* 0BABEC 800B9FEC 24610003 */ addiu $at, $v1, 3
/* 0BABF0 800B9FF0 0001C083 */ sra $t8, $at, 2
.L800B9FF4:
/* 0BABF4 800B9FF4 0044082B */ sltu $at, $v0, $a0
/* 0BABF8 800B9FF8 0078C823 */ subu $t9, $v1, $t8
/* 0BABFC 800B9FFC 1420FFF7 */ bnez $at, .L800B9FDC
/* 0BAC00 800BA000 A459FF00 */ sh $t9, -0x100($v0)
.L800BA004:
/* 0BAC04 800BA004 03E00008 */ jr $ra
/* 0BAC08 800BA008 00000000 */ nop
@@ -1,38 +0,0 @@
glabel func_800CBAB4
/* 0CC6B4 800CBAB4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CC6B8 800CBAB8 3C01800F */ lui $at, %hi(D_800EA3A0) # $at, 0x800f
/* 0CC6BC 800CBABC A020A3A0 */ sb $zero, %lo(D_800EA3A0)($at)
/* 0CC6C0 800CBAC0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CC6C4 800CBAC4 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CC6C8 800CBAC8 3C01800F */ lui $at, %hi(D_800EA3A4) # $at, 0x800f
/* 0CC6CC 800CBACC 3C04800F */ lui $a0, %hi(D_800EA3A8) # $a0, 0x800f
/* 0CC6D0 800CBAD0 3C058019 */ lui $a1, %hi(D_80194020) # $a1, 0x8019
/* 0CC6D4 800CBAD4 03A0F025 */ move $fp, $sp
/* 0CC6D8 800CBAD8 A020A3A4 */ sb $zero, %lo(D_800EA3A4)($at)
/* 0CC6DC 800CBADC 24A54020 */ addiu $a1, %lo(D_80194020) # addiu $a1, $a1, 0x4020
/* 0CC6E0 800CBAE0 8C84A3A8 */ lw $a0, %lo(D_800EA3A8)($a0)
/* 0CC6E4 800CBAE4 0C033358 */ jal osCreateMesgQueue
/* 0CC6E8 800CBAE8 24060001 */ li $a2, 1
/* 0CC6EC 800CBAEC 3C04800F */ lui $a0, %hi(D_800EA3AC) # $a0, 0x800f
/* 0CC6F0 800CBAF0 3C058019 */ lui $a1, %hi(D_80194028) # $a1, 0x8019
/* 0CC6F4 800CBAF4 24A54028 */ addiu $a1, %lo(D_80194028) # addiu $a1, $a1, 0x4028
/* 0CC6F8 800CBAF8 8C84A3AC */ lw $a0, %lo(D_800EA3AC)($a0)
/* 0CC6FC 800CBAFC 0C033358 */ jal osCreateMesgQueue
/* 0CC700 800CBB00 24060004 */ li $a2, 4
/* 0CC704 800CBB04 3C04800F */ lui $a0, %hi(D_800EA3B0) # $a0, 0x800f
/* 0CC708 800CBB08 3C058019 */ lui $a1, %hi(D_80194038) # $a1, 0x8019
/* 0CC70C 800CBB0C 24A54038 */ addiu $a1, %lo(D_80194038) # addiu $a1, $a1, 0x4038
/* 0CC710 800CBB10 8C84A3B0 */ lw $a0, %lo(D_800EA3B0)($a0)
/* 0CC714 800CBB14 0C033358 */ jal osCreateMesgQueue
/* 0CC718 800CBB18 24060001 */ li $a2, 1
/* 0CC71C 800CBB1C 3C04800F */ lui $a0, %hi(D_800EA3B4) # $a0, 0x800f
/* 0CC720 800CBB20 3C058019 */ lui $a1, %hi(D_8019403C) # $a1, 0x8019
/* 0CC724 800CBB24 24A5403C */ addiu $a1, %lo(D_8019403C) # addiu $a1, $a1, 0x403c
/* 0CC728 800CBB28 8C84A3B4 */ lw $a0, %lo(D_800EA3B4)($a0)
/* 0CC72C 800CBB2C 0C033358 */ jal osCreateMesgQueue
/* 0CC730 800CBB30 24060001 */ li $a2, 1
/* 0CC734 800CBB34 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CC738 800CBB38 03C0E825 */ move $sp, $fp
/* 0CC73C 800CBB3C 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CC740 800CBB40 03E00008 */ jr $ra
/* 0CC744 800CBB44 27BD0030 */ addiu $sp, $sp, 0x30
@@ -1,17 +0,0 @@
glabel func_800CBB48
/* 0CC748 800CBB48 3C03800F */ lui $v1, %hi(D_800EA3A0) # $v1, 0x800f
/* 0CC74C 800CBB4C 2463A3A0 */ addiu $v1, %lo(D_800EA3A0) # addiu $v1, $v1, -0x5c60
/* 0CC750 800CBB50 906F0000 */ lbu $t7, ($v1)
/* 0CC754 800CBB54 3C198019 */ lui $t9, %hi(D_80193820) # $t9, 0x8019
/* 0CC758 800CBB58 27393820 */ addiu $t9, %lo(D_80193820) # addiu $t9, $t9, 0x3820
/* 0CC75C 800CBB5C 000FC0C0 */ sll $t8, $t7, 3
/* 0CC760 800CBB60 03191021 */ addu $v0, $t8, $t9
/* 0CC764 800CBB64 AC440000 */ sw $a0, ($v0)
/* 0CC768 800CBB68 8CA80000 */ lw $t0, ($a1)
/* 0CC76C 800CBB6C 27BDFFF0 */ addiu $sp, $sp, -0x10
/* 0CC770 800CBB70 AC480004 */ sw $t0, 4($v0)
/* 0CC774 800CBB74 90690000 */ lbu $t1, ($v1)
/* 0CC778 800CBB78 27BD0010 */ addiu $sp, $sp, 0x10
/* 0CC77C 800CBB7C 252A0001 */ addiu $t2, $t1, 1
/* 0CC780 800CBB80 03E00008 */ jr $ra
/* 0CC784 800CBB84 A06A0000 */ sb $t2, ($v1)
@@ -1,13 +0,0 @@
glabel func_800CBB88
/* 0CC788 800CBB88 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CC78C 800CBB8C AFBF002C */ sw $ra, 0x2c($sp)
/* 0CC790 800CBB90 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CC794 800CBB94 AFA50034 */ sw $a1, 0x34($sp)
/* 0CC798 800CBB98 03A0F025 */ move $fp, $sp
/* 0CC79C 800CBB9C 0C032ED2 */ jal func_800CBB48
/* 0CC7A0 800CBBA0 27A50034 */ addiu $a1, $sp, 0x34
/* 0CC7A4 800CBBA4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CC7A8 800CBBA8 03C0E825 */ move $sp, $fp
/* 0CC7AC 800CBBAC 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CC7B0 800CBBB0 03E00008 */ jr $ra
/* 0CC7B4 800CBBB4 27BD0030 */ addiu $sp, $sp, 0x30
@@ -1,13 +0,0 @@
glabel func_800CBBB8
/* 0CC7B8 800CBBB8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0CC7BC 800CBBBC AFBF002C */ sw $ra, 0x2c($sp)
/* 0CC7C0 800CBBC0 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CC7C4 800CBBC4 AFA50034 */ sw $a1, 0x34($sp)
/* 0CC7C8 800CBBC8 03A0F025 */ move $fp, $sp
/* 0CC7CC 800CBBCC 0C032ED2 */ jal func_800CBB48
/* 0CC7D0 800CBBD0 27A50034 */ addiu $a1, $sp, 0x34
/* 0CC7D4 800CBBD4 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CC7D8 800CBBD8 03C0E825 */ move $sp, $fp
/* 0CC7DC 800CBBDC 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CC7E0 800CBBE0 03E00008 */ jr $ra
/* 0CC7E4 800CBBE4 27BD0030 */ addiu $sp, $sp, 0x30
@@ -1,16 +0,0 @@
glabel func_800CBBE8
/* 0CC7E8 800CBBE8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0CC7EC 800CBBEC 00A07025 */ move $t6, $a1
/* 0CC7F0 800CBBF0 AFBF002C */ sw $ra, 0x2c($sp)
/* 0CC7F4 800CBBF4 AFBE0028 */ sw $fp, 0x28($sp)
/* 0CC7F8 800CBBF8 AFA5003C */ sw $a1, 0x3c($sp)
/* 0CC7FC 800CBBFC 000E7E00 */ sll $t7, $t6, 0x18
/* 0CC800 800CBC00 03A0F025 */ move $fp, $sp
/* 0CC804 800CBC04 AFAF0034 */ sw $t7, 0x34($sp)
/* 0CC808 800CBC08 0C032ED2 */ jal func_800CBB48
/* 0CC80C 800CBC0C 27A50034 */ addiu $a1, $sp, 0x34
/* 0CC810 800CBC10 8FDF002C */ lw $ra, 0x2c($fp)
/* 0CC814 800CBC14 03C0E825 */ move $sp, $fp
/* 0CC818 800CBC18 8FDE0028 */ lw $fp, 0x28($fp)
/* 0CC81C 800CBC1C 03E00008 */ jr $ra
/* 0CC820 800CBC20 27BD0038 */ addiu $sp, $sp, 0x38
@@ -1,11 +0,0 @@
glabel func_800CBF48
/* 0CCB48 800CBF48 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0CCB4C 800CBF4C AFBF0024 */ sw $ra, 0x24($sp)
/* 0CCB50 800CBF50 AFBE0020 */ sw $fp, 0x20($sp)
/* 0CCB54 800CBF54 0C032EAD */ jal func_800CBAB4
/* 0CCB58 800CBF58 03A0F025 */ move $fp, $sp
/* 0CCB5C 800CBF5C 8FDF0024 */ lw $ra, 0x24($fp)
/* 0CCB60 800CBF60 03C0E825 */ move $sp, $fp
/* 0CCB64 800CBF64 8FDE0020 */ lw $fp, 0x20($fp)
/* 0CCB68 800CBF68 03E00008 */ jr $ra
/* 0CCB6C 800CBF6C 27BD0028 */ addiu $sp, $sp, 0x28
+8 -14
View File
@@ -12,25 +12,19 @@
void func_800C13F0(void) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern OSMesgQueue *D_800EA3B0;
extern OSMesgQueue *D_800EA3B4;
void func_800C13FC(void *arg0) {
void *sp34;
osRecvMesg(D_800EA3B4, &sp34, 0);
osSendMesg(D_800EA3B0, arg0, 0);
osRecvMesg(D_800EA3B4, &sp34, 1);
if (sp34 != arg0) {
osRecvMesg(D_800EA3B4, &sp34, 1);
void func_800C13FC(OSMesg presetId) {
OSMesg mesg;
osRecvMesg(D_800EA3B4, &mesg, 0);
osSendMesg(D_800EA3B0, presetId, 0);
osRecvMesg(D_800EA3B4, &mesg, 1);
if (mesg != presetId) {
osRecvMesg(D_800EA3B4, &mesg, 1);
}
}
#else
GLOBAL_ASM("asm/non_matchings/audio/external/func_800C13FC.s")
#endif
f32 func_800C1480(u8 bank, u8 soundId) {
f32 temp_f0;
+33 -91
View File
@@ -2,6 +2,7 @@
#include <macros.h>
#include "audio/heap.h"
#include "audio/load.h"
#include "audio/synthesis.h"
#include "audio/playback.h"
#include "audio/seqplayer.h"
@@ -139,42 +140,21 @@ void func_800B90E0(struct SoundAllocPool *pool) {
pool->cur = pool->start;
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void sound_alloc_pool_init(? *, ? *, s32, s32); // extern
extern s32 D_800EA5D0;
extern ? gAudioSessionPool;
extern ? gAudioInitPool;
extern ? D_803B71B0;
extern u8 D_803B71B0[];
// inspired by sound_init_main_pools in sm64
void func_800B90F0(s32 arg0) {
s32 temp_a2;
temp_a2 = arg0;
arg0 = temp_a2;
sound_alloc_pool_init(&gAudioInitPool, &D_803B71B0, temp_a2);
sound_alloc_pool_init(&gAudioSessionPool, arg0 + &D_803B71B0, D_800EA5D0 - arg0, arg0);
sound_alloc_pool_init(&gAudioInitPool, &D_803B71B0, arg0);
sound_alloc_pool_init(&gLeftVolRampings, D_803B71B0 + arg0, D_800EA5D0 - arg0);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B90F0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
s32 soundAlloc(? *, s32); // extern
void sound_alloc_pool_init(? *, s32, s32); // extern
extern ? gAudioSessionPool;
extern ? gNotesAndBuffersPool;
extern ? gSeqAndBankPool;
void func_800B914C(void *arg0) {
gAudioSessionPool.unk4 = gAudioSessionPool.unk0;
sound_alloc_pool_init(&gNotesAndBuffersPool, soundAlloc(&gAudioSessionPool, arg0->unk0), arg0->unk0);
sound_alloc_pool_init(&gSeqAndBankPool, soundAlloc(&gAudioSessionPool, arg0->unkC), arg0->unkC);
// inspired by session_pools_init in sm64
void func_800B914C(struct PoolSplit *arg0) {
gLeftVolRampings.cur = gLeftVolRampings.start;
sound_alloc_pool_init(&gNotesAndBuffersPool, soundAlloc(&gLeftVolRampings, arg0->wantSeq), arg0->wantSeq);
sound_alloc_pool_init(&gSeqAndBankPool, soundAlloc(&gLeftVolRampings, arg0->wantCustom), arg0->wantCustom);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B914C.s")
#endif
void seq_and_bank_pool_init(struct PoolSplit2 *a) {
gSeqAndBankPool.cur = gSeqAndBankPool.start;
@@ -603,78 +583,40 @@ void *get_bank_or_seq_inner(s32 poolIdx, s32 arg1, s32 bankId) {
return NULL;
}
#ifdef MIPS_TO_C
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
#ifdef NEEDS_RODATA
// inspired by func_eu_802e27e4_unused from SM64
void func_800B9BE4(f32 arg0, f32 arg1, u16 *arg2) {
? sp4C;
f32 sp30;
f32 sp2C;
? sp14;
f32 sp10;
f32 spC;
? *var_a0;
f32 *var_a0_2;
f32 temp_f10;
f32 temp_f6;
f32 temp_f8;
u16 *var_v1;
u16 *var_v1_2;
s32 i;
f32 tmp[16];
var_a0 = &sp14;
var_v1 = arg2 + 4;
spC = arg1 * 262159.0f;
sp2C = arg0 * 262159.0f;
sp10 = arg1 * arg0 * 262159.0f;
sp30 = ((arg0 * arg0) + arg1) * 262159.0f;
do {
*var_v1 = (u16) (u32) ((var_a0->unk-4 * arg0) + (arg1 * var_a0->unk-8));
temp_f8 = var_a0->unk18;
temp_f10 = var_a0->unk1C * arg0;
var_a0 += 4;
var_v1 += 2;
var_v1->unkE = (s16) (u32) (temp_f10 + (arg1 * temp_f8));
} while ((u32) var_a0 < (u32) &sp2C);
var_v1_2 = arg2;
var_a0_2 = &spC;
do {
var_v1_2->unk0 = (u16) (u32) var_a0_2->unk0;
var_v1_2->unk2 = (s16) (u32) var_a0_2->unk4;
var_v1_2->unk4 = (s16) (u32) var_a0_2->unk8;
temp_f6 = var_a0_2->unkC;
var_a0_2 += 0x10;
var_v1_2->unk6 = (s16) (u32) temp_f6;
var_v1_2 += 8;
} while (var_a0_2 != &sp4C);
tmp[0] = arg1 * 262159.0f;
tmp[8] = arg0 * 262159.0f;
tmp[1] = (arg1 * arg0) * 262159.0f;
tmp[9] = ((arg0 * arg0) + arg1) * 262159.0f;
for (i = 2; i < 8; i++) {
//! @bug they probably meant to store the value to tmp[i] and tmp[8 + i]
arg2[i] = arg1 * tmp[i - 2] + arg0 * tmp[i - 1];
arg2[8 + i] = arg1 * tmp[6 + i] + arg0 * tmp[7 + i];
}
for (i = 0; i < 16; i++) {
arg2[i] = tmp[i];
}
}
#else
GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B9BE4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_803AF790;
extern s8 D_803AFBC3;
extern s8 gNumSynthesisReverbs;
// inspired by decrease_reverb_gain from SM64
void func_800B9FB8(void) {
? *temp_v0;
s8 temp_v1;
u16 temp_v1_2;
? *phi_v0;
temp_v1 = D_803AFBC3;
phi_v0 = &D_803AF790;
if (temp_v1 > 0) {
do {
temp_v1_2 = phi_v0->unk8;
temp_v0 = phi_v0 + 0x108;
temp_v0->unk-100 = temp_v1_2 - (temp_v1_2 / 4);
phi_v0 = temp_v0;
} while (temp_v0 < ((temp_v1 * 0x108) + &D_803AF790));
s32 i;
for (i = 0; i < gNumSynthesisReverbs; i++) {
gSynthesisReverbs[i].reverbGain -= gSynthesisReverbs[i].reverbGain / 4;
}
}
#else
GLOBAL_ASM("asm/non_matchings/audio/heap/func_800B9FB8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
+1
View File
@@ -108,6 +108,7 @@ void *unk_pool1_lookup(s32 poolIdx, s32 id);
// Note: In some .asm files D_803AFBC8 has been replaced with gLeftVolRampings
// That is almost certainly incorrect, but I don't know how to fix it at this point
extern struct SoundAllocPool gLeftVolRampings;
extern struct SoundAllocPool gAudioSessionPool; // D_803AFBC8
extern struct SoundAllocPool gAudioInitPool; // D_803AFBD8
extern struct SoundAllocPool gNotesAndBuffersPool;
+47 -91
View File
@@ -288,14 +288,10 @@ void func_800CBA64(s32 playerIndex, s32 fadeInTime) {
}
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s8 D_800EA3A0;
extern s8 D_800EA3A4;
extern OSMesgQueue *D_800EA3A8;
extern OSMesgQueue *D_800EA3AC;
extern OSMesgQueue *D_800EA3B0;
extern OSMesgQueue *D_800EA3B4;
extern u8 D_800EA3A0;
extern u8 D_800EA3A4;
extern OSMesgQueue *D_800EA3A8[4];
extern void *D_80194020;
extern void *D_80194028;
extern void *D_80194038;
@@ -304,88 +300,54 @@ extern void *D_8019403C;
void func_800CBAB4(void) {
D_800EA3A0 = 0;
D_800EA3A4 = 0;
osCreateMesgQueue(D_800EA3A8, &D_80194020, 1);
osCreateMesgQueue(D_800EA3AC, &D_80194028, 4);
osCreateMesgQueue(D_800EA3B0, &D_80194038, 1);
osCreateMesgQueue(D_800EA3B4, &D_8019403C, 1);
osCreateMesgQueue(D_800EA3A8[0], &D_80194020, 1);
osCreateMesgQueue(D_800EA3A8[1], &D_80194028, 4);
osCreateMesgQueue(D_800EA3A8[2], &D_80194038, 1);
osCreateMesgQueue(D_800EA3A8[3], &D_8019403C, 1);
}
extern struct EuAudioCmd D_80193820[0x100];
void func_800CBB48(s32 arg0, s32 *arg1){
struct EuAudioCmd *cmd = &D_80193820[D_800EA3A0 & 0xff];
cmd->u.first = arg0;
cmd->u2.as_u32 = *arg1;
D_800EA3A0++;
}
void func_800CBB88(u32 arg0, f32 arg1) {
func_800CBB48(arg0, (s32*) &arg1);
}
void func_800CBBB8(u32 arg0, u32 arg1) {
func_800CBB48(arg0, &arg1);
}
void func_800CBBE8(u32 arg0, s8 arg1) {
s32 sp34 = arg1 << 24;
func_800CBB48(arg0, &sp34);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBAB4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern u8 D_800EA3A0;
extern ? D_80193820;
void func_800CBB48(s32 arg0, s32 *arg1) {
void *temp_v0;
temp_v0 = (D_800EA3A0 * 8) + &D_80193820;
temp_v0->unk0 = arg0;
temp_v0->unk4 = *arg1;
D_800EA3A0 = D_800EA3A0 + 1;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBB48.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800CBB48(? *); // extern
void func_800CBB88(? arg1) {
func_800CBB48(&arg1);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBB88.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800CBB48(? *); // extern
void func_800CBBB8(? arg1) {
func_800CBB48(&arg1);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBBB8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800CBB48(s32 *); // extern
void func_800CBBE8(s32 arg1) {
s32 sp34;
sp34 = arg1 << 0x18;
func_800CBB48(&sp34);
}
#else
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBBE8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern u8 D_800EA3A0;
extern u8 D_800EA3A4;
extern OSMesgQueue *D_800EA3AC;
// link of progress : https://decomp.me/scratch/1N93O
extern OSMesgQueue *D_800EA3A8[4];
extern s32 D_800EA4A4;
void func_800CBC24(void) {
s32 temp_t6;
u8 temp_v0;
u8 temp_v1;
void func_800CBC24(void)
{
s32 temp_t6;
s8 temp_v0;
s8 temp_v1;
u32 tmp;
temp_t6 = ((D_800EA3A0 - D_800EA3A4) + 0x100) & 0xFF;
if (D_800EA4A4 < temp_t6)
{
D_800EA4A4 = temp_t6;
}
temp_v1 = D_800EA3A4;
temp_v0 = D_800EA3A0;
temp_t6 = ((temp_v0 - temp_v1) + 0x100) & 0xFF;
if (D_800EA4A4 < temp_t6) {
D_800EA4A4 = temp_t6;
}
osSendMesg(D_800EA3AC, ((temp_v1 & 0xFF) << 8) | (temp_v0 & 0xFF), 0);
D_800EA3A4 = D_800EA3A0;
tmp = ((D_800EA3A0 & 0xFF) << 8) | (D_800EA3A4 & 0xFF);
osSendMesg(D_800EA3A8[1], tmp, 0);
D_800EA3A4 = D_800EA3A0;
}
#else
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBC24.s")
@@ -498,13 +460,7 @@ void func_800CBCB0(u32 arg0) {
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBCB0.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit 0927f17aac197848d4ebdf0c6bbad74b01f0851c
? func_800CBAB4(); /* extern */
void func_800CBF48(void) {
void func_800CBF48() {
func_800CBAB4();
}
#else
GLOBAL_ASM("asm/non_matchings/audio/port_eu/func_800CBF48.s")
#endif