From 9f38190f00c329a99dcb3eb5530bdfe8b1caf1c7 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Fri, 9 Feb 2024 01:30:28 +0200 Subject: [PATCH] Work On JAudio (#2067) * Match two JASTrack functions * dsptask, JAISoundStarter OK. Other small matches * Work on JAIStream * Work on JAIStreamMgr * Work on JAISeqMgr * Formatting --- .../JAudio2/JAISeqMgr/__ct__9JAISeqMgrFb.s | 63 ---- .../JAudio2/JAISeqMgr/calc__9JAISeqMgrFv.s | 104 ------ asm/JSystem/JAudio2/JAISeqMgr/func_802A1B48.s | 90 ----- ...SeqData__9JAISeqMgrFRC16JAISeqDataRegion.s | 34 -- .../JAudio2/JAISeqMgr/mixOut__9JAISeqMgrFv.s | 26 -- ...SeqData__9JAISeqMgrFRC16JAISeqDataRegion.s | 49 --- .../stopSoundID__9JAISeqMgrF10JAISoundID.s | 33 -- .../JAudio2/JAISeqMgr/stop__9JAISeqMgrFUl.s | 23 -- .../JAudio2/JAISeqMgr/stop__9JAISeqMgrFv.s | 19 - .../JAudio2/JAISoundStarter/func_802A2FEC.s | 63 ---- .../JAISound_tryDie___9JAIStreamFv.s | 43 --- .../JAIStreamMgr_calc___9JAIStreamFv.s | 52 --- ...amStreamCallback___FUlP13JASAramStreamPv.s | 15 - asm/JSystem/JAudio2/JAIStream/func_802A3104.s | 40 --- asm/JSystem/JAudio2/JAIStream/func_802A319C.s | 40 --- .../JAIStream/prepare___9JAIStreamFv.s | 46 --- .../prepare_prepareStream___9JAIStreamFv.s | 128 ------- .../prepare_startStream___9JAIStreamFv.s | 21 -- .../JAIStreamMgr/calc__12JAIStreamMgrFv.s | 104 ------ .../JAudio2/JAIStreamMgr/func_802A3C3C.s | 85 ----- .../JAIStreamMgr/mixOut__12JAIStreamMgrFv.s | 26 -- ...stopSoundID__12JAIStreamMgrF10JAISoundID.s | 28 -- .../JAIStreamMgr/stop__12JAIStreamMgrFUl.s | 23 -- .../JAIStreamMgr/stop__12JAIStreamMgrFv.s | 19 - .../JASTrack/noteOn__8JASTrackFUlUlUl.s | 59 --- .../JAUAudioMgr/__defctor__7JASHeapFv.s | 10 - .../__ct__14JAISoundHandleFv.s | 4 - ...StaticSeqData__10JAUSectionF10JAISoundID.s | 52 --- .../dsptask/DSPSendCommands2__FPUlUlPFUs_v.s | 68 ---- .../JAudio2/dsptask/DspHandShake__FPv.s | 16 - asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s | 13 - include/JSystem/JAudio2/JAISeq.h | 4 +- include/JSystem/JAudio2/JAISeqMgr.h | 12 +- include/JSystem/JAudio2/JAISound.h | 6 +- include/JSystem/JAudio2/JAISoundStarter.h | 1 + include/JSystem/JAudio2/JAIStream.h | 13 +- include/JSystem/JAudio2/JAIStreamMgr.h | 11 +- include/JSystem/JAudio2/JASAramStream.h | 66 +++- include/JSystem/JAudio2/JASBankTable.h | 2 +- include/JSystem/JAudio2/JASHeapCtrl.h | 6 + include/JSystem/JAudio2/osdsp.h | 6 +- libs/JSystem/JAudio2/JAISe.cpp | 4 +- libs/JSystem/JAudio2/JAISeq.cpp | 4 +- libs/JSystem/JAudio2/JAISeqMgr.cpp | 223 +++++++----- libs/JSystem/JAudio2/JAISoundStarter.cpp | 47 +-- libs/JSystem/JAudio2/JAIStream.cpp | 338 +++++++++++++----- libs/JSystem/JAudio2/JAIStreamMgr.cpp | 169 +++++---- libs/JSystem/JAudio2/JASAramStream.cpp | 9 +- libs/JSystem/JAudio2/JASTrack.cpp | 26 +- libs/JSystem/JAudio2/JAUAudioMgr.cpp | 44 +-- libs/JSystem/JAudio2/JAUClusterSound.cpp | 40 +-- libs/JSystem/JAudio2/JAUSectionHeap.cpp | 16 +- libs/JSystem/JAudio2/Makefile | 2 +- libs/JSystem/JAudio2/dsptask.cpp | 96 ++--- libs/JSystem/JAudio2/osdsp.cpp | 23 -- libs/JSystem/JAudio2/osdsp_task.cpp | 1 + obj_files.mk | 2 + 57 files changed, 630 insertions(+), 1937 deletions(-) delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/__ct__9JAISeqMgrFb.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/calc__9JAISeqMgrFv.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/func_802A1B48.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/mixOut__9JAISeqMgrFv.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/stopSoundID__9JAISeqMgrF10JAISoundID.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFUl.s delete mode 100644 asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFv.s delete mode 100644 asm/JSystem/JAudio2/JAISoundStarter/func_802A2FEC.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/JAISound_tryDie___9JAIStreamFv.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_calc___9JAIStreamFv.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/func_802A3104.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/func_802A319C.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/prepare___9JAIStreamFv.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/prepare_prepareStream___9JAIStreamFv.s delete mode 100644 asm/JSystem/JAudio2/JAIStream/prepare_startStream___9JAIStreamFv.s delete mode 100644 asm/JSystem/JAudio2/JAIStreamMgr/calc__12JAIStreamMgrFv.s delete mode 100644 asm/JSystem/JAudio2/JAIStreamMgr/func_802A3C3C.s delete mode 100644 asm/JSystem/JAudio2/JAIStreamMgr/mixOut__12JAIStreamMgrFv.s delete mode 100644 asm/JSystem/JAudio2/JAIStreamMgr/stopSoundID__12JAIStreamMgrF10JAISoundID.s delete mode 100644 asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFUl.s delete mode 100644 asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFv.s delete mode 100644 asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s delete mode 100644 asm/JSystem/JAudio2/JAUAudioMgr/__defctor__7JASHeapFv.s delete mode 100644 asm/JSystem/JAudio2/JAUClusterSound/__ct__14JAISoundHandleFv.s delete mode 100644 asm/JSystem/JAudio2/JAUSectionHeap/newStaticSeqData__10JAUSectionF10JAISoundID.s delete mode 100644 asm/JSystem/JAudio2/dsptask/DSPSendCommands2__FPUlUlPFUs_v.s delete mode 100644 asm/JSystem/JAudio2/dsptask/DspHandShake__FPv.s delete mode 100644 asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s diff --git a/asm/JSystem/JAudio2/JAISeqMgr/__ct__9JAISeqMgrFb.s b/asm/JSystem/JAudio2/JAISeqMgr/__ct__9JAISeqMgrFb.s deleted file mode 100644 index 96cd848a74f..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/__ct__9JAISeqMgrFb.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_802A1914: -/* 802A1914 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A1918 7C 08 02 A6 */ mflr r0 -/* 802A191C 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A1920 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A1924 7C 7F 1B 78 */ mr r31, r3 -/* 802A1928 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802A192C 41 82 00 08 */ beq lbl_802A1934 -/* 802A1930 93 ED 85 E8 */ stw r31, __OSReport_disable-0x30(r13) -lbl_802A1934: -/* 802A1934 3C 60 80 3D */ lis r3, __vt__14JAISeqDataUser@ha /* 0x803C9940@ha */ -/* 802A1938 38 03 99 40 */ addi r0, r3, __vt__14JAISeqDataUser@l /* 0x803C9940@l */ -/* 802A193C 90 1F 00 00 */ stw r0, 0(r31) -/* 802A1940 3C 60 80 3D */ lis r3, __vt__9JAISeqMgr@ha /* 0x803C9958@ha */ -/* 802A1944 38 03 99 58 */ addi r0, r3, __vt__9JAISeqMgr@l /* 0x803C9958@l */ -/* 802A1948 90 1F 00 00 */ stw r0, 0(r31) -/* 802A194C 38 00 00 00 */ li r0, 0 -/* 802A1950 90 1F 00 08 */ stw r0, 8(r31) -/* 802A1954 C0 02 BD A8 */ lfs f0, lit_691(r2) -/* 802A1958 D0 1F 00 14 */ stfs f0, 0x14(r31) -/* 802A195C D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 802A1960 C0 22 BD AC */ lfs f1, lit_692(r2) -/* 802A1964 D0 3F 00 18 */ stfs f1, 0x18(r31) -/* 802A1968 C0 02 BD B0 */ lfs f0, lit_693(r2) -/* 802A196C D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 802A1970 D0 3F 00 24 */ stfs f1, 0x24(r31) -/* 802A1974 38 7F 00 64 */ addi r3, r31, 0x64 -/* 802A1978 48 03 A5 9D */ bl initiate__10JSUPtrListFv -/* 802A197C 38 60 00 00 */ li r3, 0 -/* 802A1980 90 7F 00 0C */ stw r3, 0xc(r31) -/* 802A1984 90 7F 00 10 */ stw r3, 0x10(r31) -/* 802A1988 38 00 00 10 */ li r0, 0x10 -/* 802A198C 90 1F 00 70 */ stw r0, 0x70(r31) -/* 802A1990 C0 02 BD A8 */ lfs f0, lit_691(r2) -/* 802A1994 D0 1F 00 14 */ stfs f0, 0x14(r31) -/* 802A1998 D0 1F 00 1C */ stfs f0, 0x1c(r31) -/* 802A199C C0 22 BD AC */ lfs f1, lit_692(r2) -/* 802A19A0 D0 3F 00 18 */ stfs f1, 0x18(r31) -/* 802A19A4 C0 02 BD B0 */ lfs f0, lit_693(r2) -/* 802A19A8 D0 1F 00 20 */ stfs f0, 0x20(r31) -/* 802A19AC D0 3F 00 24 */ stfs f1, 0x24(r31) -/* 802A19B0 D0 3F 00 28 */ stfs f1, 0x28(r31) -/* 802A19B4 90 7F 00 30 */ stw r3, 0x30(r31) -/* 802A19B8 D0 3F 00 2C */ stfs f1, 0x2c(r31) -/* 802A19BC D0 3F 00 34 */ stfs f1, 0x34(r31) -/* 802A19C0 90 7F 00 3C */ stw r3, 0x3c(r31) -/* 802A19C4 D0 3F 00 38 */ stfs f1, 0x38(r31) -/* 802A19C8 D0 3F 00 40 */ stfs f1, 0x40(r31) -/* 802A19CC 90 7F 00 48 */ stw r3, 0x48(r31) -/* 802A19D0 D0 3F 00 44 */ stfs f1, 0x44(r31) -/* 802A19D4 D0 3F 00 4C */ stfs f1, 0x4c(r31) -/* 802A19D8 90 7F 00 54 */ stw r3, 0x54(r31) -/* 802A19DC D0 3F 00 50 */ stfs f1, 0x50(r31) -/* 802A19E0 D0 3F 00 58 */ stfs f1, 0x58(r31) -/* 802A19E4 90 7F 00 60 */ stw r3, 0x60(r31) -/* 802A19E8 D0 3F 00 5C */ stfs f1, 0x5c(r31) -/* 802A19EC 98 7F 00 04 */ stb r3, 4(r31) -/* 802A19F0 7F E3 FB 78 */ mr r3, r31 -/* 802A19F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A19F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A19FC 7C 08 03 A6 */ mtlr r0 -/* 802A1A00 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A1A04 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/calc__9JAISeqMgrFv.s b/asm/JSystem/JAudio2/JAISeqMgr/calc__9JAISeqMgrFv.s deleted file mode 100644 index aa752485d7b..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/calc__9JAISeqMgrFv.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_802A1C90: -/* 802A1C90 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A1C94 7C 08 02 A6 */ mflr r0 -/* 802A1C98 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A1C9C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A1CA0 93 C1 00 08 */ stw r30, 8(r1) -/* 802A1CA4 7C 7E 1B 78 */ mr r30, r3 -/* 802A1CA8 C0 23 00 14 */ lfs f1, 0x14(r3) -/* 802A1CAC 80 63 00 30 */ lwz r3, 0x30(r3) -/* 802A1CB0 28 03 00 01 */ cmplwi r3, 1 -/* 802A1CB4 40 81 00 18 */ ble lbl_802A1CCC -/* 802A1CB8 38 03 FF FF */ addi r0, r3, -1 -/* 802A1CBC 90 1E 00 30 */ stw r0, 0x30(r30) -/* 802A1CC0 C0 1E 00 28 */ lfs f0, 0x28(r30) -/* 802A1CC4 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A1CC8 48 00 00 14 */ b lbl_802A1CDC -lbl_802A1CCC: -/* 802A1CCC 40 82 00 10 */ bne lbl_802A1CDC -/* 802A1CD0 38 00 00 00 */ li r0, 0 -/* 802A1CD4 90 1E 00 30 */ stw r0, 0x30(r30) -/* 802A1CD8 C0 3E 00 2C */ lfs f1, 0x2c(r30) -lbl_802A1CDC: -/* 802A1CDC D0 3E 00 14 */ stfs f1, 0x14(r30) -/* 802A1CE0 C0 3E 00 1C */ lfs f1, 0x1c(r30) -/* 802A1CE4 80 7E 00 3C */ lwz r3, 0x3c(r30) -/* 802A1CE8 28 03 00 01 */ cmplwi r3, 1 -/* 802A1CEC 40 81 00 18 */ ble lbl_802A1D04 -/* 802A1CF0 38 03 FF FF */ addi r0, r3, -1 -/* 802A1CF4 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 802A1CF8 C0 1E 00 34 */ lfs f0, 0x34(r30) -/* 802A1CFC EC 21 00 2A */ fadds f1, f1, f0 -/* 802A1D00 48 00 00 14 */ b lbl_802A1D14 -lbl_802A1D04: -/* 802A1D04 40 82 00 10 */ bne lbl_802A1D14 -/* 802A1D08 38 00 00 00 */ li r0, 0 -/* 802A1D0C 90 1E 00 3C */ stw r0, 0x3c(r30) -/* 802A1D10 C0 3E 00 38 */ lfs f1, 0x38(r30) -lbl_802A1D14: -/* 802A1D14 D0 3E 00 1C */ stfs f1, 0x1c(r30) -/* 802A1D18 C0 3E 00 18 */ lfs f1, 0x18(r30) -/* 802A1D1C 80 7E 00 48 */ lwz r3, 0x48(r30) -/* 802A1D20 28 03 00 01 */ cmplwi r3, 1 -/* 802A1D24 40 81 00 18 */ ble lbl_802A1D3C -/* 802A1D28 38 03 FF FF */ addi r0, r3, -1 -/* 802A1D2C 90 1E 00 48 */ stw r0, 0x48(r30) -/* 802A1D30 C0 1E 00 40 */ lfs f0, 0x40(r30) -/* 802A1D34 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A1D38 48 00 00 14 */ b lbl_802A1D4C -lbl_802A1D3C: -/* 802A1D3C 40 82 00 10 */ bne lbl_802A1D4C -/* 802A1D40 38 00 00 00 */ li r0, 0 -/* 802A1D44 90 1E 00 48 */ stw r0, 0x48(r30) -/* 802A1D48 C0 3E 00 44 */ lfs f1, 0x44(r30) -lbl_802A1D4C: -/* 802A1D4C D0 3E 00 18 */ stfs f1, 0x18(r30) -/* 802A1D50 C0 3E 00 24 */ lfs f1, 0x24(r30) -/* 802A1D54 80 7E 00 60 */ lwz r3, 0x60(r30) -/* 802A1D58 28 03 00 01 */ cmplwi r3, 1 -/* 802A1D5C 40 81 00 18 */ ble lbl_802A1D74 -/* 802A1D60 38 03 FF FF */ addi r0, r3, -1 -/* 802A1D64 90 1E 00 60 */ stw r0, 0x60(r30) -/* 802A1D68 C0 1E 00 58 */ lfs f0, 0x58(r30) -/* 802A1D6C EC 21 00 2A */ fadds f1, f1, f0 -/* 802A1D70 48 00 00 14 */ b lbl_802A1D84 -lbl_802A1D74: -/* 802A1D74 40 82 00 10 */ bne lbl_802A1D84 -/* 802A1D78 38 00 00 00 */ li r0, 0 -/* 802A1D7C 90 1E 00 60 */ stw r0, 0x60(r30) -/* 802A1D80 C0 3E 00 5C */ lfs f1, 0x5c(r30) -lbl_802A1D84: -/* 802A1D84 D0 3E 00 24 */ stfs f1, 0x24(r30) -/* 802A1D88 C0 3E 00 20 */ lfs f1, 0x20(r30) -/* 802A1D8C 80 7E 00 54 */ lwz r3, 0x54(r30) -/* 802A1D90 28 03 00 01 */ cmplwi r3, 1 -/* 802A1D94 40 81 00 18 */ ble lbl_802A1DAC -/* 802A1D98 38 03 FF FF */ addi r0, r3, -1 -/* 802A1D9C 90 1E 00 54 */ stw r0, 0x54(r30) -/* 802A1DA0 C0 1E 00 4C */ lfs f0, 0x4c(r30) -/* 802A1DA4 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A1DA8 48 00 00 14 */ b lbl_802A1DBC -lbl_802A1DAC: -/* 802A1DAC 40 82 00 10 */ bne lbl_802A1DBC -/* 802A1DB0 38 00 00 00 */ li r0, 0 -/* 802A1DB4 90 1E 00 54 */ stw r0, 0x54(r30) -/* 802A1DB8 C0 3E 00 50 */ lfs f1, 0x50(r30) -lbl_802A1DBC: -/* 802A1DBC D0 3E 00 20 */ stfs f1, 0x20(r30) -/* 802A1DC0 83 FE 00 64 */ lwz r31, 0x64(r30) -/* 802A1DC4 48 00 00 10 */ b lbl_802A1DD4 -lbl_802A1DC8: -/* 802A1DC8 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A1DCC 4B FF F2 C1 */ bl JAISeqMgr_calc___6JAISeqFv -/* 802A1DD0 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A1DD4: -/* 802A1DD4 28 1F 00 00 */ cmplwi r31, 0 -/* 802A1DD8 40 82 FF F0 */ bne lbl_802A1DC8 -/* 802A1DDC 7F C3 F3 78 */ mr r3, r30 -/* 802A1DE0 4B FF FC 29 */ bl freeDeadSeq___9JAISeqMgrFv -/* 802A1DE4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A1DE8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A1DEC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A1DF0 7C 08 03 A6 */ mtlr r0 -/* 802A1DF4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A1DF8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/func_802A1B48.s b/asm/JSystem/JAudio2/JAISeqMgr/func_802A1B48.s deleted file mode 100644 index d486da57105..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/func_802A1B48.s +++ /dev/null @@ -1,90 +0,0 @@ -lbl_802A1B48: -/* 802A1B48 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802A1B4C 7C 08 02 A6 */ mflr r0 -/* 802A1B50 90 01 00 44 */ stw r0, 0x44(r1) -/* 802A1B54 39 61 00 40 */ addi r11, r1, 0x40 -/* 802A1B58 48 0C 06 75 */ bl _savegpr_25 -/* 802A1B5C 7C 79 1B 78 */ mr r25, r3 -/* 802A1B60 7C 9A 23 78 */ mr r26, r4 -/* 802A1B64 7C BB 2B 79 */ or. r27, r5, r5 -/* 802A1B68 7C DC 33 78 */ mr r28, r6 -/* 802A1B6C 41 82 00 14 */ beq lbl_802A1B80 -/* 802A1B70 80 7B 00 00 */ lwz r3, 0(r27) -/* 802A1B74 28 03 00 00 */ cmplwi r3, 0 -/* 802A1B78 41 82 00 08 */ beq lbl_802A1B80 -/* 802A1B7C 48 00 0A 1D */ bl stop__8JAISoundFv -lbl_802A1B80: -/* 802A1B80 83 CD 85 DC */ lwz r30, __OSReport_disable-0x3C(r13) -/* 802A1B84 28 1E 00 00 */ cmplwi r30, 0 -/* 802A1B88 41 82 00 2C */ beq lbl_802A1BB4 -/* 802A1B8C 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A1B90 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A1B94 7F C3 F3 78 */ mr r3, r30 -/* 802A1B98 38 81 00 14 */ addi r4, r1, 0x14 -/* 802A1B9C 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A1BA0 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A1BA4 7D 89 03 A6 */ mtctr r12 -/* 802A1BA8 4E 80 04 21 */ bctrl -/* 802A1BAC 7C 7F 1B 78 */ mr r31, r3 -/* 802A1BB0 48 00 00 08 */ b lbl_802A1BB8 -lbl_802A1BB4: -/* 802A1BB4 3B E0 FF FF */ li r31, -1 -lbl_802A1BB8: -/* 802A1BB8 38 00 00 00 */ li r0, 0 -/* 802A1BBC 90 01 00 18 */ stw r0, 0x18(r1) -/* 802A1BC0 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802A1BC4 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A1BC8 90 01 00 10 */ stw r0, 0x10(r1) -/* 802A1BCC 80 79 00 0C */ lwz r3, 0xc(r25) -/* 802A1BD0 38 81 00 10 */ addi r4, r1, 0x10 -/* 802A1BD4 38 A1 00 18 */ addi r5, r1, 0x18 -/* 802A1BD8 81 83 00 00 */ lwz r12, 0(r3) -/* 802A1BDC 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A1BE0 7D 89 03 A6 */ mtctr r12 -/* 802A1BE4 4E 80 04 21 */ bctrl -/* 802A1BE8 2C 03 00 00 */ cmpwi r3, 0 -/* 802A1BEC 40 82 00 0C */ bne lbl_802A1BF8 -/* 802A1BF0 38 60 00 00 */ li r3, 0 -/* 802A1BF4 48 00 00 84 */ b lbl_802A1C78 -lbl_802A1BF8: -/* 802A1BF8 7F 23 CB 78 */ mr r3, r25 -/* 802A1BFC 48 00 03 5D */ bl beginStartSeq___9JAISeqMgrFv -/* 802A1C00 7C 7D 1B 79 */ or. r29, r3, r3 -/* 802A1C04 41 82 00 70 */ beq lbl_802A1C74 -/* 802A1C08 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A1C0C 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A1C10 38 81 00 0C */ addi r4, r1, 0xc -/* 802A1C14 7F 85 E3 78 */ mr r5, r28 -/* 802A1C18 80 D9 00 08 */ lwz r6, 8(r25) -/* 802A1C1C 7F E7 FB 78 */ mr r7, r31 -/* 802A1C20 81 19 00 70 */ lwz r8, 0x70(r25) -/* 802A1C24 4B FF EF 41 */ bl func_802A0B64 -/* 802A1C28 7F 23 CB 78 */ mr r3, r25 -/* 802A1C2C 7F A4 EB 78 */ mr r4, r29 -/* 802A1C30 7F 65 DB 78 */ mr r5, r27 -/* 802A1C34 48 00 03 B5 */ bl endStartSeq___9JAISeqMgrFP6JAISeqP14JAISoundHandle -/* 802A1C38 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A1C3C 41 82 00 38 */ beq lbl_802A1C74 -/* 802A1C40 28 1E 00 00 */ cmplwi r30, 0 -/* 802A1C44 41 82 00 28 */ beq lbl_802A1C6C -/* 802A1C48 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A1C4C 90 01 00 08 */ stw r0, 8(r1) -/* 802A1C50 7F C3 F3 78 */ mr r3, r30 -/* 802A1C54 38 81 00 08 */ addi r4, r1, 8 -/* 802A1C58 7F A5 EB 78 */ mr r5, r29 -/* 802A1C5C 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A1C60 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802A1C64 7D 89 03 A6 */ mtctr r12 -/* 802A1C68 4E 80 04 21 */ bctrl -lbl_802A1C6C: -/* 802A1C6C 38 60 00 01 */ li r3, 1 -/* 802A1C70 48 00 00 08 */ b lbl_802A1C78 -lbl_802A1C74: -/* 802A1C74 38 60 00 00 */ li r3, 0 -lbl_802A1C78: -/* 802A1C78 39 61 00 40 */ addi r11, r1, 0x40 -/* 802A1C7C 48 0C 05 9D */ bl _restgpr_25 -/* 802A1C80 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802A1C84 7C 08 03 A6 */ mtlr r0 -/* 802A1C88 38 21 00 40 */ addi r1, r1, 0x40 -/* 802A1C8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s b/asm/JSystem/JAudio2/JAISeqMgr/isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s deleted file mode 100644 index fe276d42d8a..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_802A1804: -/* 802A1804 80 E3 00 64 */ lwz r7, 0x64(r3) -/* 802A1808 80 C4 00 00 */ lwz r6, 0(r4) -/* 802A180C 80 04 00 04 */ lwz r0, 4(r4) -/* 802A1810 7C 66 02 14 */ add r3, r6, r0 -/* 802A1814 48 00 00 4C */ b lbl_802A1860 -lbl_802A1818: -/* 802A1818 80 87 00 00 */ lwz r4, 0(r7) -/* 802A181C 80 A4 03 94 */ lwz r5, 0x394(r4) -/* 802A1820 7C 03 28 40 */ cmplw r3, r5 -/* 802A1824 40 80 00 0C */ bge lbl_802A1830 -/* 802A1828 38 00 00 00 */ li r0, 0 -/* 802A182C 48 00 00 20 */ b lbl_802A184C -lbl_802A1830: -/* 802A1830 80 04 03 98 */ lwz r0, 0x398(r4) -/* 802A1834 7C 05 02 14 */ add r0, r5, r0 -/* 802A1838 7C 00 30 40 */ cmplw r0, r6 -/* 802A183C 40 80 00 0C */ bge lbl_802A1848 -/* 802A1840 38 00 00 00 */ li r0, 0 -/* 802A1844 48 00 00 08 */ b lbl_802A184C -lbl_802A1848: -/* 802A1848 38 00 00 01 */ li r0, 1 -lbl_802A184C: -/* 802A184C 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802A1850 41 82 00 0C */ beq lbl_802A185C -/* 802A1854 38 60 00 01 */ li r3, 1 -/* 802A1858 4E 80 00 20 */ blr -lbl_802A185C: -/* 802A185C 80 E7 00 0C */ lwz r7, 0xc(r7) -lbl_802A1860: -/* 802A1860 28 07 00 00 */ cmplwi r7, 0 -/* 802A1864 40 82 FF B4 */ bne lbl_802A1818 -/* 802A1868 38 60 00 00 */ li r3, 0 -/* 802A186C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/mixOut__9JAISeqMgrFv.s b/asm/JSystem/JAudio2/JAISeqMgr/mixOut__9JAISeqMgrFv.s deleted file mode 100644 index 28ca5597387..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/mixOut__9JAISeqMgrFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802A1EFC: -/* 802A1EFC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A1F00 7C 08 02 A6 */ mflr r0 -/* 802A1F04 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A1F08 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A1F0C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A1F10 7C 7E 1B 78 */ mr r30, r3 -/* 802A1F14 83 E3 00 64 */ lwz r31, 0x64(r3) -/* 802A1F18 48 00 00 20 */ b lbl_802A1F38 -lbl_802A1F1C: -/* 802A1F1C 88 1E 00 04 */ lbz r0, 4(r30) -/* 802A1F20 98 01 00 08 */ stb r0, 8(r1) -/* 802A1F24 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A1F28 38 9E 00 14 */ addi r4, r30, 0x14 -/* 802A1F2C 38 A1 00 08 */ addi r5, r1, 8 -/* 802A1F30 4B FF F5 CD */ bl JAISeqMgr_mixOut___6JAISeqFRC14JASSoundParams16JAISoundActivity -/* 802A1F34 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A1F38: -/* 802A1F38 28 1F 00 00 */ cmplwi r31, 0 -/* 802A1F3C 40 82 FF E0 */ bne lbl_802A1F1C -/* 802A1F40 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A1F44 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A1F48 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A1F4C 7C 08 03 A6 */ mtlr r0 -/* 802A1F50 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A1F54 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s b/asm/JSystem/JAudio2/JAISeqMgr/releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s deleted file mode 100644 index 0da5df89f92..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s +++ /dev/null @@ -1,49 +0,0 @@ -lbl_802A1870: -/* 802A1870 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A1874 7C 08 02 A6 */ mflr r0 -/* 802A1878 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A187C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A1880 48 0C 09 5D */ bl _savegpr_29 -/* 802A1884 38 A0 00 00 */ li r5, 0 -/* 802A1888 83 A3 00 64 */ lwz r29, 0x64(r3) -/* 802A188C 83 C4 00 00 */ lwz r30, 0(r4) -/* 802A1890 80 04 00 04 */ lwz r0, 4(r4) -/* 802A1894 7F FE 02 14 */ add r31, r30, r0 -/* 802A1898 48 00 00 4C */ b lbl_802A18E4 -lbl_802A189C: -/* 802A189C 80 7D 00 00 */ lwz r3, 0(r29) -/* 802A18A0 80 83 03 94 */ lwz r4, 0x394(r3) -/* 802A18A4 7C 1F 20 40 */ cmplw r31, r4 -/* 802A18A8 40 80 00 0C */ bge lbl_802A18B4 -/* 802A18AC 38 00 00 00 */ li r0, 0 -/* 802A18B0 48 00 00 20 */ b lbl_802A18D0 -lbl_802A18B4: -/* 802A18B4 80 03 03 98 */ lwz r0, 0x398(r3) -/* 802A18B8 7C 04 02 14 */ add r0, r4, r0 -/* 802A18BC 7C 00 F0 40 */ cmplw r0, r30 -/* 802A18C0 40 80 00 0C */ bge lbl_802A18CC -/* 802A18C4 38 00 00 00 */ li r0, 0 -/* 802A18C8 48 00 00 08 */ b lbl_802A18D0 -lbl_802A18CC: -/* 802A18CC 38 00 00 01 */ li r0, 1 -lbl_802A18D0: -/* 802A18D0 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 802A18D4 41 82 00 0C */ beq lbl_802A18E0 -/* 802A18D8 48 00 0C C1 */ bl stop__8JAISoundFv -/* 802A18DC 38 A0 00 01 */ li r5, 1 -lbl_802A18E0: -/* 802A18E0 83 BD 00 0C */ lwz r29, 0xc(r29) -lbl_802A18E4: -/* 802A18E4 28 1D 00 00 */ cmplwi r29, 0 -/* 802A18E8 40 82 FF B4 */ bne lbl_802A189C -/* 802A18EC 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 802A18F0 38 60 00 02 */ li r3, 2 -/* 802A18F4 41 82 00 08 */ beq lbl_802A18FC -/* 802A18F8 38 60 00 01 */ li r3, 1 -lbl_802A18FC: -/* 802A18FC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A1900 48 0C 09 29 */ bl _restgpr_29 -/* 802A1904 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A1908 7C 08 03 A6 */ mtlr r0 -/* 802A190C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A1910 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/stopSoundID__9JAISeqMgrF10JAISoundID.s b/asm/JSystem/JAudio2/JAISeqMgr/stopSoundID__9JAISeqMgrF10JAISoundID.s deleted file mode 100644 index 82be6d9e9d4..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/stopSoundID__9JAISeqMgrF10JAISoundID.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802A1E8C: -/* 802A1E8C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A1E90 7C 08 02 A6 */ mflr r0 -/* 802A1E94 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A1E98 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A1E9C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A1EA0 7C 9E 23 78 */ mr r30, r4 -/* 802A1EA4 80 84 00 00 */ lwz r4, 0(r4) -/* 802A1EA8 3C 04 00 01 */ addis r0, r4, 1 -/* 802A1EAC 28 00 FF FF */ cmplwi r0, 0xffff -/* 802A1EB0 41 82 00 34 */ beq lbl_802A1EE4 -/* 802A1EB4 83 E3 00 64 */ lwz r31, 0x64(r3) -/* 802A1EB8 48 00 00 24 */ b lbl_802A1EDC -lbl_802A1EBC: -/* 802A1EBC 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A1EC0 80 83 00 18 */ lwz r4, 0x18(r3) -/* 802A1EC4 90 81 00 08 */ stw r4, 8(r1) -/* 802A1EC8 80 1E 00 00 */ lwz r0, 0(r30) -/* 802A1ECC 7C 04 00 40 */ cmplw r4, r0 -/* 802A1ED0 40 82 00 08 */ bne lbl_802A1ED8 -/* 802A1ED4 48 00 06 C5 */ bl stop__8JAISoundFv -lbl_802A1ED8: -/* 802A1ED8 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A1EDC: -/* 802A1EDC 28 1F 00 00 */ cmplwi r31, 0 -/* 802A1EE0 40 82 FF DC */ bne lbl_802A1EBC -lbl_802A1EE4: -/* 802A1EE4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A1EE8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A1EEC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A1EF0 7C 08 03 A6 */ mtlr r0 -/* 802A1EF4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A1EF8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFUl.s b/asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFUl.s deleted file mode 100644 index fbb5104de34..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFUl.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802A1E3C: -/* 802A1E3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A1E40 7C 08 02 A6 */ mflr r0 -/* 802A1E44 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A1E48 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A1E4C 93 C1 00 08 */ stw r30, 8(r1) -/* 802A1E50 7C 9E 23 78 */ mr r30, r4 -/* 802A1E54 83 E3 00 64 */ lwz r31, 0x64(r3) -/* 802A1E58 48 00 00 14 */ b lbl_802A1E6C -lbl_802A1E5C: -/* 802A1E5C 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A1E60 7F C4 F3 78 */ mr r4, r30 -/* 802A1E64 48 00 06 79 */ bl stop__8JAISoundFUl -/* 802A1E68 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A1E6C: -/* 802A1E6C 28 1F 00 00 */ cmplwi r31, 0 -/* 802A1E70 40 82 FF EC */ bne lbl_802A1E5C -/* 802A1E74 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A1E78 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A1E7C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A1E80 7C 08 03 A6 */ mtlr r0 -/* 802A1E84 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A1E88 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFv.s b/asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFv.s deleted file mode 100644 index b3b47719112..00000000000 --- a/asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802A1DFC: -/* 802A1DFC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A1E00 7C 08 02 A6 */ mflr r0 -/* 802A1E04 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A1E08 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A1E0C 83 E3 00 64 */ lwz r31, 0x64(r3) -/* 802A1E10 48 00 00 10 */ b lbl_802A1E20 -lbl_802A1E14: -/* 802A1E14 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A1E18 48 00 07 81 */ bl stop__8JAISoundFv -/* 802A1E1C 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A1E20: -/* 802A1E20 28 1F 00 00 */ cmplwi r31, 0 -/* 802A1E24 40 82 FF F0 */ bne lbl_802A1E14 -/* 802A1E28 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A1E2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A1E30 7C 08 03 A6 */ mtlr r0 -/* 802A1E34 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A1E38 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundStarter/func_802A2FEC.s b/asm/JSystem/JAudio2/JAISoundStarter/func_802A2FEC.s deleted file mode 100644 index d9838a777b0..00000000000 --- a/asm/JSystem/JAudio2/JAISoundStarter/func_802A2FEC.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_802A2FEC: -/* 802A2FEC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A2FF0 7C 08 02 A6 */ mflr r0 -/* 802A2FF4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A2FF8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A2FFC 7C BF 2B 78 */ mr r31, r5 -/* 802A3000 80 E5 00 00 */ lwz r7, 0(r5) -/* 802A3004 28 07 00 00 */ cmplwi r7, 0 -/* 802A3008 41 82 00 64 */ beq lbl_802A306C -/* 802A300C 80 A7 00 18 */ lwz r5, 0x18(r7) -/* 802A3010 90 A1 00 0C */ stw r5, 0xc(r1) -/* 802A3014 80 04 00 00 */ lwz r0, 0(r4) -/* 802A3018 7C 05 00 40 */ cmplw r5, r0 -/* 802A301C 40 82 00 50 */ bne lbl_802A306C -/* 802A3020 80 07 00 10 */ lwz r0, 0x10(r7) -/* 802A3024 28 00 00 01 */ cmplwi r0, 1 -/* 802A3028 40 80 00 0C */ bge lbl_802A3034 -/* 802A302C 38 00 00 01 */ li r0, 1 -/* 802A3030 90 07 00 10 */ stw r0, 0x10(r7) -lbl_802A3034: -/* 802A3034 28 06 00 00 */ cmplwi r6, 0 -/* 802A3038 41 82 00 2C */ beq lbl_802A3064 -/* 802A303C 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A3040 80 63 00 08 */ lwz r3, 8(r3) -/* 802A3044 28 03 00 00 */ cmplwi r3, 0 -/* 802A3048 41 82 00 1C */ beq lbl_802A3064 -/* 802A304C C0 06 00 00 */ lfs f0, 0(r6) -/* 802A3050 D0 03 00 04 */ stfs f0, 4(r3) -/* 802A3054 C0 06 00 04 */ lfs f0, 4(r6) -/* 802A3058 D0 03 00 08 */ stfs f0, 8(r3) -/* 802A305C C0 06 00 08 */ lfs f0, 8(r6) -/* 802A3060 D0 03 00 0C */ stfs f0, 0xc(r3) -lbl_802A3064: -/* 802A3064 38 60 00 01 */ li r3, 1 -/* 802A3068 48 00 00 58 */ b lbl_802A30C0 -lbl_802A306C: -/* 802A306C 80 04 00 00 */ lwz r0, 0(r4) -/* 802A3070 90 01 00 08 */ stw r0, 8(r1) -/* 802A3074 38 81 00 08 */ addi r4, r1, 8 -/* 802A3078 7F E5 FB 78 */ mr r5, r31 -/* 802A307C 81 83 00 00 */ lwz r12, 0(r3) -/* 802A3080 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A3084 7D 89 03 A6 */ mtctr r12 -/* 802A3088 4E 80 04 21 */ bctrl -/* 802A308C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A3090 41 82 00 30 */ beq lbl_802A30C0 -/* 802A3094 80 BF 00 00 */ lwz r5, 0(r31) -/* 802A3098 28 05 00 00 */ cmplwi r5, 0 -/* 802A309C 41 82 00 24 */ beq lbl_802A30C0 -/* 802A30A0 38 80 00 01 */ li r4, 1 -/* 802A30A4 90 85 00 10 */ stw r4, 0x10(r5) -/* 802A30A8 88 05 00 1D */ lbz r0, 0x1d(r5) -/* 802A30AC 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18 -/* 802A30B0 98 05 00 1D */ stb r0, 0x1d(r5) -/* 802A30B4 88 05 00 1D */ lbz r0, 0x1d(r5) -/* 802A30B8 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19 -/* 802A30BC 98 05 00 1D */ stb r0, 0x1d(r5) -lbl_802A30C0: -/* 802A30C0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A30C4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A30C8 7C 08 03 A6 */ mtlr r0 -/* 802A30CC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A30D0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/JAISound_tryDie___9JAIStreamFv.s b/asm/JSystem/JAudio2/JAIStream/JAISound_tryDie___9JAIStreamFv.s deleted file mode 100644 index da4e258c3c2..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/JAISound_tryDie___9JAIStreamFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_802A37FC: -/* 802A37FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A3800 7C 08 02 A6 */ mflr r0 -/* 802A3804 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A3808 88 03 02 C6 */ lbz r0, 0x2c6(r3) -/* 802A380C 28 00 00 00 */ cmplwi r0, 0 -/* 802A3810 41 82 00 10 */ beq lbl_802A3820 -/* 802A3814 4B FF FF 0D */ bl die_JAIStream___9JAIStreamFv -/* 802A3818 38 60 00 01 */ li r3, 1 -/* 802A381C 48 00 00 60 */ b lbl_802A387C -lbl_802A3820: -/* 802A3820 80 03 02 90 */ lwz r0, 0x290(r3) -/* 802A3824 2C 00 00 04 */ cmpwi r0, 4 -/* 802A3828 41 82 00 3C */ beq lbl_802A3864 -/* 802A382C 40 80 00 4C */ bge lbl_802A3878 -/* 802A3830 2C 00 00 02 */ cmpwi r0, 2 -/* 802A3834 40 80 00 1C */ bge lbl_802A3850 -/* 802A3838 2C 00 00 00 */ cmpwi r0, 0 -/* 802A383C 40 80 00 08 */ bge lbl_802A3844 -/* 802A3840 48 00 00 38 */ b lbl_802A3878 -lbl_802A3844: -/* 802A3844 4B FF FE DD */ bl die_JAIStream___9JAIStreamFv -/* 802A3848 38 60 00 01 */ li r3, 1 -/* 802A384C 48 00 00 30 */ b lbl_802A387C -lbl_802A3850: -/* 802A3850 38 00 00 05 */ li r0, 5 -/* 802A3854 90 03 02 90 */ stw r0, 0x290(r3) -/* 802A3858 38 63 00 A8 */ addi r3, r3, 0xa8 -/* 802A385C 4B FF 2E 71 */ bl cancel__13JASAramStreamFv -/* 802A3860 48 00 00 18 */ b lbl_802A3878 -lbl_802A3864: -/* 802A3864 38 00 00 06 */ li r0, 6 -/* 802A3868 90 03 02 90 */ stw r0, 0x290(r3) -/* 802A386C 38 63 00 A8 */ addi r3, r3, 0xa8 -/* 802A3870 38 80 00 0A */ li r4, 0xa -/* 802A3874 4B FF 2D D9 */ bl stop__13JASAramStreamFUs -lbl_802A3878: -/* 802A3878 38 60 00 00 */ li r3, 0 -lbl_802A387C: -/* 802A387C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A3880 7C 08 03 A6 */ mtlr r0 -/* 802A3884 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A3888 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_calc___9JAIStreamFv.s b/asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_calc___9JAIStreamFv.s deleted file mode 100644 index 5fb3cf368eb..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_calc___9JAIStreamFv.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_802A388C: -/* 802A388C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A3890 7C 08 02 A6 */ mflr r0 -/* 802A3894 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A3898 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A389C 48 0B E9 41 */ bl _savegpr_29 -/* 802A38A0 7C 7D 1B 78 */ mr r29, r3 -/* 802A38A4 88 03 02 C6 */ lbz r0, 0x2c6(r3) -/* 802A38A8 28 00 00 00 */ cmplwi r0, 0 -/* 802A38AC 41 82 00 28 */ beq lbl_802A38D4 -/* 802A38B0 38 60 00 00 */ li r3, 0 -/* 802A38B4 90 7D 02 90 */ stw r3, 0x290(r29) -/* 802A38B8 88 1D 00 1F */ lbz r0, 0x1f(r29) -/* 802A38BC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c -/* 802A38C0 98 1D 00 1F */ stb r0, 0x1f(r29) -/* 802A38C4 38 60 00 01 */ li r3, 1 -/* 802A38C8 88 1D 00 1F */ lbz r0, 0x1f(r29) -/* 802A38CC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802A38D0 98 1D 00 1F */ stb r0, 0x1f(r29) -lbl_802A38D4: -/* 802A38D4 7F A3 EB 78 */ mr r3, r29 -/* 802A38D8 4B FF ED E1 */ bl calc_JAISound___8JAISoundFv -/* 802A38DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A38E0 41 82 00 50 */ beq lbl_802A3930 -/* 802A38E4 3B C0 00 00 */ li r30, 0 -/* 802A38E8 3B E0 00 00 */ li r31, 0 -lbl_802A38EC: -/* 802A38EC 38 1F 02 A0 */ addi r0, r31, 0x2a0 -/* 802A38F0 7C 7D 00 2E */ lwzx r3, r29, r0 -/* 802A38F4 28 03 00 00 */ cmplwi r3, 0 -/* 802A38F8 41 82 00 08 */ beq lbl_802A3900 -/* 802A38FC 4B FF F2 81 */ bl calc__13JAISoundChildFv -lbl_802A3900: -/* 802A3900 3B DE 00 01 */ addi r30, r30, 1 -/* 802A3904 2C 1E 00 06 */ cmpwi r30, 6 -/* 802A3908 3B FF 00 04 */ addi r31, r31, 4 -/* 802A390C 41 80 FF E0 */ blt lbl_802A38EC -/* 802A3910 80 7D 02 BC */ lwz r3, 0x2bc(r29) -/* 802A3914 28 03 00 00 */ cmplwi r3, 0 -/* 802A3918 41 82 00 18 */ beq lbl_802A3930 -/* 802A391C 7F A4 EB 78 */ mr r4, r29 -/* 802A3920 81 83 00 00 */ lwz r12, 0(r3) -/* 802A3924 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A3928 7D 89 03 A6 */ mtctr r12 -/* 802A392C 4E 80 04 21 */ bctrl -lbl_802A3930: -/* 802A3930 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A3934 48 0B E8 F5 */ bl _restgpr_29 -/* 802A3938 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A393C 7C 08 03 A6 */ mtlr r0 -/* 802A3940 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A3944 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv.s b/asm/JSystem/JAudio2/JAIStream/JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv.s deleted file mode 100644 index 40cbdd5bf3a..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_802A30D4: -/* 802A30D4 2C 03 00 01 */ cmpwi r3, 1 -/* 802A30D8 41 82 00 14 */ beq lbl_802A30EC -/* 802A30DC 4C 80 00 20 */ bgelr -/* 802A30E0 2C 03 00 00 */ cmpwi r3, 0 -/* 802A30E4 40 80 00 14 */ bge lbl_802A30F8 -/* 802A30E8 4E 80 00 20 */ blr -lbl_802A30EC: -/* 802A30EC 38 00 00 01 */ li r0, 1 -/* 802A30F0 98 05 02 C5 */ stb r0, 0x2c5(r5) -/* 802A30F4 4E 80 00 20 */ blr -lbl_802A30F8: -/* 802A30F8 38 00 00 01 */ li r0, 1 -/* 802A30FC 98 05 02 C6 */ stb r0, 0x2c6(r5) -/* 802A3100 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/func_802A3104.s b/asm/JSystem/JAudio2/JAIStream/func_802A3104.s deleted file mode 100644 index c38fac6562f..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/func_802A3104.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_802A3104: -/* 802A3104 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A3108 7C 08 02 A6 */ mflr r0 -/* 802A310C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A3110 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A3114 48 0B F0 C9 */ bl _savegpr_29 -/* 802A3118 7C 7D 1B 78 */ mr r29, r3 -/* 802A311C 7C 9E 23 78 */ mr r30, r4 -/* 802A3120 7C BF 2B 78 */ mr r31, r5 -/* 802A3124 4B FF F1 D5 */ bl __ct__8JAISoundFv -/* 802A3128 38 7D 00 98 */ addi r3, r29, 0x98 -/* 802A312C 7F A4 EB 78 */ mr r4, r29 -/* 802A3130 48 03 8C CD */ bl __ct__10JSUPtrLinkFPv -/* 802A3134 3C 60 80 3D */ lis r3, __vt__9JAIStream@ha /* 0x803C99D8@ha */ -/* 802A3138 38 03 99 D8 */ addi r0, r3, __vt__9JAIStream@l /* 0x803C99D8@l */ -/* 802A313C 90 1D 00 00 */ stw r0, 0(r29) -/* 802A3140 38 7D 00 A8 */ addi r3, r29, 0xa8 -/* 802A3144 4B FF 32 65 */ bl __ct__13JASAramStreamFv -/* 802A3148 38 80 00 00 */ li r4, 0 -/* 802A314C 90 9D 02 90 */ stw r4, 0x290(r29) -/* 802A3150 93 FD 02 C0 */ stw r31, 0x2c0(r29) -/* 802A3154 93 DD 02 B8 */ stw r30, 0x2b8(r29) -/* 802A3158 90 9D 02 9C */ stw r4, 0x29c(r29) -/* 802A315C 98 9D 02 C5 */ stb r4, 0x2c5(r29) -/* 802A3160 98 9D 02 C6 */ stb r4, 0x2c6(r29) -/* 802A3164 7C 83 23 78 */ mr r3, r4 -/* 802A3168 38 00 00 06 */ li r0, 6 -/* 802A316C 7C 09 03 A6 */ mtctr r0 -lbl_802A3170: -/* 802A3170 38 03 02 A0 */ addi r0, r3, 0x2a0 -/* 802A3174 7C 9D 01 2E */ stwx r4, r29, r0 -/* 802A3178 38 63 00 04 */ addi r3, r3, 4 -/* 802A317C 42 00 FF F4 */ bdnz lbl_802A3170 -/* 802A3180 7F A3 EB 78 */ mr r3, r29 -/* 802A3184 39 61 00 20 */ addi r11, r1, 0x20 -/* 802A3188 48 0B F0 A1 */ bl _restgpr_29 -/* 802A318C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A3190 7C 08 03 A6 */ mtlr r0 -/* 802A3194 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A3198 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/func_802A319C.s b/asm/JSystem/JAudio2/JAIStream/func_802A319C.s deleted file mode 100644 index 14bf127f5a0..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/func_802A319C.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_802A319C: -/* 802A319C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A31A0 7C 08 02 A6 */ mflr r0 -/* 802A31A4 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A31A8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A31AC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A31B0 7C 7E 1B 78 */ mr r30, r3 -/* 802A31B4 7C 9F 23 78 */ mr r31, r4 -/* 802A31B8 91 03 02 98 */ stw r8, 0x298(r3) -/* 802A31BC 90 A3 02 94 */ stw r5, 0x294(r3) -/* 802A31C0 80 04 00 00 */ lwz r0, 0(r4) -/* 802A31C4 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A31C8 38 81 00 0C */ addi r4, r1, 0xc -/* 802A31CC 7C C5 33 78 */ mr r5, r6 -/* 802A31D0 7C E6 3B 78 */ mr r6, r7 -/* 802A31D4 4B FF F1 55 */ bl func_802A2328 -/* 802A31D8 38 60 00 00 */ li r3, 0 -/* 802A31DC 90 7E 02 90 */ stw r3, 0x290(r30) -/* 802A31E0 80 1E 02 C0 */ lwz r0, 0x2c0(r30) -/* 802A31E4 28 00 00 00 */ cmplwi r0, 0 -/* 802A31E8 41 82 00 2C */ beq lbl_802A3214 -/* 802A31EC 80 1F 00 00 */ lwz r0, 0(r31) -/* 802A31F0 90 01 00 08 */ stw r0, 8(r1) -/* 802A31F4 80 7E 02 C0 */ lwz r3, 0x2c0(r30) -/* 802A31F8 38 81 00 08 */ addi r4, r1, 8 -/* 802A31FC 81 83 00 00 */ lwz r12, 0(r3) -/* 802A3200 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A3204 7D 89 03 A6 */ mtctr r12 -/* 802A3208 4E 80 04 21 */ bctrl -/* 802A320C 90 7E 02 BC */ stw r3, 0x2bc(r30) -/* 802A3210 48 00 00 08 */ b lbl_802A3218 -lbl_802A3214: -/* 802A3214 90 7E 02 BC */ stw r3, 0x2bc(r30) -lbl_802A3218: -/* 802A3218 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A321C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A3220 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A3224 7C 08 03 A6 */ mtlr r0 -/* 802A3228 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A322C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/prepare___9JAIStreamFv.s b/asm/JSystem/JAudio2/JAIStream/prepare___9JAIStreamFv.s deleted file mode 100644 index ef1b68f2750..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/prepare___9JAIStreamFv.s +++ /dev/null @@ -1,46 +0,0 @@ -lbl_802A33F4: -/* 802A33F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A33F8 7C 08 02 A6 */ mflr r0 -/* 802A33FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A3400 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A3404 7C 7F 1B 78 */ mr r31, r3 -/* 802A3408 88 03 02 C6 */ lbz r0, 0x2c6(r3) -/* 802A340C 28 00 00 00 */ cmplwi r0, 0 -/* 802A3410 40 82 00 74 */ bne lbl_802A3484 -/* 802A3414 88 1F 00 1E */ lbz r0, 0x1e(r31) -/* 802A3418 2C 00 00 04 */ cmpwi r0, 4 -/* 802A341C 41 82 00 5C */ beq lbl_802A3478 -/* 802A3420 40 80 00 64 */ bge lbl_802A3484 -/* 802A3424 2C 00 00 01 */ cmpwi r0, 1 -/* 802A3428 41 82 00 38 */ beq lbl_802A3460 -/* 802A342C 40 80 00 58 */ bge lbl_802A3484 -/* 802A3430 2C 00 00 00 */ cmpwi r0, 0 -/* 802A3434 40 80 00 0C */ bge lbl_802A3440 -/* 802A3438 48 00 00 4C */ b lbl_802A3484 -/* 802A343C 48 00 00 48 */ b lbl_802A3484 -lbl_802A3440: -/* 802A3440 4B FF FD F1 */ bl prepare_prepareStream___9JAIStreamFv -/* 802A3444 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A3448 41 82 00 3C */ beq lbl_802A3484 -/* 802A344C 38 00 00 05 */ li r0, 5 -/* 802A3450 98 1F 00 1E */ stb r0, 0x1e(r31) -/* 802A3454 7F E3 FB 78 */ mr r3, r31 -/* 802A3458 48 00 00 41 */ bl prepare_startStream___9JAIStreamFv -/* 802A345C 48 00 00 28 */ b lbl_802A3484 -lbl_802A3460: -/* 802A3460 4B FF FD D1 */ bl prepare_prepareStream___9JAIStreamFv -/* 802A3464 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A3468 41 82 00 1C */ beq lbl_802A3484 -/* 802A346C 38 00 00 03 */ li r0, 3 -/* 802A3470 98 1F 00 1E */ stb r0, 0x1e(r31) -/* 802A3474 48 00 00 10 */ b lbl_802A3484 -lbl_802A3478: -/* 802A3478 38 00 00 05 */ li r0, 5 -/* 802A347C 98 1F 00 1E */ stb r0, 0x1e(r31) -/* 802A3480 48 00 00 19 */ bl prepare_startStream___9JAIStreamFv -lbl_802A3484: -/* 802A3484 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A3488 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A348C 7C 08 03 A6 */ mtlr r0 -/* 802A3490 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A3494 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/prepare_prepareStream___9JAIStreamFv.s b/asm/JSystem/JAudio2/JAIStream/prepare_prepareStream___9JAIStreamFv.s deleted file mode 100644 index d02c04eb4f1..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/prepare_prepareStream___9JAIStreamFv.s +++ /dev/null @@ -1,128 +0,0 @@ -lbl_802A3230: -/* 802A3230 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A3234 7C 08 02 A6 */ mflr r0 -/* 802A3238 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A323C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A3240 7C 7F 1B 78 */ mr r31, r3 -/* 802A3244 80 03 02 90 */ lwz r0, 0x290(r3) -/* 802A3248 2C 00 00 02 */ cmpwi r0, 2 -/* 802A324C 41 82 01 60 */ beq lbl_802A33AC -/* 802A3250 40 80 00 14 */ bge lbl_802A3264 -/* 802A3254 2C 00 00 00 */ cmpwi r0, 0 -/* 802A3258 41 82 00 1C */ beq lbl_802A3274 -/* 802A325C 40 80 00 7C */ bge lbl_802A32D8 -/* 802A3260 48 00 01 7C */ b lbl_802A33DC -lbl_802A3264: -/* 802A3264 2C 00 00 04 */ cmpwi r0, 4 -/* 802A3268 41 82 01 74 */ beq lbl_802A33DC -/* 802A326C 40 80 01 70 */ bge lbl_802A33DC -/* 802A3270 48 00 01 64 */ b lbl_802A33D4 -lbl_802A3274: -/* 802A3274 80 7F 02 B8 */ lwz r3, 0x2b8(r31) -/* 802A3278 80 63 00 68 */ lwz r3, 0x68(r3) -/* 802A327C 38 81 00 08 */ addi r4, r1, 8 -/* 802A3280 81 83 00 00 */ lwz r12, 0(r3) -/* 802A3284 81 8C 00 08 */ lwz r12, 8(r12) -/* 802A3288 7D 89 03 A6 */ mtctr r12 -/* 802A328C 4E 80 04 21 */ bctrl -/* 802A3290 90 7F 02 9C */ stw r3, 0x29c(r31) -/* 802A3294 80 9F 02 9C */ lwz r4, 0x29c(r31) -/* 802A3298 28 04 00 00 */ cmplwi r4, 0 -/* 802A329C 41 82 00 30 */ beq lbl_802A32CC -/* 802A32A0 38 7F 00 A8 */ addi r3, r31, 0xa8 -/* 802A32A4 80 A1 00 08 */ lwz r5, 8(r1) -/* 802A32A8 3C C0 80 2A */ lis r6, JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv@ha /* 0x802A30D4@ha */ -/* 802A32AC 38 C6 30 D4 */ addi r6, r6, JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv@l /* 0x802A30D4@l */ -/* 802A32B0 7F E7 FB 78 */ mr r7, r31 -/* 802A32B4 4B FF 31 E9 */ bl init__13JASAramStreamFUlUlPFUlP13JASAramStreamPv_vPv -/* 802A32B8 38 00 00 01 */ li r0, 1 -/* 802A32BC 90 1F 02 90 */ stw r0, 0x290(r31) -/* 802A32C0 38 00 00 00 */ li r0, 0 -/* 802A32C4 90 1F 00 14 */ stw r0, 0x14(r31) -/* 802A32C8 48 00 01 14 */ b lbl_802A33DC -lbl_802A32CC: -/* 802A32CC 7F E3 FB 78 */ mr r3, r31 -/* 802A32D0 4B FF F3 9D */ bl increasePrepareCount_JAISound___8JAISoundFv -/* 802A32D4 48 00 01 08 */ b lbl_802A33DC -lbl_802A32D8: -/* 802A32D8 80 7F 00 08 */ lwz r3, 8(r31) -/* 802A32DC 28 03 00 00 */ cmplwi r3, 0 -/* 802A32E0 41 82 00 A0 */ beq lbl_802A3380 -/* 802A32E4 38 80 00 00 */ li r4, 0 -/* 802A32E8 81 83 00 00 */ lwz r12, 0(r3) -/* 802A32EC 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A32F0 7D 89 03 A6 */ mtctr r12 -/* 802A32F4 4E 80 04 21 */ bctrl -/* 802A32F8 C0 03 00 08 */ lfs f0, 8(r3) -/* 802A32FC D0 1F 02 20 */ stfs f0, 0x220(r31) -/* 802A3300 C0 03 00 00 */ lfs f0, 0(r3) -/* 802A3304 38 80 00 00 */ li r4, 0 -/* 802A3308 38 00 00 06 */ li r0, 6 -/* 802A330C 7C 09 03 A6 */ mtctr r0 -lbl_802A3310: -/* 802A3310 38 04 02 24 */ addi r0, r4, 0x224 -/* 802A3314 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 802A3318 38 84 00 04 */ addi r4, r4, 4 -/* 802A331C 42 00 FF F4 */ bdnz lbl_802A3310 -/* 802A3320 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 802A3324 38 80 00 00 */ li r4, 0 -/* 802A3328 38 00 00 06 */ li r0, 6 -/* 802A332C 7C 09 03 A6 */ mtctr r0 -lbl_802A3330: -/* 802A3330 38 04 02 3C */ addi r0, r4, 0x23c -/* 802A3334 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 802A3338 38 84 00 04 */ addi r4, r4, 4 -/* 802A333C 42 00 FF F4 */ bdnz lbl_802A3330 -/* 802A3340 C0 03 00 04 */ lfs f0, 4(r3) -/* 802A3344 38 80 00 00 */ li r4, 0 -/* 802A3348 38 00 00 06 */ li r0, 6 -/* 802A334C 7C 09 03 A6 */ mtctr r0 -lbl_802A3350: -/* 802A3350 38 04 02 54 */ addi r0, r4, 0x254 -/* 802A3354 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 802A3358 38 84 00 04 */ addi r4, r4, 4 -/* 802A335C 42 00 FF F4 */ bdnz lbl_802A3350 -/* 802A3360 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 802A3364 38 60 00 00 */ li r3, 0 -/* 802A3368 38 00 00 06 */ li r0, 6 -/* 802A336C 7C 09 03 A6 */ mtctr r0 -lbl_802A3370: -/* 802A3370 38 03 02 6C */ addi r0, r3, 0x26c -/* 802A3374 7C 1F 05 2E */ stfsx f0, r31, r0 -/* 802A3378 38 63 00 04 */ addi r3, r3, 4 -/* 802A337C 42 00 FF F4 */ bdnz lbl_802A3370 -lbl_802A3380: -/* 802A3380 38 00 00 00 */ li r0, 0 -/* 802A3384 98 1F 02 C5 */ stb r0, 0x2c5(r31) -/* 802A3388 38 7F 00 A8 */ addi r3, r31, 0xa8 -/* 802A338C 80 9F 02 94 */ lwz r4, 0x294(r31) -/* 802A3390 38 A0 FF FF */ li r5, -1 -/* 802A3394 4B FF 31 C9 */ bl prepare__13JASAramStreamFli -/* 802A3398 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A339C 41 82 00 40 */ beq lbl_802A33DC -/* 802A33A0 38 00 00 02 */ li r0, 2 -/* 802A33A4 90 1F 02 90 */ stw r0, 0x290(r31) -/* 802A33A8 48 00 00 34 */ b lbl_802A33DC -lbl_802A33AC: -/* 802A33AC 88 1F 02 C5 */ lbz r0, 0x2c5(r31) -/* 802A33B0 28 00 00 00 */ cmplwi r0, 0 -/* 802A33B4 41 82 00 18 */ beq lbl_802A33CC -/* 802A33B8 38 00 00 00 */ li r0, 0 -/* 802A33BC 98 1F 02 C5 */ stb r0, 0x2c5(r31) -/* 802A33C0 38 00 00 03 */ li r0, 3 -/* 802A33C4 90 1F 02 90 */ stw r0, 0x290(r31) -/* 802A33C8 48 00 00 14 */ b lbl_802A33DC -lbl_802A33CC: -/* 802A33CC 4B FF F2 A1 */ bl increasePrepareCount_JAISound___8JAISoundFv -/* 802A33D0 48 00 00 0C */ b lbl_802A33DC -lbl_802A33D4: -/* 802A33D4 38 60 00 01 */ li r3, 1 -/* 802A33D8 48 00 00 08 */ b lbl_802A33E0 -lbl_802A33DC: -/* 802A33DC 38 60 00 00 */ li r3, 0 -lbl_802A33E0: -/* 802A33E0 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A33E4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A33E8 7C 08 03 A6 */ mtlr r0 -/* 802A33EC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A33F0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStream/prepare_startStream___9JAIStreamFv.s b/asm/JSystem/JAudio2/JAIStream/prepare_startStream___9JAIStreamFv.s deleted file mode 100644 index 42775752575..00000000000 --- a/asm/JSystem/JAudio2/JAIStream/prepare_startStream___9JAIStreamFv.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_802A3498: -/* 802A3498 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A349C 7C 08 02 A6 */ mflr r0 -/* 802A34A0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A34A4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A34A8 7C 7F 1B 78 */ mr r31, r3 -/* 802A34AC 38 7F 00 A8 */ addi r3, r31, 0xa8 -/* 802A34B0 4B FF 31 69 */ bl start__13JASAramStreamFv -/* 802A34B4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A34B8 41 82 00 18 */ beq lbl_802A34D0 -/* 802A34BC 38 00 00 00 */ li r0, 0 -/* 802A34C0 98 1F 02 C6 */ stb r0, 0x2c6(r31) -/* 802A34C4 98 1F 02 C4 */ stb r0, 0x2c4(r31) -/* 802A34C8 38 00 00 04 */ li r0, 4 -/* 802A34CC 90 1F 02 90 */ stw r0, 0x290(r31) -lbl_802A34D0: -/* 802A34D0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A34D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A34D8 7C 08 03 A6 */ mtlr r0 -/* 802A34DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A34E0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamMgr/calc__12JAIStreamMgrFv.s b/asm/JSystem/JAudio2/JAIStreamMgr/calc__12JAIStreamMgrFv.s deleted file mode 100644 index fd445bf4624..00000000000 --- a/asm/JSystem/JAudio2/JAIStreamMgr/calc__12JAIStreamMgrFv.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_802A3EBC: -/* 802A3EBC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A3EC0 7C 08 02 A6 */ mflr r0 -/* 802A3EC4 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A3EC8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A3ECC 93 C1 00 08 */ stw r30, 8(r1) -/* 802A3ED0 7C 7E 1B 78 */ mr r30, r3 -/* 802A3ED4 C0 23 00 04 */ lfs f1, 4(r3) -/* 802A3ED8 80 63 00 20 */ lwz r3, 0x20(r3) -/* 802A3EDC 28 03 00 01 */ cmplwi r3, 1 -/* 802A3EE0 40 81 00 18 */ ble lbl_802A3EF8 -/* 802A3EE4 38 03 FF FF */ addi r0, r3, -1 -/* 802A3EE8 90 1E 00 20 */ stw r0, 0x20(r30) -/* 802A3EEC C0 1E 00 18 */ lfs f0, 0x18(r30) -/* 802A3EF0 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A3EF4 48 00 00 14 */ b lbl_802A3F08 -lbl_802A3EF8: -/* 802A3EF8 40 82 00 10 */ bne lbl_802A3F08 -/* 802A3EFC 38 00 00 00 */ li r0, 0 -/* 802A3F00 90 1E 00 20 */ stw r0, 0x20(r30) -/* 802A3F04 C0 3E 00 1C */ lfs f1, 0x1c(r30) -lbl_802A3F08: -/* 802A3F08 D0 3E 00 04 */ stfs f1, 4(r30) -/* 802A3F0C C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 802A3F10 80 7E 00 2C */ lwz r3, 0x2c(r30) -/* 802A3F14 28 03 00 01 */ cmplwi r3, 1 -/* 802A3F18 40 81 00 18 */ ble lbl_802A3F30 -/* 802A3F1C 38 03 FF FF */ addi r0, r3, -1 -/* 802A3F20 90 1E 00 2C */ stw r0, 0x2c(r30) -/* 802A3F24 C0 1E 00 24 */ lfs f0, 0x24(r30) -/* 802A3F28 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A3F2C 48 00 00 14 */ b lbl_802A3F40 -lbl_802A3F30: -/* 802A3F30 40 82 00 10 */ bne lbl_802A3F40 -/* 802A3F34 38 00 00 00 */ li r0, 0 -/* 802A3F38 90 1E 00 2C */ stw r0, 0x2c(r30) -/* 802A3F3C C0 3E 00 28 */ lfs f1, 0x28(r30) -lbl_802A3F40: -/* 802A3F40 D0 3E 00 0C */ stfs f1, 0xc(r30) -/* 802A3F44 C0 3E 00 08 */ lfs f1, 8(r30) -/* 802A3F48 80 7E 00 38 */ lwz r3, 0x38(r30) -/* 802A3F4C 28 03 00 01 */ cmplwi r3, 1 -/* 802A3F50 40 81 00 18 */ ble lbl_802A3F68 -/* 802A3F54 38 03 FF FF */ addi r0, r3, -1 -/* 802A3F58 90 1E 00 38 */ stw r0, 0x38(r30) -/* 802A3F5C C0 1E 00 30 */ lfs f0, 0x30(r30) -/* 802A3F60 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A3F64 48 00 00 14 */ b lbl_802A3F78 -lbl_802A3F68: -/* 802A3F68 40 82 00 10 */ bne lbl_802A3F78 -/* 802A3F6C 38 00 00 00 */ li r0, 0 -/* 802A3F70 90 1E 00 38 */ stw r0, 0x38(r30) -/* 802A3F74 C0 3E 00 34 */ lfs f1, 0x34(r30) -lbl_802A3F78: -/* 802A3F78 D0 3E 00 08 */ stfs f1, 8(r30) -/* 802A3F7C C0 3E 00 14 */ lfs f1, 0x14(r30) -/* 802A3F80 80 7E 00 50 */ lwz r3, 0x50(r30) -/* 802A3F84 28 03 00 01 */ cmplwi r3, 1 -/* 802A3F88 40 81 00 18 */ ble lbl_802A3FA0 -/* 802A3F8C 38 03 FF FF */ addi r0, r3, -1 -/* 802A3F90 90 1E 00 50 */ stw r0, 0x50(r30) -/* 802A3F94 C0 1E 00 48 */ lfs f0, 0x48(r30) -/* 802A3F98 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A3F9C 48 00 00 14 */ b lbl_802A3FB0 -lbl_802A3FA0: -/* 802A3FA0 40 82 00 10 */ bne lbl_802A3FB0 -/* 802A3FA4 38 00 00 00 */ li r0, 0 -/* 802A3FA8 90 1E 00 50 */ stw r0, 0x50(r30) -/* 802A3FAC C0 3E 00 4C */ lfs f1, 0x4c(r30) -lbl_802A3FB0: -/* 802A3FB0 D0 3E 00 14 */ stfs f1, 0x14(r30) -/* 802A3FB4 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 802A3FB8 80 7E 00 44 */ lwz r3, 0x44(r30) -/* 802A3FBC 28 03 00 01 */ cmplwi r3, 1 -/* 802A3FC0 40 81 00 18 */ ble lbl_802A3FD8 -/* 802A3FC4 38 03 FF FF */ addi r0, r3, -1 -/* 802A3FC8 90 1E 00 44 */ stw r0, 0x44(r30) -/* 802A3FCC C0 1E 00 3C */ lfs f0, 0x3c(r30) -/* 802A3FD0 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A3FD4 48 00 00 14 */ b lbl_802A3FE8 -lbl_802A3FD8: -/* 802A3FD8 40 82 00 10 */ bne lbl_802A3FE8 -/* 802A3FDC 38 00 00 00 */ li r0, 0 -/* 802A3FE0 90 1E 00 44 */ stw r0, 0x44(r30) -/* 802A3FE4 C0 3E 00 40 */ lfs f1, 0x40(r30) -lbl_802A3FE8: -/* 802A3FE8 D0 3E 00 10 */ stfs f1, 0x10(r30) -/* 802A3FEC 83 FE 00 58 */ lwz r31, 0x58(r30) -/* 802A3FF0 48 00 00 10 */ b lbl_802A4000 -lbl_802A3FF4: -/* 802A3FF4 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A3FF8 4B FF F8 95 */ bl JAIStreamMgr_calc___9JAIStreamFv -/* 802A3FFC 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A4000: -/* 802A4000 28 1F 00 00 */ cmplwi r31, 0 -/* 802A4004 40 82 FF F0 */ bne lbl_802A3FF4 -/* 802A4008 7F C3 F3 78 */ mr r3, r30 -/* 802A400C 4B FF FD 65 */ bl freeDeadStream___12JAIStreamMgrFv -/* 802A4010 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A4014 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A4018 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A401C 7C 08 03 A6 */ mtlr r0 -/* 802A4020 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A4024 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamMgr/func_802A3C3C.s b/asm/JSystem/JAudio2/JAIStreamMgr/func_802A3C3C.s deleted file mode 100644 index d25750fdcf2..00000000000 --- a/asm/JSystem/JAudio2/JAIStreamMgr/func_802A3C3C.s +++ /dev/null @@ -1,85 +0,0 @@ -lbl_802A3C3C: -/* 802A3C3C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 802A3C40 7C 08 02 A6 */ mflr r0 -/* 802A3C44 90 01 00 44 */ stw r0, 0x44(r1) -/* 802A3C48 39 61 00 40 */ addi r11, r1, 0x40 -/* 802A3C4C 48 0B E5 81 */ bl _savegpr_25 -/* 802A3C50 7C 79 1B 78 */ mr r25, r3 -/* 802A3C54 7C 9A 23 78 */ mr r26, r4 -/* 802A3C58 7C BB 2B 79 */ or. r27, r5, r5 -/* 802A3C5C 7C DC 33 78 */ mr r28, r6 -/* 802A3C60 41 82 00 14 */ beq lbl_802A3C74 -/* 802A3C64 80 7B 00 00 */ lwz r3, 0(r27) -/* 802A3C68 28 03 00 00 */ cmplwi r3, 0 -/* 802A3C6C 41 82 00 08 */ beq lbl_802A3C74 -/* 802A3C70 4B FF E9 29 */ bl stop__8JAISoundFv -lbl_802A3C74: -/* 802A3C74 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A3C78 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A3C7C 80 79 00 64 */ lwz r3, 0x64(r25) -/* 802A3C80 38 81 00 14 */ addi r4, r1, 0x14 -/* 802A3C84 81 83 00 00 */ lwz r12, 0(r3) -/* 802A3C88 81 8C 00 08 */ lwz r12, 8(r12) -/* 802A3C8C 7D 89 03 A6 */ mtctr r12 -/* 802A3C90 4E 80 04 21 */ bctrl -/* 802A3C94 7C 7E 1B 79 */ or. r30, r3, r3 -/* 802A3C98 40 80 00 0C */ bge lbl_802A3CA4 -/* 802A3C9C 38 60 00 00 */ li r3, 0 -/* 802A3CA0 48 00 00 B8 */ b lbl_802A3D58 -lbl_802A3CA4: -/* 802A3CA4 7F 23 CB 78 */ mr r3, r25 -/* 802A3CA8 48 00 04 CD */ bl newStream___12JAIStreamMgrFv -/* 802A3CAC 7C 7D 1B 78 */ mr r29, r3 -/* 802A3CB0 83 ED 85 DC */ lwz r31, __OSReport_disable-0x3C(r13) -/* 802A3CB4 39 00 FF FF */ li r8, -1 -/* 802A3CB8 28 1F 00 00 */ cmplwi r31, 0 -/* 802A3CBC 41 82 00 28 */ beq lbl_802A3CE4 -/* 802A3CC0 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A3CC4 90 01 00 10 */ stw r0, 0x10(r1) -/* 802A3CC8 7F E3 FB 78 */ mr r3, r31 -/* 802A3CCC 38 81 00 10 */ addi r4, r1, 0x10 -/* 802A3CD0 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A3CD4 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A3CD8 7D 89 03 A6 */ mtctr r12 -/* 802A3CDC 4E 80 04 21 */ bctrl -/* 802A3CE0 7C 68 1B 78 */ mr r8, r3 -lbl_802A3CE4: -/* 802A3CE4 28 1D 00 00 */ cmplwi r29, 0 -/* 802A3CE8 40 82 00 0C */ bne lbl_802A3CF4 -/* 802A3CEC 38 60 00 00 */ li r3, 0 -/* 802A3CF0 48 00 00 68 */ b lbl_802A3D58 -lbl_802A3CF4: -/* 802A3CF4 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A3CF8 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A3CFC 7F A3 EB 78 */ mr r3, r29 -/* 802A3D00 38 81 00 0C */ addi r4, r1, 0xc -/* 802A3D04 7F C5 F3 78 */ mr r5, r30 -/* 802A3D08 7F 86 E3 78 */ mr r6, r28 -/* 802A3D0C 80 F9 00 54 */ lwz r7, 0x54(r25) -/* 802A3D10 4B FF F4 8D */ bl func_802A319C -/* 802A3D14 28 1F 00 00 */ cmplwi r31, 0 -/* 802A3D18 41 82 00 28 */ beq lbl_802A3D40 -/* 802A3D1C 80 1A 00 00 */ lwz r0, 0(r26) -/* 802A3D20 90 01 00 08 */ stw r0, 8(r1) -/* 802A3D24 7F E3 FB 78 */ mr r3, r31 -/* 802A3D28 38 81 00 08 */ addi r4, r1, 8 -/* 802A3D2C 7F A5 EB 78 */ mr r5, r29 -/* 802A3D30 81 9F 00 00 */ lwz r12, 0(r31) -/* 802A3D34 81 8C 00 1C */ lwz r12, 0x1c(r12) -/* 802A3D38 7D 89 03 A6 */ mtctr r12 -/* 802A3D3C 4E 80 04 21 */ bctrl -lbl_802A3D40: -/* 802A3D40 28 1B 00 00 */ cmplwi r27, 0 -/* 802A3D44 41 82 00 10 */ beq lbl_802A3D54 -/* 802A3D48 7F A3 EB 78 */ mr r3, r29 -/* 802A3D4C 7F 64 DB 78 */ mr r4, r27 -/* 802A3D50 4B FF E4 6D */ bl attachHandle__8JAISoundFP14JAISoundHandle -lbl_802A3D54: -/* 802A3D54 38 60 00 00 */ li r3, 0 -lbl_802A3D58: -/* 802A3D58 39 61 00 40 */ addi r11, r1, 0x40 -/* 802A3D5C 48 0B E4 BD */ bl _restgpr_25 -/* 802A3D60 80 01 00 44 */ lwz r0, 0x44(r1) -/* 802A3D64 7C 08 03 A6 */ mtlr r0 -/* 802A3D68 38 21 00 40 */ addi r1, r1, 0x40 -/* 802A3D6C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamMgr/mixOut__12JAIStreamMgrFv.s b/asm/JSystem/JAudio2/JAIStreamMgr/mixOut__12JAIStreamMgrFv.s deleted file mode 100644 index e4f25c76821..00000000000 --- a/asm/JSystem/JAudio2/JAIStreamMgr/mixOut__12JAIStreamMgrFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802A4118: -/* 802A4118 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A411C 7C 08 02 A6 */ mflr r0 -/* 802A4120 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A4124 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A4128 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A412C 7C 7E 1B 78 */ mr r30, r3 -/* 802A4130 83 E3 00 58 */ lwz r31, 0x58(r3) -/* 802A4134 48 00 00 20 */ b lbl_802A4154 -lbl_802A4138: -/* 802A4138 88 1E 00 00 */ lbz r0, 0(r30) -/* 802A413C 98 01 00 08 */ stb r0, 8(r1) -/* 802A4140 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A4144 38 9E 00 04 */ addi r4, r30, 4 -/* 802A4148 38 A1 00 08 */ addi r5, r1, 8 -/* 802A414C 4B FF F3 99 */ bl JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity -/* 802A4150 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A4154: -/* 802A4154 28 1F 00 00 */ cmplwi r31, 0 -/* 802A4158 40 82 FF E0 */ bne lbl_802A4138 -/* 802A415C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A4160 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A4164 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A4168 7C 08 03 A6 */ mtlr r0 -/* 802A416C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A4170 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamMgr/stopSoundID__12JAIStreamMgrF10JAISoundID.s b/asm/JSystem/JAudio2/JAIStreamMgr/stopSoundID__12JAIStreamMgrF10JAISoundID.s deleted file mode 100644 index 673a88358dd..00000000000 --- a/asm/JSystem/JAudio2/JAIStreamMgr/stopSoundID__12JAIStreamMgrF10JAISoundID.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_802A40B8: -/* 802A40B8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802A40BC 7C 08 02 A6 */ mflr r0 -/* 802A40C0 90 01 00 24 */ stw r0, 0x24(r1) -/* 802A40C4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 802A40C8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 802A40CC 7C 9E 23 78 */ mr r30, r4 -/* 802A40D0 83 E3 00 58 */ lwz r31, 0x58(r3) -/* 802A40D4 48 00 00 24 */ b lbl_802A40F8 -lbl_802A40D8: -/* 802A40D8 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A40DC 80 83 00 18 */ lwz r4, 0x18(r3) -/* 802A40E0 90 81 00 08 */ stw r4, 8(r1) -/* 802A40E4 80 1E 00 00 */ lwz r0, 0(r30) -/* 802A40E8 7C 04 00 40 */ cmplw r4, r0 -/* 802A40EC 40 82 00 08 */ bne lbl_802A40F4 -/* 802A40F0 4B FF E4 A9 */ bl stop__8JAISoundFv -lbl_802A40F4: -/* 802A40F4 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A40F8: -/* 802A40F8 28 1F 00 00 */ cmplwi r31, 0 -/* 802A40FC 40 82 FF DC */ bne lbl_802A40D8 -/* 802A4100 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 802A4104 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802A4108 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802A410C 7C 08 03 A6 */ mtlr r0 -/* 802A4110 38 21 00 20 */ addi r1, r1, 0x20 -/* 802A4114 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFUl.s b/asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFUl.s deleted file mode 100644 index 9e62fff9758..00000000000 --- a/asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFUl.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802A4068: -/* 802A4068 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A406C 7C 08 02 A6 */ mflr r0 -/* 802A4070 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A4074 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A4078 93 C1 00 08 */ stw r30, 8(r1) -/* 802A407C 7C 9E 23 78 */ mr r30, r4 -/* 802A4080 83 E3 00 58 */ lwz r31, 0x58(r3) -/* 802A4084 48 00 00 14 */ b lbl_802A4098 -lbl_802A4088: -/* 802A4088 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A408C 7F C4 F3 78 */ mr r4, r30 -/* 802A4090 4B FF E4 4D */ bl stop__8JAISoundFUl -/* 802A4094 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A4098: -/* 802A4098 28 1F 00 00 */ cmplwi r31, 0 -/* 802A409C 40 82 FF EC */ bne lbl_802A4088 -/* 802A40A0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A40A4 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A40A8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A40AC 7C 08 03 A6 */ mtlr r0 -/* 802A40B0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A40B4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFv.s b/asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFv.s deleted file mode 100644 index a36a91f5585..00000000000 --- a/asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFv.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802A4028: -/* 802A4028 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A402C 7C 08 02 A6 */ mflr r0 -/* 802A4030 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A4034 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A4038 83 E3 00 58 */ lwz r31, 0x58(r3) -/* 802A403C 48 00 00 10 */ b lbl_802A404C -lbl_802A4040: -/* 802A4040 80 7F 00 00 */ lwz r3, 0(r31) -/* 802A4044 4B FF E5 55 */ bl stop__8JAISoundFv -/* 802A4048 83 FF 00 0C */ lwz r31, 0xc(r31) -lbl_802A404C: -/* 802A404C 28 1F 00 00 */ cmplwi r31, 0 -/* 802A4050 40 82 FF F0 */ bne lbl_802A4040 -/* 802A4054 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A4058 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A405C 7C 08 03 A6 */ mtlr r0 -/* 802A4060 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A4064 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s b/asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s deleted file mode 100644 index 32ec3ae4be5..00000000000 --- a/asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s +++ /dev/null @@ -1,59 +0,0 @@ -lbl_80291F38: -/* 80291F38 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80291F3C 7C 08 02 A6 */ mflr r0 -/* 80291F40 90 01 00 34 */ stw r0, 0x34(r1) -/* 80291F44 39 61 00 30 */ addi r11, r1, 0x30 -/* 80291F48 48 0D 02 7D */ bl _savegpr_23 -/* 80291F4C 7C 77 1B 78 */ mr r23, r3 -/* 80291F50 7C 98 23 78 */ mr r24, r4 -/* 80291F54 7C B9 2B 78 */ mr r25, r5 -/* 80291F58 7C DA 33 78 */ mr r26, r6 -/* 80291F5C 48 00 0B 99 */ bl isMute__8JASTrackCFv -/* 80291F60 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80291F64 41 82 00 0C */ beq lbl_80291F70 -/* 80291F68 38 60 00 00 */ li r3, 0 -/* 80291F6C 48 00 00 84 */ b lbl_80291FF0 -lbl_80291F70: -/* 80291F70 3B 80 00 01 */ li r28, 1 -/* 80291F74 7E E3 BB 78 */ mr r3, r23 -/* 80291F78 48 00 0B 2D */ bl getTransposeTotal__8JASTrackCFv -/* 80291F7C 7F 39 1A 14 */ add r25, r25, r3 -/* 80291F80 3B 60 00 00 */ li r27, 0 -/* 80291F84 3B E0 00 00 */ li r31, 0 -/* 80291F88 57 1E 10 3A */ slwi r30, r24, 2 -/* 80291F8C 48 00 00 54 */ b lbl_80291FE0 -lbl_80291F90: -/* 80291F90 3B BF 01 70 */ addi r29, r31, 0x170 -/* 80291F94 7C 77 E8 2E */ lwzx r3, r23, r29 -/* 80291F98 28 03 00 00 */ cmplwi r3, 0 -/* 80291F9C 41 82 00 3C */ beq lbl_80291FD8 -/* 80291FA0 7F 04 C3 78 */ mr r4, r24 -/* 80291FA4 38 A0 00 00 */ li r5, 0 -/* 80291FA8 48 00 12 79 */ bl noteOff__Q28JASTrack11TChannelMgrFUlUs -/* 80291FAC 7E E3 BB 78 */ mr r3, r23 -/* 80291FB0 7C 97 E8 2E */ lwzx r4, r23, r29 -/* 80291FB4 7F 25 CB 78 */ mr r5, r25 -/* 80291FB8 7F 46 D3 78 */ mr r6, r26 -/* 80291FBC 38 E0 00 00 */ li r7, 0 -/* 80291FC0 4B FF FE 39 */ bl channelStart__8JASTrackFPQ28JASTrack11TChannelMgrUlUlUl -/* 80291FC4 28 03 00 00 */ cmplwi r3, 0 -/* 80291FC8 40 82 00 08 */ bne lbl_80291FD0 -/* 80291FCC 3B 80 00 00 */ li r28, 0 -lbl_80291FD0: -/* 80291FD0 7C 17 E8 2E */ lwzx r0, r23, r29 -/* 80291FD4 7C 7E 01 2E */ stwx r3, r30, r0 -lbl_80291FD8: -/* 80291FD8 3B 7B 00 01 */ addi r27, r27, 1 -/* 80291FDC 3B FF 00 04 */ addi r31, r31, 4 -lbl_80291FE0: -/* 80291FE0 80 17 01 D0 */ lwz r0, 0x1d0(r23) -/* 80291FE4 7C 1B 00 40 */ cmplw r27, r0 -/* 80291FE8 41 80 FF A8 */ blt lbl_80291F90 -/* 80291FEC 7F 83 E3 78 */ mr r3, r28 -lbl_80291FF0: -/* 80291FF0 39 61 00 30 */ addi r11, r1, 0x30 -/* 80291FF4 48 0D 02 1D */ bl _restgpr_23 -/* 80291FF8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80291FFC 7C 08 03 A6 */ mtlr r0 -/* 80292000 38 21 00 30 */ addi r1, r1, 0x30 -/* 80292004 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUAudioMgr/__defctor__7JASHeapFv.s b/asm/JSystem/JAudio2/JAUAudioMgr/__defctor__7JASHeapFv.s deleted file mode 100644 index 45e1189025d..00000000000 --- a/asm/JSystem/JAudio2/JAUAudioMgr/__defctor__7JASHeapFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_802A4A5C: -/* 802A4A5C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A4A60 7C 08 02 A6 */ mflr r0 -/* 802A4A64 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A4A68 38 80 00 00 */ li r4, 0 -/* 802A4A6C 4B FE B6 D5 */ bl __ct__7JASHeapFP11JASDisposer -/* 802A4A70 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A4A74 7C 08 03 A6 */ mtlr r0 -/* 802A4A78 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A4A7C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUClusterSound/__ct__14JAISoundHandleFv.s b/asm/JSystem/JAudio2/JAUClusterSound/__ct__14JAISoundHandleFv.s deleted file mode 100644 index af2224e5aa4..00000000000 --- a/asm/JSystem/JAudio2/JAUClusterSound/__ct__14JAISoundHandleFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_802A4AC4: -/* 802A4AC4 38 00 00 00 */ li r0, 0 -/* 802A4AC8 90 03 00 00 */ stw r0, 0(r3) -/* 802A4ACC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAUSectionHeap/newStaticSeqData__10JAUSectionF10JAISoundID.s b/asm/JSystem/JAudio2/JAUSectionHeap/newStaticSeqData__10JAUSectionF10JAISoundID.s deleted file mode 100644 index e73ee53f073..00000000000 --- a/asm/JSystem/JAudio2/JAUSectionHeap/newStaticSeqData__10JAUSectionF10JAISoundID.s +++ /dev/null @@ -1,52 +0,0 @@ -lbl_802A5730: -/* 802A5730 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802A5734 7C 08 02 A6 */ mflr r0 -/* 802A5738 90 01 00 34 */ stw r0, 0x34(r1) -/* 802A573C 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A5740 48 0B CA 9D */ bl _savegpr_29 -/* 802A5744 7C 7D 1B 78 */ mr r29, r3 -/* 802A5748 7C 9E 23 78 */ mr r30, r4 -/* 802A574C 83 E3 00 5C */ lwz r31, 0x5c(r3) -/* 802A5750 80 6D 85 D0 */ lwz r3, __OSReport_disable-0x48(r13) -/* 802A5754 28 03 00 00 */ cmplwi r3, 0 -/* 802A5758 40 82 00 0C */ bne lbl_802A5764 -/* 802A575C 38 60 00 00 */ li r3, 0 -/* 802A5760 48 00 00 78 */ b lbl_802A57D8 -lbl_802A5764: -/* 802A5764 80 1E 00 00 */ lwz r0, 0(r30) -/* 802A5768 90 01 00 10 */ stw r0, 0x10(r1) -/* 802A576C 38 81 00 10 */ addi r4, r1, 0x10 -/* 802A5770 81 83 00 00 */ lwz r12, 0(r3) -/* 802A5774 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 802A5778 7D 89 03 A6 */ mtctr r12 -/* 802A577C 4E 80 04 21 */ bctrl -/* 802A5780 7C 64 1B 78 */ mr r4, r3 -/* 802A5784 7F E3 FB 78 */ mr r3, r31 -/* 802A5788 4B FE B4 49 */ bl getResSize__15JASResArcLoaderFPC10JKRArchiveUs -/* 802A578C 7C 65 1B 78 */ mr r5, r3 -/* 802A5790 38 00 FF FF */ li r0, -1 -/* 802A5794 90 01 00 0C */ stw r0, 0xc(r1) -/* 802A5798 7F A3 EB 78 */ mr r3, r29 -/* 802A579C 38 81 00 0C */ addi r4, r1, 0xc -/* 802A57A0 4B FF FD F9 */ bl newStaticSeqDataBlock___10JAUSectionF10JAISoundIDUl -/* 802A57A4 28 03 00 00 */ cmplwi r3, 0 -/* 802A57A8 41 82 00 2C */ beq lbl_802A57D4 -/* 802A57AC 80 1E 00 00 */ lwz r0, 0(r30) -/* 802A57B0 90 01 00 08 */ stw r0, 8(r1) -/* 802A57B4 38 7D 00 38 */ addi r3, r29, 0x38 -/* 802A57B8 38 81 00 08 */ addi r4, r1, 8 -/* 802A57BC 38 A0 00 01 */ li r5, 1 -/* 802A57C0 80 DD 00 30 */ lwz r6, 0x30(r29) -/* 802A57C4 80 C6 04 F8 */ lwz r6, 0x4f8(r6) -/* 802A57C8 48 00 14 51 */ bl loadDynamicSeq__23JAUDynamicSeqDataBlocksF10JAISoundIDbP14JAISeqDataUser -/* 802A57CC 38 60 00 01 */ li r3, 1 -/* 802A57D0 48 00 00 08 */ b lbl_802A57D8 -lbl_802A57D4: -/* 802A57D4 38 60 00 00 */ li r3, 0 -lbl_802A57D8: -/* 802A57D8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802A57DC 48 0B CA 4D */ bl _restgpr_29 -/* 802A57E0 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802A57E4 7C 08 03 A6 */ mtlr r0 -/* 802A57E8 38 21 00 30 */ addi r1, r1, 0x30 -/* 802A57EC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dsptask/DSPSendCommands2__FPUlUlPFUs_v.s b/asm/JSystem/JAudio2/dsptask/DSPSendCommands2__FPUlUlPFUs_v.s deleted file mode 100644 index a031e963a6a..00000000000 --- a/asm/JSystem/JAudio2/dsptask/DSPSendCommands2__FPUlUlPFUs_v.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_8029E7E0: -/* 8029E7E0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029E7E4 7C 08 02 A6 */ mflr r0 -/* 8029E7E8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8029E7EC 39 61 00 20 */ addi r11, r1, 0x20 -/* 8029E7F0 48 0C 39 E1 */ bl _savegpr_26 -/* 8029E7F4 7C 7A 1B 78 */ mr r26, r3 -/* 8029E7F8 7C 9B 23 78 */ mr r27, r4 -/* 8029E7FC 7C BE 2B 78 */ mr r30, r5 -lbl_8029E800: -/* 8029E800 48 00 07 81 */ bl Dsp_Running_Check__Fv -/* 8029E804 2C 03 00 00 */ cmpwi r3, 0 -/* 8029E808 41 82 FF F8 */ beq lbl_8029E800 -/* 8029E80C 48 09 EE E9 */ bl OSDisableInterrupts -/* 8029E810 7C 7D 1B 78 */ mr r29, r3 -/* 8029E814 48 0B 3C 1D */ bl DSPCheckMailToDSP -/* 8029E818 28 03 00 00 */ cmplwi r3, 0 -/* 8029E81C 41 82 00 14 */ beq lbl_8029E830 -/* 8029E820 7F A3 EB 78 */ mr r3, r29 -/* 8029E824 48 09 EE F9 */ bl OSRestoreInterrupts -/* 8029E828 38 60 FF FF */ li r3, -1 -/* 8029E82C 48 00 00 84 */ b lbl_8029E8B0 -lbl_8029E830: -/* 8029E830 7F 63 DB 78 */ mr r3, r27 -/* 8029E834 48 0B 3C 35 */ bl DSPSendMailToDSP -/* 8029E838 48 0B 3C 45 */ bl DSPAssertInt -/* 8029E83C 60 00 00 00 */ nop -lbl_8029E840: -/* 8029E840 48 0B 3B F1 */ bl DSPCheckMailToDSP -/* 8029E844 28 03 00 00 */ cmplwi r3, 0 -/* 8029E848 40 82 FF F8 */ bne lbl_8029E840 -/* 8029E84C 28 1B 00 00 */ cmplwi r27, 0 -/* 8029E850 40 82 00 08 */ bne lbl_8029E858 -/* 8029E854 3B 60 00 01 */ li r27, 1 -lbl_8029E858: -/* 8029E858 28 1E 00 00 */ cmplwi r30, 0 -/* 8029E85C 41 82 00 14 */ beq lbl_8029E870 -/* 8029E860 80 7A 00 00 */ lwz r3, 0(r26) -/* 8029E864 7F C4 F3 78 */ mr r4, r30 -/* 8029E868 48 00 00 B9 */ bl DspStartWork__FUlPFUs_v -/* 8029E86C 7C 7C 1B 78 */ mr r28, r3 -lbl_8029E870: -/* 8029E870 3B C0 00 00 */ li r30, 0 -/* 8029E874 3B E0 00 00 */ li r31, 0 -/* 8029E878 48 00 00 24 */ b lbl_8029E89C -lbl_8029E87C: -/* 8029E87C 7C 7A F8 2E */ lwzx r3, r26, r31 -/* 8029E880 48 0B 3B E9 */ bl DSPSendMailToDSP -/* 8029E884 60 00 00 00 */ nop -lbl_8029E888: -/* 8029E888 48 0B 3B A9 */ bl DSPCheckMailToDSP -/* 8029E88C 28 03 00 00 */ cmplwi r3, 0 -/* 8029E890 40 82 FF F8 */ bne lbl_8029E888 -/* 8029E894 3B DE 00 01 */ addi r30, r30, 1 -/* 8029E898 3B FF 00 04 */ addi r31, r31, 4 -lbl_8029E89C: -/* 8029E89C 7C 1E D8 40 */ cmplw r30, r27 -/* 8029E8A0 41 80 FF DC */ blt lbl_8029E87C -/* 8029E8A4 7F A3 EB 78 */ mr r3, r29 -/* 8029E8A8 48 09 EE 75 */ bl OSRestoreInterrupts -/* 8029E8AC 7F 83 E3 78 */ mr r3, r28 -lbl_8029E8B0: -/* 8029E8B0 39 61 00 20 */ addi r11, r1, 0x20 -/* 8029E8B4 48 0C 39 69 */ bl _restgpr_26 -/* 8029E8B8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8029E8BC 7C 08 03 A6 */ mtlr r0 -/* 8029E8C0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029E8C4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dsptask/DspHandShake__FPv.s b/asm/JSystem/JAudio2/dsptask/DspHandShake__FPv.s deleted file mode 100644 index 0f88c797003..00000000000 --- a/asm/JSystem/JAudio2/dsptask/DspHandShake__FPv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_8029E6E0: -/* 8029E6E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029E6E4 7C 08 02 A6 */ mflr r0 -/* 8029E6E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029E6EC 60 00 00 00 */ nop -lbl_8029E6F0: -/* 8029E6F0 48 0B 3D 51 */ bl DSPCheckMailFromDSP -/* 8029E6F4 28 03 00 00 */ cmplwi r3, 0 -/* 8029E6F8 41 82 FF F8 */ beq lbl_8029E6F0 -/* 8029E6FC 48 0B 3D 55 */ bl DSPReadMailFromDSP -/* 8029E700 48 0B 3D 41 */ bl DSPCheckMailFromDSP -/* 8029E704 48 00 08 9D */ bl Dsp_Running_Start__Fv -/* 8029E708 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029E70C 7C 08 03 A6 */ mtlr r0 -/* 8029E710 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029E714 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s b/asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s deleted file mode 100644 index bea446faf1e..00000000000 --- a/asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8029E8E0: -/* 8029E8E0 38 60 00 00 */ li r3, 0 -/* 8029E8E4 3C 80 80 43 */ lis r4, taskwork@ha /* 0x80433FE0@ha */ -/* 8029E8E8 38 00 00 10 */ li r0, 0x10 -/* 8029E8EC 7C 66 1B 78 */ mr r6, r3 -/* 8029E8F0 38 A4 3F E0 */ addi r5, r4, taskwork@l /* 0x80433FE0@l */ -/* 8029E8F4 7C 09 03 A6 */ mtctr r0 -lbl_8029E8F8: -/* 8029E8F8 7C 85 1A 14 */ add r4, r5, r3 -/* 8029E8FC 38 63 00 08 */ addi r3, r3, 8 -/* 8029E900 90 C4 00 04 */ stw r6, 4(r4) -/* 8029E904 42 00 FF F4 */ bdnz lbl_8029E8F8 -/* 8029E908 4E 80 00 20 */ blr diff --git a/include/JSystem/JAudio2/JAISeq.h b/include/JSystem/JAudio2/JAISeq.h index 9d295b83809..ca0a351fe97 100644 --- a/include/JSystem/JAudio2/JAISeq.h +++ b/include/JSystem/JAudio2/JAISeq.h @@ -9,7 +9,7 @@ class JAISeqMgr; class JAISoundChild; -class JAISeq : public JAISound, JSULink { +class JAISeq : public JASPoolAllocObject, public JAISound, public JSULink { public: class TInner { public: @@ -47,6 +47,8 @@ public: /* 802A1348 */ void mixOut_(JASSoundParams const&, JAISoundActivity); /* 802A14FC */ void JAISeqMgr_mixOut_(JASSoundParams const&, JAISoundActivity); + JAISeqData& getSeqData() { return inner_.mSeqData; } + /* 0x0a8 */ TInner inner_; /* 0x3A8 */ JAISoundStrategyMgr__unknown* field_0x3a8; }; diff --git a/include/JSystem/JAudio2/JAISeqMgr.h b/include/JSystem/JAudio2/JAISeqMgr.h index ca3ee1f8e7c..05018ba03ae 100644 --- a/include/JSystem/JAudio2/JAISeqMgr.h +++ b/include/JSystem/JAudio2/JAISeqMgr.h @@ -9,8 +9,12 @@ struct JAIAudience; class JAISeq; -class JAISeqMgr : public JAISeqDataUser, public JASGlobalInstance { +class JAISeqMgr : public JASGlobalInstance, public JAISeqDataUser { public: + enum ReleaseSeqResult { + RELEASE_SEQ_1 = 1, + RELEASE_SEQ_2 = 2, + }; /* 802A1914 */ JAISeqMgr(bool); /* 802A1A08 */ void freeDeadSeq_(); /* 802A1B48 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); @@ -19,8 +23,8 @@ public: /* 802A1E3C */ void stop(u32); /* 802A1E8C */ void stopSoundID(JAISoundID); /* 802A1EFC */ void mixOut(); - /* 802A1F58 */ void beginStartSeq_(); - /* 802A1FE8 */ void endStartSeq_(JAISeq*, JAISoundHandle*); + /* 802A1F58 */ JAISeq* beginStartSeq_(); + /* 802A1FE8 */ bool endStartSeq_(JAISeq*, JAISoundHandle*); /* 802A20F0 */ virtual ~JAISeqMgr(); // inline? /* 802A1804 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); @@ -50,7 +54,7 @@ private: /* 0x04 */ JAISoundActivity mActivity; /* 0x08 */ JAIAudience* mAudience; /* 0x0C */ JAISeqDataMgr* seqDataMgr_; - /* 0x10 */ void* field_0x10; + /* 0x10 */ JAISoundStrategyMgr* field_0x10; /* 0x14 */ JAISoundParamsMove mMove; /* 0x64 */ JSUList mSeqList; /* 0x70 */ int field_0x70; diff --git a/include/JSystem/JAudio2/JAISound.h b/include/JSystem/JAudio2/JAISound.h index 5b34ebe1fdf..fd35e583de6 100644 --- a/include/JSystem/JAudio2/JAISound.h +++ b/include/JSystem/JAudio2/JAISound.h @@ -47,7 +47,7 @@ struct JAISoundStatus_ { user_data = 0; } - bool isAlive(); // used in assert + bool isAlive() { return state.unk != 6; } bool isDead() { return state.unk == 6;} inline bool isPlaying() { return state.unk == 5; } @@ -138,14 +138,14 @@ struct JAISoundFader { template struct JAISoundStrategyMgr__unknown { virtual void virtual2(); - virtual void virtual3(A0*); + virtual void calc(A0*); virtual void virtual4(A0*, const JASSoundParams&); }; template struct JAISoundStrategyMgr { virtual void virtual2(); - virtual JAISoundStrategyMgr__unknown* virtual3(JAISoundID); + virtual JAISoundStrategyMgr__unknown* calc(JAISoundID); virtual void virtual4(JAISoundStrategyMgr__unknown*); }; /* JAISoundStrategyMgr */ diff --git a/include/JSystem/JAudio2/JAISoundStarter.h b/include/JSystem/JAudio2/JAISoundStarter.h index beb8e92b7fc..726812f065c 100644 --- a/include/JSystem/JAudio2/JAISoundStarter.h +++ b/include/JSystem/JAudio2/JAISoundStarter.h @@ -8,6 +8,7 @@ struct JAISoundStarter : public JASGlobalInstance { /* 802A2F6C */ JAISoundStarter(bool); virtual ~JAISoundStarter(); + virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*) = 0; /* 802A2FEC */ bool startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); }; diff --git a/include/JSystem/JAudio2/JAIStream.h b/include/JSystem/JAudio2/JAIStream.h index 59a8f632329..90b3a3e18e8 100644 --- a/include/JSystem/JAudio2/JAIStream.h +++ b/include/JSystem/JAudio2/JAIStream.h @@ -3,11 +3,12 @@ #include "JSystem/JAudio2/JAISound.h" #include "JSystem/JAudio2/JASAramStream.h" +#include "JSystem/JAudio2/JASHeapCtrl.h" #include "JSystem/JSupport/JSUList.h" class JAIStreamMgr; -class JAIStream : public JAISound, JSULink { +class JAIStream : public JASPoolAllocObject, public JAISound, public JSULink { public: struct TInner { JASAramStream field_0x0; @@ -16,7 +17,7 @@ public: /* 802A3104 */ JAIStream(JAIStreamMgr*, JAISoundStrategyMgr*); /* 802A319C */ void JAIStreamMgr_startID_(JAISoundID, s32, JGeometry::TVec3 const*, JAIAudience*, int); - /* 802A3230 */ void prepare_prepareStream_(); + /* 802A3230 */ bool prepare_prepareStream_(); /* 802A33F4 */ void prepare_(); /* 802A3498 */ void prepare_startStream_(); /* 802A34E4 */ void JAIStreamMgr_mixOut_(JASSoundParams const&, JAISoundActivity); @@ -31,16 +32,18 @@ public: /* 802A3ACC */ JAIStream* asStream(); /* 802A3AD0 */ JAITempoMgr* getTempoMgr(); + void* JAIStreamMgr_getAramAddr_() { return field_0x29c; } + /* 0x0A8 */ TInner field_0x0a8; /* 0x290 */ int field_0x290; /* 0x294 */ s32 field_0x294; /* 0x298 */ int field_0x298; - /* 0x29C */ int field_0x29c; + /* 0x29C */ void* field_0x29c; /* 0x2A0 */ JAISoundChild* field_0x2a0[6]; /* 0x2B8 */ JAIStreamMgr* field_0x2b8; - /* 0x2BC */ int field_0x2bc; + /* 0x2BC */ JAISoundStrategyMgr__unknown* field_0x2bc; /* 0x2C0 */ JAISoundStrategyMgr* field_0x2c0; - /* 0x2C4 */ u8 field_0x2C4; + /* 0x2C4 */ u8 field_0x2c4; /* 0x2C5 */ u8 field_0x2c5; /* 0x2C6 */ u8 field_0x2c6; }; diff --git a/include/JSystem/JAudio2/JAIStreamMgr.h b/include/JSystem/JAudio2/JAIStreamMgr.h index 6d498da9ba2..58dc24b494a 100644 --- a/include/JSystem/JAudio2/JAIStreamMgr.h +++ b/include/JSystem/JAudio2/JAIStreamMgr.h @@ -20,13 +20,14 @@ public: /* 802A4068 */ void stop(u32); /* 802A40B8 */ void stopSoundID(JAISoundID); /* 802A4118 */ void mixOut(); - /* 802A4174 */ void newStream_(); + /* 802A4174 */ JAIStream* newStream_(); /* 802B9978 */ bool isActive() const; JAISoundParamsMove* getParams() { return &mParams; } + JAIStreamAramMgr* getStreamAramMgr() { return mStreamAramMgr; } void setStreamDataMgr(JAIStreamDataMgr* param_0) { JUT_ASSERT(139, !isActive()); - mStreamDataMgr = param_0; + streamDataMgr_ = param_0; } void setStreamAramMgr(JAIStreamAramMgr* param_0) { JUT_ASSERT(157, !isActive()); @@ -37,11 +38,11 @@ public: private: /* 0x00 */ JAISoundActivity mActivity; /* 0x04 */ JAISoundParamsMove mParams; - /* 0x54 */ int field_0x54; + /* 0x54 */ JAIAudience* field_0x54; /* 0x58 */ JSUList mStreamList; - /* 0x64 */ JAIStreamDataMgr * mStreamDataMgr; + /* 0x64 */ JAIStreamDataMgr* streamDataMgr_; /* 0x68 */ JAIStreamAramMgr* mStreamAramMgr; - /* 0x6C */ int field_0x6c; + /* 0x6C */ JAISoundStrategyMgr* field_0x6c; }; // Size: 0x70 #endif /* JAISTREAMMGR_H */ diff --git a/include/JSystem/JAudio2/JASAramStream.h b/include/JSystem/JAudio2/JASAramStream.h index 4ae68cfe080..e01294c1c5c 100644 --- a/include/JSystem/JAudio2/JASAramStream.h +++ b/include/JSystem/JAudio2/JASAramStream.h @@ -2,6 +2,7 @@ #define JASARAMSTREAM_H #include "dolphin/os/OSMessage.h" +#include "JSystem/JUtility/JUTAssert.h" class JASChannel; @@ -9,13 +10,15 @@ namespace JASDsp { class TChannel; } +#define CHANNEL_MAX 6 + class JASAramStream { public: /* 8029631C */ static void initSystem(u32, u32); /* 802963A8 */ JASAramStream(); /* 8029649C */ void init(u32, u32, void (*)(u32, JASAramStream*, void*), void*); - /* 8029655C */ void prepare(s32, int); - /* 80296618 */ void start(); + /* 8029655C */ bool prepare(s32, int); + /* 80296618 */ bool start(); /* 8029664C */ void stop(u16); /* 80296684 */ void pause(bool); /* 802966CC */ void cancel(); @@ -35,6 +38,51 @@ public: /* 80297658 */ void channelStart(); /* 80297870 */ void channelStop(u16); + void setPitch(f32 pitch) { field_0x178 = pitch; } + void setVolume(f32 volume) { + for (int i = 0; i < 6; i++) { + mChannelVolume[i] = volume; + } + } + + void setPan(f32 pan) { + for (int i = 0; i < 6; i++) { + mChannelPan[i] = pan; + } + } + + void setFxmix(f32 fxMix) { + for (int i = 0; i < 6; i++) { + mchannelFxMix[i] = fxMix; + } + } + + void setDolby(f32 dolby) { + for (int i = 0; i < 6; i++) { + mChannelDolby[i] = dolby; + } + } + + void setChannelVolume(int channel, f32 volume) { + JUT_ASSERT(290, channel < CHANNEL_MAX); + mChannelVolume[channel] = volume; + } + + void setChannelPan(int channel, f32 pan) { + JUT_ASSERT(296, channel < CHANNEL_MAX); + mChannelPan[channel] = pan; + } + + void setChannelFxmix(int channel, f32 fxMix) { + JUT_ASSERT(302, channel < CHANNEL_MAX); + mchannelFxMix[channel] = fxMix; + } + + void setChannelDolby(int channel, f32 dolby) { + JUT_ASSERT(308, channel < CHANNEL_MAX); + mChannelDolby[channel] = dolby; + } + /* 0x000 */ OSMessageQueue field_0x000; /* 0x020 */ OSMessageQueue field_0x020; /* 0x040 */ void* field_0x040[16]; @@ -66,8 +114,8 @@ public: /* 0x128 */ short field_0x128; /* 0x12A */ u8 field_0x12A[0x12C - 0x12A]; /* 0x12C */ int field_0x12c; - /* 0x130 */ short field_0x130[6]; - /* 0x13C */ short field_0x13c[6]; + /* 0x130 */ short field_0x130[CHANNEL_MAX]; + /* 0x13C */ short field_0x13c[CHANNEL_MAX]; /* 0x148 */ int field_0x148; /* 0x14C */ int field_0x14c; /* 0x150 */ void* field_0x150; @@ -83,11 +131,11 @@ public: /* 0x170 */ int field_0x170; /* 0x174 */ f32 field_0x174; /* 0x178 */ f32 field_0x178; - /* 0x17C */ float field_0x17c[6]; - /* 0x194 */ float field_0x194[6]; - /* 0x1AC */ float field_0x1ac[6]; - /* 0x1C4 */ float field_0x1c4[6]; - /* 0x1DC */ short field_0x1dc[6]; + /* 0x17C */ float mChannelVolume[CHANNEL_MAX]; + /* 0x194 */ float mChannelPan[CHANNEL_MAX]; + /* 0x1AC */ float mchannelFxMix[CHANNEL_MAX]; + /* 0x1C4 */ float mChannelDolby[CHANNEL_MAX]; + /* 0x1DC */ short field_0x1dc[CHANNEL_MAX]; u32 getBlockSize() { return sBlockSize; } diff --git a/include/JSystem/JAudio2/JASBankTable.h b/include/JSystem/JAudio2/JASBankTable.h index bdcaf4ec5d5..a0fce283d24 100644 --- a/include/JSystem/JAudio2/JASBankTable.h +++ b/include/JSystem/JAudio2/JASBankTable.h @@ -20,4 +20,4 @@ public: JASDefaultBankTable() : JASGlobalInstance(true) {} }; -#endif /* JASBANKLIST_H */ \ No newline at end of file +#endif /* JASBANKTABLE_H */ \ No newline at end of file diff --git a/include/JSystem/JAudio2/JASHeapCtrl.h b/include/JSystem/JAudio2/JASHeapCtrl.h index 4edbe1e271c..04cf1ee8f28 100644 --- a/include/JSystem/JAudio2/JASHeapCtrl.h +++ b/include/JSystem/JAudio2/JASHeapCtrl.h @@ -214,6 +214,9 @@ public: JASMemPool* memPool = getMemPool(); return memPool->alloc(sizeof(T)); } + static void* operator new(size_t n, void* ptr) { + return ptr; + } static void operator delete(void* ptr, size_t n) { JASMemPool* memPool_ = getMemPool(); memPool_->free(ptr, sizeof(T)); @@ -256,6 +259,9 @@ public: JASMemPool_MultiThreaded* memPool_ = getMemPool(); return memPool_->alloc(sizeof(T)); } + static void* operator new(size_t n, void* ptr) { + return ptr; + } static void operator delete(void* ptr, size_t n) { JASMemPool_MultiThreaded* memPool_ = getMemPool(); memPool_->free(ptr, sizeof(T)); diff --git a/include/JSystem/JAudio2/osdsp.h b/include/JSystem/JAudio2/osdsp.h index 003707ba5ad..a7aefab3c89 100644 --- a/include/JSystem/JAudio2/osdsp.h +++ b/include/JSystem/JAudio2/osdsp.h @@ -1,9 +1,11 @@ #ifndef OSDSP_H #define OSDSP_H +#include "dolphin/dsp.h" -struct DSPTaskInfo; -struct STRUCT_DSP_TASK; +struct STRUCT_DSP_TASK { + /* 0x00 */ DSPTaskInfo info; +}; extern "C" DSPTaskInfo* DSPAddTask(DSPTaskInfo*); void DSPAddPriorTask(STRUCT_DSP_TASK*); diff --git a/libs/JSystem/JAudio2/JAISe.cpp b/libs/JSystem/JAudio2/JAISe.cpp index 8c370a526c4..b344dee402c 100644 --- a/libs/JSystem/JAudio2/JAISe.cpp +++ b/libs/JSystem/JAudio2/JAISe.cpp @@ -126,7 +126,7 @@ void JAISe::JAISeCategoryMgr_calc_() { if (calc_JAISound_()) { inner_.mTempoMgr.calc(); if (inner_.field_0x278) { - inner_.field_0x278->virtual3(this); + inner_.field_0x278->calc(this); } } if (isStopping() || mPriority == -1) { @@ -159,7 +159,7 @@ void JAISe::JAISeMgr_startID_(JAISoundID param_0, JGeometry::TVec3 const* p start_JAISound_(param_0, param_1, param_2); inner_.field_0x26c = 0; if (inner_.mSoundStrategyMgr) { - inner_.field_0x278 = inner_.mSoundStrategyMgr->virtual3(param_0); + inner_.field_0x278 = inner_.mSoundStrategyMgr->calc(param_0); } else { inner_.field_0x278 = NULL; } diff --git a/libs/JSystem/JAudio2/JAISeq.cpp b/libs/JSystem/JAudio2/JAISeq.cpp index 6478f4b81c6..d00b503c66e 100644 --- a/libs/JSystem/JAudio2/JAISeq.cpp +++ b/libs/JSystem/JAudio2/JAISeq.cpp @@ -161,7 +161,7 @@ void JAISeq::JAISeqMgr_startID_(JAISoundID param_0, JGeometry::TVec3 const* reserveChildTracks_(param_4); start_JAISound_(param_0, param_1, param_2); if (inner_.strategyMgr) { - field_0x3a8 = inner_.strategyMgr->virtual3(param_0); + field_0x3a8 = inner_.strategyMgr->calc(param_0); } else { field_0x3a8 = NULL; } @@ -301,7 +301,7 @@ void JAISeq::JAISeqMgr_calc_() { } } if (field_0x3a8) { - field_0x3a8->virtual3(this); + field_0x3a8->calc(this); } } } diff --git a/libs/JSystem/JAudio2/JAISeqMgr.cpp b/libs/JSystem/JAudio2/JAISeqMgr.cpp index 36a55fb907a..89a1afa7709 100644 --- a/libs/JSystem/JAudio2/JAISeqMgr.cpp +++ b/libs/JSystem/JAudio2/JAISeqMgr.cpp @@ -4,34 +4,12 @@ // #include "JSystem/JAudio2/JAISeqMgr.h" +#include "JSystem/JAudio2/JAISeq.h" +#include "JSystem/JAudio2/JASHeapCtrl.h" +#include "JSystem/JAudio2/JAISoundHandles.h" +#include "JSystem/JAudio2/JAISoundInfo.h" #include "dol2asm.h" -// -// Types: -// - -template -struct JASMemPool {}; -/* JASMemPool */ -struct JASMemPool__template2 { - /* 802A1AF4 */ void func_802A1AF4(void* _this); -}; - -struct JASGenericMemPool { - /* 80290848 */ JASGenericMemPool(); - /* 80290860 */ ~JASGenericMemPool(); - /* 80290948 */ void alloc(u32); - /* 80290994 */ void free(void*, u32); -}; - -struct JAISeq { - /* 802A0A8C */ JAISeq(JAISeqMgr*, JAISoundStrategyMgr*); - /* 802A0B64 */ void JAISeqMgr_startID_(JAISoundID, JGeometry::TVec3 const*, JAIAudience*, - int, int); - /* 802A108C */ void JAISeqMgr_calc_(); - /* 802A14FC */ void JAISeqMgr_mixOut_(JASSoundParams const&, JAISoundActivity); -}; - // // Forward References: // @@ -91,25 +69,35 @@ extern "C" extern u8 __OSReport_disable; /* 802A1804-802A1870 29C144 006C+00 1/0 0/0 0/0 .text * isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAISeqMgr::isUsingSeqData(JAISeqDataRegion const& param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/isUsingSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s" +bool JAISeqMgr::isUsingSeqData(JAISeqDataRegion const& param_1) { + for (JSULink* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) { + if (param_1.intersects(link->getObject()->getSeqData())) { + return true; + } + } + return false; } -#pragma pop + + /* 802A1870-802A1914 29C1B0 00A4+00 1/0 0/0 0/0 .text * releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int JAISeqMgr::releaseSeqData(JAISeqDataRegion const& param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/releaseSeqData__9JAISeqMgrFRC16JAISeqDataRegion.s" +int JAISeqMgr::releaseSeqData(JAISeqDataRegion const& param_1) { + bool bVar1 = false; + for (JSULink* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) { + if (param_1.intersects(link->getObject()->getSeqData())) { + link->getObject()->stop(); + bVar1 = true; + } + } + ReleaseSeqResult uVar4; + if (!bVar1) { + uVar4 = RELEASE_SEQ_2; + } else { + uVar4 = RELEASE_SEQ_1; + } + return uVar4; } -#pragma pop /* ############################################################################################## */ /* 803C9958-803C9970 026A78 0014+04 2/2 1/1 0/0 .data __vt__9JAISeqMgr */ @@ -142,14 +130,13 @@ SECTION_SDATA2 static f32 lit_693[1 + 1 /* padding */] = { }; /* 802A1914-802A1A08 29C254 00F4+00 0/0 1/1 0/0 .text __ct__9JAISeqMgrFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISeqMgr::JAISeqMgr(bool param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/__ct__9JAISeqMgrFb.s" +JAISeqMgr::JAISeqMgr(bool param_1) : JASGlobalInstance(param_1), mAudience(NULL) { + seqDataMgr_ = NULL; + field_0x10 = NULL; + field_0x70 = 16; + mMove.init(); + mActivity.init(); } -#pragma pop /* ############################################################################################## */ /* 804340C0-804340CC 060DE0 000C+00 3/3 0/0 0/0 .bss @715 */ @@ -161,6 +148,21 @@ extern u8 data_804340CC[16 + 4 /* padding */]; u8 data_804340CC[16 + 4 /* padding */]; /* 802A1A08-802A1AF4 29C348 00EC+00 1/1 0/0 0/0 .text freeDeadSeq___9JAISeqMgrFv */ +// Matches with all JASPoolAllocObject definitions and data_80451320 +#ifdef NONMATCHING +void JAISeqMgr::freeDeadSeq_() { + JSULink* link = mSeqList.getFirst(); + while (link != NULL) { + JAISeq* seq = link->getObject(); + JSULink* next = seq->getNext(); + if (seq->status_.isDead()) { + mSeqList.remove(link); + delete seq; + } + link = next; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -169,6 +171,7 @@ asm void JAISeqMgr::freeDeadSeq_() { #include "asm/JSystem/JAudio2/JAISeqMgr/freeDeadSeq___9JAISeqMgrFv.s" } #pragma pop +#endif /* 802A1AF4-802A1B48 29C434 0054+00 3/3 1/1 0/0 .text __dt__19JASMemPool<6JAISeq>Fv */ #pragma push @@ -182,86 +185,122 @@ extern "C" asm void func_802A1AF4(void* _this) { /* 802A1B48-802A1C90 29C488 0148+00 0/0 1/1 0/0 .text * startSound__9JAISeqMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAISeqMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1, - JGeometry::TVec3 const* param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/func_802A1B48.s" +bool JAISeqMgr::startSound(JAISoundID param_1, JAISoundHandle* param_2, + JGeometry::TVec3 const* param_3) { + if (param_2 != NULL && *param_2) { + (*param_2)->stop(); + } + JAISoundInfo* soundInfo = JASGlobalInstance::getInstance(); + int category = (soundInfo != NULL) ? soundInfo->getCategory(param_1) : -1; + JAISeqData aJStack_38(NULL, 0); + JUT_ASSERT(81, seqDataMgr_); + if (seqDataMgr_->getSeqData(param_1, &aJStack_38) == JAISeqDataMgr::SeqDataReturnValue_0) { + return false; + } + JAISeq* jaiSeq = beginStartSeq_(); + if (jaiSeq != NULL) { + jaiSeq->JAISeqMgr_startID_(param_1, param_3, mAudience, category, field_0x70); + if (endStartSeq_(jaiSeq, param_2) != 0) { + if (soundInfo != NULL) { + soundInfo->getSeqInfo(param_1, jaiSeq); + } + return true; + } + } + + return false; } -#pragma pop /* 802A1C90-802A1DFC 29C5D0 016C+00 0/0 4/4 0/0 .text calc__9JAISeqMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISeqMgr::calc() { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/calc__9JAISeqMgrFv.s" +void JAISeqMgr::calc() { + mMove.calc(); + for (JSULink* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->JAISeqMgr_calc_(); + } + freeDeadSeq_(); } -#pragma pop /* 802A1DFC-802A1E3C 29C73C 0040+00 0/0 1/1 0/0 .text stop__9JAISeqMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISeqMgr::stop() { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFv.s" +void JAISeqMgr::stop() { + for (JSULink* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->stop(); + } } -#pragma pop /* 802A1E3C-802A1E8C 29C77C 0050+00 0/0 1/1 0/0 .text stop__9JAISeqMgrFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISeqMgr::stop(u32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/stop__9JAISeqMgrFUl.s" +void JAISeqMgr::stop(u32 param_0) { + for (JSULink* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->stop(param_0); + } } -#pragma pop /* 802A1E8C-802A1EFC 29C7CC 0070+00 0/0 1/1 0/0 .text stopSoundID__9JAISeqMgrF10JAISoundID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISeqMgr::stopSoundID(JAISoundID param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/stopSoundID__9JAISeqMgrF10JAISoundID.s" +void JAISeqMgr::stopSoundID(JAISoundID param_1) { + if (!param_1.isAnonymous()) { + for (JSULink* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) { + if ((u32)link->getObject()->getID() == (u32)param_1) { + link->getObject()->stop(); + } + } + } } -#pragma pop /* 802A1EFC-802A1F58 29C83C 005C+00 0/0 4/4 0/0 .text mixOut__9JAISeqMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISeqMgr::mixOut() { - nofralloc -#include "asm/JSystem/JAudio2/JAISeqMgr/mixOut__9JAISeqMgrFv.s" +void JAISeqMgr::mixOut() { + for (JSULink* link = mSeqList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->JAISeqMgr_mixOut_(mMove.mParams, mActivity); + } } -#pragma pop /* 802A1F58-802A1FE8 29C898 0090+00 1/1 0/0 0/0 .text beginStartSeq___9JAISeqMgrFv */ +// Matches with JASPoolAllocObject stuff +#ifdef NONMATCHING +JAISeq* JAISeqMgr::beginStartSeq_() { + JAISeq* seq = new JAISeq(this, field_0x10); + if (seq == NULL) { + JUT_WARN(273, "JASPoolAllocObject::::operator new failed .\n"); + } + return seq; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISeqMgr::beginStartSeq_() { +asm JAISeq* JAISeqMgr::beginStartSeq_() { nofralloc #include "asm/JSystem/JAudio2/JAISeqMgr/beginStartSeq___9JAISeqMgrFv.s" } #pragma pop +#endif /* 802A1FE8-802A20F0 29C928 0108+00 1/1 0/0 0/0 .text * endStartSeq___9JAISeqMgrFP6JAISeqP14JAISoundHandle */ +// Matches with JASPoolAllocObject stuff +#ifdef NONMATCHING +bool JAISeqMgr::endStartSeq_(JAISeq* param_1, JAISoundHandle* param_2) { + JAISeq* sound = param_1->getObject(); + if (sound != NULL) { + if (sound->status_.isAlive()) { + mSeqList.append(param_1); + if (param_2 != NULL) { + sound->attachHandle(param_2); + } + return true; + } + delete sound; + } + return false; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAISeqMgr::endStartSeq_(JAISeq* param_0, JAISoundHandle* param_1) { +asm bool JAISeqMgr::endStartSeq_(JAISeq* param_0, JAISoundHandle* param_1) { nofralloc #include "asm/JSystem/JAudio2/JAISeqMgr/endStartSeq___9JAISeqMgrFP6JAISeqP14JAISoundHandle.s" } #pragma pop +#endif /* 802A20F0-802A2184 29CA30 0094+00 1/0 0/0 0/0 .text __dt__9JAISeqMgrFv */ #pragma push diff --git a/libs/JSystem/JAudio2/JAISoundStarter.cpp b/libs/JSystem/JAudio2/JAISoundStarter.cpp index ff0ce36e8c8..073bac8c433 100644 --- a/libs/JSystem/JAudio2/JAISoundStarter.cpp +++ b/libs/JSystem/JAudio2/JAISoundStarter.cpp @@ -1,39 +1,11 @@ // -// Generated By: dol2asm -// Translation Unit: JAISoundStarter +// JAISoundStarter // #include "JSystem/JAudio2/JAISoundStarter.h" -#include "dol2asm.h" +#include "JSystem/JAudio2/JAISoundHandles.h" #include "dolphin/types.h" -// -// Forward References: -// - -extern "C" void __ct__15JAISoundStarterFb(); -extern "C" void __dt__15JAISoundStarterFv(); -extern "C" void func_802A2FEC(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C99C8-803C99D8 026AE8 0010+00 2/2 0/0 0/0 .data __vt__15JAISoundStarter */ -SECTION_DATA extern void* __vt__15JAISoundStarter[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15JAISoundStarterFv, - (void*)NULL, -}; - /* 802A2F6C-802A2F88 29D8AC 001C+00 0/0 1/1 0/0 .text __ct__15JAISoundStarterFb */ JAISoundStarter::JAISoundStarter(bool param_0) : JASGlobalInstance(param_0) { } @@ -44,8 +16,6 @@ JAISoundStarter::~JAISoundStarter() { /* 802A2FEC-802A30D4 29D92C 00E8+00 0/0 4/4 0/0 .text * startLevelSound__15JAISoundStarterF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3 */ -// This function is probably virtual but it causes vtable issues. -#ifdef NONMATCHING bool JAISoundStarter::startLevelSound(JAISoundID param_0, JAISoundHandle* param_1, JGeometry::TVec3 const* param_2) { if (*param_1) { @@ -58,20 +28,9 @@ bool JAISoundStarter::startLevelSound(JAISoundID param_0, JAISoundHandle* param_ } } - bool iVar2 = startLevelSound(param_0, param_1, param_2); + bool iVar2 = startSound(param_0, param_1, param_2); if ((iVar2) && *param_1) { (*param_1)->setLifeTime(1, false); } return iVar2; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAISoundStarter::startLevelSound(JAISoundID param_0, JAISoundHandle* param_1, - JGeometry::TVec3 const* param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundStarter/func_802A2FEC.s" -} -#pragma pop -#endif \ No newline at end of file diff --git a/libs/JSystem/JAudio2/JAIStream.cpp b/libs/JSystem/JAudio2/JAIStream.cpp index b70f89f2d22..f79efde35a5 100644 --- a/libs/JSystem/JAudio2/JAIStream.cpp +++ b/libs/JSystem/JAudio2/JAIStream.cpp @@ -4,27 +4,14 @@ // #include "JSystem/JAudio2/JAIStream.h" +#include "JSystem/JAudio2/JAIStreamMgr.h" +#include "JSystem/JAudio2/JASHeapCtrl.h" +#include "JSystem/JAudio2/JAIAudience.h" +#include "JSystem/JAudio2/JAISoundChild.h" +#include "JSystem/JAudio2/JAIStreamDataMgr.h" +#include "JSystem/JKernel/JKRHeap.h" #include "dol2asm.h" -// -// Types: -// - -struct JASGenericMemPool { - /* 80290848 */ JASGenericMemPool(); - /* 80290948 */ void alloc(u32); - /* 80290994 */ void free(void*, u32); -}; - -struct JAIStreamMgr {}; - -struct JAIAudience {}; - -struct JAISoundChild { - /* 802A2AB0 */ void init(); - /* 802A2B7C */ void calc(); -}; - // // Forward References: // @@ -81,93 +68,132 @@ extern "C" void _restgpr_29(); extern "C" extern u8 data_804340B0[16]; extern "C" extern u8 data_80451318[8]; -// -// Declarations: -// - /* 802A30D4-802A3104 29DA14 0030+00 1/1 0/0 0/0 .text * JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void JAIStream_JASAramStreamCallback_(u32 param_0, JASAramStream* param_1, - void* param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/JAIStream_JASAramStreamCallback___FUlP13JASAramStreamPv.s" +static void JAIStream_JASAramStreamCallback_(u32 param_1, JASAramStream* param_2, void* param_3) { + switch (param_1) { + case 1: + ((JAIStream*)(param_3))->field_0x2c5 = 1; + break; + case 0: + ((JAIStream*)(param_3))->field_0x2c6 = 1; + break; + } } -#pragma pop - -/* ############################################################################################## */ -/* 803C99D8-803C9A08 026AF8 0030+00 1/1 1/1 0/0 .data __vt__9JAIStream */ -SECTION_DATA extern void* __vt__9JAIStream[12] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)getNumChild__9JAIStreamCFv, - (void*)getChild__9JAIStreamFi, - (void*)releaseChild__9JAIStreamFi, - (void*)asSe__8JAISoundFv, - (void*)asSeq__8JAISoundFv, - (void*)asStream__9JAIStreamFv, - (void*)getTrack__9JAIStreamFv, - (void*)getChildTrack__9JAIStreamFi, - (void*)getTempoMgr__9JAIStreamFv, - (void*)JAISound_tryDie___9JAIStreamFv, -}; /* 802A3104-802A319C 29DA44 0098+00 0/0 1/1 0/0 .text * __ct__9JAIStreamFP12JAIStreamMgrP31JAISoundStrategyMgr<9JAIStream> */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAIStream::JAIStream(JAIStreamMgr* param_0, JAISoundStrategyMgr* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/func_802A3104.s" +JAIStream::JAIStream(JAIStreamMgr* param_1, JAISoundStrategyMgr* param_2) : JSULink(this) { + field_0x290 = 0; + field_0x2c0 = param_2; + field_0x2b8 = param_1; + field_0x29c = 0; + field_0x2c5 = 0; + field_0x2c6 = 0; + for (int i = 0; i < CHANNEL_MAX; i++) { + field_0x2a0[i] = NULL; + } } -#pragma pop /* 802A319C-802A3230 29DADC 0094+00 0/0 1/1 0/0 .text * JAIStreamMgr_startID___9JAIStreamF10JAISoundIDlPCQ29JGeometry8TVec3P11JAIAudiencei */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStream::JAIStreamMgr_startID_(JAISoundID param_0, s32 param_1, - JGeometry::TVec3 const* param_2, - JAIAudience* param_3, int param_4) { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/func_802A319C.s" +void JAIStream::JAIStreamMgr_startID_(JAISoundID param_1, s32 param_2, + JGeometry::TVec3 const* param_3, JAIAudience* param_4, + int param_5) { + field_0x298 = param_5; + field_0x294 = param_2; + start_JAISound_(param_1, param_3, param_4); + field_0x290 = 0; + if (field_0x2c0 != NULL) { + field_0x2bc = field_0x2c0->calc(param_1); + } else { + field_0x2bc = NULL; + } } -#pragma pop /* 802A3230-802A33F4 29DB70 01C4+00 1/1 0/0 0/0 .text prepare_prepareStream___9JAIStreamFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStream::prepare_prepareStream_() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/prepare_prepareStream___9JAIStreamFv.s" +bool JAIStream::prepare_prepareStream_() { + u32 local_28; + switch (field_0x290) { + case 0: + JAIStreamAramMgr* streamAramMgr = field_0x2b8->getStreamAramMgr(); + JUT_ASSERT(100, streamAramMgr); + field_0x29c = streamAramMgr->newStreamAram(&local_28); + if (field_0x29c != NULL) { + field_0x0a8.field_0x0.init((u32)field_0x29c, local_28, &JAIStream_JASAramStreamCallback_, this); + field_0x290 = 1; + prepareCount = 0; + } else { + increasePrepareCount_JAISound_(); + } + break; + case 1: + if (audible_ != NULL) { + JASSoundParams* soundParams = audible_->getOuterParams(0); + field_0x0a8.field_0x0.setPitch(soundParams->mPitch); + field_0x0a8.field_0x0.setVolume(soundParams->mVolume); + field_0x0a8.field_0x0.setPan(soundParams->mPan); + field_0x0a8.field_0x0.setFxmix(soundParams->mFxMix); + field_0x0a8.field_0x0.setDolby(soundParams->mDolby); + } + field_0x2c5 = 0; + if (field_0x0a8.field_0x0.prepare(field_0x294, -1)) { + field_0x290 = 2; + } + break; + case 2: + if (field_0x2c5 != 0) { + field_0x2c5 = 0; + field_0x290 = 3; + } else { + increasePrepareCount_JAISound_(); + } + break; + case 3: + return true; + case 4: + JUT_WARN(155, "PC must not pass here."); + break; + } + + return false; } -#pragma pop /* 802A33F4-802A3498 29DD34 00A4+00 1/1 0/0 0/0 .text prepare___9JAIStreamFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStream::prepare_() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/prepare___9JAIStreamFv.s" +void JAIStream::prepare_() { + if (field_0x2c6 != 0) { + return; + } + switch(status_.state.unk) { + case 0: + if (prepare_prepareStream_()) { + status_.state.unk = 5; + prepare_startStream_(); + } + break; + case 1: + if (prepare_prepareStream_()) { + status_.state.unk = 3; + } + break; + case 4: + status_.state.unk = 5; + prepare_startStream_(); + break; + case 5: + break; + } } -#pragma pop /* 802A3498-802A34E4 29DDD8 004C+00 1/1 0/0 0/0 .text prepare_startStream___9JAIStreamFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStream::prepare_startStream_() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/prepare_startStream___9JAIStreamFv.s" +void JAIStream::prepare_startStream_() { + if (field_0x0a8.field_0x0.start()) { + field_0x2c6 = 0; + field_0x2c4 = 0; + field_0x290 = 4; + } } -#pragma pop /* ############################################################################################## */ /* 804557F0-804557F4 003DF0 0004+00 2/2 0/0 0/0 .sdata2 @864 */ @@ -190,6 +216,57 @@ SECTION_SDATA2 static f32 lit_866[1 + 1 /* padding */] = { /* 802A34E4-802A3720 29DE24 023C+00 0/0 1/1 0/0 .text * JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity */ +// Matches with literals +#ifdef NONMATCHING +void JAIStream::JAIStreamMgr_mixOut_(JASSoundParams const& param_1, JAISoundActivity param_2) { + bool local_54; + JASSoundParams local_4c; + params.mixOutAll(param_1, &local_4c, (status_.isMute() || param_2.field_0x0.flags.flag1) ? 0.0f : fader.getIntensity()); + if (field_0x2bc != NULL) { + field_0x2bc->virtual4(this, local_4c); + } + JASSoundParams* mixParams = &local_4c; + if (audible_ != NULL && audience_ != NULL) { + for (int i = 0; i < audience_->getMaxChannels(); i++) { + JASSoundParams* outerParams = audible_->getOuterParams(i); + if (outerParams != NULL) { + audience_->mixChannelOut(local_4c, audible_, i); + mixParams = outerParams; + break; + } + } + } + for (int i = 0; i < CHANNEL_MAX; i++) { + field_0x0a8.field_0x0.setPitch(mixParams->mPitch); + if (field_0x2a0[i] != NULL) { + field_0x0a8.field_0x0.setChannelVolume(i, field_0x2a0[i]->mMove.mParams.mVolume * + mixParams->mVolume); + field_0x0a8.field_0x0.setChannelPan( + i, (field_0x2a0[i]->mMove.mParams.mPan + mixParams->mPan) - 0.5f); + field_0x0a8.field_0x0.setChannelFxmix(i, field_0x2a0[i]->mMove.mParams.mFxMix + + mixParams->mFxMix); + field_0x0a8.field_0x0.setChannelDolby(i, field_0x2a0[i]->mMove.mParams.mDolby + + mixParams->mDolby); + } else { + field_0x0a8.field_0x0.setChannelVolume(i, mixParams->mVolume); + field_0x0a8.field_0x0.setChannelPan(i, mixParams->mPan); + field_0x0a8.field_0x0.setChannelFxmix(i, mixParams->mFxMix); + field_0x0a8.field_0x0.setChannelDolby(i, mixParams->mDolby); + } + } + prepare_(); + if (field_0x290 == 4) { + local_54 = false; + if (status_.isPaused() || param_2.field_0x0.flags.flag2) { + local_54 = true; + } + if (local_54 != field_0x2c4) { + field_0x0a8.field_0x0.pause(local_54); + field_0x2c4 = local_54; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -198,12 +275,29 @@ asm void JAIStream::JAIStreamMgr_mixOut_(JASSoundParams const& param_0, JAISound #include "asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_mixOut___9JAIStreamFRC14JASSoundParams16JAISoundActivity.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804340E0-804340F0 060E00 000C+04 3/3 0/0 0/0 .bss @881 */ static u8 lit_881[12 + 4 /* padding */]; /* 802A3720-802A37FC 29E060 00DC+00 1/1 0/0 0/0 .text die_JAIStream___9JAIStreamFv */ +// Matches with literals +#ifdef NONMATCHING +void JAIStream::die_JAIStream_() { + die_JAISound_(); + for (int i = 0; i < CHANNEL_MAX; i++) { + if (field_0x2a0[i] != NULL) { + delete (JASPoolAllocObject*)field_0x2a0[i]; + field_0x2a0[i] = NULL; + } + } + if (field_0x2bc != NULL) { + field_0x2c0->virtual4(field_0x2bc); + field_0x2bc = NULL; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -212,26 +306,50 @@ asm void JAIStream::die_JAIStream_() { #include "asm/JSystem/JAudio2/JAIStream/die_JAIStream___9JAIStreamFv.s" } #pragma pop +#endif /* 802A37FC-802A388C 29E13C 0090+00 1/0 0/0 0/0 .text JAISound_tryDie___9JAIStreamFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAIStream::JAISound_tryDie_() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/JAISound_tryDie___9JAIStreamFv.s" +bool JAIStream::JAISound_tryDie_() { + if (field_0x2c6) { + die_JAIStream_(); + return true; + } + switch (field_0x290) { + case 0: + case 1: + die_JAIStream_(); + return true; + case 2: + case 3: + field_0x290 = 5; + field_0x0a8.field_0x0.cancel(); + break; + case 4: + field_0x290 = 6; + field_0x0a8.field_0x0.stop(10); + break; + } + + return false; } -#pragma pop /* 802A388C-802A3948 29E1CC 00BC+00 0/0 1/1 0/0 .text JAIStreamMgr_calc___9JAIStreamFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStream::JAIStreamMgr_calc_() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStream/JAIStreamMgr_calc___9JAIStreamFv.s" +void JAIStream::JAIStreamMgr_calc_() { + if (field_0x2c6 != 0) { + field_0x290 = 0; + stop_JAISound_(); + } + if (calc_JAISound_()) { + for (int i = 0; i < CHANNEL_MAX; i++) { + if (field_0x2a0[i] != NULL) { + field_0x2a0[i]->calc(); + } + } + if (field_0x2bc != NULL) { + field_0x2bc->calc(this); + } + } } -#pragma pop /* 802A3948-802A3950 29E288 0008+00 1/0 0/0 0/0 .text getNumChild__9JAIStreamCFv */ s32 JAIStream::getNumChild() const { @@ -239,6 +357,18 @@ s32 JAIStream::getNumChild() const { } /* 802A3950-802A3A24 29E290 00D4+00 1/0 0/0 0/0 .text getChild__9JAIStreamFi */ +#ifdef NONMATCHING +JAISoundChild* JAIStream::getChild(int i_idx) { + if (field_0x2a0[i_idx] == NULL) { + JASPoolAllocObject* ptr = new JASPoolAllocObject(); + field_0x2a0[i_idx] = new (ptr) JAISoundChild(); + if (field_0x2a0[i_idx] == NULL) { + JUT_WARN(370, "JASPoolAllocObject::::operator new failed .") + } + } + return field_0x2a0[i_idx]; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -247,8 +377,17 @@ asm JAISoundChild* JAIStream::getChild(int param_0) { #include "asm/JSystem/JAudio2/JAIStream/getChild__9JAIStreamFi.s" } #pragma pop +#endif /* 802A3A24-802A3ABC 29E364 0098+00 1/0 0/0 0/0 .text releaseChild__9JAIStreamFi */ +#ifdef NONMATCHING +void JAIStream::releaseChild(int i_idx) { + if (field_0x2a0[i_idx] != NULL) { + delete (JASPoolAllocObject*)field_0x2a0[i_idx]; + field_0x2a0[i_idx] = NULL; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -257,6 +396,7 @@ asm void JAIStream::releaseChild(int param_0) { #include "asm/JSystem/JAudio2/JAIStream/releaseChild__9JAIStreamFi.s" } #pragma pop +#endif /* 802A3ABC-802A3AC4 29E3FC 0008+00 1/0 0/0 0/0 .text getTrack__9JAIStreamFv */ JASTrack* JAIStream::getTrack() { diff --git a/libs/JSystem/JAudio2/JAIStreamMgr.cpp b/libs/JSystem/JAudio2/JAIStreamMgr.cpp index a8b2f6f771d..f5f49ccec1d 100644 --- a/libs/JSystem/JAudio2/JAIStreamMgr.cpp +++ b/libs/JSystem/JAudio2/JAIStreamMgr.cpp @@ -4,26 +4,11 @@ // #include "JSystem/JAudio2/JAIStreamMgr.h" +#include "JSystem/JAudio2/JAISoundHandles.h" +#include "JSystem/JAudio2/JAIStreamDataMgr.h" +#include "JSystem/JAudio2/JAISoundInfo.h" #include "dol2asm.h" -// -// Types: -// - -template -struct JASMemPool {}; -/* JASMemPool */ -struct JASMemPool__template3 { - /* 802A3E68 */ void func_802A3E68(void* _this); -}; - -struct JASGenericMemPool { - /* 80290848 */ JASGenericMemPool(); - /* 80290860 */ ~JASGenericMemPool(); - /* 80290948 */ void alloc(u32); - /* 80290994 */ void free(void*, u32); -}; - // // Forward References: // @@ -93,6 +78,17 @@ SECTION_SDATA2 static f32 lit_655[1 + 1 /* padding */] = { }; /* 802A3B68-802A3C3C 29E4A8 00D4+00 0/0 1/1 0/0 .text __ct__12JAIStreamMgrFb */ +// Matches with literals +#ifdef NONMATCHING +JAIStreamMgr::JAIStreamMgr(bool param_0) : JASGlobalInstance(param_0) { + streamDataMgr_ = NULL; + mStreamAramMgr = NULL; + field_0x6c = NULL; + field_0x54 = NULL; + mParams.init(); + mActivity.init(); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -101,18 +97,39 @@ asm JAIStreamMgr::JAIStreamMgr(bool param_0) { #include "asm/JSystem/JAudio2/JAIStreamMgr/__ct__12JAIStreamMgrFb.s" } #pragma pop +#endif /* 802A3C3C-802A3D70 29E57C 0134+00 0/0 1/1 0/0 .text * startSound__12JAIStreamMgrF10JAISoundIDP14JAISoundHandlePCQ29JGeometry8TVec3 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAIStreamMgr::startSound(JAISoundID param_0, JAISoundHandle* param_1, - JGeometry::TVec3 const* param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamMgr/func_802A3C3C.s" +bool JAIStreamMgr::startSound(JAISoundID param_1, JAISoundHandle* param_2, + JGeometry::TVec3 const* param_3) { + JUT_ASSERT(37, streamDataMgr_); + if (param_2 != NULL && *param_2) { + (*param_2)->stop(); + } + s32 streamFileEntry = streamDataMgr_->getStreamFileEntry(param_1); + if (streamFileEntry < 0) { + JUT_WARN("Cannot find the stream file entry for ID:%08x\n", param_1) + return false; + } + JAIStream* stream = newStream_(); + JAISoundInfo* piVar5 = JASGlobalInstance::getInstance(); + int iVar2 = -1; + if (piVar5 != NULL) { + iVar2 = piVar5->getCategory(param_1); + } + if (stream == NULL) { + return false; + } + stream->JAIStreamMgr_startID_(param_1, streamFileEntry, param_3, field_0x54, iVar2); + if (piVar5 != NULL) { + piVar5->getStreamInfo(param_1, stream); + } + if (param_2 != NULL) { + stream->attachHandle(param_2); + } + return false; } -#pragma pop /* ############################################################################################## */ /* 804340F0-804340FC 060E10 000C+00 2/2 0/0 0/0 .bss @745 */ @@ -125,6 +142,26 @@ u8 data_804340FC[16 + 4 /* padding */]; /* 802A3D70-802A3E68 29E6B0 00F8+00 1/1 0/0 0/0 .text freeDeadStream___12JAIStreamMgrFv */ +// I think this will match when all references to data_80451328 (init$localstatic4$getMemPool__30JASPoolAllocObject<9JAIStream>Fv) are not in asm +#ifdef NONMATCHING +void JAIStreamMgr::freeDeadStream_() { + JSULink* link = mStreamList.getFirst(); + while (link != NULL) { + JAIStream* stream = link->getObject(); + JSULink* next = link->getNext(); + if (stream->status_.isDead()) { + mStreamList.remove(link); + void* aramAddr = stream->JAIStreamMgr_getAramAddr_(); + if (aramAddr != NULL) { + mStreamAramMgr->deleteStreamAram((u32)aramAddr); + } + + delete stream; + } + link = next; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -133,6 +170,7 @@ asm void JAIStreamMgr::freeDeadStream_() { #include "asm/JSystem/JAudio2/JAIStreamMgr/freeDeadStream___12JAIStreamMgrFv.s" } #pragma pop +#endif /* 802A3E68-802A3EBC 29E7A8 0054+00 2/2 1/1 0/0 .text __dt__22JASMemPool<9JAIStream>Fv */ #pragma push @@ -145,61 +183,68 @@ extern "C" asm void func_802A3E68(void* _this) { #pragma pop /* 802A3EBC-802A4028 29E7FC 016C+00 0/0 1/1 0/0 .text calc__12JAIStreamMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStreamMgr::calc() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamMgr/calc__12JAIStreamMgrFv.s" +void JAIStreamMgr::calc() { + mParams.calc(); + for (JSULink* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->JAIStreamMgr_calc_(); + } + freeDeadStream_(); } -#pragma pop /* 802A4028-802A4068 29E968 0040+00 0/0 1/1 0/0 .text stop__12JAIStreamMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStreamMgr::stop() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFv.s" +void JAIStreamMgr::stop() { + for (JSULink* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->stop(); + } } -#pragma pop /* 802A4068-802A40B8 29E9A8 0050+00 0/0 2/2 0/0 .text stop__12JAIStreamMgrFUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStreamMgr::stop(u32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamMgr/stop__12JAIStreamMgrFUl.s" +void JAIStreamMgr::stop(u32 param_0) { + for (JSULink* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->stop(param_0); + } } -#pragma pop /* 802A40B8-802A4118 29E9F8 0060+00 0/0 1/1 0/0 .text stopSoundID__12JAIStreamMgrF10JAISoundID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStreamMgr::stopSoundID(JAISoundID param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamMgr/stopSoundID__12JAIStreamMgrF10JAISoundID.s" +void JAIStreamMgr::stopSoundID(JAISoundID param_0) { + for (JSULink* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) { + if ((u32)link->getObject()->getID() == (u32)param_0) { + link->getObject()->stop(); + } + } } -#pragma pop /* 802A4118-802A4174 29EA58 005C+00 0/0 1/1 0/0 .text mixOut__12JAIStreamMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAIStreamMgr::mixOut() { - nofralloc -#include "asm/JSystem/JAudio2/JAIStreamMgr/mixOut__12JAIStreamMgrFv.s" +void JAIStreamMgr::mixOut() { + for (JSULink* link = mStreamList.getFirst(); link != NULL; link = link->getNext()) { + link->getObject()->JAIStreamMgr_mixOut_(mParams.mParams, mActivity); + } } -#pragma pop /* 802A4174-802A4244 29EAB4 00D0+00 1/1 0/0 0/0 .text newStream___12JAIStreamMgrFv */ +// Matches with data_80451328 +#ifdef NONMATCHING +JAIStream* JAIStreamMgr::newStream_() { + if (mStreamAramMgr == NULL) { + JUT_WARN(229, "JAIStreamAramMgr must be set.\n"); + return NULL; + } + JAIStream* stream = new JAIStream(this, field_0x6c); + if (stream == NULL) { + JUT_WARN(235, "JASPoolAllocObject::::operator new failed .\n"); + return NULL; + } + + mStreamList.append(stream); + return stream; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JAIStreamMgr::newStream_() { +asm JAIStream* JAIStreamMgr::newStream_() { nofralloc #include "asm/JSystem/JAudio2/JAIStreamMgr/newStream___12JAIStreamMgrFv.s" } #pragma pop +#endif diff --git a/libs/JSystem/JAudio2/JASAramStream.cpp b/libs/JSystem/JAudio2/JASAramStream.cpp index 42a9eb6ed65..4831c5f8ef1 100644 --- a/libs/JSystem/JAudio2/JASAramStream.cpp +++ b/libs/JSystem/JAudio2/JASAramStream.cpp @@ -108,11 +108,6 @@ extern "C" void registerSubFrameCallback__9JASDriverFPFPv_lPv(); extern "C" void* __nwa__FUlP7JKRHeapi(); extern "C" void __dl__FPv(); extern "C" void mainRamToAram__7JKRAramFPUcUlUl15JKRExpandSwitchUlP7JKRHeapiPUl(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void DVDFastOpen(); -extern "C" void DVDReadPrio(); -extern "C" void DVDGetDriveStatus(); extern "C" void __register_global_object(); extern "C" void _savegpr_19(); extern "C" void _savegpr_25(); @@ -201,7 +196,7 @@ asm void JASAramStream::init(u32 param_0, u32 param_1, void (*param_2)(u32, JASA #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASAramStream::prepare(s32 param_0, int param_1) { +asm bool JASAramStream::prepare(s32 param_0, int param_1) { nofralloc #include "asm/JSystem/JAudio2/JASAramStream/prepare__13JASAramStreamFli.s" } @@ -211,7 +206,7 @@ asm void JASAramStream::prepare(s32 param_0, int param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void JASAramStream::start() { +asm bool JASAramStream::start() { nofralloc #include "asm/JSystem/JAudio2/JASAramStream/start__13JASAramStreamFv.s" } diff --git a/libs/JSystem/JAudio2/JASTrack.cpp b/libs/JSystem/JAudio2/JASTrack.cpp index 75fe466e422..f75be659780 100644 --- a/libs/JSystem/JAudio2/JASTrack.cpp +++ b/libs/JSystem/JAudio2/JASTrack.cpp @@ -641,18 +641,16 @@ asm JASChannel* JASTrack::channelStart(JASTrack::TChannelMgr* param_0, u32 param #endif /* 80291F38-80292008 28C878 00D0+00 0/0 1/1 0/0 .text noteOn__8JASTrackFUlUlUl */ -#ifdef NONMATCHING -// regalloc int JASTrack::noteOn(u32 i_noteID, u32 param_1, u32 param_2) { if (isMute()) { return 0; } int ret = 1; - int var1 = param_1 + getTransposeTotal(); + param_1 += getTransposeTotal(); for (u32 i = 0; i < mChannelMgrCount; i++) { if (mChannelMgrs[i] != NULL) { mChannelMgrs[i]->noteOff(i_noteID, 0); - JASChannel* channel = channelStart(mChannelMgrs[i], var1, param_2, 0); + JASChannel* channel = channelStart(mChannelMgrs[i], param_1, param_2, 0); if (channel == NULL) { ret = 0; } @@ -661,16 +659,6 @@ int JASTrack::noteOn(u32 i_noteID, u32 param_1, u32 param_2) { } return ret; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int JASTrack::noteOn(u32 param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JASTrack/noteOn__8JASTrackFUlUlUl.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804555AC-804555B0 003BAC 0004+00 1/1 0/0 0/0 .sdata2 @952 */ @@ -681,9 +669,9 @@ SECTION_SDATA2 static f64 lit_954 = 4503599627370496.0 /* cast u32 to float */; /* 80292008-80292198 28C948 0190+00 0/0 1/1 0/0 .text gateOn__8JASTrackFUlUlfUl */ #ifdef NONMATCHING -// regalloc +// matches with literals int JASTrack::gateOn(u32 param_0, u32 i_velocity, f32 i_time, u32 i_flags) { - int uvar5 = param_0 + getTransposeTotal(); + param_0 += getTransposeTotal(); if (mGateRate != 100) { i_time *= mGateRate / 100.0f; } @@ -693,7 +681,7 @@ int JASTrack::gateOn(u32 param_0, u32 i_velocity, f32 i_time, u32 i_flags) { if (i_flags & 1) { uvar7 = field_0x22b; } else { - uvar7 = uvar5; + uvar7 = param_0; } for (u32 i = 0; i < mChannelMgrCount; i++) { TChannelMgr* channel_mgr = mChannelMgrs[i]; @@ -713,12 +701,12 @@ int JASTrack::gateOn(u32 param_0, u32 i_velocity, f32 i_time, u32 i_flags) { } } if ((i_flags & 1) && channel_mgr->mChannels[0] != NULL) { - channel_mgr->mChannels[0]->setKeySweepTarget(uvar5 - uvar7, uvar2); + channel_mgr->mChannels[0]->setKeySweepTarget(param_0 - uvar7, uvar2); } } } mFlags.flag4 = (i_flags >> 1) & 1; - field_0x22b = uvar5; + field_0x22b = param_0; return 1; } #else diff --git a/libs/JSystem/JAudio2/JAUAudioMgr.cpp b/libs/JSystem/JAudio2/JAUAudioMgr.cpp index d2a58eb3bf0..159807b543f 100644 --- a/libs/JSystem/JAudio2/JAUAudioMgr.cpp +++ b/libs/JSystem/JAudio2/JAUAudioMgr.cpp @@ -1,44 +1,12 @@ // -// Generated By: dol2asm -// Translation Unit: JAUAudioMgr +// JAUAudioMgr // #include "JSystem/JAudio2/JAUAudioMgr.h" -#include "dolphin/types.h" +#include "JSystem/JAudio2/JASHeapCtrl.h" -// -// Types: -// - -struct JASDisposer {}; - -struct JASHeap { - /* 80290140 */ JASHeap(JASDisposer*); - /* 802A4A5C */ void __defctor(); -}; - -// -// Forward References: -// - -extern "C" void __defctor__7JASHeapFv(); - -// -// External References: -// - -extern "C" void __ct__7JASHeapFP11JASDisposer(); - -// -// Declarations: -// - -/* 802A4A5C-802A4A80 29F39C 0024+00 0/0 1/1 0/0 .text __defctor__7JASHeapFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASHeap::__defctor() { - nofralloc -#include "asm/JSystem/JAudio2/JAUAudioMgr/__defctor__7JASHeapFv.s" +// Here to generate JASHeap::__defctor (ctor generated by default arguments) +void dummyDefCtor() { + JASHeap dummy[20]; } -#pragma pop + diff --git a/libs/JSystem/JAudio2/JAUClusterSound.cpp b/libs/JSystem/JAudio2/JAUClusterSound.cpp index a4a991270ee..3edd56bc189 100644 --- a/libs/JSystem/JAudio2/JAUClusterSound.cpp +++ b/libs/JSystem/JAudio2/JAUClusterSound.cpp @@ -1,39 +1,11 @@ // -// Generated By: dol2asm -// Translation Unit: JAUClusterSound +// JAUClusterSound // #include "JSystem/JAudio2/JAUClusterSound.h" -#include "dolphin/types.h" +#include "JSystem/JAudio2/JAISoundHandles.h" -// -// Types: -// - -struct JAISoundHandle { - /* 802A4AC4 */ JAISoundHandle(); -}; - -// -// Forward References: -// - -extern "C" void __ct__14JAISoundHandleFv(); - -// -// External References: -// - -// -// Declarations: -// - -/* 802A4AC4-802A4AD0 29F404 000C+00 0/0 1/1 0/0 .text __ct__14JAISoundHandleFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISoundHandle::JAISoundHandle() { - nofralloc -#include "asm/JSystem/JAudio2/JAUClusterSound/__ct__14JAISoundHandleFv.s" -} -#pragma pop +// Dummy function to generate JAISoundHandle::JAISoundHandle +static void dummyCtor() { + JAISoundHandle dummy[20]; +} \ No newline at end of file diff --git a/libs/JSystem/JAudio2/JAUSectionHeap.cpp b/libs/JSystem/JAudio2/JAUSectionHeap.cpp index f4eae1cc49a..8864ecc7f2f 100644 --- a/libs/JSystem/JAudio2/JAUSectionHeap.cpp +++ b/libs/JSystem/JAudio2/JAUSectionHeap.cpp @@ -531,8 +531,6 @@ bool JAUSection::newStaticSeqData(JAISoundID param_0, void const* param_1, u32 p /* 802A5730-802A57F0 2A0070 00C0+00 0/0 1/1 0/0 .text newStaticSeqData__10JAUSectionF10JAISoundID */ -// extra instruction JAISoundID -#ifdef NONMATCHING bool JAUSection::newStaticSeqData(JAISoundID param_0) { JKRArchive* seqArchive = data_.field_0x00.getSeqDataArchive(); JUT_ASSERT(481, seqArchive); @@ -542,25 +540,13 @@ bool JAUSection::newStaticSeqData(JAISoundID param_0) { } u16 r26 = soundInfo->getBgmSeqResourceID(param_0); u32 r25 = JASResArcLoader::getResSize(seqArchive, r26); - JAISoundID stack_2c; - stack_2c.setAnonymous(); - u8* r24 = newStaticSeqDataBlock_(stack_2c, r25); + u8* r24 = newStaticSeqDataBlock_(0xffffffff, r25); if (r24) { data_.field_0x00.loadDynamicSeq(param_0, true, sectionHeap_->sectionHeapData_.seqDataUser); return true; } return false; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAUSection::newStaticSeqData(JAISoundID param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAUSectionHeap/newStaticSeqData__10JAUSectionF10JAISoundID.s" -} -#pragma pop -#endif /* 802A57F0-802A5854 2A0130 0064+00 3/3 0/0 0/0 .text newCopy__10JAUSectionFPCvUll */ void* JAUSection::newCopy(void const* param_0, u32 param_1, s32 param_2) { diff --git a/libs/JSystem/JAudio2/Makefile b/libs/JSystem/JAudio2/Makefile index 7214a07a519..22ceedf5121 100644 --- a/libs/JSystem/JAudio2/Makefile +++ b/libs/JSystem/JAudio2/Makefile @@ -150,7 +150,7 @@ LIBJAUDIO2_A_LDFLAGS := \ -proc gekko \ -linkmode moreram \ -DSP_CFLAGS := -pragma "function_align 32" -Cpp_exceptions off -proc gekko -fp hard -O4,p -nodefaults -str nopool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES) +DSP_CFLAGS := -pragma "function_align 32" -Cpp_exceptions off -proc gekko -fp hard -O4 -nodefaults -str nopool,readonly,reuse -RTTI off -maxerrors 5 -enum int $(INCLUDES) $(BUILD_DIR)/libs/JSystem/JAudio2/dspproc.o: CFLAGS := $(DSP_CFLAGS) $(BUILD_DIR)/libs/JSystem/JAudio2/osdsp.o: CFLAGS := $(DSP_CFLAGS) diff --git a/libs/JSystem/JAudio2/dsptask.cpp b/libs/JSystem/JAudio2/dsptask.cpp index 0aaa7015e76..9ea11c9c437 100644 --- a/libs/JSystem/JAudio2/dsptask.cpp +++ b/libs/JSystem/JAudio2/dsptask.cpp @@ -5,29 +5,13 @@ #include "JSystem/JAudio2/dsptask.h" #include "JSystem/JAudio2/osdsp.h" -#include "dol2asm.h" #include "dolphin/dsp.h" #include "dolphin/os.h" -// -// Types: -// - -struct STRUCT_DSP_TASK { - /* 0x00 */ DSPTaskInfo info; -}; - // // Forward References: // -extern "C" static void DspHandShake__FPv(); -extern "C" void DspBoot__FPFPv_v(); -extern "C" void DSPSendCommands2__FPUlUlPFUs_v(); -extern "C" static void DspInitWork__Fv(); -extern "C" static void DspStartWork__FUlPFUs_v(); -extern "C" void DspFinishWork__FUs(); - static void DspInitWork(); static void DspHandShake(void* param_0); static int DspStartWork(u32 param_0, void (*param_1)(u16)); @@ -36,32 +20,20 @@ static int DspStartWork(u32 param_0, void (*param_1)(u16)); // External References: // -extern "C" void DSPAddPriorTask__FP15STRUCT_DSP_TASK(); -extern "C" void Dsp_Running_Check__Fv(); -extern "C" void Dsp_Running_Start__Fv(); -extern "C" void _savegpr_26(); -extern "C" void _restgpr_26(); - extern int Dsp_Running_Check(); - -// -// Declarations: -// +extern int Dsp_Running_Start(); /* 8029E6E0-8029E718 299020 0038+00 1/1 0/0 0/0 .text DspHandShake__FPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -static asm void DspHandShake(void* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/dsptask/DspHandShake__FPv.s" +void DspHandShake(void*) { + while (DSPCheckMailFromDSP() == 0) {} + DSPReadMailFromDSP(); + DSPCheckMailFromDSP(); + Dsp_Running_Start(); } -#pragma pop /* ############################################################################################## */ /* 803C7920-803C9820 024A40 1F00+00 1/1 0/0 0/0 .data jdsp */ -SECTION_DATA static u8 jdsp[7936] = { +static u8 jdsp[7936] = { 0x02, 0x9F, 0x00, 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0xFF, 0x00, 0x00, 0x02, 0x9F, 0x06, 0xA5, 0x02, 0x9F, 0x00, 0x4E, 0x12, 0x05, 0x02, 0xBF, 0x00, 0x57, 0x81, 0x00, 0x00, 0x9F, 0x10, 0x00, @@ -587,49 +559,39 @@ void DspBoot(void (*param_0)(void*)) { } /* 8029E7E0-8029E8C8 299120 00E8+00 0/0 4/4 0/0 .text DSPSendCommands2__FPUlUlPFUs_v */ -// lwz instead of lwzx in loop -#ifdef NONMATCHING -int DSPSendCommands2(u32* param_0, u32 param_1, void (*param_2)(u16)) { - while (Dsp_Running_Check() == 0); +int DSPSendCommands2(u32* param_1, u32 param_2, void (*callBack)(u16)) { + s32 i; + BOOL interruptFlag; + s32 startWorkStatus; - BOOL status = OSDisableInterrupts(); + while (Dsp_Running_Check() == 0) {}; + + interruptFlag = OSDisableInterrupts(); if (DSPCheckMailToDSP()) { - OSRestoreInterrupts(status); + OSRestoreInterrupts(interruptFlag); return -1; } - DSPSendMailToDSP(param_1); + DSPSendMailToDSP(param_2); DSPAssertInt(); while(DSPCheckMailToDSP() != 0); - if (param_1 == 0) { - param_1 = 1; + if (param_2 == 0) { + param_2 = 1; } - int startWorkStatus; - if (param_2 != NULL) { - startWorkStatus = DspStartWork(param_0[0], param_2); + if (callBack != NULL) { + startWorkStatus = DspStartWork(param_1[0], callBack); } - for (int i = 0; i < param_1; i++) { - DSPSendMailToDSP(param_0[i]); + for (i = 0; i < param_2; i++) { + DSPSendMailToDSP(param_1[i]); while (DSPCheckMailToDSP() != 0); } - OSRestoreInterrupts(status); + OSRestoreInterrupts(interruptFlag); return startWorkStatus; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm int DSPSendCommands2(u32* param_0, u32 param_1, void (*param_2)(u16)) { - nofralloc -#include "asm/JSystem/JAudio2/dsptask/DSPSendCommands2__FPUlUlPFUs_v.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80433FE0-80434060 060D00 0080+00 3/3 0/0 0/0 .bss taskwork */ @@ -644,23 +606,11 @@ static TaskWorkStruct taskwork[16]; /* 8029E8E0-8029E90C 299220 002C+00 1/1 0/0 0/0 .text DspInitWork__Fv */ // Loop is unrolled but should not be -#ifdef NONMATCHING static void DspInitWork() { for (int i = 0; i < 16; i++) { taskwork[i].field_0x4 = NULL; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -static asm void DspInitWork() { - nofralloc -#include "asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 80451300-80451304 000800 0004+00 2/2 0/0 0/0 .sbss taskreadp */ diff --git a/libs/JSystem/JAudio2/osdsp.cpp b/libs/JSystem/JAudio2/osdsp.cpp index 1ff0a360254..d046da94c9c 100644 --- a/libs/JSystem/JAudio2/osdsp.cpp +++ b/libs/JSystem/JAudio2/osdsp.cpp @@ -8,29 +8,6 @@ #include "dolphin/os.h" #include "dolphin/dsp/dsp_task.h" -// -// Types: -// - -// Unclear why this is a different type than DSPTaskInfo -struct STRUCT_DSP_TASK { - DSPTaskInfo info; -}; - -// -// Forward References: -// - -// -// External References: -// - -// -// Declarations: -// - -/* ############################################################################################## */ - /* 8029EA00-8029EA84 299340 0084+00 0/0 1/1 0/0 .text DSPAddTask */ DSPTaskInfo* DSPAddTask(DSPTaskInfo* task) { if (DSP_prior_task == NULL) { diff --git a/libs/JSystem/JAudio2/osdsp_task.cpp b/libs/JSystem/JAudio2/osdsp_task.cpp index 4ec5f43d47f..94f9dddaf27 100644 --- a/libs/JSystem/JAudio2/osdsp_task.cpp +++ b/libs/JSystem/JAudio2/osdsp_task.cpp @@ -196,4 +196,5 @@ u8 data_80451318[8]; u8 data_80451320[8]; /* 80451328-80451330 000828 0008+00 0/0 3/3 0/0 .sbss None */ +// init$localstatic4$getMemPool__30JASPoolAllocObject<9JAIStream>Fv u8 data_80451328[8]; diff --git a/obj_files.mk b/obj_files.mk index 184058fb5ba..a3bceb85fd9 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -1049,6 +1049,8 @@ RELS := \ O_FILES_SYM_ON := \ $(BUILD_DIR)/libs/JSystem/JUtility/JUTResFont.o \ $(BUILD_DIR)/libs/JSystem/JAudio2/JAUAudioArcLoader.o \ + $(BUILD_DIR)/libs/JSystem/JAudio2/JAUClusterSound.o \ + $(BUILD_DIR)/libs/JSystem/JAudio2/JAIStreamMgr.o \ $(BUILD_DIR)/libs/JSystem/J2DGraph/J2DAnmLoader.o \ $(BUILD_DIR)/libs/JSystem/J2DGraph/J2DPicture.o \ $(BUILD_DIR)/libs/JSystem/J2DGraph/J2DMaterialFactory.o \