Match snd_init

Former-commit-id: 95f655b9db
This commit is contained in:
Phillip Stephens 2022-04-08 01:30:31 -07:00
parent b93a0c6f09
commit ca924e27b4
18 changed files with 225 additions and 181 deletions

View File

@ -313,7 +313,7 @@ lbl_8036F7A8:
/* 8036F7C4 0036C724 7C 08 03 A6 */ mtlr r0 /* 8036F7C4 0036C724 7C 08 03 A6 */ mtlr r0
/* 8036F7C8 0036C728 4E 80 00 20 */ blr /* 8036F7C8 0036C728 4E 80 00 20 */ blr
.global sub_8036f7cc .global ARQGetChunkSize
sub_8036f7cc: ARQGetChunkSize:
/* 8036F7CC 0036C72C 80 6D AB 78 */ lwz r3, lbl_805A9738@sda21(r13) /* 8036F7CC 0036C72C 80 6D AB 78 */ lwz r3, lbl_805A9738@sda21(r13)
/* 8036F7D0 0036C730 4E 80 00 20 */ blr /* 8036F7D0 0036C730 4E 80 00 20 */ blr

View File

@ -1860,9 +1860,9 @@ lbl_8000AAD4:
/* 8000AB08 00007A68 80 81 01 0C */ lwz r4, 0x10c(r1) /* 8000AB08 00007A68 80 81 01 0C */ lwz r4, 0x10c(r1)
/* 8000AB0C 00007A6C 41 82 00 58 */ beq lbl_8000AB64 /* 8000AB0C 00007A6C 41 82 00 58 */ beq lbl_8000AB64
/* 8000AB10 00007A70 C0 5D 00 C4 */ lfs f2, 0xc4(r29) /* 8000AB10 00007A70 C0 5D 00 C4 */ lfs f2, 0xc4(r29)
/* 8000AB14 00007A74 3C 60 80 5A */ lis r3, lbl_805A66A0@ha /* 8000AB14 00007A74 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000AB18 00007A78 C0 3D 00 C8 */ lfs f1, 0xc8(r29) /* 8000AB18 00007A78 C0 3D 00 C8 */ lfs f1, 0xc8(r29)
/* 8000AB1C 00007A7C 38 C3 66 A0 */ addi r6, r3, lbl_805A66A0@l /* 8000AB1C 00007A7C 38 C3 66 A0 */ addi r6, r3, skZero3f@l
/* 8000AB20 00007A80 C0 1D 00 CC */ lfs f0, 0xcc(r29) /* 8000AB20 00007A80 C0 1D 00 CC */ lfs f0, 0xcc(r29)
/* 8000AB24 00007A84 54 87 06 3E */ clrlwi r7, r4, 0x18 /* 8000AB24 00007A84 54 87 06 3E */ clrlwi r7, r4, 0x18
/* 8000AB28 00007A88 D0 41 00 24 */ stfs f2, 0x24(r1) /* 8000AB28 00007A88 D0 41 00 24 */ stfs f2, 0x24(r1)
@ -2835,9 +2835,9 @@ UpdateRumble__14CCameraManagerFfR13CStateManager:
/* 8000B884 000087E4 DB E1 00 30 */ stfd f31, 0x30(r1) /* 8000B884 000087E4 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8000B888 000087E8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0 /* 8000B888 000087E8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8000B88C 000087EC BF 61 00 1C */ stmw r27, 0x1c(r1) /* 8000B88C 000087EC BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 8000B890 000087F0 3C A0 80 5A */ lis r5, lbl_805A66A0@ha /* 8000B890 000087F0 3C A0 80 5A */ lis r5, skZero3f@ha
/* 8000B894 000087F4 7C 7D 1B 78 */ mr r29, r3 /* 8000B894 000087F4 7C 7D 1B 78 */ mr r29, r3
/* 8000B898 000087F8 3B E5 66 A0 */ addi r31, r5, lbl_805A66A0@l /* 8000B898 000087F8 3B E5 66 A0 */ addi r31, r5, skZero3f@l
/* 8000B89C 000087FC FF E0 08 90 */ fmr f31, f1 /* 8000B89C 000087FC FF E0 08 90 */ fmr f31, f1
/* 8000B8A0 00008800 C0 1F 00 00 */ lfs f0, 0(r31) /* 8000B8A0 00008800 C0 1F 00 00 */ lfs f0, 0(r31)
/* 8000B8A4 00008804 7C 9E 23 78 */ mr r30, r4 /* 8000B8A4 00008804 7C 9E 23 78 */ mr r30, r4
@ -2929,8 +2929,8 @@ lbl_8000B9D0:
/* 8000B9E4 00008944 4B FF EF 1D */ bl IsInCinematicCamera__14CCameraManagerCFv /* 8000B9E4 00008944 4B FF EF 1D */ bl IsInCinematicCamera__14CCameraManagerCFv
/* 8000B9E8 00008948 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8000B9E8 00008948 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 8000B9EC 0000894C 40 82 00 20 */ bne lbl_8000BA0C /* 8000B9EC 0000894C 40 82 00 20 */ bne lbl_8000BA0C
/* 8000B9F0 00008950 3C 60 80 5A */ lis r3, lbl_805A66A0@ha /* 8000B9F0 00008950 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000B9F4 00008954 C0 03 66 A0 */ lfs f0, lbl_805A66A0@l(r3) /* 8000B9F4 00008954 C0 03 66 A0 */ lfs f0, skZero3f@l(r3)
/* 8000B9F8 00008958 D0 1D 00 30 */ stfs f0, 0x30(r29) /* 8000B9F8 00008958 D0 1D 00 30 */ stfs f0, 0x30(r29)
/* 8000B9FC 0000895C C0 1F 00 04 */ lfs f0, 4(r31) /* 8000B9FC 0000895C C0 1F 00 04 */ lfs f0, 4(r31)
/* 8000BA00 00008960 D0 1D 00 34 */ stfs f0, 0x34(r29) /* 8000BA00 00008960 D0 1D 00 34 */ stfs f0, 0x34(r29)
@ -2958,9 +2958,9 @@ UpdateSfxListener__14CCameraManagerFR13CStateManager:
/* 8000BA48 000089A8 38 81 00 2C */ addi r4, r1, 0x2c /* 8000BA48 000089A8 38 81 00 2C */ addi r4, r1, 0x2c
/* 8000BA4C 000089AC 48 30 71 29 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8000BA4C 000089AC 48 30 71 29 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 8000BA50 000089B0 C1 01 00 64 */ lfs f8, 0x64(r1) /* 8000BA50 000089B0 C1 01 00 64 */ lfs f8, 0x64(r1)
/* 8000BA54 000089B4 3C 60 80 5A */ lis r3, lbl_805A66A0@ha /* 8000BA54 000089B4 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000BA58 000089B8 C0 E1 00 74 */ lfs f7, 0x74(r1) /* 8000BA58 000089B8 C0 E1 00 74 */ lfs f7, 0x74(r1)
/* 8000BA5C 000089BC 38 83 66 A0 */ addi r4, r3, lbl_805A66A0@l /* 8000BA5C 000089BC 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 8000BA60 000089C0 C0 C1 00 84 */ lfs f6, 0x84(r1) /* 8000BA60 000089C0 C0 C1 00 84 */ lfs f6, 0x84(r1)
/* 8000BA64 000089C4 38 61 00 20 */ addi r3, r1, 0x20 /* 8000BA64 000089C4 38 61 00 20 */ addi r3, r1, 0x20
/* 8000BA68 000089C8 C0 A1 00 60 */ lfs f5, 0x60(r1) /* 8000BA68 000089C8 C0 A1 00 60 */ lfs f5, 0x60(r1)
@ -3274,10 +3274,10 @@ CreateStandardCameras__14CCameraManagerFR13CStateManager:
/* 8000BE88 00008DE8 93 C1 00 88 */ stw r30, 0x88(r1) /* 8000BE88 00008DE8 93 C1 00 88 */ stw r30, 0x88(r1)
/* 8000BE8C 00008DEC 93 A1 00 84 */ stw r29, 0x84(r1) /* 8000BE8C 00008DEC 93 A1 00 84 */ stw r29, 0x84(r1)
/* 8000BE90 00008DF0 7C 9F 23 78 */ mr r31, r4 /* 8000BE90 00008DF0 7C 9F 23 78 */ mr r31, r4
/* 8000BE94 00008DF4 3C 80 80 5A */ lis r4, lbl_805A6670@ha /* 8000BE94 00008DF4 3C 80 80 5A */ lis r4, skIdentity4f@ha
/* 8000BE98 00008DF8 80 BF 08 4C */ lwz r5, 0x84c(r31) /* 8000BE98 00008DF8 80 BF 08 4C */ lwz r5, 0x84c(r31)
/* 8000BE9C 00008DFC 7C 7E 1B 78 */ mr r30, r3 /* 8000BE9C 00008DFC 7C 7E 1B 78 */ mr r30, r3
/* 8000BEA0 00008E00 38 84 66 70 */ addi r4, r4, lbl_805A6670@l /* 8000BEA0 00008E00 38 84 66 70 */ addi r4, r4, skIdentity4f@l
/* 8000BEA4 00008E04 38 61 00 44 */ addi r3, r1, 0x44 /* 8000BEA4 00008E04 38 61 00 44 */ addi r3, r1, 0x44
/* 8000BEA8 00008E08 A0 05 00 08 */ lhz r0, 8(r5) /* 8000BEA8 00008E08 A0 05 00 08 */ lhz r0, 8(r5)
/* 8000BEAC 00008E0C B0 01 00 34 */ sth r0, 0x34(r1) /* 8000BEAC 00008E0C B0 01 00 34 */ sth r0, 0x34(r1)
@ -3448,9 +3448,9 @@ __ct__14CCameraManagerF9TUniqueId:
/* 8000C0EC 0000904C 90 01 00 44 */ stw r0, 0x44(r1) /* 8000C0EC 0000904C 90 01 00 44 */ stw r0, 0x44(r1)
/* 8000C0F0 00009050 93 E1 00 3C */ stw r31, 0x3c(r1) /* 8000C0F0 00009050 93 E1 00 3C */ stw r31, 0x3c(r1)
/* 8000C0F4 00009054 7C 7F 1B 78 */ mr r31, r3 /* 8000C0F4 00009054 7C 7F 1B 78 */ mr r31, r3
/* 8000C0F8 00009058 3C 60 80 5A */ lis r3, lbl_805A66A0@ha /* 8000C0F8 00009058 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000C0FC 0000905C A0 04 00 00 */ lhz r0, 0(r4) /* 8000C0FC 0000905C A0 04 00 00 */ lhz r0, 0(r4)
/* 8000C100 00009060 38 83 66 A0 */ addi r4, r3, lbl_805A66A0@l /* 8000C100 00009060 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 8000C104 00009064 38 7F 00 3C */ addi r3, r31, 0x3c /* 8000C104 00009064 38 7F 00 3C */ addi r3, r31, 0x3c
/* 8000C108 00009068 B0 1F 00 00 */ sth r0, 0(r31) /* 8000C108 00009068 B0 1F 00 00 */ sth r0, 0(r31)
/* 8000C10C 0000906C 38 1F 00 20 */ addi r0, r31, 0x20 /* 8000C10C 0000906C 38 1F 00 20 */ addi r0, r31, 0x20
@ -3471,9 +3471,9 @@ __ct__14CCameraManagerF9TUniqueId:
/* 8000C148 000090A8 D0 1F 00 38 */ stfs f0, 0x38(r31) /* 8000C148 000090A8 D0 1F 00 38 */ stfs f0, 0x38(r31)
/* 8000C14C 000090AC 48 05 30 59 */ bl __ct__Q29CGameArea8CAreaFogFv /* 8000C14C 000090AC 48 05 30 59 */ bl __ct__Q29CGameArea8CAreaFogFv
/* 8000C150 000090B0 39 60 00 00 */ li r11, 0 /* 8000C150 000090B0 39 60 00 00 */ li r11, 0
/* 8000C154 000090B4 3C 60 80 5A */ lis r3, lbl_805A66A0@ha /* 8000C154 000090B4 3C 60 80 5A */ lis r3, skZero3f@ha
/* 8000C158 000090B8 91 7F 00 74 */ stw r11, 0x74(r31) /* 8000C158 000090B8 91 7F 00 74 */ stw r11, 0x74(r31)
/* 8000C15C 000090BC 38 83 66 A0 */ addi r4, r3, lbl_805A66A0@l /* 8000C15C 000090BC 38 83 66 A0 */ addi r4, r3, skZero3f@l
/* 8000C160 000090C0 C0 22 80 94 */ lfs f1, lbl_805A9DB4@sda21(r2) /* 8000C160 000090C0 C0 22 80 94 */ lfs f1, lbl_805A9DB4@sda21(r2)
/* 8000C164 000090C4 39 40 FF FF */ li r10, -1 /* 8000C164 000090C4 39 40 FF FF */ li r10, -1
/* 8000C168 000090C8 A0 6D A3 8C */ lhz r3, lbl_805A8F4C@sda21(r13) /* 8000C168 000090C8 A0 6D A3 8C */ lhz r3, lbl_805A8F4C@sda21(r13)

View File

@ -4071,14 +4071,14 @@ GetResourceIdByName__11CResFactoryCFPCc:
AddPaksAndFactories__18CGameGlobalObjectsFv: AddPaksAndFactories__18CGameGlobalObjectsFv:
/* 800060B4 00003014 94 21 FF 40 */ stwu r1, -0xc0(r1) /* 800060B4 00003014 94 21 FF 40 */ stwu r1, -0xc0(r1)
/* 800060B8 00003018 7C 08 02 A6 */ mflr r0 /* 800060B8 00003018 7C 08 02 A6 */ mflr r0
/* 800060BC 0000301C 3C 60 80 5A */ lis r3, lbl_805A6670@ha /* 800060BC 0000301C 3C 60 80 5A */ lis r3, skIdentity4f@ha
/* 800060C0 00003020 90 01 00 C4 */ stw r0, 0xc4(r1) /* 800060C0 00003020 90 01 00 C4 */ stw r0, 0xc4(r1)
/* 800060C4 00003024 38 63 66 70 */ addi r3, r3, lbl_805A6670@l /* 800060C4 00003024 38 63 66 70 */ addi r3, r3, skIdentity4f@l
/* 800060C8 00003028 93 E1 00 BC */ stw r31, 0xbc(r1) /* 800060C8 00003028 93 E1 00 BC */ stw r31, 0xbc(r1)
/* 800060CC 0000302C 83 ED A0 60 */ lwz r31, gpResourceFactory@sda21(r13) /* 800060CC 0000302C 83 ED A0 60 */ lwz r31, gpResourceFactory@sda21(r13)
/* 800060D0 00003030 48 30 66 7D */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f /* 800060D0 00003030 48 30 66 7D */ bl SetViewPointMatrix__9CGraphicsFRC12CTransform4f
/* 800060D4 00003034 3C 60 80 5A */ lis r3, lbl_805A6670@ha /* 800060D4 00003034 3C 60 80 5A */ lis r3, skIdentity4f@ha
/* 800060D8 00003038 38 63 66 70 */ addi r3, r3, lbl_805A6670@l /* 800060D8 00003038 38 63 66 70 */ addi r3, r3, skIdentity4f@l
/* 800060DC 0000303C 48 30 65 05 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f /* 800060DC 0000303C 48 30 65 05 */ bl SetModelMatrix__9CGraphicsFRC12CTransform4f
/* 800060E0 00003040 3C 80 80 3D */ lis r4, lbl_803CBE74@ha /* 800060E0 00003040 3C 80 80 3D */ lis r4, lbl_803CBE74@ha
/* 800060E4 00003044 38 61 00 88 */ addi r3, r1, 0x88 /* 800060E4 00003044 38 61 00 88 */ addi r3, r1, 0x88

View File

@ -141,12 +141,12 @@ _savegpr_20:
func_80389A64: func_80389A64:
/* 80389A64 003869C4 92 AB FF D4 */ stw r21, -0x2c(r11) /* 80389A64 003869C4 92 AB FF D4 */ stw r21, -0x2c(r11)
.global sub_80389a68 .global _savegpr_22
sub_80389a68: _savegpr_22:
/* 80389A68 003869C8 92 CB FF D8 */ stw r22, -0x28(r11) /* 80389A68 003869C8 92 CB FF D8 */ stw r22, -0x28(r11)
.global func_80389A6C .global _savegpr_23
func_80389A6C: _savegpr_23:
/* 80389A6C 003869CC 92 EB FF DC */ stw r23, -0x24(r11) /* 80389A6C 003869CC 92 EB FF DC */ stw r23, -0x24(r11)
.global _savegpr_24 .global _savegpr_24

View File

@ -369,12 +369,13 @@ lbl_805A6620:
.global lbl_805A6660 .global lbl_805A6660
lbl_805A6660: lbl_805A6660:
.skip 0x10 .skip 0x10
.global lbl_805A6670 .global skIdentity4f
lbl_805A6670: skIdentity4f:
.skip 0x30 .skip 0x30
.global lbl_805A66A0 .global skZero3f
lbl_805A66A0: skZero3f:
.skip 0x54 .skip 0xC
.skip 0x48
.global lbl_805A66F4 .global lbl_805A66F4
lbl_805A66F4: lbl_805A66F4:
.skip 0xC .skip 0xC

View File

@ -225,8 +225,8 @@ lbl_803B308C:
/* 803B3098 003AFFF8 38 21 00 10 */ addi r1, r1, 0x10 /* 803B3098 003AFFF8 38 21 00 10 */ addi r1, r1, 0x10
/* 803B309C 003AFFFC 4E 80 00 20 */ blr /* 803B309C 003AFFFC 4E 80 00 20 */ blr
.global sub_803b30a0 .global hwInit
sub_803b30a0: hwInit:
/* 803B30A0 003B0000 94 21 FF E0 */ stwu r1, -0x20(r1) /* 803B30A0 003B0000 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803B30A4 003B0004 7C 08 02 A6 */ mflr r0 /* 803B30A4 003B0004 7C 08 02 A6 */ mflr r0
/* 803B30A8 003B0008 90 01 00 24 */ stw r0, 0x24(r1) /* 803B30A8 003B0008 90 01 00 24 */ stw r0, 0x24(r1)
@ -1017,8 +1017,8 @@ sub_803b3b10:
/* 803B3B3C 003B0A9C 38 21 00 10 */ addi r1, r1, 0x10 /* 803B3B3C 003B0A9C 38 21 00 10 */ addi r1, r1, 0x10
/* 803B3B40 003B0AA0 4E 80 00 20 */ blr /* 803B3B40 003B0AA0 4E 80 00 20 */ blr
.global sub_803b3b44 .global hwChangeStudio
sub_803b3b44: hwChangeStudio:
/* 803B3B44 003B0AA4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B3B44 003B0AA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B3B48 003B0AA8 7C 08 02 A6 */ mflr r0 /* 803B3B48 003B0AA8 7C 08 02 A6 */ mflr r0
/* 803B3B4C 003B0AAC 90 01 00 14 */ stw r0, 0x14(r1) /* 803B3B4C 003B0AAC 90 01 00 14 */ stw r0, 0x14(r1)
@ -1127,7 +1127,7 @@ sub_803b3ca4:
/* 803B3CA4 003B0C04 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803B3CA4 003B0C04 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B3CA8 003B0C08 7C 08 02 A6 */ mflr r0 /* 803B3CA8 003B0C08 7C 08 02 A6 */ mflr r0
/* 803B3CAC 003B0C0C 90 01 00 14 */ stw r0, 0x14(r1) /* 803B3CAC 003B0C0C 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B3CB0 003B0C10 48 00 0D 55 */ bl sub_803b4a04 /* 803B3CB0 003B0C10 48 00 0D 55 */ bl aramAllocateStreamBuffer
/* 803B3CB4 003B0C14 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B3CB4 003B0C14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3CB8 003B0C18 7C 08 03 A6 */ mtlr r0 /* 803B3CB8 003B0C18 7C 08 03 A6 */ mtlr r0
/* 803B3CBC 003B0C1C 38 21 00 10 */ addi r1, r1, 0x10 /* 803B3CBC 003B0C1C 38 21 00 10 */ addi r1, r1, 0x10
@ -1245,7 +1245,7 @@ lbl_803B3E1C:
/* 803B3E1C 003B0D7C 54 84 08 3C */ slwi r4, r4, 1 /* 803B3E1C 003B0D7C 54 84 08 3C */ slwi r4, r4, 1
lbl_803B3E20: lbl_803B3E20:
/* 803B3E20 003B0D80 80 7F 00 00 */ lwz r3, 0(r31) /* 803B3E20 003B0D80 80 7F 00 00 */ lwz r3, 0(r31)
/* 803B3E24 003B0D84 48 00 07 49 */ bl sub_803b456c /* 803B3E24 003B0D84 48 00 07 49 */ bl aramStoreData
/* 803B3E28 003B0D88 90 7F 00 00 */ stw r3, 0(r31) /* 803B3E28 003B0D88 90 7F 00 00 */ stw r3, 0(r31)
/* 803B3E2C 003B0D8C 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B3E2C 003B0D8C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3E30 003B0D90 83 E1 00 0C */ lwz r31, 0xc(r1) /* 803B3E30 003B0D90 83 E1 00 0C */ lwz r31, 0xc(r1)
@ -1298,7 +1298,7 @@ lbl_803B3EC4:
lbl_803B3EC8: lbl_803B3EC8:
/* 803B3EC8 003B0E28 7C 83 23 78 */ mr r3, r4 /* 803B3EC8 003B0E28 7C 83 23 78 */ mr r3, r4
/* 803B3ECC 003B0E2C 7C A4 2B 78 */ mr r4, r5 /* 803B3ECC 003B0E2C 7C A4 2B 78 */ mr r4, r5
/* 803B3ED0 003B0E30 48 00 0A 59 */ bl sub_803b4928 /* 803B3ED0 003B0E30 48 00 0A 59 */ bl aramRemoveData
/* 803B3ED4 003B0E34 80 01 00 14 */ lwz r0, 0x14(r1) /* 803B3ED4 003B0E34 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B3ED8 003B0E38 7C 08 03 A6 */ mtlr r0 /* 803B3ED8 003B0E38 7C 08 03 A6 */ mtlr r0
/* 803B3EDC 003B0E3C 38 21 00 10 */ addi r1, r1, 0x10 /* 803B3EDC 003B0E3C 38 21 00 10 */ addi r1, r1, 0x10

View File

@ -216,9 +216,6 @@ lbl_803B41F4:
/* 803B41F4 003B1154 88 03 02 81 */ lbz r0, 0x281(r3) /* 803B41F4 003B1154 88 03 02 81 */ lbz r0, 0x281(r3)
/* 803B41F8 003B1158 28 00 00 00 */ cmplwi r0, 0 /* 803B41F8 003B1158 28 00 00 00 */ cmplwi r0, 0
/* 803B41FC 003B115C 40 82 FF F8 */ bne lbl_803B41F4 /* 803B41FC 003B115C 40 82 FF F8 */ bne lbl_803B41F4
.global sub_803b4200
sub_803b4200:
/* 803B4200 003B1160 4E 80 00 20 */ blr /* 803B4200 003B1160 4E 80 00 20 */ blr
.global aramInit .global aramInit
@ -442,7 +439,7 @@ aramSetUploadCallback:
/* 803B452C 003B148C 41 82 00 24 */ beq lbl_803B4550 /* 803B452C 003B148C 41 82 00 24 */ beq lbl_803B4550
/* 803B4530 003B1490 38 04 00 1F */ addi r0, r4, 0x1f /* 803B4530 003B1490 38 04 00 1F */ addi r0, r4, 0x1f
/* 803B4534 003B1494 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a /* 803B4534 003B1494 54 1F 00 34 */ rlwinm r31, r0, 0, 0, 0x1a
/* 803B4538 003B1498 4B FB B2 95 */ bl sub_8036f7cc /* 803B4538 003B1498 4B FB B2 95 */ bl ARQGetChunkSize
/* 803B453C 003B149C 7C 1F 18 40 */ cmplw r31, r3 /* 803B453C 003B149C 7C 1F 18 40 */ cmplw r31, r3
/* 803B4540 003B14A0 7F E0 FB 78 */ mr r0, r31 /* 803B4540 003B14A0 7F E0 FB 78 */ mr r0, r31
/* 803B4544 003B14A4 40 80 00 08 */ bge lbl_803B454C /* 803B4544 003B14A4 40 80 00 08 */ bge lbl_803B454C
@ -458,13 +455,13 @@ lbl_803B4550:
/* 803B4564 003B14C4 38 21 00 10 */ addi r1, r1, 0x10 /* 803B4564 003B14C4 38 21 00 10 */ addi r1, r1, 0x10
/* 803B4568 003B14C8 4E 80 00 20 */ blr /* 803B4568 003B14C8 4E 80 00 20 */ blr
.global sub_803b456c .global aramStoreData
sub_803b456c: aramStoreData:
/* 803B456C 003B14CC 94 21 FF D0 */ stwu r1, -0x30(r1) /* 803B456C 003B14CC 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 803B4570 003B14D0 7C 08 02 A6 */ mflr r0 /* 803B4570 003B14D0 7C 08 02 A6 */ mflr r0
/* 803B4574 003B14D4 90 01 00 34 */ stw r0, 0x34(r1) /* 803B4574 003B14D4 90 01 00 34 */ stw r0, 0x34(r1)
/* 803B4578 003B14D8 39 61 00 30 */ addi r11, r1, 0x30 /* 803B4578 003B14D8 39 61 00 30 */ addi r11, r1, 0x30
/* 803B457C 003B14DC 4B FD 54 F1 */ bl func_80389A6C /* 803B457C 003B14DC 4B FD 54 F1 */ bl _savegpr_23
/* 803B4580 003B14E0 80 0D AF A0 */ lwz r0, aramUploadCallback@sda21(r13) /* 803B4580 003B14E0 80 0D AF A0 */ lwz r0, aramUploadCallback@sda21(r13)
/* 803B4584 003B14E4 38 84 00 1F */ addi r4, r4, 0x1f /* 803B4584 003B14E4 38 84 00 1F */ addi r4, r4, 0x1f
/* 803B4588 003B14E8 83 0D AF A8 */ lwz r24, aramWrite@sda21(r13) /* 803B4588 003B14E8 83 0D AF A8 */ lwz r24, aramWrite@sda21(r13)
@ -711,8 +708,8 @@ lbl_803B4910:
/* 803B4920 003B1880 38 21 00 30 */ addi r1, r1, 0x30 /* 803B4920 003B1880 38 21 00 30 */ addi r1, r1, 0x30
/* 803B4924 003B1884 4E 80 00 20 */ blr /* 803B4924 003B1884 4E 80 00 20 */ blr
.global sub_803b4928 .global aramRemoveData
sub_803b4928: aramRemoveData:
/* 803B4928 003B1888 38 64 00 1F */ addi r3, r4, 0x1f /* 803B4928 003B1888 38 64 00 1F */ addi r3, r4, 0x1f
/* 803B492C 003B188C 80 0D AF A8 */ lwz r0, aramWrite@sda21(r13) /* 803B492C 003B188C 80 0D AF A8 */ lwz r0, aramWrite@sda21(r13)
/* 803B4930 003B1890 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a /* 803B4930 003B1890 54 63 00 34 */ rlwinm r3, r3, 0, 0, 0x1a
@ -775,8 +772,8 @@ lbl_803B49E0:
/* 803B49FC 003B195C 90 0D AF A4 */ stw r0, aramStream@sda21(r13) /* 803B49FC 003B195C 90 0D AF A4 */ stw r0, aramStream@sda21(r13)
/* 803B4A00 003B1960 4E 80 00 20 */ blr /* 803B4A00 003B1960 4E 80 00 20 */ blr
.global sub_803b4a04 .global aramAllocateStreamBuffer
sub_803b4a04: aramAllocateStreamBuffer:
/* 803B4A04 003B1964 38 03 00 1F */ addi r0, r3, 0x1f /* 803B4A04 003B1964 38 03 00 1F */ addi r0, r3, 0x1f
/* 803B4A08 003B1968 80 6D AF 94 */ lwz r3, aramFreeStreamBuffers@sda21(r13) /* 803B4A08 003B1968 80 6D AF 94 */ lwz r3, aramFreeStreamBuffers@sda21(r13)
/* 803B4A0C 003B196C 54 07 00 34 */ rlwinm r7, r0, 0, 0, 0x1a /* 803B4A0C 003B196C 54 07 00 34 */ rlwinm r7, r0, 0, 0, 0x1a

View File

@ -290,8 +290,8 @@ lbl_803AA16C:
/* 803AA17C 003A70DC 38 21 00 20 */ addi r1, r1, 0x20 /* 803AA17C 003A70DC 38 21 00 20 */ addi r1, r1, 0x20
/* 803AA180 003A70E0 4E 80 00 20 */ blr /* 803AA180 003A70E0 4E 80 00 20 */ blr
.global sub_803aa184 .global dataInitStack
sub_803aa184: dataInitStack:
/* 803AA184 003A70E4 38 00 00 00 */ li r0, 0 /* 803AA184 003A70E4 38 00 00 00 */ li r0, 0
/* 803AA188 003A70E8 B0 0D AF 18 */ sth r0, sp@sda21(r13) /* 803AA188 003A70E8 B0 0D AF 18 */ sth r0, sp@sda21(r13)
/* 803AA18C 003A70EC 4E 80 00 20 */ blr /* 803AA18C 003A70EC 4E 80 00 20 */ blr

View File

@ -137,8 +137,7 @@ lbl_805AF370:
.section .text, "ax" .section .text, "ax"
.global sub_803ae800 CheckRoomStatus:
sub_803ae800:
/* 803AE800 003AB760 94 21 FF C0 */ stwu r1, -0x40(r1) /* 803AE800 003AB760 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 803AE804 003AB764 7C 08 02 A6 */ mflr r0 /* 803AE804 003AB764 7C 08 02 A6 */ mflr r0
/* 803AE808 003AB768 90 01 00 44 */ stw r0, 0x44(r1) /* 803AE808 003AB768 90 01 00 44 */ stw r0, 0x44(r1)
@ -372,13 +371,13 @@ lbl_803AEAD0:
/* 803AEB24 003ABA84 88 7E 00 1C */ lbz r3, 0x1c(r30) /* 803AEB24 003ABA84 88 7E 00 1C */ lbz r3, 0x1c(r30)
/* 803AEB28 003ABA88 38 80 00 01 */ li r4, 1 /* 803AEB28 003ABA88 38 80 00 01 */ li r4, 1
/* 803AEB2C 003ABA8C 38 A0 00 00 */ li r5, 0 /* 803AEB2C 003ABA8C 38 A0 00 00 */ li r5, 0
/* 803AEB30 003ABA90 4B FE DB 5D */ bl sub_8039c68c /* 803AEB30 003ABA90 4B FE DB 5D */ bl synthActivateStudio
/* 803AEB34 003ABA94 48 00 00 14 */ b lbl_803AEB48 /* 803AEB34 003ABA94 48 00 00 14 */ b lbl_803AEB48
lbl_803AEB38: lbl_803AEB38:
/* 803AEB38 003ABA98 88 7E 00 1C */ lbz r3, 0x1c(r30) /* 803AEB38 003ABA98 88 7E 00 1C */ lbz r3, 0x1c(r30)
/* 803AEB3C 003ABA9C 38 80 00 00 */ li r4, 0 /* 803AEB3C 003ABA9C 38 80 00 00 */ li r4, 0
/* 803AEB40 003ABAA0 38 A0 00 00 */ li r5, 0 /* 803AEB40 003ABAA0 38 A0 00 00 */ li r5, 0
/* 803AEB44 003ABAA4 4B FE DB 49 */ bl sub_8039c68c /* 803AEB44 003ABAA4 4B FE DB 49 */ bl synthActivateStudio
lbl_803AEB48: lbl_803AEB48:
/* 803AEB48 003ABAA8 81 9E 00 20 */ lwz r12, 0x20(r30) /* 803AEB48 003ABAA8 81 9E 00 20 */ lwz r12, 0x20(r30)
/* 803AEB4C 003ABAAC 28 0C 00 00 */ cmplwi r12, 0 /* 803AEB4C 003ABAAC 28 0C 00 00 */ cmplwi r12, 0
@ -420,13 +419,13 @@ lbl_803AEBA0:
/* 803AEBD4 003ABB34 88 7E 00 1C */ lbz r3, 0x1c(r30) /* 803AEBD4 003ABB34 88 7E 00 1C */ lbz r3, 0x1c(r30)
/* 803AEBD8 003ABB38 38 80 00 01 */ li r4, 1 /* 803AEBD8 003ABB38 38 80 00 01 */ li r4, 1
/* 803AEBDC 003ABB3C 38 A0 00 00 */ li r5, 0 /* 803AEBDC 003ABB3C 38 A0 00 00 */ li r5, 0
/* 803AEBE0 003ABB40 4B FE DA AD */ bl sub_8039c68c /* 803AEBE0 003ABB40 4B FE DA AD */ bl synthActivateStudio
/* 803AEBE4 003ABB44 48 00 00 14 */ b lbl_803AEBF8 /* 803AEBE4 003ABB44 48 00 00 14 */ b lbl_803AEBF8
lbl_803AEBE8: lbl_803AEBE8:
/* 803AEBE8 003ABB48 88 7E 00 1C */ lbz r3, 0x1c(r30) /* 803AEBE8 003ABB48 88 7E 00 1C */ lbz r3, 0x1c(r30)
/* 803AEBEC 003ABB4C 38 80 00 00 */ li r4, 0 /* 803AEBEC 003ABB4C 38 80 00 00 */ li r4, 0
/* 803AEBF0 003ABB50 38 A0 00 00 */ li r5, 0 /* 803AEBF0 003ABB50 38 A0 00 00 */ li r5, 0
/* 803AEBF4 003ABB54 4B FE DA 99 */ bl sub_8039c68c /* 803AEBF4 003ABB54 4B FE DA 99 */ bl synthActivateStudio
lbl_803AEBF8: lbl_803AEBF8:
/* 803AEBF8 003ABB58 80 1E 00 08 */ lwz r0, 8(r30) /* 803AEBF8 003ABB58 80 1E 00 08 */ lwz r0, 8(r30)
/* 803AEBFC 003ABB5C 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1 /* 803AEBFC 003ABB5C 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1
@ -459,13 +458,13 @@ lbl_803AEC30:
/* 803AEC64 003ABBC4 88 7E 00 1C */ lbz r3, 0x1c(r30) /* 803AEC64 003ABBC4 88 7E 00 1C */ lbz r3, 0x1c(r30)
/* 803AEC68 003ABBC8 38 80 00 01 */ li r4, 1 /* 803AEC68 003ABBC8 38 80 00 01 */ li r4, 1
/* 803AEC6C 003ABBCC 38 A0 00 00 */ li r5, 0 /* 803AEC6C 003ABBCC 38 A0 00 00 */ li r5, 0
/* 803AEC70 003ABBD0 4B FE DA 1D */ bl sub_8039c68c /* 803AEC70 003ABBD0 4B FE DA 1D */ bl synthActivateStudio
/* 803AEC74 003ABBD4 48 00 00 14 */ b lbl_803AEC88 /* 803AEC74 003ABBD4 48 00 00 14 */ b lbl_803AEC88
lbl_803AEC78: lbl_803AEC78:
/* 803AEC78 003ABBD8 88 7E 00 1C */ lbz r3, 0x1c(r30) /* 803AEC78 003ABBD8 88 7E 00 1C */ lbz r3, 0x1c(r30)
/* 803AEC7C 003ABBDC 38 80 00 00 */ li r4, 0 /* 803AEC7C 003ABBDC 38 80 00 00 */ li r4, 0
/* 803AEC80 003ABBE0 38 A0 00 00 */ li r5, 0 /* 803AEC80 003ABBE0 38 A0 00 00 */ li r5, 0
/* 803AEC84 003ABBE4 4B FE DA 09 */ bl sub_8039c68c /* 803AEC84 003ABBE4 4B FE DA 09 */ bl synthActivateStudio
lbl_803AEC88: lbl_803AEC88:
/* 803AEC88 003ABBE8 83 DE 00 00 */ lwz r30, 0(r30) /* 803AEC88 003ABBE8 83 DE 00 00 */ lwz r30, 0(r30)
lbl_803AEC8C: lbl_803AEC8C:
@ -891,7 +890,7 @@ lbl_803AF274:
/* 803AF2A8 003AC208 41 82 00 2C */ beq lbl_803AF2D4 /* 803AF2A8 003AC208 41 82 00 2C */ beq lbl_803AF2D4
/* 803AF2AC 003AC20C 88 9F 00 1C */ lbz r4, 0x1c(r31) /* 803AF2AC 003AC20C 88 9F 00 1C */ lbz r4, 0x1c(r31)
/* 803AF2B0 003AC210 54 63 06 3E */ clrlwi r3, r3, 0x18 /* 803AF2B0 003AC210 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 803AF2B4 003AC214 48 00 48 91 */ bl sub_803b3b44 /* 803AF2B4 003AC214 48 00 48 91 */ bl hwChangeStudio
/* 803AF2B8 003AC218 48 00 00 1C */ b lbl_803AF2D4 /* 803AF2B8 003AC218 48 00 00 1C */ b lbl_803AF2D4
lbl_803AF2BC: lbl_803AF2BC:
/* 803AF2BC 003AC21C 4B FE C0 A5 */ bl synthSendKeyOff /* 803AF2BC 003AC21C 4B FE C0 A5 */ bl synthSendKeyOff
@ -1669,8 +1668,8 @@ lbl_803AFD5C:
/* 803AFD84 003ACCE4 38 21 00 90 */ addi r1, r1, 0x90 /* 803AFD84 003ACCE4 38 21 00 90 */ addi r1, r1, 0x90
/* 803AFD88 003ACCE8 4E 80 00 20 */ blr /* 803AFD88 003ACCE8 4E 80 00 20 */ blr
.global sub_803afd8c .global sndRemoveListener
sub_803afd8c: sndRemoveListener:
/* 803AFD8C 003ACCEC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 803AFD8C 003ACCEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803AFD90 003ACCF0 7C 08 02 A6 */ mflr r0 /* 803AFD90 003ACCF0 7C 08 02 A6 */ mflr r0
/* 803AFD94 003ACCF4 90 01 00 14 */ stw r0, 0x14(r1) /* 803AFD94 003ACCF4 90 01 00 14 */ stw r0, 0x14(r1)
@ -1733,8 +1732,7 @@ lbl_803AFE48:
/* 803AFE54 003ACDB4 38 21 00 10 */ addi r1, r1, 0x10 /* 803AFE54 003ACDB4 38 21 00 10 */ addi r1, r1, 0x10
/* 803AFE58 003ACDB8 4E 80 00 20 */ blr /* 803AFE58 003ACDB8 4E 80 00 20 */ blr
.global sub_803afe5c AddStartingEmitter:
sub_803afe5c:
/* 803AFE5C 003ACDBC 88 CD AF 62 */ lbz r6, startGroupNum@sda21(r13) /* 803AFE5C 003ACDBC 88 CD AF 62 */ lbz r6, startGroupNum@sda21(r13)
/* 803AFE60 003ACDC0 3C 80 80 56 */ lis r4, startGroup@ha /* 803AFE60 003ACDC0 3C 80 80 56 */ lis r4, startGroup@ha
/* 803AFE64 003ACDC4 38 A4 F9 90 */ addi r5, r4, startGroup@l /* 803AFE64 003ACDC4 38 A4 F9 90 */ addi r5, r4, startGroup@l
@ -1829,8 +1827,7 @@ lbl_803AFF6C:
/* 803AFFA0 003ACF00 D0 24 00 04 */ stfs f1, 4(r4) /* 803AFFA0 003ACF00 D0 24 00 04 */ stfs f1, 4(r4)
/* 803AFFA4 003ACF04 4E 80 00 20 */ blr /* 803AFFA4 003ACF04 4E 80 00 20 */ blr
.global sub_803affa8 StartContinousEmitters:
sub_803affa8:
/* 803AFFA8 003ACF08 94 21 FF 80 */ stwu r1, -0x80(r1) /* 803AFFA8 003ACF08 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 803AFFAC 003ACF0C 7C 08 02 A6 */ mflr r0 /* 803AFFAC 003ACF0C 7C 08 02 A6 */ mflr r0
/* 803AFFB0 003ACF10 90 01 00 84 */ stw r0, 0x84(r1) /* 803AFFB0 003ACF10 90 01 00 84 */ stw r0, 0x84(r1)
@ -1841,7 +1838,7 @@ sub_803affa8:
/* 803AFFC4 003ACF24 DB A1 00 50 */ stfd f29, 0x50(r1) /* 803AFFC4 003ACF24 DB A1 00 50 */ stfd f29, 0x50(r1)
/* 803AFFC8 003ACF28 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0 /* 803AFFC8 003ACF28 F3 A1 00 58 */ psq_st f29, 88(r1), 0, qr0
/* 803AFFCC 003ACF2C 39 61 00 50 */ addi r11, r1, 0x50 /* 803AFFCC 003ACF2C 39 61 00 50 */ addi r11, r1, 0x50
/* 803AFFD0 003ACF30 4B FD 9A 99 */ bl sub_80389a68 /* 803AFFD0 003ACF30 4B FD 9A 99 */ bl _savegpr_22
/* 803AFFD4 003ACF34 3C 60 80 56 */ lis r3, startGroup@ha /* 803AFFD4 003ACF34 3C 60 80 56 */ lis r3, startGroup@ha
/* 803AFFD8 003ACF38 3B 40 00 00 */ li r26, 0 /* 803AFFD8 003ACF38 3B 40 00 00 */ li r26, 0
/* 803AFFDC 003ACF3C 3B 63 F9 90 */ addi r27, r3, startGroup@l /* 803AFFDC 003ACF3C 3B 63 F9 90 */ addi r27, r3, startGroup@l
@ -2223,7 +2220,7 @@ lbl_803B0500:
/* 803B0510 003AD470 C0 61 00 10 */ lfs f3, 0x10(r1) /* 803B0510 003AD470 C0 61 00 10 */ lfs f3, 0x10(r1)
/* 803B0514 003AD474 C0 81 00 0C */ lfs f4, 0xc(r1) /* 803B0514 003AD474 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 803B0518 003AD478 C0 A1 00 08 */ lfs f5, 8(r1) /* 803B0518 003AD478 C0 A1 00 08 */ lfs f5, 8(r1)
/* 803B051C 003AD47C 4B FF F9 41 */ bl sub_803afe5c /* 803B051C 003AD47C 4B FF F9 41 */ bl AddStartingEmitter
/* 803B0520 003AD480 28 03 00 00 */ cmplwi r3, 0 /* 803B0520 003AD480 28 03 00 00 */ cmplwi r3, 0
/* 803B0524 003AD484 40 82 04 70 */ bne lbl_803B0994 /* 803B0524 003AD484 40 82 04 70 */ bne lbl_803B0994
/* 803B0528 003AD488 48 00 00 B0 */ b lbl_803B05D8 /* 803B0528 003AD488 48 00 00 B0 */ b lbl_803B05D8
@ -2548,8 +2545,8 @@ lbl_803B0994:
lbl_803B0998: lbl_803B0998:
/* 803B0998 003AD8F8 28 1E 00 00 */ cmplwi r30, 0 /* 803B0998 003AD8F8 28 1E 00 00 */ cmplwi r30, 0
/* 803B099C 003AD8FC 40 82 FA 20 */ bne lbl_803B03BC /* 803B099C 003AD8FC 40 82 FA 20 */ bne lbl_803B03BC
/* 803B09A0 003AD900 4B FF F6 09 */ bl sub_803affa8 /* 803B09A0 003AD900 4B FF F6 09 */ bl StartContinousEmitters
/* 803B09A4 003AD904 4B FF DE 5D */ bl sub_803ae800 /* 803B09A4 003AD904 4B FF DE 5D */ bl CheckRoomStatus
/* 803B09A8 003AD908 83 ED AF 6C */ lwz r31, s3dDoorRoot@sda21(r13) /* 803B09A8 003AD908 83 ED AF 6C */ lwz r31, s3dDoorRoot@sda21(r13)
/* 803B09AC 003AD90C 48 00 01 A0 */ b lbl_803B0B4C /* 803B09AC 003AD90C 48 00 01 A0 */ b lbl_803B0B4C
lbl_803B09B0: lbl_803B09B0:
@ -2594,7 +2591,7 @@ lbl_803B09B0:
/* 803B0A48 003AD9A8 98 1F 00 37 */ stb r0, 0x37(r31) /* 803B0A48 003AD9A8 98 1F 00 37 */ stb r0, 0x37(r31)
/* 803B0A4C 003AD9AC 80 7F 00 20 */ lwz r3, 0x20(r31) /* 803B0A4C 003AD9AC 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 803B0A50 003AD9B0 88 63 00 1C */ lbz r3, 0x1c(r3) /* 803B0A50 003AD9B0 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 803B0A54 003AD9B4 4B FE BD D1 */ bl sub_8039c824 /* 803B0A54 003AD9B4 4B FE BD D1 */ bl synthAddStudioInput
/* 803B0A58 003AD9B8 48 00 00 20 */ b lbl_803B0A78 /* 803B0A58 003AD9B8 48 00 00 20 */ b lbl_803B0A78
lbl_803B0A5C: lbl_803B0A5C:
/* 803B0A5C 003AD9BC 80 7F 00 20 */ lwz r3, 0x20(r31) /* 803B0A5C 003AD9BC 80 7F 00 20 */ lwz r3, 0x20(r31)
@ -2603,7 +2600,7 @@ lbl_803B0A5C:
/* 803B0A68 003AD9C8 98 1F 00 37 */ stb r0, 0x37(r31) /* 803B0A68 003AD9C8 98 1F 00 37 */ stb r0, 0x37(r31)
/* 803B0A6C 003AD9CC 80 7F 00 24 */ lwz r3, 0x24(r31) /* 803B0A6C 003AD9CC 80 7F 00 24 */ lwz r3, 0x24(r31)
/* 803B0A70 003AD9D0 88 63 00 1C */ lbz r3, 0x1c(r3) /* 803B0A70 003AD9D0 88 63 00 1C */ lbz r3, 0x1c(r3)
/* 803B0A74 003AD9D4 4B FE BD B1 */ bl sub_8039c824 /* 803B0A74 003AD9D4 4B FE BD B1 */ bl synthAddStudioInput
lbl_803B0A78: lbl_803B0A78:
/* 803B0A78 003AD9D8 80 1F 00 28 */ lwz r0, 0x28(r31) /* 803B0A78 003AD9D8 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 803B0A7C 003AD9DC 64 00 80 00 */ oris r0, r0, 0x8000 /* 803B0A7C 003AD9DC 64 00 80 00 */ oris r0, r0, 0x8000
@ -2635,7 +2632,7 @@ lbl_803B0ABC:
lbl_803B0AD8: lbl_803B0AD8:
/* 803B0AD8 003ADA38 88 7F 00 1D */ lbz r3, 0x1d(r31) /* 803B0AD8 003ADA38 88 7F 00 1D */ lbz r3, 0x1d(r31)
/* 803B0ADC 003ADA3C 38 9F 00 34 */ addi r4, r31, 0x34 /* 803B0ADC 003ADA3C 38 9F 00 34 */ addi r4, r31, 0x34
/* 803B0AE0 003ADA40 4B FE BD 65 */ bl sub_8039c844 /* 803B0AE0 003ADA40 4B FE BD 65 */ bl synthRemoveStudioInput
lbl_803B0AE4: lbl_803B0AE4:
/* 803B0AE4 003ADA44 80 1F 00 28 */ lwz r0, 0x28(r31) /* 803B0AE4 003ADA44 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 803B0AE8 003ADA48 54 00 00 7E */ clrlwi r0, r0, 1 /* 803B0AE8 003ADA48 54 00 00 7E */ clrlwi r0, r0, 1
@ -2682,8 +2679,8 @@ lbl_803B0B54:
/* 803B0B7C 003ADADC 38 21 00 90 */ addi r1, r1, 0x90 /* 803B0B7C 003ADADC 38 21 00 90 */ addi r1, r1, 0x90
/* 803B0B80 003ADAE0 4E 80 00 20 */ blr /* 803B0B80 003ADAE0 4E 80 00 20 */ blr
.global sub_803b0b84 .global s3dInit
sub_803b0b84: s3dInit:
/* 803B0B84 003ADAE4 38 A0 00 00 */ li r5, 0 /* 803B0B84 003ADAE4 38 A0 00 00 */ li r5, 0
/* 803B0B88 003ADAE8 54 60 FF FE */ rlwinm r0, r3, 0x1f, 0x1f, 0x1f /* 803B0B88 003ADAE8 54 60 FF FE */ rlwinm r0, r3, 0x1f, 0x1f, 0x1f
/* 803B0B8C 003ADAEC 38 80 00 01 */ li r4, 1 /* 803B0B8C 003ADAEC 38 80 00 01 */ li r4, 1

View File

@ -1,97 +0,0 @@
.include "macros.inc"
.section .text, "ax"
.global sndInit
sndInit:
/* 803B0BC0 003ADB20 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 803B0BC4 003ADB24 7C 08 02 A6 */ mflr r0
/* 803B0BC8 003ADB28 39 20 00 00 */ li r9, 0
/* 803B0BCC 003ADB2C 90 01 00 24 */ stw r0, 0x24(r1)
/* 803B0BD0 003ADB30 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 803B0BD4 003ADB34 28 00 00 40 */ cmplwi r0, 0x40
/* 803B0BD8 003ADB38 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 803B0BDC 003ADB3C 7D 1F 43 78 */ mr r31, r8
/* 803B0BE0 003ADB40 93 C1 00 18 */ stw r30, 0x18(r1)
/* 803B0BE4 003ADB44 7C FE 3B 78 */ mr r30, r7
/* 803B0BE8 003ADB48 93 A1 00 14 */ stw r29, 0x14(r1)
/* 803B0BEC 003ADB4C 99 2D AE 48 */ stb r9, sndActive@sda21(r13)
/* 803B0BF0 003ADB50 41 81 00 14 */ bgt lbl_803B0C04
/* 803B0BF4 003ADB54 3C E0 80 55 */ lis r7, synthInfo@ha
/* 803B0BF8 003ADB58 38 E7 00 50 */ addi r7, r7, synthInfo@l
/* 803B0BFC 003ADB5C 98 67 02 10 */ stb r3, 0x210(r7)
/* 803B0C00 003ADB60 48 00 00 14 */ b lbl_803B0C14
lbl_803B0C04:
/* 803B0C04 003ADB64 3C 60 80 55 */ lis r3, synthInfo@ha
/* 803B0C08 003ADB68 38 00 00 40 */ li r0, 0x40
/* 803B0C0C 003ADB6C 38 63 00 50 */ addi r3, r3, synthInfo@l
/* 803B0C10 003ADB70 98 03 02 10 */ stb r0, 0x210(r3)
lbl_803B0C14:
/* 803B0C14 003ADB74 54 C0 06 3E */ clrlwi r0, r6, 0x18
/* 803B0C18 003ADB78 28 00 00 08 */ cmplwi r0, 8
/* 803B0C1C 003ADB7C 41 81 00 14 */ bgt lbl_803B0C30
/* 803B0C20 003ADB80 3C 60 80 55 */ lis r3, synthInfo@ha
/* 803B0C24 003ADB84 38 63 00 50 */ addi r3, r3, synthInfo@l
/* 803B0C28 003ADB88 98 C3 02 13 */ stb r6, 0x213(r3)
/* 803B0C2C 003ADB8C 48 00 00 14 */ b lbl_803B0C40
lbl_803B0C30:
/* 803B0C30 003ADB90 3C 60 80 55 */ lis r3, synthInfo@ha
/* 803B0C34 003ADB94 38 00 00 08 */ li r0, 8
/* 803B0C38 003ADB98 38 63 00 50 */ addi r3, r3, synthInfo@l
/* 803B0C3C 003ADB9C 98 03 02 13 */ stb r0, 0x213(r3)
lbl_803B0C40:
/* 803B0C40 003ADBA0 3C 60 80 55 */ lis r3, synthInfo@ha
/* 803B0C44 003ADBA4 38 00 7D 00 */ li r0, 0x7d00
/* 803B0C48 003ADBA8 3B A3 00 50 */ addi r29, r3, synthInfo@l
/* 803B0C4C 003ADBAC 90 01 00 08 */ stw r0, 8(r1)
/* 803B0C50 003ADBB0 7F C6 F3 78 */ mr r6, r30
/* 803B0C54 003ADBB4 38 61 00 08 */ addi r3, r1, 8
/* 803B0C58 003ADBB8 98 9D 02 11 */ stb r4, 0x211(r29)
/* 803B0C5C 003ADBBC 88 9D 02 10 */ lbz r4, 0x210(r29)
/* 803B0C60 003ADBC0 98 BD 02 12 */ stb r5, 0x212(r29)
/* 803B0C64 003ADBC4 88 BD 02 13 */ lbz r5, 0x213(r29)
/* 803B0C68 003ADBC8 48 00 24 39 */ bl sub_803b30a0
/* 803B0C6C 003ADBCC 2C 03 00 00 */ cmpwi r3, 0
/* 803B0C70 003ADBD0 40 82 00 4C */ bne lbl_803B0CBC
/* 803B0C74 003ADBD4 8B BD 02 10 */ lbz r29, 0x210(r29)
/* 803B0C78 003ADBD8 4B FF 95 0D */ bl sub_803aa184
/* 803B0C7C 003ADBDC 7F E4 FB 78 */ mr r4, r31
/* 803B0C80 003ADBE0 38 60 00 00 */ li r3, 0
/* 803B0C84 003ADBE4 4B FF 1C 3D */ bl dataInit
/* 803B0C88 003ADBE8 4B FE 7E 71 */ bl seqInit
/* 803B0C8C 003ADBEC 38 00 00 00 */ li r0, 0
/* 803B0C90 003ADBF0 7F A4 EB 78 */ mr r4, r29
/* 803B0C94 003ADBF4 98 0D AE 80 */ stb r0, synthIdleWaitActive@sda21(r13)
/* 803B0C98 003ADBF8 38 60 7D 00 */ li r3, 0x7d00
/* 803B0C9C 003ADBFC 4B FE AD C9 */ bl synthInit
/* 803B0CA0 003ADC00 4B FE BB C5 */ bl streamInit
/* 803B0CA4 003ADC04 4B FF 8D 2D */ bl vsInit
/* 803B0CA8 003ADC08 7F C3 F3 78 */ mr r3, r30
/* 803B0CAC 003ADC0C 4B FF FE D9 */ bl sub_803b0b84
/* 803B0CB0 003ADC10 38 00 00 01 */ li r0, 1
/* 803B0CB4 003ADC14 38 60 00 00 */ li r3, 0
/* 803B0CB8 003ADC18 98 0D AE 48 */ stb r0, sndActive@sda21(r13)
lbl_803B0CBC:
/* 803B0CBC 003ADC1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 803B0CC0 003ADC20 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 803B0CC4 003ADC24 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 803B0CC8 003ADC28 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 803B0CCC 003ADC2C 7C 08 03 A6 */ mtlr r0
/* 803B0CD0 003ADC30 38 21 00 20 */ addi r1, r1, 0x20
/* 803B0CD4 003ADC34 4E 80 00 20 */ blr
.global sndQuit
sndQuit:
/* 803B0CD8 003ADC38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 803B0CDC 003ADC3C 7C 08 02 A6 */ mflr r0
/* 803B0CE0 003ADC40 90 01 00 14 */ stw r0, 0x14(r1)
/* 803B0CE4 003ADC44 48 00 24 75 */ bl hwExit
/* 803B0CE8 003ADC48 4B FF 1C BD */ bl dataExit
/* 803B0CEC 003ADC4C 4B FF FE D1 */ bl s3dExit
/* 803B0CF0 003ADC50 4B FE B2 E9 */ bl synthExit
/* 803B0CF4 003ADC54 38 00 00 00 */ li r0, 0
/* 803B0CF8 003ADC58 98 0D AE 48 */ stb r0, sndActive@sda21(r13)
/* 803B0CFC 003ADC5C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 803B0D00 003ADC60 7C 08 03 A6 */ mtlr r0
/* 803B0D04 003ADC64 38 21 00 10 */ addi r1, r1, 0x10
/* 803B0D08 003ADC68 4E 80 00 20 */ blr

View File

@ -276,7 +276,7 @@ sndSetAuxProcessingCallbacks:
/* 8039C538 00399498 7C 08 02 A6 */ mflr r0 /* 8039C538 00399498 7C 08 02 A6 */ mflr r0
/* 8039C53C 0039949C 90 01 00 34 */ stw r0, 0x34(r1) /* 8039C53C 0039949C 90 01 00 34 */ stw r0, 0x34(r1)
/* 8039C540 003994A0 39 61 00 30 */ addi r11, r1, 0x30 /* 8039C540 003994A0 39 61 00 30 */ addi r11, r1, 0x30
/* 8039C544 003994A4 4B FE D5 25 */ bl sub_80389a68 /* 8039C544 003994A4 4B FE D5 25 */ bl _savegpr_22
/* 8039C548 003994A8 83 E1 00 38 */ lwz r31, 0x38(r1) /* 8039C548 003994A8 83 E1 00 38 */ lwz r31, 0x38(r1)
/* 8039C54C 003994AC 7C 79 1B 78 */ mr r25, r3 /* 8039C54C 003994AC 7C 79 1B 78 */ mr r25, r3
/* 8039C550 003994B0 7C 9A 23 78 */ mr r26, r4 /* 8039C550 003994B0 7C 9A 23 78 */ mr r26, r4
@ -363,8 +363,8 @@ lbl_8039C658:
/* 8039C684 003995E4 38 21 00 30 */ addi r1, r1, 0x30 /* 8039C684 003995E4 38 21 00 30 */ addi r1, r1, 0x30
/* 8039C688 003995E8 4E 80 00 20 */ blr /* 8039C688 003995E8 4E 80 00 20 */ blr
.global sub_8039c68c .global synthActivateStudio
sub_8039c68c: synthActivateStudio:
/* 8039C68C 003995EC 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8039C68C 003995EC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8039C690 003995F0 7C 08 02 A6 */ mflr r0 /* 8039C690 003995F0 7C 08 02 A6 */ mflr r0
/* 8039C694 003995F4 90 01 00 24 */ stw r0, 0x24(r1) /* 8039C694 003995F4 90 01 00 24 */ stw r0, 0x24(r1)
@ -475,8 +475,8 @@ lbl_8039C7B8:
/* 8039C81C 0039977C 38 21 00 20 */ addi r1, r1, 0x20 /* 8039C81C 0039977C 38 21 00 20 */ addi r1, r1, 0x20
/* 8039C820 00399780 4E 80 00 20 */ blr /* 8039C820 00399780 4E 80 00 20 */ blr
.global sub_8039c824 .global synthAddStudioInput
sub_8039c824: synthAddStudioInput:
/* 8039C824 00399784 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8039C824 00399784 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8039C828 00399788 7C 08 02 A6 */ mflr r0 /* 8039C828 00399788 7C 08 02 A6 */ mflr r0
/* 8039C82C 0039978C 90 01 00 14 */ stw r0, 0x14(r1) /* 8039C82C 0039978C 90 01 00 14 */ stw r0, 0x14(r1)
@ -486,8 +486,8 @@ sub_8039c824:
/* 8039C83C 0039979C 38 21 00 10 */ addi r1, r1, 0x10 /* 8039C83C 0039979C 38 21 00 10 */ addi r1, r1, 0x10
/* 8039C840 003997A0 4E 80 00 20 */ blr /* 8039C840 003997A0 4E 80 00 20 */ blr
.global sub_8039c844 .global synthRemoveStudioInput
sub_8039c844: synthRemoveStudioInput:
/* 8039C844 003997A4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8039C844 003997A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8039C848 003997A8 7C 08 02 A6 */ mflr r0 /* 8039C848 003997A8 7C 08 02 A6 */ mflr r0
/* 8039C84C 003997AC 90 01 00 14 */ stw r0, 0x14(r1) /* 8039C84C 003997AC 90 01 00 14 */ stw r0, 0x14(r1)

View File

@ -642,7 +642,7 @@ voiceAllocateFind:
/* 803A7E48 003A4DA8 7C 08 02 A6 */ mflr r0 /* 803A7E48 003A4DA8 7C 08 02 A6 */ mflr r0
/* 803A7E4C 003A4DAC 90 01 00 34 */ stw r0, 0x34(r1) /* 803A7E4C 003A4DAC 90 01 00 34 */ stw r0, 0x34(r1)
/* 803A7E50 003A4DB0 39 61 00 30 */ addi r11, r1, 0x30 /* 803A7E50 003A4DB0 39 61 00 30 */ addi r11, r1, 0x30
/* 803A7E54 003A4DB4 4B FE 1C 15 */ bl sub_80389a68 /* 803A7E54 003A4DB4 4B FE 1C 15 */ bl _savegpr_22
/* 803A7E58 003A4DB8 88 0D AE 80 */ lbz r0, synthIdleWaitActive@sda21(r13) /* 803A7E58 003A4DB8 88 0D AE 80 */ lbz r0, synthIdleWaitActive@sda21(r13)
/* 803A7E5C 003A4DBC 3C E0 80 56 */ lis r7, vidList@ha /* 803A7E5C 003A4DBC 3C E0 80 56 */ lis r7, vidList@ha
/* 803A7E60 003A4DC0 39 07 D3 50 */ addi r8, r7, vidList@l /* 803A7E60 003A4DC0 39 07 D3 50 */ addi r8, r7, vidList@l

View File

@ -1 +1 @@
ff911f112580c8b58dc8e5a39393a364055e5e16 bc6c77af9c56238601999a98afd7cb53c1f1ec4e

22
include/musyx/musyx.h Normal file
View File

@ -0,0 +1,22 @@
#ifndef MUSYX_H
#define MUSYX_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _SynthInfo {
u8 unk[0x210];
u8 voices;
u8 music;
u8 sfx;
u8 studios;
} SynthInfo;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,26 @@
#ifndef MUSYX_PRIV_H
#define MUSYX_PRIV_H
#include "types.h"
#ifdef __cplusplus
extern "C" {
#endif
void dataInit(u32, s32); /* extern */
void dataInitStack(); /* extern */
s32 hwInit(s32*, u8, u8, s32); /* extern */
void s3dInit(s32); /* extern */
void seqInit(); /* extern */
void streamInit(); /* extern */
void synthInit(u32, u8); /* extern */
void vsInit(); /* extern */
void hwExit();
void dataExit();
void s3dExit();
void synthExit();
#ifdef __cplusplus
}
#endif
#endif

View File

@ -172,7 +172,7 @@ MUSYX_FILES :=\
$(BUILD_DIR)/asm/musyx/hw_dspctrl.o\ $(BUILD_DIR)/asm/musyx/hw_dspctrl.o\
$(BUILD_DIR)/asm/musyx/hw_volconv.o\ $(BUILD_DIR)/asm/musyx/hw_volconv.o\
$(BUILD_DIR)/asm/musyx/snd3d.o\ $(BUILD_DIR)/asm/musyx/snd3d.o\
$(BUILD_DIR)/asm/musyx/snd_init.o\ $(BUILD_DIR)/src/musyx/snd_init.o\
$(BUILD_DIR)/asm/musyx/snd_math.o\ $(BUILD_DIR)/asm/musyx/snd_math.o\
$(BUILD_DIR)/asm/musyx/snd_midictrl.o\ $(BUILD_DIR)/asm/musyx/snd_midictrl.o\
$(BUILD_DIR)/asm/musyx/snd_service.o\ $(BUILD_DIR)/asm/musyx/snd_service.o\

36
src/musyx/snd3d.c Normal file
View File

@ -0,0 +1,36 @@
#include "musyx/musyx.h"
#ifdef __cplusplus
extern "C" {
#endif
s8 s3dCallCnt;
s32 s3dDoorRoot;
s32 s3dEmitterRoot;
s32 s3dListenerRoot;
s32 s3dRoomRoot;
s8 s3dUseMaxVoices;
s8 snd_base_studio;
s8 snd_max_studios;
s32 snd_used_studios;
void s3dInit(s32 flags) {
s3dEmitterRoot = 0;
s3dListenerRoot = 0;
s3dRoomRoot = 0;
s3dDoorRoot = 0;
snd_used_studios = 0;
snd_base_studio = 1;
snd_max_studios = 3;
s3dCallCnt = 0;
s3dUseMaxVoices = (flags >> 1) & 1;
}
void s3dExit() {
}
#ifdef __cplusplus
extern "C" {
#endif

62
src/musyx/snd_init.c Normal file
View File

@ -0,0 +1,62 @@
#include "musyx/musyx.h"
#include "musyx/musyx_priv.h"
#ifdef __cplusplus
extern "C" {
#endif
/* TODO: Move these to a more approprate location */
extern s8 sndActive;
extern s8 synthIdleWaitActive;
extern SynthInfo synthInfo;
inline s32 DoInit(u32 rate, u32 aramSize, u8 voices, u32 flags) {
dataInitStack();
dataInit(0, aramSize);
seqInit();
synthIdleWaitActive = 0;
synthInit(rate, voices);
streamInit();
vsInit();
s3dInit(flags);
sndActive = 1;
return 0;
}
s32 sndInit(u8 voices, u8 music, u8 sfx, u8 studios, s32 flags, s32 aramSize) {
s32 rate;
s32 ret;
sndActive = 0;
if (64 >= voices) {
synthInfo.voices = voices;
} else {
synthInfo.voices = 64;
}
if (8 >= studios) {
synthInfo.studios = studios;
} else {
synthInfo.studios = 8;
}
rate = 32000;
synthInfo.music = music;
synthInfo.sfx = sfx;
ret = hwInit(&rate, synthInfo.voices, synthInfo.studios, flags);
if (ret == 0) {
ret = DoInit(32000, aramSize, synthInfo.voices, flags);
}
return ret;
}
void sndQuit() {
hwExit();
dataExit();
s3dExit();
synthExit();
sndActive = 0;
}
#ifdef __cplusplus
}
#endif