tp/include/Z2AudioLib/Z2Audience/asm/func_802BC8AC.s

219 lines
12 KiB
ArmAsm

/* 802BC8AC 002B97EC 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 802BC8B0 002B97F0 7C 08 02 A6 */ mflr r0
/* 802BC8B4 002B97F4 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 802BC8B8 002B97F8 DB E1 00 D0 */ stfd f31, 0xd0(r1)
/* 802BC8BC 002B97FC F3 E1 00 D8 */ psq_st f31, 216(r1), 0, 0
/* 802BC8C0 002B9800 DB C1 00 C0 */ stfd f30, 0xc0(r1)
/* 802BC8C4 002B9804 F3 C1 00 C8 */ psq_st f30, 200(r1), 0, 0
/* 802BC8C8 002B9808 DB A1 00 B0 */ stfd f29, 0xb0(r1)
/* 802BC8CC 002B980C F3 A1 00 B8 */ psq_st f29, 184(r1), 0, 0
/* 802BC8D0 002B9810 DB 81 00 A0 */ stfd f28, 0xa0(r1)
/* 802BC8D4 002B9814 F3 81 00 A8 */ psq_st f28, 168(r1), 0, 0
/* 802BC8D8 002B9818 DB 61 00 90 */ stfd f27, 0x90(r1)
/* 802BC8DC 002B981C F3 61 00 98 */ psq_st f27, 152(r1), 0, 0
/* 802BC8E0 002B9820 39 61 00 90 */ addi r11, r1, 0x90
/* 802BC8E4 002B9824 48 0A 58 F1 */ bl _savegpr_27
/* 802BC8E8 002B9828 7C 7B 1B 78 */ mr r27, r3
/* 802BC8EC 002B982C 7C 9C 23 78 */ mr r28, r4
/* 802BC8F0 002B9830 7C BD 2B 78 */ mr r29, r5
/* 802BC8F4 002B9834 FF 60 08 90 */ fmr f27, f1
/* 802BC8F8 002B9838 FF 80 10 90 */ fmr f28, f2
/* 802BC8FC 002B983C 7C FE 3B 78 */ mr r30, r7
/* 802BC900 002B9840 7D 1F 43 78 */ mr r31, r8
/* 802BC904 002B9844 7C C3 33 78 */ mr r3, r6
/* 802BC908 002B9848 7F A4 EB 78 */ mr r4, r29
/* 802BC90C 002B984C 38 A1 00 20 */ addi r5, r1, 0x20
/* 802BC910 002B9850 48 08 A7 A5 */ bl PSVECSubtract
/* 802BC914 002B9854 38 61 00 20 */ addi r3, r1, 0x20
/* 802BC918 002B9858 48 08 A8 39 */ bl PSVECMag
/* 802BC91C 002B985C D0 3B 00 64 */ stfs f1, 0x64(r27)
/* 802BC920 002B9860 C0 02 C0 A8 */ lfs f0, lbl_80455AA8-_SDA2_BASE_(r2)
/* 802BC924 002B9864 EF A0 06 F2 */ fmuls f29, f0, f27
/* 802BC928 002B9868 C0 02 C0 A0 */ lfs f0, lbl_80455AA0-_SDA2_BASE_(r2)
/* 802BC92C 002B986C FC 1D 00 40 */ fcmpo cr0, f29, f0
/* 802BC930 002B9870 40 80 00 30 */ bge lbl_802BC960
/* 802BC934 002B9874 C0 02 C1 08 */ lfs f0, lbl_80455B08-_SDA2_BASE_(r2)
/* 802BC938 002B9878 EC 00 07 72 */ fmuls f0, f0, f29
/* 802BC93C 002B987C FC 00 00 1E */ fctiwz f0, f0
/* 802BC940 002B9880 D8 01 00 60 */ stfd f0, 0x60(r1)
/* 802BC944 002B9884 80 01 00 64 */ lwz r0, 0x64(r1)
/* 802BC948 002B9888 54 00 1C 38 */ rlwinm r0, r0, 3, 0x10, 0x1c
/* 802BC94C 002B988C 3C 60 80 44 */ lis r3, lbl_80439A20@ha
/* 802BC950 002B9890 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
/* 802BC954 002B9894 7C 03 04 2E */ lfsx f0, r3, r0
/* 802BC958 002B9898 FC 00 00 50 */ fneg f0, f0
/* 802BC95C 002B989C 48 00 00 28 */ b lbl_802BC984
lbl_802BC960:
/* 802BC960 002B98A0 C0 02 C1 0C */ lfs f0, lbl_80455B0C-_SDA2_BASE_(r2)
/* 802BC964 002B98A4 EC 00 07 72 */ fmuls f0, f0, f29
/* 802BC968 002B98A8 FC 00 00 1E */ fctiwz f0, f0
/* 802BC96C 002B98AC D8 01 00 68 */ stfd f0, 0x68(r1)
/* 802BC970 002B98B0 80 01 00 6C */ lwz r0, 0x6c(r1)
/* 802BC974 002B98B4 54 00 1C 38 */ rlwinm r0, r0, 3, 0x10, 0x1c
/* 802BC978 002B98B8 3C 60 80 44 */ lis r3, lbl_80439A20@ha
/* 802BC97C 002B98BC 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
/* 802BC980 002B98C0 7C 03 04 2E */ lfsx f0, r3, r0
lbl_802BC984:
/* 802BC984 002B98C4 D0 1B 00 54 */ stfs f0, 0x54(r27)
/* 802BC988 002B98C8 FC 20 E8 90 */ fmr f1, f29
/* 802BC98C 002B98CC C0 02 C0 A0 */ lfs f0, lbl_80455AA0-_SDA2_BASE_(r2)
/* 802BC990 002B98D0 FC 1D 00 40 */ fcmpo cr0, f29, f0
/* 802BC994 002B98D4 40 80 00 08 */ bge lbl_802BC99C
/* 802BC998 002B98D8 FC 20 E8 50 */ fneg f1, f29
lbl_802BC99C:
/* 802BC99C 002B98DC 3C 60 80 44 */ lis r3, lbl_80439A20@ha
/* 802BC9A0 002B98E0 38 63 9A 20 */ addi r3, r3, lbl_80439A20@l
/* 802BC9A4 002B98E4 C0 02 C1 0C */ lfs f0, lbl_80455B0C-_SDA2_BASE_(r2)
/* 802BC9A8 002B98E8 EC 00 00 72 */ fmuls f0, f0, f1
/* 802BC9AC 002B98EC FC 00 00 1E */ fctiwz f0, f0
/* 802BC9B0 002B98F0 D8 01 00 70 */ stfd f0, 0x70(r1)
/* 802BC9B4 002B98F4 80 01 00 74 */ lwz r0, 0x74(r1)
/* 802BC9B8 002B98F8 54 00 1C 38 */ rlwinm r0, r0, 3, 0x10, 0x1c
/* 802BC9BC 002B98FC 7C 63 02 14 */ add r3, r3, r0
/* 802BC9C0 002B9900 C3 C3 00 04 */ lfs f30, 4(r3)
/* 802BC9C4 002B9904 C0 1B 00 54 */ lfs f0, 0x54(r27)
/* 802BC9C8 002B9908 EC 00 F0 24 */ fdivs f0, f0, f30
/* 802BC9CC 002B990C D0 1B 00 6C */ stfs f0, 0x6c(r27)
/* 802BC9D0 002B9910 C0 1B 00 6C */ lfs f0, 0x6c(r27)
/* 802BC9D4 002B9914 EC 00 07 32 */ fmuls f0, f0, f28
/* 802BC9D8 002B9918 D0 1B 00 68 */ stfs f0, 0x68(r27)
/* 802BC9DC 002B991C C0 02 C1 10 */ lfs f0, lbl_80455B10-_SDA2_BASE_(r2)
/* 802BC9E0 002B9920 FC 1B 00 40 */ fcmpo cr0, f27, f0
/* 802BC9E4 002B9924 4C 41 13 82 */ cror 2, 1, 2
/* 802BC9E8 002B9928 40 82 00 14 */ bne lbl_802BC9FC
/* 802BC9EC 002B992C C0 02 C0 A0 */ lfs f0, lbl_80455AA0-_SDA2_BASE_(r2)
/* 802BC9F0 002B9930 D0 1B 00 58 */ stfs f0, 0x58(r27)
/* 802BC9F4 002B9934 C0 7B 00 64 */ lfs f3, 0x64(r27)
/* 802BC9F8 002B9938 48 00 00 44 */ b lbl_802BCA3C
lbl_802BC9FC:
/* 802BC9FC 002B993C C0 22 C1 14 */ lfs f1, lbl_80455B14-_SDA2_BASE_(r2)
/* 802BCA00 002B9940 C0 5B 00 64 */ lfs f2, 0x64(r27)
/* 802BCA04 002B9944 C0 1B 00 6C */ lfs f0, 0x6c(r27)
/* 802BCA08 002B9948 EC 02 00 32 */ fmuls f0, f2, f0
/* 802BCA0C 002B994C EC 61 00 32 */ fmuls f3, f1, f0
/* 802BCA10 002B9950 EC 02 18 28 */ fsubs f0, f2, f3
/* 802BCA14 002B9954 D0 1B 00 58 */ stfs f0, 0x58(r27)
/* 802BCA18 002B9958 C0 5B 00 58 */ lfs f2, 0x58(r27)
/* 802BCA1C 002B995C C0 22 C1 18 */ lfs f1, lbl_80455B18-_SDA2_BASE_(r2)
/* 802BCA20 002B9960 3C 60 80 45 */ lis r3, lbl_80450AEC@ha
/* 802BCA24 002B9964 C0 03 0A EC */ lfs f0, lbl_80450AEC@l(r3)
/* 802BCA28 002B9968 EC 01 00 32 */ fmuls f0, f1, f0
/* 802BCA2C 002B996C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802BCA30 002B9970 40 80 00 0C */ bge lbl_802BCA3C
/* 802BCA34 002B9974 C0 02 C0 A0 */ lfs f0, lbl_80455AA0-_SDA2_BASE_(r2)
/* 802BCA38 002B9978 D0 1B 00 58 */ stfs f0, 0x58(r27)
lbl_802BCA3C:
/* 802BCA3C 002B997C 88 1B 00 70 */ lbz r0, 0x70(r27)
/* 802BCA40 002B9980 28 00 00 00 */ cmplwi r0, 0
/* 802BCA44 002B9984 41 82 00 4C */ beq lbl_802BCA90
/* 802BCA48 002B9988 C0 5B 00 5C */ lfs f2, 0x5c(r27)
/* 802BCA4C 002B998C C0 02 C0 A0 */ lfs f0, lbl_80455AA0-_SDA2_BASE_(r2)
/* 802BCA50 002B9990 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 802BCA54 002B9994 40 81 00 3C */ ble lbl_802BCA90
/* 802BCA58 002B9998 C0 2D 82 58 */ lfs f1, lbl_804507D8-_SDA_BASE_(r13)
/* 802BCA5C 002B999C C0 02 C0 A4 */ lfs f0, lbl_80455AA4-_SDA2_BASE_(r2)
/* 802BCA60 002B99A0 EC 40 10 28 */ fsubs f2, f0, f2
/* 802BCA64 002B99A4 EC 01 00 B2 */ fmuls f0, f1, f2
/* 802BCA68 002B99A8 FC 03 00 40 */ fcmpo cr0, f3, f0
/* 802BCA6C 002B99AC 40 81 00 18 */ ble lbl_802BCA84
/* 802BCA70 002B99B0 80 6D 85 C4 */ lwz r3, lbl_80450B44-_SDA_BASE_(r13)
/* 802BCA74 002B99B4 38 63 00 0C */ addi r3, r3, 0xc
/* 802BCA78 002B99B8 EC 23 10 24 */ fdivs f1, f3, f2
/* 802BCA7C 002B99BC 4B FF FA 55 */ bl Z2Audience3DSetting_NS_updateVolumeDist
/* 802BCA80 002B99C0 48 00 00 10 */ b lbl_802BCA90
lbl_802BCA84:
/* 802BCA84 002B99C4 80 6D 85 C4 */ lwz r3, lbl_80450B44-_SDA_BASE_(r13)
/* 802BCA88 002B99C8 38 63 00 0C */ addi r3, r3, 0xc
/* 802BCA8C 002B99CC 4B FF F8 7D */ bl Z2Audience3DSetting_NS_initVolumeDist
lbl_802BCA90:
/* 802BCA90 002B99D0 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 802BCA94 002B99D4 40 82 00 18 */ bne lbl_802BCAAC
/* 802BCA98 002B99D8 C0 21 00 24 */ lfs f1, 0x24(r1)
/* 802BCA9C 002B99DC C0 02 C0 A0 */ lfs f0, lbl_80455AA0-_SDA2_BASE_(r2)
/* 802BCAA0 002B99E0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 802BCAA4 002B99E4 4C 41 13 82 */ cror 2, 1, 2
/* 802BCAA8 002B99E8 40 82 00 30 */ bne lbl_802BCAD8
lbl_802BCAAC:
/* 802BCAAC 002B99EC C0 02 C1 1C */ lfs f0, lbl_80455B1C-_SDA2_BASE_(r2)
/* 802BCAB0 002B99F0 D0 1B 00 60 */ stfs f0, 0x60(r27)
/* 802BCAB4 002B99F4 88 1B 00 70 */ lbz r0, 0x70(r27)
/* 802BCAB8 002B99F8 28 00 00 00 */ cmplwi r0, 0
/* 802BCABC 002B99FC 41 82 00 DC */ beq lbl_802BCB98
/* 802BCAC0 002B9A00 80 6D 85 C4 */ lwz r3, lbl_80450B44-_SDA_BASE_(r13)
/* 802BCAC4 002B9A04 38 63 00 0C */ addi r3, r3, 0xc
/* 802BCAC8 002B9A08 C0 3B 00 64 */ lfs f1, 0x64(r27)
/* 802BCACC 002B9A0C FC 40 08 90 */ fmr f2, f1
/* 802BCAD0 002B9A10 4B FF FC 29 */ bl Z2Audience3DSetting_NS_updateDolbyDist
/* 802BCAD4 002B9A14 48 00 00 C4 */ b lbl_802BCB98
lbl_802BCAD8:
/* 802BCAD8 002B9A18 3C 60 80 3A */ lis r3, lbl_8039C220@ha
/* 802BCADC 002B9A1C 38 83 C2 20 */ addi r4, r3, lbl_8039C220@l
/* 802BCAE0 002B9A20 80 64 00 00 */ lwz r3, 0(r4)
/* 802BCAE4 002B9A24 80 04 00 04 */ lwz r0, 4(r4)
/* 802BCAE8 002B9A28 90 61 00 14 */ stw r3, 0x14(r1)
/* 802BCAEC 002B9A2C 90 01 00 18 */ stw r0, 0x18(r1)
/* 802BCAF0 002B9A30 80 04 00 08 */ lwz r0, 8(r4)
/* 802BCAF4 002B9A34 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802BCAF8 002B9A38 C0 1C 00 00 */ lfs f0, 0(r28)
/* 802BCAFC 002B9A3C D0 01 00 14 */ stfs f0, 0x14(r1)
/* 802BCB00 002B9A40 C0 1C 00 04 */ lfs f0, 4(r28)
/* 802BCB04 002B9A44 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802BCB08 002B9A48 C0 1C 00 08 */ lfs f0, 8(r28)
/* 802BCB0C 002B9A4C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 802BCB10 002B9A50 38 61 00 2C */ addi r3, r1, 0x2c
/* 802BCB14 002B9A54 38 81 00 14 */ addi r4, r1, 0x14
/* 802BCB18 002B9A58 C0 22 C1 20 */ lfs f1, lbl_80455B20-_SDA2_BASE_(r2)
/* 802BCB1C 002B9A5C C0 02 C0 AC */ lfs f0, lbl_80455AAC-_SDA2_BASE_(r2)
/* 802BCB20 002B9A60 EC 00 07 72 */ fmuls f0, f0, f29
/* 802BCB24 002B9A64 EC 21 00 32 */ fmuls f1, f1, f0
/* 802BCB28 002B9A68 48 08 9D 51 */ bl PSMTXRotAxisRad
/* 802BCB2C 002B9A6C 38 61 00 2C */ addi r3, r1, 0x2c
/* 802BCB30 002B9A70 38 81 00 20 */ addi r4, r1, 0x20
/* 802BCB34 002B9A74 38 A1 00 08 */ addi r5, r1, 8
/* 802BCB38 002B9A78 48 08 A2 35 */ bl PSMTXMultVec
/* 802BCB3C 002B9A7C C0 21 00 24 */ lfs f1, 0x24(r1)
/* 802BCB40 002B9A80 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 802BCB44 002B9A84 EF E1 00 24 */ fdivs f31, f1, f0
/* 802BCB48 002B9A88 38 61 00 08 */ addi r3, r1, 8
/* 802BCB4C 002B9A8C E0 03 00 00 */ psq_l f0, 0(r3), 0, 0
/* 802BCB50 002B9A90 E0 23 80 08 */ psq_l f1, 8(r3), 1, 0
/* 802BCB54 002B9A94 10 00 07 D8 */ ps_muls0 f0, f0, f31
/* 802BCB58 002B9A98 F0 03 00 00 */ psq_st f0, 0(r3), 0, 0
/* 802BCB5C 002B9A9C 10 01 07 D8 */ ps_muls0 f0, f1, f31
/* 802BCB60 002B9AA0 F0 03 80 08 */ psq_st f0, 8(r3), 1, 0
/* 802BCB64 002B9AA4 48 08 A5 ED */ bl PSVECMag
/* 802BCB68 002B9AA8 EC 1E 00 72 */ fmuls f0, f30, f1
/* 802BCB6C 002B9AAC D0 1B 00 60 */ stfs f0, 0x60(r27)
/* 802BCB70 002B9AB0 88 1B 00 70 */ lbz r0, 0x70(r27)
/* 802BCB74 002B9AB4 28 00 00 00 */ cmplwi r0, 0
/* 802BCB78 002B9AB8 41 82 00 20 */ beq lbl_802BCB98
/* 802BCB7C 002B9ABC 80 6D 85 C4 */ lwz r3, lbl_80450B44-_SDA_BASE_(r13)
/* 802BCB80 002B9AC0 38 63 00 0C */ addi r3, r3, 0xc
/* 802BCB84 002B9AC4 C0 1B 00 60 */ lfs f0, 0x60(r27)
/* 802BCB88 002B9AC8 C0 5B 00 64 */ lfs f2, 0x64(r27)
/* 802BCB8C 002B9ACC EC 22 00 28 */ fsubs f1, f2, f0
/* 802BCB90 002B9AD0 EC 42 00 2A */ fadds f2, f2, f0
/* 802BCB94 002B9AD4 4B FF FB 65 */ bl Z2Audience3DSetting_NS_updateDolbyDist
lbl_802BCB98:
/* 802BCB98 002B9AD8 7F 63 DB 78 */ mr r3, r27
/* 802BCB9C 002B9ADC 7F 84 E3 78 */ mr r4, r28
/* 802BCBA0 002B9AE0 7F A5 EB 78 */ mr r5, r29
/* 802BCBA4 002B9AE4 7F E6 FB 78 */ mr r6, r31
/* 802BCBA8 002B9AE8 4B FF FC 35 */ bl Z2AudioCamera_NS_setCameraState
/* 802BCBAC 002B9AEC E3 E1 00 D8 */ psq_l f31, 216(r1), 0, 0
/* 802BCBB0 002B9AF0 CB E1 00 D0 */ lfd f31, 0xd0(r1)
/* 802BCBB4 002B9AF4 E3 C1 00 C8 */ psq_l f30, 200(r1), 0, 0
/* 802BCBB8 002B9AF8 CB C1 00 C0 */ lfd f30, 0xc0(r1)
/* 802BCBBC 002B9AFC E3 A1 00 B8 */ psq_l f29, 184(r1), 0, 0
/* 802BCBC0 002B9B00 CB A1 00 B0 */ lfd f29, 0xb0(r1)
/* 802BCBC4 002B9B04 E3 81 00 A8 */ psq_l f28, 168(r1), 0, 0
/* 802BCBC8 002B9B08 CB 81 00 A0 */ lfd f28, 0xa0(r1)
/* 802BCBCC 002B9B0C E3 61 00 98 */ psq_l f27, 152(r1), 0, 0
/* 802BCBD0 002B9B10 CB 61 00 90 */ lfd f27, 0x90(r1)
/* 802BCBD4 002B9B14 39 61 00 90 */ addi r11, r1, 0x90
/* 802BCBD8 002B9B18 48 0A 56 49 */ bl _restgpr_27
/* 802BCBDC 002B9B1C 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 802BCBE0 002B9B20 7C 08 03 A6 */ mtlr r0
/* 802BCBE4 002B9B24 38 21 00 E0 */ addi r1, r1, 0xe0
/* 802BCBE8 002B9B28 4E 80 00 20 */ blr