diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s new file mode 100644 index 00000000000..0d69d27204e --- /dev/null +++ b/asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s @@ -0,0 +1,9 @@ +lbl_802F1B70: +/* 802F1B70 88 02 C7 80 */ lbz r0, j2dDefaultTevOrderInfoNull(r2) +/* 802F1B74 98 03 00 00 */ stb r0, 0(r3) +/* 802F1B78 38 82 C7 80 */ la r4, j2dDefaultTevOrderInfoNull(r2) /* 80456180-_SDA2_BASE_ */ +/* 802F1B7C 88 04 00 01 */ lbz r0, 1(r4) +/* 802F1B80 98 03 00 01 */ stb r0, 1(r3) +/* 802F1B84 88 04 00 02 */ lbz r0, 2(r4) +/* 802F1B88 98 03 00 02 */ stb r0, 2(r3) +/* 802F1B8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s b/asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s new file mode 100644 index 00000000000..83b04db90a1 --- /dev/null +++ b/asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s @@ -0,0 +1,4 @@ +lbl_802F1934: +/* 802F1934 88 02 C7 AC */ lbz r0, data_804561AC(r2) +/* 802F1938 98 03 00 00 */ stb r0, 0(r3) +/* 802F193C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/countStages__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/countStages__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 8b4d9849d6e..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/countStages__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_802F2C94: -/* 802F2C94 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F2C98 80 A3 00 08 */ lwz r5, 8(r3) -/* 802F2C9C 54 80 08 3C */ slwi r0, r4, 1 -/* 802F2CA0 7C 05 02 2E */ lhzx r0, r5, r0 -/* 802F2CA4 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F2CA8 7C 86 02 14 */ add r4, r6, r0 -/* 802F2CAC 38 A0 00 00 */ li r5, 0 -/* 802F2CB0 38 C0 00 00 */ li r6, 0 -/* 802F2CB4 88 04 00 04 */ lbz r0, 4(r4) -/* 802F2CB8 28 00 00 FF */ cmplwi r0, 0xff -/* 802F2CBC 41 82 00 0C */ beq lbl_802F2CC8 -/* 802F2CC0 80 63 00 40 */ lwz r3, 0x40(r3) -/* 802F2CC4 7C C3 00 AE */ lbzx r6, r3, r0 -lbl_802F2CC8: -/* 802F2CC8 38 60 00 00 */ li r3, 0 -/* 802F2CCC 38 00 00 08 */ li r0, 8 -/* 802F2CD0 7C 09 03 A6 */ mtctr r0 -lbl_802F2CD4: -/* 802F2CD4 38 03 00 38 */ addi r0, r3, 0x38 -/* 802F2CD8 7C 04 02 2E */ lhzx r0, r4, r0 -/* 802F2CDC 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F2CE0 41 82 00 08 */ beq lbl_802F2CE8 -/* 802F2CE4 38 A5 00 01 */ addi r5, r5, 1 -lbl_802F2CE8: -/* 802F2CE8 38 63 00 02 */ addi r3, r3, 2 -/* 802F2CEC 42 00 FF E8 */ bdnz lbl_802F2CD4 -/* 802F2CF0 7C 06 28 40 */ cmplw r6, r5 -/* 802F2CF4 41 82 00 20 */ beq lbl_802F2D14 -/* 802F2CF8 28 05 00 00 */ cmplwi r5, 0 -/* 802F2CFC 41 82 00 18 */ beq lbl_802F2D14 -/* 802F2D00 7C 06 28 40 */ cmplw r6, r5 -/* 802F2D04 7C A3 2B 78 */ mr r3, r5 -/* 802F2D08 4C 81 00 20 */ blelr -/* 802F2D0C 7C C3 33 78 */ mr r3, r6 -/* 802F2D10 4E 80 00 20 */ blr -lbl_802F2D14: -/* 802F2D14 7C C3 33 78 */ mr r3, r6 -/* 802F2D18 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newAlphaComp__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newAlphaComp__18J2DMaterialFactoryCFi.s deleted file mode 100644 index df769cabaa8..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newAlphaComp__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802F3FE0: -/* 802F3FE0 80 E4 00 04 */ lwz r7, 4(r4) -/* 802F3FE4 80 C4 00 08 */ lwz r6, 8(r4) -/* 802F3FE8 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F3FEC 7C 06 02 2E */ lhzx r0, r6, r0 -/* 802F3FF0 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3FF4 7C A7 02 14 */ add r5, r7, r0 -/* 802F3FF8 A0 05 00 E2 */ lhz r0, 0xe2(r5) -/* 802F3FFC 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F4000 41 82 00 44 */ beq lbl_802F4044 -/* 802F4004 80 84 00 50 */ lwz r4, 0x50(r4) -/* 802F4008 54 00 1B 78 */ rlwinm r0, r0, 3, 0xd, 0x1c -/* 802F400C 7C C4 02 14 */ add r6, r4, r0 -/* 802F4010 88 06 00 00 */ lbz r0, 0(r6) -/* 802F4014 88 A6 00 03 */ lbz r5, 3(r6) -/* 802F4018 54 04 28 34 */ slwi r4, r0, 5 -/* 802F401C 88 06 00 02 */ lbz r0, 2(r6) -/* 802F4020 54 00 1D 78 */ rlwinm r0, r0, 3, 0x15, 0x1c -/* 802F4024 7C 80 03 78 */ or r0, r4, r0 -/* 802F4028 7C A0 03 78 */ or r0, r5, r0 -/* 802F402C B0 03 00 00 */ sth r0, 0(r3) -/* 802F4030 88 06 00 01 */ lbz r0, 1(r6) -/* 802F4034 98 03 00 02 */ stb r0, 2(r3) -/* 802F4038 88 06 00 04 */ lbz r0, 4(r6) -/* 802F403C 98 03 00 03 */ stb r0, 3(r3) -/* 802F4040 4E 80 00 20 */ blr -lbl_802F4044: -/* 802F4044 A0 02 C7 AE */ lhz r0, j2dDefaultAlphaCmp(r2) -/* 802F4048 B0 03 00 00 */ sth r0, 0(r3) -/* 802F404C 38 00 00 00 */ li r0, 0 -/* 802F4050 98 03 00 02 */ stb r0, 2(r3) -/* 802F4054 98 03 00 03 */ stb r0, 3(r3) -/* 802F4058 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newBlend__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newBlend__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 6761eb33d15..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newBlend__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_802F405C: -/* 802F405C 80 E4 00 04 */ lwz r7, 4(r4) -/* 802F4060 80 C4 00 08 */ lwz r6, 8(r4) -/* 802F4064 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F4068 7C 06 02 2E */ lhzx r0, r6, r0 -/* 802F406C 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F4070 7C A7 02 14 */ add r5, r7, r0 -/* 802F4074 A0 05 00 E4 */ lhz r0, 0xe4(r5) -/* 802F4078 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F407C 41 82 00 34 */ beq lbl_802F40B0 -/* 802F4080 80 84 00 54 */ lwz r4, 0x54(r4) -/* 802F4084 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 802F4088 7C 84 02 14 */ add r4, r4, r0 -/* 802F408C 88 04 00 00 */ lbz r0, 0(r4) -/* 802F4090 98 03 00 00 */ stb r0, 0(r3) -/* 802F4094 88 04 00 01 */ lbz r0, 1(r4) -/* 802F4098 98 03 00 01 */ stb r0, 1(r3) -/* 802F409C 88 04 00 02 */ lbz r0, 2(r4) -/* 802F40A0 98 03 00 02 */ stb r0, 2(r3) -/* 802F40A4 88 04 00 03 */ lbz r0, 3(r4) -/* 802F40A8 98 03 00 03 */ stb r0, 3(r3) -/* 802F40AC 4E 80 00 20 */ blr -lbl_802F40B0: -/* 802F40B0 88 02 C7 A0 */ lbz r0, j2dDefaultBlendInfo(r2) -/* 802F40B4 98 03 00 00 */ stb r0, 0(r3) -/* 802F40B8 38 82 C7 A0 */ la r4, j2dDefaultBlendInfo(r2) /* 804561A0-_SDA2_BASE_ */ -/* 802F40BC 88 04 00 01 */ lbz r0, 1(r4) -/* 802F40C0 98 03 00 01 */ stb r0, 1(r3) -/* 802F40C4 88 04 00 02 */ lbz r0, 2(r4) -/* 802F40C8 98 03 00 02 */ stb r0, 2(r3) -/* 802F40CC 88 04 00 03 */ lbz r0, 3(r4) -/* 802F40D0 98 03 00 03 */ stb r0, 3(r3) -/* 802F40D4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChanNum__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChanNum__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 2c405437856..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChanNum__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802F36CC: -/* 802F36CC 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F36D0 80 A3 00 08 */ lwz r5, 8(r3) -/* 802F36D4 54 80 08 3C */ slwi r0, r4, 1 -/* 802F36D8 7C 05 02 2E */ lhzx r0, r5, r0 -/* 802F36DC 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F36E0 7C 86 02 14 */ add r4, r6, r0 -/* 802F36E4 88 04 00 02 */ lbz r0, 2(r4) -/* 802F36E8 28 00 00 FF */ cmplwi r0, 0xff -/* 802F36EC 41 82 00 10 */ beq lbl_802F36FC -/* 802F36F0 80 63 00 14 */ lwz r3, 0x14(r3) -/* 802F36F4 7C 63 00 AE */ lbzx r3, r3, r0 -/* 802F36F8 4E 80 00 20 */ blr -lbl_802F36FC: -/* 802F36FC 38 60 00 00 */ li r3, 0 -/* 802F3700 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChan__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChan__18J2DMaterialFactoryCFii.s deleted file mode 100644 index 0ce1bf82b6f..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChan__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_802F3704: -/* 802F3704 81 04 00 04 */ lwz r8, 4(r4) -/* 802F3708 80 E4 00 08 */ lwz r7, 8(r4) -/* 802F370C 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F3710 7C 07 02 2E */ lhzx r0, r7, r0 -/* 802F3714 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3718 7C A8 02 14 */ add r5, r8, r0 -/* 802F371C 54 C0 08 3C */ slwi r0, r6, 1 -/* 802F3720 7C A5 02 14 */ add r5, r5, r0 -/* 802F3724 A0 05 00 0C */ lhz r0, 0xc(r5) -/* 802F3728 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F372C 41 82 00 1C */ beq lbl_802F3748 -/* 802F3730 80 A4 00 18 */ lwz r5, 0x18(r4) -/* 802F3734 54 04 13 BA */ rlwinm r4, r0, 2, 0xe, 0x1d -/* 802F3738 38 04 00 01 */ addi r0, r4, 1 -/* 802F373C 7C 05 00 AE */ lbzx r0, r5, r0 -/* 802F3740 B0 03 00 00 */ sth r0, 0(r3) -/* 802F3744 4E 80 00 20 */ blr -lbl_802F3748: -/* 802F3748 38 82 C7 A8 */ la r4, j2dDefaultColorChanInfo(r2) /* 804561A8-_SDA2_BASE_ */ -/* 802F374C 88 04 00 01 */ lbz r0, 1(r4) -/* 802F3750 B0 03 00 00 */ sth r0, 0(r3) -/* 802F3754 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newCullMode__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newCullMode__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 455b6e1f582..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newCullMode__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802F38E0: -/* 802F38E0 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F38E4 80 A3 00 08 */ lwz r5, 8(r3) -/* 802F38E8 54 80 08 3C */ slwi r0, r4, 1 -/* 802F38EC 7C 05 02 2E */ lhzx r0, r5, r0 -/* 802F38F0 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F38F4 7C 86 02 14 */ add r4, r6, r0 -/* 802F38F8 88 04 00 01 */ lbz r0, 1(r4) -/* 802F38FC 28 00 00 FF */ cmplwi r0, 0xff -/* 802F3900 41 82 00 18 */ beq lbl_802F3918 -/* 802F3904 80 63 00 30 */ lwz r3, 0x30(r3) -/* 802F3908 54 00 15 BA */ rlwinm r0, r0, 2, 0x16, 0x1d -/* 802F390C 7C 03 00 2E */ lwzx r0, r3, r0 -/* 802F3910 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 802F3914 4E 80 00 20 */ blr -lbl_802F3918: -/* 802F3918 38 60 00 FF */ li r3, 0xff -/* 802F391C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newDither__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newDither__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 20cc86b414e..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newDither__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802F40D8: -/* 802F40D8 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F40DC 80 A3 00 08 */ lwz r5, 8(r3) -/* 802F40E0 54 80 08 3C */ slwi r0, r4, 1 -/* 802F40E4 7C 05 02 2E */ lhzx r0, r5, r0 -/* 802F40E8 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F40EC 7C 86 02 14 */ add r4, r6, r0 -/* 802F40F0 88 04 00 05 */ lbz r0, 5(r4) -/* 802F40F4 28 00 00 FF */ cmplwi r0, 0xff -/* 802F40F8 41 82 00 10 */ beq lbl_802F4108 -/* 802F40FC 80 63 00 58 */ lwz r3, 0x58(r3) -/* 802F4100 7C 63 00 AE */ lbzx r3, r3, r0 -/* 802F4104 4E 80 00 20 */ blr -lbl_802F4108: -/* 802F4108 38 60 00 00 */ li r3, 0 -/* 802F410C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newFontNo__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newFontNo__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 3c37a3a2f9d..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newFontNo__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_802F3968: -/* 802F3968 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F396C 80 A3 00 08 */ lwz r5, 8(r3) -/* 802F3970 54 80 08 3C */ slwi r0, r4, 1 -/* 802F3974 7C 05 02 2E */ lhzx r0, r5, r0 -/* 802F3978 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F397C 7C 86 02 14 */ add r4, r6, r0 -/* 802F3980 A0 04 00 48 */ lhz r0, 0x48(r4) -/* 802F3984 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F3988 41 82 00 14 */ beq lbl_802F399C -/* 802F398C 80 63 00 2C */ lwz r3, 0x2c(r3) -/* 802F3990 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 802F3994 7C 63 02 2E */ lhzx r3, r3, r0 -/* 802F3998 4E 80 00 20 */ blr -lbl_802F399C: -/* 802F399C 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802F39A0 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802F39A4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTevStage__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTevStage__18J2DMaterialFactoryCFii.s deleted file mode 100644 index d60e4cb21b8..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTevStage__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,88 +0,0 @@ -lbl_802F3E24: -/* 802F3E24 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802F3E28 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 802F3E2C 93 C1 00 28 */ stw r30, 0x28(r1) -/* 802F3E30 3C E0 80 3A */ lis r7, j2dDefaultIndTevStageInfo@ha /* 0x803A1BF4@ha */ -/* 802F3E34 39 07 1B F4 */ addi r8, r7, j2dDefaultIndTevStageInfo@l /* 0x803A1BF4@l */ -/* 802F3E38 80 E8 00 00 */ lwz r7, 0(r8) -/* 802F3E3C 80 08 00 04 */ lwz r0, 4(r8) -/* 802F3E40 90 E1 00 14 */ stw r7, 0x14(r1) -/* 802F3E44 90 01 00 18 */ stw r0, 0x18(r1) -/* 802F3E48 80 08 00 08 */ lwz r0, 8(r8) -/* 802F3E4C 90 01 00 1C */ stw r0, 0x1c(r1) -/* 802F3E50 8B C1 00 14 */ lbz r30, 0x14(r1) -/* 802F3E54 88 01 00 15 */ lbz r0, 0x15(r1) -/* 802F3E58 54 1F 10 3A */ slwi r31, r0, 2 -/* 802F3E5C 88 01 00 16 */ lbz r0, 0x16(r1) -/* 802F3E60 54 0C 20 36 */ slwi r12, r0, 4 -/* 802F3E64 88 01 00 18 */ lbz r0, 0x18(r1) -/* 802F3E68 54 0B 40 2E */ slwi r11, r0, 8 -/* 802F3E6C 88 01 00 19 */ lbz r0, 0x19(r1) -/* 802F3E70 54 0A 58 28 */ slwi r10, r0, 0xb -/* 802F3E74 88 01 00 17 */ lbz r0, 0x17(r1) -/* 802F3E78 54 09 80 1E */ slwi r9, r0, 0x10 -/* 802F3E7C 88 01 00 1A */ lbz r0, 0x1a(r1) -/* 802F3E80 54 08 A0 16 */ slwi r8, r0, 0x14 -/* 802F3E84 88 01 00 1C */ lbz r0, 0x1c(r1) -/* 802F3E88 54 07 B0 12 */ slwi r7, r0, 0x16 -/* 802F3E8C 88 01 00 1B */ lbz r0, 0x1b(r1) -/* 802F3E90 54 00 A8 14 */ slwi r0, r0, 0x15 -/* 802F3E94 7C E0 03 78 */ or r0, r7, r0 -/* 802F3E98 7D 00 03 78 */ or r0, r8, r0 -/* 802F3E9C 7D 20 03 78 */ or r0, r9, r0 -/* 802F3EA0 7D 40 03 78 */ or r0, r10, r0 -/* 802F3EA4 7D 60 03 78 */ or r0, r11, r0 -/* 802F3EA8 7D 80 03 78 */ or r0, r12, r0 -/* 802F3EAC 7F E0 03 78 */ or r0, r31, r0 -/* 802F3EB0 7F C7 03 78 */ or r7, r30, r0 -/* 802F3EB4 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802F3EB8 28 04 00 00 */ cmplwi r4, 0 -/* 802F3EBC 41 82 00 A8 */ beq lbl_802F3F64 -/* 802F3EC0 1C 05 01 28 */ mulli r0, r5, 0x128 -/* 802F3EC4 7C A4 02 14 */ add r5, r4, r0 -/* 802F3EC8 88 05 00 00 */ lbz r0, 0(r5) -/* 802F3ECC 28 00 00 01 */ cmplwi r0, 1 -/* 802F3ED0 40 82 00 94 */ bne lbl_802F3F64 -/* 802F3ED4 1C 86 00 0C */ mulli r4, r6, 0xc -/* 802F3ED8 38 04 00 68 */ addi r0, r4, 0x68 -/* 802F3EDC 7C A5 02 14 */ add r5, r5, r0 -/* 802F3EE0 80 85 00 00 */ lwz r4, 0(r5) -/* 802F3EE4 80 05 00 04 */ lwz r0, 4(r5) -/* 802F3EE8 90 81 00 08 */ stw r4, 8(r1) -/* 802F3EEC 90 01 00 0C */ stw r0, 0xc(r1) -/* 802F3EF0 80 05 00 08 */ lwz r0, 8(r5) -/* 802F3EF4 90 01 00 10 */ stw r0, 0x10(r1) -/* 802F3EF8 89 61 00 08 */ lbz r11, 8(r1) -/* 802F3EFC 88 01 00 09 */ lbz r0, 9(r1) -/* 802F3F00 54 0A 10 3A */ slwi r10, r0, 2 -/* 802F3F04 88 01 00 0A */ lbz r0, 0xa(r1) -/* 802F3F08 54 09 20 36 */ slwi r9, r0, 4 -/* 802F3F0C 88 01 00 0C */ lbz r0, 0xc(r1) -/* 802F3F10 54 08 40 2E */ slwi r8, r0, 8 -/* 802F3F14 88 01 00 0D */ lbz r0, 0xd(r1) -/* 802F3F18 54 07 58 28 */ slwi r7, r0, 0xb -/* 802F3F1C 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802F3F20 54 06 80 1E */ slwi r6, r0, 0x10 -/* 802F3F24 88 01 00 0E */ lbz r0, 0xe(r1) -/* 802F3F28 54 05 A0 16 */ slwi r5, r0, 0x14 -/* 802F3F2C 88 01 00 10 */ lbz r0, 0x10(r1) -/* 802F3F30 54 04 B0 12 */ slwi r4, r0, 0x16 -/* 802F3F34 88 01 00 0F */ lbz r0, 0xf(r1) -/* 802F3F38 54 00 A8 14 */ slwi r0, r0, 0x15 -/* 802F3F3C 7C 80 03 78 */ or r0, r4, r0 -/* 802F3F40 7C A0 03 78 */ or r0, r5, r0 -/* 802F3F44 7C C0 03 78 */ or r0, r6, r0 -/* 802F3F48 7C E0 03 78 */ or r0, r7, r0 -/* 802F3F4C 7D 00 03 78 */ or r0, r8, r0 -/* 802F3F50 7D 20 03 78 */ or r0, r9, r0 -/* 802F3F54 7D 40 03 78 */ or r0, r10, r0 -/* 802F3F58 7D 60 03 78 */ or r0, r11, r0 -/* 802F3F5C 90 03 00 00 */ stw r0, 0(r3) -/* 802F3F60 48 00 00 08 */ b lbl_802F3F68 -lbl_802F3F64: -/* 802F3F64 90 E3 00 00 */ stw r7, 0(r3) -lbl_802F3F68: -/* 802F3F68 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 802F3F6C 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 802F3F70 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F3F74 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexCoordScale__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexCoordScale__18J2DMaterialFactoryCFii.s deleted file mode 100644 index 7368776672a..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexCoordScale__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802F3F78: -/* 802F3F78 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F3F7C 88 02 C7 90 */ lbz r0, j2dDefaultIndTexCoordScaleInfo(r2) -/* 802F3F80 98 01 00 08 */ stb r0, 8(r1) -/* 802F3F84 38 E2 C7 90 */ la r7, j2dDefaultIndTexCoordScaleInfo(r2) /* 80456190-_SDA2_BASE_ */ -/* 802F3F88 88 07 00 01 */ lbz r0, 1(r7) -/* 802F3F8C 98 01 00 09 */ stb r0, 9(r1) -/* 802F3F90 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802F3F94 28 04 00 00 */ cmplwi r4, 0 -/* 802F3F98 41 82 00 38 */ beq lbl_802F3FD0 -/* 802F3F9C 1C 05 01 28 */ mulli r0, r5, 0x128 -/* 802F3FA0 7C A4 02 14 */ add r5, r4, r0 -/* 802F3FA4 88 05 00 00 */ lbz r0, 0(r5) -/* 802F3FA8 28 00 00 01 */ cmplwi r0, 1 -/* 802F3FAC 40 82 00 24 */ bne lbl_802F3FD0 -/* 802F3FB0 54 C4 08 3C */ slwi r4, r6, 1 -/* 802F3FB4 38 84 00 60 */ addi r4, r4, 0x60 -/* 802F3FB8 7C 85 22 14 */ add r4, r5, r4 -/* 802F3FBC 88 04 00 00 */ lbz r0, 0(r4) -/* 802F3FC0 98 03 00 00 */ stb r0, 0(r3) -/* 802F3FC4 88 04 00 01 */ lbz r0, 1(r4) -/* 802F3FC8 98 03 00 01 */ stb r0, 1(r3) -/* 802F3FCC 48 00 00 0C */ b lbl_802F3FD8 -lbl_802F3FD0: -/* 802F3FD0 A0 01 00 08 */ lhz r0, 8(r1) -/* 802F3FD4 B0 03 00 00 */ sth r0, 0(r3) -lbl_802F3FD8: -/* 802F3FD8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F3FDC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexMtx__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexMtx__18J2DMaterialFactoryCFii.s deleted file mode 100644 index f3e69be808e..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexMtx__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,73 +0,0 @@ -lbl_802F3D20: -/* 802F3D20 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802F3D24 39 40 00 00 */ li r10, 0 -/* 802F3D28 38 E0 00 00 */ li r7, 0 -/* 802F3D2C 3D 00 80 3A */ lis r8, j2dDefaultIndTexMtxInfo@ha /* 0x803A1BC4@ha */ -/* 802F3D30 39 08 1B C4 */ addi r8, r8, j2dDefaultIndTexMtxInfo@l /* 0x803A1BC4@l */ -lbl_802F3D34: -/* 802F3D34 39 20 00 00 */ li r9, 0 -/* 802F3D38 7D 68 3A 14 */ add r11, r8, r7 -/* 802F3D3C 39 81 00 08 */ addi r12, r1, 8 -/* 802F3D40 7D 8C 3A 14 */ add r12, r12, r7 -/* 802F3D44 38 00 00 03 */ li r0, 3 -/* 802F3D48 7C 09 03 A6 */ mtctr r0 -lbl_802F3D4C: -/* 802F3D4C 7C 0B 4C 2E */ lfsx f0, r11, r9 -/* 802F3D50 7C 0C 4D 2E */ stfsx f0, r12, r9 -/* 802F3D54 39 29 00 04 */ addi r9, r9, 4 -/* 802F3D58 42 00 FF F4 */ bdnz lbl_802F3D4C -/* 802F3D5C 39 4A 00 01 */ addi r10, r10, 1 -/* 802F3D60 2C 0A 00 02 */ cmpwi r10, 2 -/* 802F3D64 38 E7 00 0C */ addi r7, r7, 0xc -/* 802F3D68 41 80 FF CC */ blt lbl_802F3D34 -/* 802F3D6C 3C E0 80 3A */ lis r7, j2dDefaultIndTexMtxInfo@ha /* 0x803A1BC4@ha */ -/* 802F3D70 38 E7 1B C4 */ addi r7, r7, j2dDefaultIndTexMtxInfo@l /* 0x803A1BC4@l */ -/* 802F3D74 88 07 00 18 */ lbz r0, 0x18(r7) -/* 802F3D78 98 01 00 20 */ stb r0, 0x20(r1) -/* 802F3D7C 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802F3D80 28 04 00 00 */ cmplwi r4, 0 -/* 802F3D84 41 82 00 6C */ beq lbl_802F3DF0 -/* 802F3D88 1C 05 01 28 */ mulli r0, r5, 0x128 -/* 802F3D8C 7C A4 02 14 */ add r5, r4, r0 -/* 802F3D90 88 05 00 00 */ lbz r0, 0(r5) -/* 802F3D94 28 00 00 01 */ cmplwi r0, 1 -/* 802F3D98 40 82 00 58 */ bne lbl_802F3DF0 -/* 802F3D9C 1C 86 00 1C */ mulli r4, r6, 0x1c -/* 802F3DA0 38 C4 00 0C */ addi r6, r4, 0xc -/* 802F3DA4 7C C5 32 14 */ add r6, r5, r6 -/* 802F3DA8 38 E0 00 00 */ li r7, 0 -/* 802F3DAC 38 80 00 00 */ li r4, 0 -lbl_802F3DB0: -/* 802F3DB0 38 A0 00 00 */ li r5, 0 -/* 802F3DB4 7D 06 22 14 */ add r8, r6, r4 -/* 802F3DB8 7D 23 22 14 */ add r9, r3, r4 -/* 802F3DBC 38 00 00 03 */ li r0, 3 -/* 802F3DC0 7C 09 03 A6 */ mtctr r0 -lbl_802F3DC4: -/* 802F3DC4 7C 08 2C 2E */ lfsx f0, r8, r5 -/* 802F3DC8 7C 09 2D 2E */ stfsx f0, r9, r5 -/* 802F3DCC 38 A5 00 04 */ addi r5, r5, 4 -/* 802F3DD0 42 00 FF F4 */ bdnz lbl_802F3DC4 -/* 802F3DD4 38 E7 00 01 */ addi r7, r7, 1 -/* 802F3DD8 2C 07 00 02 */ cmpwi r7, 2 -/* 802F3DDC 38 84 00 0C */ addi r4, r4, 0xc -/* 802F3DE0 41 80 FF D0 */ blt lbl_802F3DB0 -/* 802F3DE4 88 06 00 18 */ lbz r0, 0x18(r6) -/* 802F3DE8 98 03 00 18 */ stb r0, 0x18(r3) -/* 802F3DEC 48 00 00 30 */ b lbl_802F3E1C -lbl_802F3DF0: -/* 802F3DF0 38 A3 FF FC */ addi r5, r3, -4 -/* 802F3DF4 38 81 00 04 */ addi r4, r1, 4 -/* 802F3DF8 38 00 00 03 */ li r0, 3 -/* 802F3DFC 7C 09 03 A6 */ mtctr r0 -lbl_802F3E00: -/* 802F3E00 80 64 00 04 */ lwz r3, 4(r4) -/* 802F3E04 84 04 00 08 */ lwzu r0, 8(r4) -/* 802F3E08 90 65 00 04 */ stw r3, 4(r5) -/* 802F3E0C 94 05 00 08 */ stwu r0, 8(r5) -/* 802F3E10 42 00 FF F0 */ bdnz lbl_802F3E00 -/* 802F3E14 80 04 00 04 */ lwz r0, 4(r4) -/* 802F3E18 90 05 00 04 */ stw r0, 4(r5) -lbl_802F3E1C: -/* 802F3E1C 38 21 00 30 */ addi r1, r1, 0x30 -/* 802F3E20 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexOrder__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexOrder__18J2DMaterialFactoryCFii.s deleted file mode 100644 index 7afe9430929..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexOrder__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_802F3CB8: -/* 802F3CB8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F3CBC 88 02 C7 84 */ lbz r0, j2dDefaultIndTexOrderNull(r2) -/* 802F3CC0 98 01 00 08 */ stb r0, 8(r1) -/* 802F3CC4 38 E2 C7 84 */ la r7, j2dDefaultIndTexOrderNull(r2) /* 80456184-_SDA2_BASE_ */ -/* 802F3CC8 88 07 00 01 */ lbz r0, 1(r7) -/* 802F3CCC 98 01 00 09 */ stb r0, 9(r1) -/* 802F3CD0 80 84 00 0C */ lwz r4, 0xc(r4) -/* 802F3CD4 28 04 00 00 */ cmplwi r4, 0 -/* 802F3CD8 41 82 00 38 */ beq lbl_802F3D10 -/* 802F3CDC 1C 05 01 28 */ mulli r0, r5, 0x128 -/* 802F3CE0 7C A4 02 14 */ add r5, r4, r0 -/* 802F3CE4 88 05 00 00 */ lbz r0, 0(r5) -/* 802F3CE8 28 00 00 01 */ cmplwi r0, 1 -/* 802F3CEC 40 82 00 24 */ bne lbl_802F3D10 -/* 802F3CF0 54 C4 08 3C */ slwi r4, r6, 1 -/* 802F3CF4 38 84 00 04 */ addi r4, r4, 4 -/* 802F3CF8 7C 85 22 14 */ add r4, r5, r4 -/* 802F3CFC 88 04 00 00 */ lbz r0, 0(r4) -/* 802F3D00 98 03 00 00 */ stb r0, 0(r3) -/* 802F3D04 88 04 00 01 */ lbz r0, 1(r4) -/* 802F3D08 98 03 00 01 */ stb r0, 1(r3) -/* 802F3D0C 48 00 00 0C */ b lbl_802F3D18 -lbl_802F3D10: -/* 802F3D10 A0 01 00 08 */ lhz r0, 8(r1) -/* 802F3D14 B0 03 00 00 */ sth r0, 0(r3) -lbl_802F3D18: -/* 802F3D18 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F3D1C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexStageNum__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexStageNum__18J2DMaterialFactoryCFi.s deleted file mode 100644 index c153f138a4b..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexStageNum__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_802F3C88: -/* 802F3C88 80 63 00 0C */ lwz r3, 0xc(r3) -/* 802F3C8C 28 03 00 00 */ cmplwi r3, 0 -/* 802F3C90 41 82 00 20 */ beq lbl_802F3CB0 -/* 802F3C94 1C 84 01 28 */ mulli r4, r4, 0x128 -/* 802F3C98 7C 03 20 AE */ lbzx r0, r3, r4 -/* 802F3C9C 28 00 00 01 */ cmplwi r0, 1 -/* 802F3CA0 40 82 00 10 */ bne lbl_802F3CB0 -/* 802F3CA4 7C 63 22 14 */ add r3, r3, r4 -/* 802F3CA8 88 63 00 01 */ lbz r3, 1(r3) -/* 802F3CAC 4E 80 00 20 */ blr -lbl_802F3CB0: -/* 802F3CB0 38 60 00 00 */ li r3, 0 -/* 802F3CB4 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newMatColor__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newMatColor__18J2DMaterialFactoryCFii.s deleted file mode 100644 index 388af385dd1..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newMatColor__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_802F362C: -/* 802F362C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F3630 80 02 C7 C0 */ lwz r0, lit_1887(r2) -/* 802F3634 90 01 00 10 */ stw r0, 0x10(r1) -/* 802F3638 90 01 00 0C */ stw r0, 0xc(r1) -/* 802F363C 88 01 00 0C */ lbz r0, 0xc(r1) -/* 802F3640 98 01 00 14 */ stb r0, 0x14(r1) -/* 802F3644 88 01 00 0D */ lbz r0, 0xd(r1) -/* 802F3648 98 01 00 15 */ stb r0, 0x15(r1) -/* 802F364C 88 01 00 0E */ lbz r0, 0xe(r1) -/* 802F3650 98 01 00 16 */ stb r0, 0x16(r1) -/* 802F3654 88 01 00 0F */ lbz r0, 0xf(r1) -/* 802F3658 98 01 00 17 */ stb r0, 0x17(r1) -/* 802F365C 81 04 00 04 */ lwz r8, 4(r4) -/* 802F3660 80 E4 00 08 */ lwz r7, 8(r4) -/* 802F3664 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F3668 7C 07 02 2E */ lhzx r0, r7, r0 -/* 802F366C 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3670 7C A8 02 14 */ add r5, r8, r0 -/* 802F3674 54 C0 08 3C */ slwi r0, r6, 1 -/* 802F3678 7C A5 02 14 */ add r5, r5, r0 -/* 802F367C A0 05 00 08 */ lhz r0, 8(r5) -/* 802F3680 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F3684 41 82 00 38 */ beq lbl_802F36BC -/* 802F3688 80 84 00 10 */ lwz r4, 0x10(r4) -/* 802F368C 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 802F3690 7C 04 00 2E */ lwzx r0, r4, r0 -/* 802F3694 90 01 00 08 */ stw r0, 8(r1) -/* 802F3698 88 01 00 08 */ lbz r0, 8(r1) -/* 802F369C 98 03 00 00 */ stb r0, 0(r3) -/* 802F36A0 88 01 00 09 */ lbz r0, 9(r1) -/* 802F36A4 98 03 00 01 */ stb r0, 1(r3) -/* 802F36A8 88 01 00 0A */ lbz r0, 0xa(r1) -/* 802F36AC 98 03 00 02 */ stb r0, 2(r3) -/* 802F36B0 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802F36B4 98 03 00 03 */ stb r0, 3(r3) -/* 802F36B8 48 00 00 0C */ b lbl_802F36C4 -lbl_802F36BC: -/* 802F36BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F36C0 90 03 00 00 */ stw r0, 0(r3) -lbl_802F36C4: -/* 802F36C4 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F36C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevColor__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevColor__18J2DMaterialFactoryCFii.s index 47e0975f0b3..9565bbd497b 100644 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevColor__18J2DMaterialFactoryCFii.s +++ b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevColor__18J2DMaterialFactoryCFii.s @@ -1,7 +1,7 @@ lbl_802F3A1C: /* 802F3A1C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802F3A20 80 E2 D1 B0 */ lwz r7, lit_2018(r2) -/* 802F3A24 80 02 D1 B4 */ lwz r0, data_80456BB4(r2) +/* 802F3A24 80 02 D1 B4 */ lwz r0, lit_2018+0x4(r2) /* 802F3A28 90 E1 00 08 */ stw r7, 8(r1) /* 802F3A2C 90 01 00 0C */ stw r0, 0xc(r1) /* 802F3A30 A9 21 00 0A */ lha r9, 0xa(r1) diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevKColor__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevKColor__18J2DMaterialFactoryCFii.s deleted file mode 100644 index 8586a85cadb..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevKColor__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_802F3AB4: -/* 802F3AB4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F3AB8 80 02 C7 C4 */ lwz r0, lit_2039(r2) -/* 802F3ABC 90 01 00 10 */ stw r0, 0x10(r1) -/* 802F3AC0 90 01 00 0C */ stw r0, 0xc(r1) -/* 802F3AC4 88 01 00 0C */ lbz r0, 0xc(r1) -/* 802F3AC8 98 01 00 14 */ stb r0, 0x14(r1) -/* 802F3ACC 88 01 00 0D */ lbz r0, 0xd(r1) -/* 802F3AD0 98 01 00 15 */ stb r0, 0x15(r1) -/* 802F3AD4 88 01 00 0E */ lbz r0, 0xe(r1) -/* 802F3AD8 98 01 00 16 */ stb r0, 0x16(r1) -/* 802F3ADC 88 01 00 0F */ lbz r0, 0xf(r1) -/* 802F3AE0 98 01 00 17 */ stb r0, 0x17(r1) -/* 802F3AE4 81 04 00 04 */ lwz r8, 4(r4) -/* 802F3AE8 80 E4 00 08 */ lwz r7, 8(r4) -/* 802F3AEC 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F3AF0 7C 07 02 2E */ lhzx r0, r7, r0 -/* 802F3AF4 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3AF8 7C A8 02 14 */ add r5, r8, r0 -/* 802F3AFC 54 C0 08 3C */ slwi r0, r6, 1 -/* 802F3B00 7C A5 02 14 */ add r5, r5, r0 -/* 802F3B04 A0 05 00 4A */ lhz r0, 0x4a(r5) -/* 802F3B08 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F3B0C 41 82 00 38 */ beq lbl_802F3B44 -/* 802F3B10 80 84 00 3C */ lwz r4, 0x3c(r4) -/* 802F3B14 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 802F3B18 7C 04 00 2E */ lwzx r0, r4, r0 -/* 802F3B1C 90 01 00 08 */ stw r0, 8(r1) -/* 802F3B20 88 01 00 08 */ lbz r0, 8(r1) -/* 802F3B24 98 03 00 00 */ stb r0, 0(r3) -/* 802F3B28 88 01 00 09 */ lbz r0, 9(r1) -/* 802F3B2C 98 03 00 01 */ stb r0, 1(r3) -/* 802F3B30 88 01 00 0A */ lbz r0, 0xa(r1) -/* 802F3B34 98 03 00 02 */ stb r0, 2(r3) -/* 802F3B38 88 01 00 0B */ lbz r0, 0xb(r1) -/* 802F3B3C 98 03 00 03 */ stb r0, 3(r3) -/* 802F3B40 48 00 00 0C */ b lbl_802F3B4C -lbl_802F3B44: -/* 802F3B44 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F3B48 90 03 00 00 */ stw r0, 0(r3) -lbl_802F3B4C: -/* 802F3B4C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F3B50 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevOrder__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevOrder__18J2DMaterialFactoryCFii.s deleted file mode 100644 index df5ff7751c6..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevOrder__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_802F39A8: -/* 802F39A8 81 04 00 04 */ lwz r8, 4(r4) -/* 802F39AC 80 E4 00 08 */ lwz r7, 8(r4) -/* 802F39B0 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F39B4 7C 07 02 2E */ lhzx r0, r7, r0 -/* 802F39B8 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F39BC 7C A8 02 14 */ add r5, r8, r0 -/* 802F39C0 54 C0 08 3C */ slwi r0, r6, 1 -/* 802F39C4 7C A5 02 14 */ add r5, r5, r0 -/* 802F39C8 A0 05 00 72 */ lhz r0, 0x72(r5) -/* 802F39CC 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F39D0 41 82 00 2C */ beq lbl_802F39FC -/* 802F39D4 80 84 00 34 */ lwz r4, 0x34(r4) -/* 802F39D8 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 802F39DC 7C 84 02 14 */ add r4, r4, r0 -/* 802F39E0 88 04 00 00 */ lbz r0, 0(r4) -/* 802F39E4 98 03 00 00 */ stb r0, 0(r3) -/* 802F39E8 88 04 00 01 */ lbz r0, 1(r4) -/* 802F39EC 98 03 00 01 */ stb r0, 1(r3) -/* 802F39F0 88 04 00 02 */ lbz r0, 2(r4) -/* 802F39F4 98 03 00 02 */ stb r0, 2(r3) -/* 802F39F8 4E 80 00 20 */ blr -lbl_802F39FC: -/* 802F39FC 88 02 C7 80 */ lbz r0, j2dDefaultTevOrderInfoNull(r2) -/* 802F3A00 98 03 00 00 */ stb r0, 0(r3) -/* 802F3A04 38 82 C7 80 */ la r4, j2dDefaultTevOrderInfoNull(r2) /* 80456180-_SDA2_BASE_ */ -/* 802F3A08 88 04 00 01 */ lbz r0, 1(r4) -/* 802F3A0C 98 03 00 01 */ stb r0, 1(r3) -/* 802F3A10 88 04 00 02 */ lbz r0, 2(r4) -/* 802F3A14 98 03 00 02 */ stb r0, 2(r3) -/* 802F3A18 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStageNum__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStageNum__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 4fe4bd80687..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStageNum__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802F3B54: -/* 802F3B54 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F3B58 80 A3 00 08 */ lwz r5, 8(r3) -/* 802F3B5C 54 80 08 3C */ slwi r0, r4, 1 -/* 802F3B60 7C 05 02 2E */ lhzx r0, r5, r0 -/* 802F3B64 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3B68 7C 86 02 14 */ add r4, r6, r0 -/* 802F3B6C 88 04 00 04 */ lbz r0, 4(r4) -/* 802F3B70 28 00 00 FF */ cmplwi r0, 0xff -/* 802F3B74 41 82 00 10 */ beq lbl_802F3B84 -/* 802F3B78 80 63 00 40 */ lwz r3, 0x40(r3) -/* 802F3B7C 7C 63 00 AE */ lbzx r3, r3, r0 -/* 802F3B80 4E 80 00 20 */ blr -lbl_802F3B84: -/* 802F3B84 38 60 00 FF */ li r3, 0xff -/* 802F3B88 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStage__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStage__18J2DMaterialFactoryCFii.s deleted file mode 100644 index d0d247b8ecf..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStage__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802F3B8C: -/* 802F3B8C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802F3B90 7C 08 02 A6 */ mflr r0 -/* 802F3B94 90 01 00 14 */ stw r0, 0x14(r1) -/* 802F3B98 81 04 00 04 */ lwz r8, 4(r4) -/* 802F3B9C 80 E4 00 08 */ lwz r7, 8(r4) -/* 802F3BA0 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F3BA4 7C 07 02 2E */ lhzx r0, r7, r0 -/* 802F3BA8 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3BAC 7C A8 02 14 */ add r5, r8, r0 -/* 802F3BB0 54 C0 08 3C */ slwi r0, r6, 1 -/* 802F3BB4 7C A5 02 14 */ add r5, r5, r0 -/* 802F3BB8 A0 05 00 9A */ lhz r0, 0x9a(r5) -/* 802F3BBC 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F3BC0 41 82 00 18 */ beq lbl_802F3BD8 -/* 802F3BC4 80 84 00 44 */ lwz r4, 0x44(r4) -/* 802F3BC8 1C 00 00 14 */ mulli r0, r0, 0x14 -/* 802F3BCC 7C 84 02 14 */ add r4, r4, r0 -/* 802F3BD0 48 00 05 41 */ bl __ct__11J2DTevStageFRC15J2DTevStageInfo -/* 802F3BD4 48 00 00 08 */ b lbl_802F3BDC -lbl_802F3BD8: -/* 802F3BD8 4B FF DD 69 */ bl __ct__11J2DTevStageFv -lbl_802F3BDC: -/* 802F3BDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802F3BE0 7C 08 03 A6 */ mtlr r0 -/* 802F3BE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802F3BE8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevSwapModeTable__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevSwapModeTable__18J2DMaterialFactoryCFii.s deleted file mode 100644 index 4187ca5ed3c..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTevSwapModeTable__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_802F3BEC: -/* 802F3BEC 81 04 00 04 */ lwz r8, 4(r4) -/* 802F3BF0 80 E4 00 08 */ lwz r7, 8(r4) -/* 802F3BF4 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F3BF8 7C 07 02 2E */ lhzx r0, r7, r0 -/* 802F3BFC 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3C00 7C A8 02 14 */ add r5, r8, r0 -/* 802F3C04 54 C0 08 3C */ slwi r0, r6, 1 -/* 802F3C08 7C A5 02 14 */ add r5, r5, r0 -/* 802F3C0C A0 05 00 DA */ lhz r0, 0xda(r5) -/* 802F3C10 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F3C14 41 82 00 40 */ beq lbl_802F3C54 -/* 802F3C18 80 84 00 4C */ lwz r4, 0x4c(r4) -/* 802F3C1C 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 802F3C20 7C E4 02 14 */ add r7, r4, r0 -/* 802F3C24 88 87 00 00 */ lbz r4, 0(r7) -/* 802F3C28 88 C7 00 03 */ lbz r6, 3(r7) -/* 802F3C2C 88 07 00 02 */ lbz r0, 2(r7) -/* 802F3C30 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d -/* 802F3C34 54 84 30 32 */ slwi r4, r4, 6 -/* 802F3C38 88 07 00 01 */ lbz r0, 1(r7) -/* 802F3C3C 54 00 25 36 */ rlwinm r0, r0, 4, 0x14, 0x1b -/* 802F3C40 7C 00 2A 14 */ add r0, r0, r5 -/* 802F3C44 7C 00 32 14 */ add r0, r0, r6 -/* 802F3C48 7C 04 02 14 */ add r0, r4, r0 -/* 802F3C4C 98 03 00 00 */ stb r0, 0(r3) -/* 802F3C50 4E 80 00 20 */ blr -lbl_802F3C54: -/* 802F3C54 38 82 C7 9C */ la r4, j2dDefaultTevSwapModeTable(r2) /* 8045619C-_SDA2_BASE_ */ -/* 802F3C58 88 E4 00 01 */ lbz r7, 1(r4) -/* 802F3C5C 88 C4 00 03 */ lbz r6, 3(r4) -/* 802F3C60 88 04 00 02 */ lbz r0, 2(r4) -/* 802F3C64 54 05 15 BA */ rlwinm r5, r0, 2, 0x16, 0x1d -/* 802F3C68 88 02 C7 9C */ lbz r0, j2dDefaultTevSwapModeTable(r2) -/* 802F3C6C 54 04 34 B2 */ rlwinm r4, r0, 6, 0x12, 0x19 -/* 802F3C70 54 E0 20 36 */ slwi r0, r7, 4 -/* 802F3C74 7C 00 2A 14 */ add r0, r0, r5 -/* 802F3C78 7C 00 32 14 */ add r0, r0, r6 -/* 802F3C7C 7C 04 02 14 */ add r0, r4, r0 -/* 802F3C80 98 03 00 00 */ stb r0, 0(r3) -/* 802F3C84 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexCoord__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexCoord__18J2DMaterialFactoryCFii.s deleted file mode 100644 index 5d48fb2aa01..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexCoord__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_802F3790: -/* 802F3790 81 04 00 04 */ lwz r8, 4(r4) -/* 802F3794 80 E4 00 08 */ lwz r7, 8(r4) -/* 802F3798 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F379C 7C 07 02 2E */ lhzx r0, r7, r0 -/* 802F37A0 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F37A4 7C A8 02 14 */ add r5, r8, r0 -/* 802F37A8 54 C0 08 3C */ slwi r0, r6, 1 -/* 802F37AC 7C A5 02 14 */ add r5, r5, r0 -/* 802F37B0 A0 05 00 14 */ lhz r0, 0x14(r5) -/* 802F37B4 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F37B8 41 82 00 2C */ beq lbl_802F37E4 -/* 802F37BC 80 84 00 20 */ lwz r4, 0x20(r4) -/* 802F37C0 54 00 13 BA */ rlwinm r0, r0, 2, 0xe, 0x1d -/* 802F37C4 7C 84 02 14 */ add r4, r4, r0 -/* 802F37C8 88 04 00 00 */ lbz r0, 0(r4) -/* 802F37CC 98 03 00 00 */ stb r0, 0(r3) -/* 802F37D0 88 04 00 01 */ lbz r0, 1(r4) -/* 802F37D4 98 03 00 01 */ stb r0, 1(r3) -/* 802F37D8 88 04 00 02 */ lbz r0, 2(r4) -/* 802F37DC 98 03 00 02 */ stb r0, 2(r3) -/* 802F37E0 4E 80 00 20 */ blr -lbl_802F37E4: -/* 802F37E4 3C 80 80 3A */ lis r4, j2dDefaultTexCoordInfo@ha /* 0x803A1B80@ha */ -/* 802F37E8 8C 04 1B 80 */ lbzu r0, j2dDefaultTexCoordInfo@l(r4) /* 0x803A1B80@l */ -/* 802F37EC 98 03 00 00 */ stb r0, 0(r3) -/* 802F37F0 88 04 00 01 */ lbz r0, 1(r4) -/* 802F37F4 98 03 00 01 */ stb r0, 1(r3) -/* 802F37F8 88 04 00 02 */ lbz r0, 2(r4) -/* 802F37FC 98 03 00 02 */ stb r0, 2(r3) -/* 802F3800 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexGenNum__18J2DMaterialFactoryCFi.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexGenNum__18J2DMaterialFactoryCFi.s deleted file mode 100644 index 3e19e8b01d5..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexGenNum__18J2DMaterialFactoryCFi.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_802F3758: -/* 802F3758 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F375C 80 A3 00 08 */ lwz r5, 8(r3) -/* 802F3760 54 80 08 3C */ slwi r0, r4, 1 -/* 802F3764 7C 05 02 2E */ lhzx r0, r5, r0 -/* 802F3768 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F376C 7C 86 02 14 */ add r4, r6, r0 -/* 802F3770 88 04 00 03 */ lbz r0, 3(r4) -/* 802F3774 28 00 00 FF */ cmplwi r0, 0xff -/* 802F3778 41 82 00 10 */ beq lbl_802F3788 -/* 802F377C 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 802F3780 7C 63 00 AE */ lbzx r3, r3, r0 -/* 802F3784 4E 80 00 20 */ blr -lbl_802F3788: -/* 802F3788 38 60 00 00 */ li r3, 0 -/* 802F378C 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexMtx__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexMtx__18J2DMaterialFactoryCFii.s deleted file mode 100644 index a2b01219d8b..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexMtx__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_802F3804: -/* 802F3804 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802F3808 7C 08 02 A6 */ mflr r0 -/* 802F380C 90 01 00 24 */ stw r0, 0x24(r1) -/* 802F3810 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F3814 48 06 E9 C9 */ bl _savegpr_29 -/* 802F3818 7C 7D 1B 78 */ mr r29, r3 -/* 802F381C 3B C0 00 00 */ li r30, 0 -/* 802F3820 80 C3 00 04 */ lwz r6, 4(r3) -/* 802F3824 80 63 00 08 */ lwz r3, 8(r3) -/* 802F3828 54 80 08 3C */ slwi r0, r4, 1 -/* 802F382C 7C 03 02 2E */ lhzx r0, r3, r0 -/* 802F3830 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3834 7C 66 02 14 */ add r3, r6, r0 -/* 802F3838 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F383C 7F E3 02 14 */ add r31, r3, r0 -/* 802F3840 A0 1F 00 24 */ lhz r0, 0x24(r31) -/* 802F3844 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F3848 41 82 00 7C */ beq lbl_802F38C4 -/* 802F384C 38 60 00 54 */ li r3, 0x54 -/* 802F3850 4B FD B3 FD */ bl __nw__FUl -/* 802F3854 28 03 00 00 */ cmplwi r3, 0 -/* 802F3858 41 82 00 64 */ beq lbl_802F38BC -/* 802F385C 80 9D 00 24 */ lwz r4, 0x24(r29) -/* 802F3860 A0 1F 00 24 */ lhz r0, 0x24(r31) -/* 802F3864 1C 00 00 24 */ mulli r0, r0, 0x24 -/* 802F3868 7C 84 02 14 */ add r4, r4, r0 -/* 802F386C C0 04 00 04 */ lfs f0, 4(r4) -/* 802F3870 D0 03 00 04 */ stfs f0, 4(r3) -/* 802F3874 C0 04 00 08 */ lfs f0, 8(r4) -/* 802F3878 D0 03 00 08 */ stfs f0, 8(r3) -/* 802F387C C0 04 00 0C */ lfs f0, 0xc(r4) -/* 802F3880 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 802F3884 88 04 00 00 */ lbz r0, 0(r4) -/* 802F3888 98 03 00 00 */ stb r0, 0(r3) -/* 802F388C 88 04 00 01 */ lbz r0, 1(r4) -/* 802F3890 98 03 00 01 */ stb r0, 1(r3) -/* 802F3894 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 802F3898 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 802F389C C0 04 00 14 */ lfs f0, 0x14(r4) -/* 802F38A0 D0 03 00 14 */ stfs f0, 0x14(r3) -/* 802F38A4 C0 04 00 18 */ lfs f0, 0x18(r4) -/* 802F38A8 D0 03 00 18 */ stfs f0, 0x18(r3) -/* 802F38AC C0 04 00 1C */ lfs f0, 0x1c(r4) -/* 802F38B0 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 802F38B4 C0 04 00 20 */ lfs f0, 0x20(r4) -/* 802F38B8 D0 03 00 20 */ stfs f0, 0x20(r3) -lbl_802F38BC: -/* 802F38BC 7C 7E 1B 78 */ mr r30, r3 -/* 802F38C0 4B FF 64 05 */ bl calc__9J2DTexMtxFv -lbl_802F38C4: -/* 802F38C4 7F C3 F3 78 */ mr r3, r30 -/* 802F38C8 39 61 00 20 */ addi r11, r1, 0x20 -/* 802F38CC 48 06 E9 5D */ bl _restgpr_29 -/* 802F38D0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802F38D4 7C 08 03 A6 */ mtlr r0 -/* 802F38D8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802F38DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexNo__18J2DMaterialFactoryCFii.s b/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexNo__18J2DMaterialFactoryCFii.s deleted file mode 100644 index d2c7444817d..00000000000 --- a/asm/JSystem/J2DGraph/J2DMaterialFactory/newTexNo__18J2DMaterialFactoryCFii.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802F3920: -/* 802F3920 80 E3 00 04 */ lwz r7, 4(r3) -/* 802F3924 80 C3 00 08 */ lwz r6, 8(r3) -/* 802F3928 54 80 08 3C */ slwi r0, r4, 1 -/* 802F392C 7C 06 02 2E */ lhzx r0, r6, r0 -/* 802F3930 1C 00 00 E8 */ mulli r0, r0, 0xe8 -/* 802F3934 7C 87 02 14 */ add r4, r7, r0 -/* 802F3938 54 A0 08 3C */ slwi r0, r5, 1 -/* 802F393C 7C 84 02 14 */ add r4, r4, r0 -/* 802F3940 A0 04 00 38 */ lhz r0, 0x38(r4) -/* 802F3944 28 00 FF FF */ cmplwi r0, 0xffff -/* 802F3948 41 82 00 14 */ beq lbl_802F395C -/* 802F394C 80 63 00 28 */ lwz r3, 0x28(r3) -/* 802F3950 54 00 0B FC */ rlwinm r0, r0, 1, 0xf, 0x1e -/* 802F3954 7C 63 02 2E */ lhzx r3, r3, r0 -/* 802F3958 4E 80 00 20 */ blr -lbl_802F395C: -/* 802F395C 3C 60 00 01 */ lis r3, 0x0001 /* 0x0000FFFF@ha */ -/* 802F3960 38 63 FF FF */ addi r3, r3, 0xFFFF /* 0x0000FFFF@l */ -/* 802F3964 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DTextBoxEx/animationPane__12J2DTextBoxExFPC15J2DAnmTransform.s b/asm/JSystem/J2DGraph/J2DTextBoxEx/animationPane__12J2DTextBoxExFPC15J2DAnmTransform.s deleted file mode 100644 index 08a3177f0c8..00000000000 --- a/asm/JSystem/J2DGraph/J2DTextBoxEx/animationPane__12J2DTextBoxExFPC15J2DAnmTransform.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8030896C: -/* 8030896C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80308970 7C 08 02 A6 */ mflr r0 -/* 80308974 90 01 00 24 */ stw r0, 0x24(r1) -/* 80308978 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8030897C 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80308980 7C 7E 1B 78 */ mr r30, r3 -/* 80308984 7C 9F 23 78 */ mr r31, r4 -/* 80308988 80 63 01 44 */ lwz r3, 0x144(r3) -/* 8030898C 28 03 00 00 */ cmplwi r3, 0 -/* 80308990 41 82 00 38 */ beq lbl_803089C8 -/* 80308994 A0 9E 01 3C */ lhz r4, 0x13c(r30) -/* 80308998 28 04 FF FF */ cmplwi r4, 0xffff -/* 8030899C 41 82 00 2C */ beq lbl_803089C8 -/* 803089A0 38 A1 00 08 */ addi r5, r1, 8 -/* 803089A4 48 00 36 A5 */ bl getVisibility__20J2DAnmVisibilityFullCFUsPUc -/* 803089A8 88 01 00 08 */ lbz r0, 8(r1) -/* 803089AC 28 00 00 00 */ cmplwi r0, 0 -/* 803089B0 41 82 00 10 */ beq lbl_803089C0 -/* 803089B4 38 00 00 01 */ li r0, 1 -/* 803089B8 98 1E 00 B0 */ stb r0, 0xb0(r30) -/* 803089BC 48 00 00 0C */ b lbl_803089C8 -lbl_803089C0: -/* 803089C0 38 00 00 00 */ li r0, 0 -/* 803089C4 98 1E 00 B0 */ stb r0, 0xb0(r30) -lbl_803089C8: -/* 803089C8 7F C3 F3 78 */ mr r3, r30 -/* 803089CC 7F E4 FB 78 */ mr r4, r31 -/* 803089D0 4B FE F8 59 */ bl animationPane__7J2DPaneFPC15J2DAnmTransform -/* 803089D4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803089D8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803089DC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803089E0 7C 08 03 A6 */ mtlr r0 -/* 803089E4 38 21 00 20 */ addi r1, r1, 0x20 -/* 803089E8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DTextBoxEx/getBlack__12J2DTextBoxExCFv.s b/asm/JSystem/J2DGraph/J2DTextBoxEx/getBlack__12J2DTextBoxExCFv.s deleted file mode 100644 index 354f052a401..00000000000 --- a/asm/JSystem/J2DGraph/J2DTextBoxEx/getBlack__12J2DTextBoxExCFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_803086FC: -/* 803086FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80308700 7C 08 02 A6 */ mflr r0 -/* 80308704 90 01 00 24 */ stw r0, 0x24(r1) -/* 80308708 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8030870C 7C 7F 1B 78 */ mr r31, r3 -/* 80308710 38 00 FF FF */ li r0, -1 -/* 80308714 90 01 00 0C */ stw r0, 0xc(r1) -/* 80308718 90 01 00 08 */ stw r0, 8(r1) -/* 8030871C 7C 83 23 78 */ mr r3, r4 -/* 80308720 38 81 00 0C */ addi r4, r1, 0xc -/* 80308724 38 A1 00 08 */ addi r5, r1, 8 -/* 80308728 4B FF FD A5 */ bl getBlackWhite__12J2DTextBoxExCFPQ28JUtility6TColorPQ28JUtility6TColor -/* 8030872C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80308730 40 82 00 10 */ bne lbl_80308740 -/* 80308734 38 00 00 00 */ li r0, 0 -/* 80308738 90 1F 00 00 */ stw r0, 0(r31) -/* 8030873C 48 00 00 0C */ b lbl_80308748 -lbl_80308740: -/* 80308740 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80308744 90 1F 00 00 */ stw r0, 0(r31) -lbl_80308748: -/* 80308748 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8030874C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80308750 7C 08 03 A6 */ mtlr r0 -/* 80308754 38 21 00 20 */ addi r1, r1, 0x20 -/* 80308758 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DTextBoxEx/getWhite__12J2DTextBoxExCFv.s b/asm/JSystem/J2DGraph/J2DTextBoxEx/getWhite__12J2DTextBoxExCFv.s deleted file mode 100644 index adc3d351a8d..00000000000 --- a/asm/JSystem/J2DGraph/J2DTextBoxEx/getWhite__12J2DTextBoxExCFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8030875C: -/* 8030875C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80308760 7C 08 02 A6 */ mflr r0 -/* 80308764 90 01 00 24 */ stw r0, 0x24(r1) -/* 80308768 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8030876C 7C 7F 1B 78 */ mr r31, r3 -/* 80308770 38 00 FF FF */ li r0, -1 -/* 80308774 90 01 00 0C */ stw r0, 0xc(r1) -/* 80308778 90 01 00 08 */ stw r0, 8(r1) -/* 8030877C 7C 83 23 78 */ mr r3, r4 -/* 80308780 38 81 00 0C */ addi r4, r1, 0xc -/* 80308784 38 A1 00 08 */ addi r5, r1, 8 -/* 80308788 4B FF FD 45 */ bl getBlackWhite__12J2DTextBoxExCFPQ28JUtility6TColorPQ28JUtility6TColor -/* 8030878C 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80308790 40 82 00 10 */ bne lbl_803087A0 -/* 80308794 38 00 FF FF */ li r0, -1 -/* 80308798 90 1F 00 00 */ stw r0, 0(r31) -/* 8030879C 48 00 00 0C */ b lbl_803087A8 -lbl_803087A0: -/* 803087A0 80 01 00 08 */ lwz r0, 8(r1) -/* 803087A4 90 1F 00 00 */ stw r0, 0(r31) -lbl_803087A8: -/* 803087A8 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803087AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803087B0 7C 08 03 A6 */ mtlr r0 -/* 803087B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 803087B8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DTextBoxEx/isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor.s b/asm/JSystem/J2DGraph/J2DTextBoxEx/isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor.s deleted file mode 100644 index a0b7b0f239d..00000000000 --- a/asm/JSystem/J2DGraph/J2DTextBoxEx/isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor.s +++ /dev/null @@ -1,41 +0,0 @@ -lbl_80308668: -/* 80308668 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8030866C 7C 08 02 A6 */ mflr r0 -/* 80308670 90 01 00 14 */ stw r0, 0x14(r1) -/* 80308674 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80308678 7C 7F 1B 78 */ mr r31, r3 -/* 8030867C 80 04 00 00 */ lwz r0, 0(r4) -/* 80308680 28 00 00 00 */ cmplwi r0, 0 -/* 80308684 40 82 00 1C */ bne lbl_803086A0 -/* 80308688 80 65 00 00 */ lwz r3, 0(r5) -/* 8030868C 3C 03 00 01 */ addis r0, r3, 1 -/* 80308690 28 00 FF FF */ cmplwi r0, 0xffff -/* 80308694 40 82 00 0C */ bne lbl_803086A0 -/* 80308698 38 60 00 01 */ li r3, 1 -/* 8030869C 48 00 00 4C */ b lbl_803086E8 -lbl_803086A0: -/* 803086A0 80 7F 01 38 */ lwz r3, 0x138(r31) -/* 803086A4 80 63 00 70 */ lwz r3, 0x70(r3) -/* 803086A8 81 83 00 00 */ lwz r12, 0(r3) -/* 803086AC 81 8C 00 58 */ lwz r12, 0x58(r12) -/* 803086B0 7D 89 03 A6 */ mtctr r12 -/* 803086B4 4E 80 04 21 */ bctrl -/* 803086B8 80 7F 01 38 */ lwz r3, 0x138(r31) -/* 803086BC 80 63 00 70 */ lwz r3, 0x70(r3) -/* 803086C0 81 83 00 00 */ lwz r12, 0(r3) -/* 803086C4 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 803086C8 7D 89 03 A6 */ mtctr r12 -/* 803086CC 4E 80 04 21 */ bctrl -/* 803086D0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 803086D4 28 00 00 01 */ cmplwi r0, 1 -/* 803086D8 40 82 00 0C */ bne lbl_803086E4 -/* 803086DC 38 60 00 00 */ li r3, 0 -/* 803086E0 48 00 00 08 */ b lbl_803086E8 -lbl_803086E4: -/* 803086E4 38 60 00 01 */ li r3, 1 -lbl_803086E8: -/* 803086E8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 803086EC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 803086F0 7C 08 03 A6 */ mtlr r0 -/* 803086F4 38 21 00 10 */ addi r1, r1, 0x10 -/* 803086F8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DTextBoxEx/setBlackWhite__12J2DTextBoxExFQ28JUtility6TColorQ28JUtility6TColor.s b/asm/JSystem/J2DGraph/J2DTextBoxEx/setBlackWhite__12J2DTextBoxExFQ28JUtility6TColorQ28JUtility6TColor.s deleted file mode 100644 index c2303bbf67b..00000000000 --- a/asm/JSystem/J2DGraph/J2DTextBoxEx/setBlackWhite__12J2DTextBoxExFQ28JUtility6TColorQ28JUtility6TColor.s +++ /dev/null @@ -1,104 +0,0 @@ -lbl_8030834C: -/* 8030834C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80308350 7C 08 02 A6 */ mflr r0 -/* 80308354 90 01 00 34 */ stw r0, 0x34(r1) -/* 80308358 39 61 00 30 */ addi r11, r1, 0x30 -/* 8030835C 48 05 9E 7D */ bl _savegpr_28 -/* 80308360 7C 7D 1B 78 */ mr r29, r3 -/* 80308364 7C 9E 23 78 */ mr r30, r4 -/* 80308368 7C BF 2B 78 */ mr r31, r5 -/* 8030836C 80 83 01 38 */ lwz r4, 0x138(r3) -/* 80308370 28 04 00 00 */ cmplwi r4, 0 -/* 80308374 40 82 00 0C */ bne lbl_80308380 -/* 80308378 38 60 00 00 */ li r3, 0 -/* 8030837C 48 00 01 38 */ b lbl_803084B4 -lbl_80308380: -/* 80308380 80 04 00 70 */ lwz r0, 0x70(r4) -/* 80308384 28 00 00 00 */ cmplwi r0, 0 -/* 80308388 40 82 00 0C */ bne lbl_80308394 -/* 8030838C 38 60 00 00 */ li r3, 0 -/* 80308390 48 00 01 24 */ b lbl_803084B4 -lbl_80308394: -/* 80308394 80 1F 00 00 */ lwz r0, 0(r31) -/* 80308398 90 01 00 08 */ stw r0, 8(r1) -/* 8030839C 80 1E 00 00 */ lwz r0, 0(r30) -/* 803083A0 90 01 00 0C */ stw r0, 0xc(r1) -/* 803083A4 38 81 00 0C */ addi r4, r1, 0xc -/* 803083A8 38 A1 00 08 */ addi r5, r1, 8 -/* 803083AC 48 00 02 BD */ bl isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor -/* 803083B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 803083B4 40 82 00 0C */ bne lbl_803083C0 -/* 803083B8 38 60 00 00 */ li r3, 0 -/* 803083BC 48 00 00 F8 */ b lbl_803084B4 -lbl_803083C0: -/* 803083C0 3B 80 00 00 */ li r28, 0 -/* 803083C4 80 1E 00 00 */ lwz r0, 0(r30) -/* 803083C8 28 00 00 00 */ cmplwi r0, 0 -/* 803083CC 40 82 00 14 */ bne lbl_803083E0 -/* 803083D0 80 7F 00 00 */ lwz r3, 0(r31) -/* 803083D4 3C 03 00 01 */ addis r0, r3, 1 -/* 803083D8 28 00 FF FF */ cmplwi r0, 0xffff -/* 803083DC 41 82 00 08 */ beq lbl_803083E4 -lbl_803083E0: -/* 803083E0 3B 80 00 01 */ li r28, 1 -lbl_803083E4: -/* 803083E4 57 83 06 3E */ clrlwi r3, r28, 0x18 -/* 803083E8 30 03 FF FF */ addic r0, r3, -1 -/* 803083EC 7C 60 19 10 */ subfe r3, r0, r3 -/* 803083F0 38 03 00 01 */ addi r0, r3, 1 -/* 803083F4 80 7D 01 38 */ lwz r3, 0x138(r29) -/* 803083F8 80 63 00 70 */ lwz r3, 0x70(r3) -/* 803083FC 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80308400 81 83 00 00 */ lwz r12, 0(r3) -/* 80308404 81 8C 00 54 */ lwz r12, 0x54(r12) -/* 80308408 7D 89 03 A6 */ mtctr r12 -/* 8030840C 4E 80 04 21 */ bctrl -/* 80308410 7F A3 EB 78 */ mr r3, r29 -/* 80308414 7F 84 E3 78 */ mr r4, r28 -/* 80308418 4B FF F9 F5 */ bl setTevOrder__12J2DTextBoxExFb -/* 8030841C 7F A3 EB 78 */ mr r3, r29 -/* 80308420 7F 84 E3 78 */ mr r4, r28 -/* 80308424 4B FF FA CD */ bl setTevStage__12J2DTextBoxExFb -/* 80308428 57 80 06 3F */ clrlwi. r0, r28, 0x18 -/* 8030842C 41 82 00 84 */ beq lbl_803084B0 -/* 80308430 88 1E 00 00 */ lbz r0, 0(r30) -/* 80308434 88 7E 00 01 */ lbz r3, 1(r30) -/* 80308438 88 9E 00 02 */ lbz r4, 2(r30) -/* 8030843C 88 BE 00 03 */ lbz r5, 3(r30) -/* 80308440 B0 01 00 18 */ sth r0, 0x18(r1) -/* 80308444 B0 61 00 1A */ sth r3, 0x1a(r1) -/* 80308448 B0 81 00 1C */ sth r4, 0x1c(r1) -/* 8030844C B0 A1 00 1E */ sth r5, 0x1e(r1) -/* 80308450 80 7D 01 38 */ lwz r3, 0x138(r29) -/* 80308454 80 63 00 70 */ lwz r3, 0x70(r3) -/* 80308458 38 80 00 00 */ li r4, 0 -/* 8030845C 38 A1 00 18 */ addi r5, r1, 0x18 -/* 80308460 81 83 00 00 */ lwz r12, 0(r3) -/* 80308464 81 8C 00 34 */ lwz r12, 0x34(r12) -/* 80308468 7D 89 03 A6 */ mtctr r12 -/* 8030846C 4E 80 04 21 */ bctrl -/* 80308470 88 7F 00 01 */ lbz r3, 1(r31) -/* 80308474 88 9F 00 02 */ lbz r4, 2(r31) -/* 80308478 88 BF 00 03 */ lbz r5, 3(r31) -/* 8030847C 88 1F 00 00 */ lbz r0, 0(r31) -/* 80308480 B0 01 00 10 */ sth r0, 0x10(r1) -/* 80308484 B0 61 00 12 */ sth r3, 0x12(r1) -/* 80308488 B0 81 00 14 */ sth r4, 0x14(r1) -/* 8030848C B0 A1 00 16 */ sth r5, 0x16(r1) -/* 80308490 80 7D 01 38 */ lwz r3, 0x138(r29) -/* 80308494 80 63 00 70 */ lwz r3, 0x70(r3) -/* 80308498 38 80 00 01 */ li r4, 1 -/* 8030849C 38 A1 00 10 */ addi r5, r1, 0x10 -/* 803084A0 81 83 00 00 */ lwz r12, 0(r3) -/* 803084A4 81 8C 00 34 */ lwz r12, 0x34(r12) -/* 803084A8 7D 89 03 A6 */ mtctr r12 -/* 803084AC 4E 80 04 21 */ bctrl -lbl_803084B0: -/* 803084B0 38 60 00 01 */ li r3, 1 -lbl_803084B4: -/* 803084B4 39 61 00 30 */ addi r11, r1, 0x30 -/* 803084B8 48 05 9D 6D */ bl _restgpr_28 -/* 803084BC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 803084C0 7C 08 03 A6 */ mtlr r0 -/* 803084C4 38 21 00 30 */ addi r1, r1, 0x30 -/* 803084C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/J2DGraph/J2DTextBoxEx/setCullBack__12J2DTextBoxExFb.s b/asm/JSystem/J2DGraph/J2DTextBoxEx/setCullBack__12J2DTextBoxExFb.s deleted file mode 100644 index 9702a993fc7..00000000000 --- a/asm/JSystem/J2DGraph/J2DTextBoxEx/setCullBack__12J2DTextBoxExFb.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_803089EC: -/* 803089EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 803089F0 7C 08 02 A6 */ mflr r0 -/* 803089F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 803089F8 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 803089FC 38 80 00 00 */ li r4, 0 -/* 80308A00 41 82 00 08 */ beq lbl_80308A08 -/* 80308A04 38 80 00 02 */ li r4, 2 -lbl_80308A08: -/* 80308A08 81 83 00 00 */ lwz r12, 0(r3) -/* 80308A0C 81 8C 00 20 */ lwz r12, 0x20(r12) -/* 80308A10 7D 89 03 A6 */ mtctr r12 -/* 80308A14 4E 80 04 21 */ bctrl -/* 80308A18 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80308A1C 7C 08 03 A6 */ mtlr r0 -/* 80308A20 38 21 00 10 */ addi r1, r1, 0x10 -/* 80308A24 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_Cf3Vecf.s b/asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_Cf3Vecf.s deleted file mode 100644 index 04135e6e149..00000000000 --- a/asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_Cf3Vecf.s +++ /dev/null @@ -1,89 +0,0 @@ -lbl_802738FC: -/* 802738FC 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80273900 7C 08 02 A6 */ mflr r0 -/* 80273904 90 01 00 34 */ stw r0, 0x34(r1) -/* 80273908 DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8027390C F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 80273910 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80273914 7C 7F 1B 78 */ mr r31, r3 -/* 80273918 FF E0 08 90 */ fmr f31, f1 -/* 8027391C 7C 83 23 78 */ mr r3, r4 -/* 80273920 7C A4 2B 78 */ mr r4, r5 -/* 80273924 38 A1 00 08 */ addi r5, r1, 8 -/* 80273928 48 0D 34 45 */ bl PSMTXMultVec -/* 8027392C C0 61 00 10 */ lfs f3, 0x10(r1) -/* 80273930 FC 20 18 50 */ fneg f1, f3 -/* 80273934 C0 1F 00 54 */ lfs f0, 0x54(r31) -/* 80273938 EC 00 F8 28 */ fsubs f0, f0, f31 -/* 8027393C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80273940 40 80 00 0C */ bge lbl_8027394C -/* 80273944 38 60 00 01 */ li r3, 1 -/* 80273948 48 00 00 E0 */ b lbl_80273A28 -lbl_8027394C: -/* 8027394C C0 1F 00 58 */ lfs f0, 0x58(r31) -/* 80273950 EC 00 F8 2A */ fadds f0, f0, f31 -/* 80273954 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80273958 40 81 00 0C */ ble lbl_80273964 -/* 8027395C 38 60 00 01 */ li r3, 1 -/* 80273960 48 00 00 C8 */ b lbl_80273A28 -lbl_80273964: -/* 80273964 C0 1F 00 0C */ lfs f0, 0xc(r31) -/* 80273968 EC 43 00 32 */ fmuls f2, f3, f0 -/* 8027396C C0 A1 00 08 */ lfs f5, 8(r1) -/* 80273970 C0 1F 00 04 */ lfs f0, 4(r31) -/* 80273974 EC 25 00 32 */ fmuls f1, f5, f0 -/* 80273978 C0 81 00 0C */ lfs f4, 0xc(r1) -/* 8027397C C0 1F 00 08 */ lfs f0, 8(r31) -/* 80273980 EC 04 00 32 */ fmuls f0, f4, f0 -/* 80273984 EC 01 00 2A */ fadds f0, f1, f0 -/* 80273988 EC 02 00 2A */ fadds f0, f2, f0 -/* 8027398C FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 80273990 40 81 00 0C */ ble lbl_8027399C -/* 80273994 38 60 00 01 */ li r3, 1 -/* 80273998 48 00 00 90 */ b lbl_80273A28 -lbl_8027399C: -/* 8027399C C0 1F 00 18 */ lfs f0, 0x18(r31) -/* 802739A0 EC 43 00 32 */ fmuls f2, f3, f0 -/* 802739A4 C0 1F 00 10 */ lfs f0, 0x10(r31) -/* 802739A8 EC 25 00 32 */ fmuls f1, f5, f0 -/* 802739AC C0 1F 00 14 */ lfs f0, 0x14(r31) -/* 802739B0 EC 04 00 32 */ fmuls f0, f4, f0 -/* 802739B4 EC 01 00 2A */ fadds f0, f1, f0 -/* 802739B8 EC 02 00 2A */ fadds f0, f2, f0 -/* 802739BC FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 802739C0 40 81 00 0C */ ble lbl_802739CC -/* 802739C4 38 60 00 01 */ li r3, 1 -/* 802739C8 48 00 00 60 */ b lbl_80273A28 -lbl_802739CC: -/* 802739CC C0 1F 00 24 */ lfs f0, 0x24(r31) -/* 802739D0 EC 43 00 32 */ fmuls f2, f3, f0 -/* 802739D4 C0 1F 00 1C */ lfs f0, 0x1c(r31) -/* 802739D8 EC 25 00 32 */ fmuls f1, f5, f0 -/* 802739DC C0 1F 00 20 */ lfs f0, 0x20(r31) -/* 802739E0 EC 04 00 32 */ fmuls f0, f4, f0 -/* 802739E4 EC 01 00 2A */ fadds f0, f1, f0 -/* 802739E8 EC 02 00 2A */ fadds f0, f2, f0 -/* 802739EC FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 802739F0 40 81 00 0C */ ble lbl_802739FC -/* 802739F4 38 60 00 01 */ li r3, 1 -/* 802739F8 48 00 00 30 */ b lbl_80273A28 -lbl_802739FC: -/* 802739FC C0 1F 00 30 */ lfs f0, 0x30(r31) -/* 80273A00 EC 43 00 32 */ fmuls f2, f3, f0 -/* 80273A04 C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 80273A08 EC 25 00 32 */ fmuls f1, f5, f0 -/* 80273A0C C0 1F 00 2C */ lfs f0, 0x2c(r31) -/* 80273A10 EC 04 00 32 */ fmuls f0, f4, f0 -/* 80273A14 EC 01 00 2A */ fadds f0, f1, f0 -/* 80273A18 EC 02 00 2A */ fadds f0, f2, f0 -/* 80273A1C FC 00 F8 40 */ fcmpo cr0, f0, f31 -/* 80273A20 7C 00 00 26 */ mfcr r0 -/* 80273A24 54 03 17 FE */ rlwinm r3, r0, 2, 0x1f, 0x1f -lbl_80273A28: -/* 80273A28 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 80273A2C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 80273A30 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80273A34 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80273A38 7C 08 03 A6 */ mtlr r0 -/* 80273A3C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80273A40 4E 80 00 20 */ blr diff --git a/asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_CfP3VecP3Vec.s b/asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_CfP3VecP3Vec.s deleted file mode 100644 index 9c9e8d7423a..00000000000 --- a/asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_CfP3VecP3Vec.s +++ /dev/null @@ -1,257 +0,0 @@ -lbl_80273A44: -/* 80273A44 94 21 FE 70 */ stwu r1, -0x190(r1) -/* 80273A48 7C 08 02 A6 */ mflr r0 -/* 80273A4C 90 01 01 94 */ stw r0, 0x194(r1) -/* 80273A50 DB E1 01 80 */ stfd f31, 0x180(r1) -/* 80273A54 F3 E1 01 88 */ psq_st f31, 392(r1), 0, 0 /* qr0 */ -/* 80273A58 DB C1 01 70 */ stfd f30, 0x170(r1) -/* 80273A5C F3 C1 01 78 */ psq_st f30, 376(r1), 0, 0 /* qr0 */ -/* 80273A60 DB A1 01 60 */ stfd f29, 0x160(r1) -/* 80273A64 F3 A1 01 68 */ psq_st f29, 360(r1), 0, 0 /* qr0 */ -/* 80273A68 DB 81 01 50 */ stfd f28, 0x150(r1) -/* 80273A6C F3 81 01 58 */ psq_st f28, 344(r1), 0, 0 /* qr0 */ -/* 80273A70 DB 61 01 40 */ stfd f27, 0x140(r1) -/* 80273A74 F3 61 01 48 */ psq_st f27, 328(r1), 0, 0 /* qr0 */ -/* 80273A78 DB 41 01 30 */ stfd f26, 0x130(r1) -/* 80273A7C F3 41 01 38 */ psq_st f26, 312(r1), 0, 0 /* qr0 */ -/* 80273A80 DB 21 01 20 */ stfd f25, 0x120(r1) -/* 80273A84 F3 21 01 28 */ psq_st f25, 296(r1), 0, 0 /* qr0 */ -/* 80273A88 DB 01 01 10 */ stfd f24, 0x110(r1) -/* 80273A8C F3 01 01 18 */ psq_st f24, 280(r1), 0, 0 /* qr0 */ -/* 80273A90 DA E1 01 00 */ stfd f23, 0x100(r1) -/* 80273A94 F2 E1 01 08 */ psq_st f23, 264(r1), 0, 0 /* qr0 */ -/* 80273A98 DA C1 00 F0 */ stfd f22, 0xf0(r1) -/* 80273A9C F2 C1 00 F8 */ psq_st f22, 248(r1), 0, 0 /* qr0 */ -/* 80273AA0 DA A1 00 E0 */ stfd f21, 0xe0(r1) -/* 80273AA4 F2 A1 00 E8 */ psq_st f21, 232(r1), 0, 0 /* qr0 */ -/* 80273AA8 DA 81 00 D0 */ stfd f20, 0xd0(r1) -/* 80273AAC F2 81 00 D8 */ psq_st f20, 216(r1), 0, 0 /* qr0 */ -/* 80273AB0 DA 61 00 C0 */ stfd f19, 0xc0(r1) -/* 80273AB4 F2 61 00 C8 */ psq_st f19, 200(r1), 0, 0 /* qr0 */ -/* 80273AB8 DA 41 00 B0 */ stfd f18, 0xb0(r1) -/* 80273ABC F2 41 00 B8 */ psq_st f18, 184(r1), 0, 0 /* qr0 */ -/* 80273AC0 DA 21 00 A0 */ stfd f17, 0xa0(r1) -/* 80273AC4 F2 21 00 A8 */ psq_st f17, 168(r1), 0, 0 /* qr0 */ -/* 80273AC8 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 80273ACC 48 0E E7 11 */ bl _savegpr_29 -/* 80273AD0 7C 9F 23 78 */ mr r31, r4 -/* 80273AD4 38 80 00 00 */ li r4, 0 -/* 80273AD8 7C 88 23 78 */ mr r8, r4 -/* 80273ADC 38 E1 00 14 */ addi r7, r1, 0x14 -/* 80273AE0 38 00 00 06 */ li r0, 6 -/* 80273AE4 7C 09 03 A6 */ mtctr r0 -lbl_80273AE8: -/* 80273AE8 7D 07 21 2E */ stwx r8, r7, r4 -/* 80273AEC 38 84 00 04 */ addi r4, r4, 4 -/* 80273AF0 42 00 FF F8 */ bdnz lbl_80273AE8 -/* 80273AF4 C0 86 00 00 */ lfs f4, 0(r6) -/* 80273AF8 D0 81 00 2C */ stfs f4, 0x2c(r1) -/* 80273AFC C0 06 00 04 */ lfs f0, 4(r6) -/* 80273B00 D0 01 00 30 */ stfs f0, 0x30(r1) -/* 80273B04 C0 65 00 08 */ lfs f3, 8(r5) -/* 80273B08 D0 61 00 34 */ stfs f3, 0x34(r1) -/* 80273B0C D0 81 00 38 */ stfs f4, 0x38(r1) -/* 80273B10 D0 01 00 3C */ stfs f0, 0x3c(r1) -/* 80273B14 C0 46 00 08 */ lfs f2, 8(r6) -/* 80273B18 D0 41 00 40 */ stfs f2, 0x40(r1) -/* 80273B1C C0 25 00 00 */ lfs f1, 0(r5) -/* 80273B20 D0 21 00 44 */ stfs f1, 0x44(r1) -/* 80273B24 D0 01 00 48 */ stfs f0, 0x48(r1) -/* 80273B28 D0 41 00 4C */ stfs f2, 0x4c(r1) -/* 80273B2C D0 21 00 50 */ stfs f1, 0x50(r1) -/* 80273B30 D0 01 00 54 */ stfs f0, 0x54(r1) -/* 80273B34 D0 61 00 58 */ stfs f3, 0x58(r1) -/* 80273B38 D0 81 00 5C */ stfs f4, 0x5c(r1) -/* 80273B3C C0 05 00 04 */ lfs f0, 4(r5) -/* 80273B40 D0 01 00 60 */ stfs f0, 0x60(r1) -/* 80273B44 D0 61 00 64 */ stfs f3, 0x64(r1) -/* 80273B48 D0 81 00 68 */ stfs f4, 0x68(r1) -/* 80273B4C D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 80273B50 D0 41 00 70 */ stfs f2, 0x70(r1) -/* 80273B54 D0 21 00 74 */ stfs f1, 0x74(r1) -/* 80273B58 D0 01 00 78 */ stfs f0, 0x78(r1) -/* 80273B5C D0 41 00 7C */ stfs f2, 0x7c(r1) -/* 80273B60 D0 21 00 80 */ stfs f1, 0x80(r1) -/* 80273B64 D0 01 00 84 */ stfs f0, 0x84(r1) -/* 80273B68 D0 61 00 88 */ stfs f3, 0x88(r1) -/* 80273B6C 3B A0 00 00 */ li r29, 0 -/* 80273B70 3B C0 00 00 */ li r30, 0 -/* 80273B74 C2 43 00 54 */ lfs f18, 0x54(r3) -/* 80273B78 C2 63 00 58 */ lfs f19, 0x58(r3) -/* 80273B7C C2 83 00 0C */ lfs f20, 0xc(r3) -/* 80273B80 C2 A3 00 04 */ lfs f21, 4(r3) -/* 80273B84 C2 C3 00 08 */ lfs f22, 8(r3) -/* 80273B88 C2 E2 B8 88 */ lfs f23, lit_991(r2) -/* 80273B8C C3 03 00 18 */ lfs f24, 0x18(r3) -/* 80273B90 C3 23 00 10 */ lfs f25, 0x10(r3) -/* 80273B94 C3 43 00 14 */ lfs f26, 0x14(r3) -/* 80273B98 C3 63 00 24 */ lfs f27, 0x24(r3) -/* 80273B9C C3 83 00 1C */ lfs f28, 0x1c(r3) -/* 80273BA0 C3 A3 00 20 */ lfs f29, 0x20(r3) -/* 80273BA4 C3 C3 00 30 */ lfs f30, 0x30(r3) -/* 80273BA8 C3 E3 00 28 */ lfs f31, 0x28(r3) -/* 80273BAC C2 23 00 2C */ lfs f17, 0x2c(r3) -lbl_80273BB0: -/* 80273BB0 7F E3 FB 78 */ mr r3, r31 -/* 80273BB4 38 81 00 2C */ addi r4, r1, 0x2c -/* 80273BB8 7C 84 F2 14 */ add r4, r4, r30 -/* 80273BBC 38 A1 00 08 */ addi r5, r1, 8 -/* 80273BC0 48 0D 31 AD */ bl PSMTXMultVec -/* 80273BC4 38 80 00 00 */ li r4, 0 -/* 80273BC8 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80273BCC FC 00 00 50 */ fneg f0, f0 -/* 80273BD0 FC 00 90 40 */ fcmpo cr0, f0, f18 -/* 80273BD4 40 80 00 14 */ bge lbl_80273BE8 -/* 80273BD8 80 61 00 24 */ lwz r3, 0x24(r1) -/* 80273BDC 38 03 00 01 */ addi r0, r3, 1 -/* 80273BE0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80273BE4 38 80 00 01 */ li r4, 1 -lbl_80273BE8: -/* 80273BE8 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80273BEC FC 00 00 50 */ fneg f0, f0 -/* 80273BF0 FC 00 98 40 */ fcmpo cr0, f0, f19 -/* 80273BF4 40 81 00 14 */ ble lbl_80273C08 -/* 80273BF8 80 61 00 28 */ lwz r3, 0x28(r1) -/* 80273BFC 38 03 00 01 */ addi r0, r3, 1 -/* 80273C00 90 01 00 28 */ stw r0, 0x28(r1) -/* 80273C04 38 84 00 01 */ addi r4, r4, 1 -lbl_80273C08: -/* 80273C08 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80273C0C EC 40 05 32 */ fmuls f2, f0, f20 -/* 80273C10 C0 61 00 08 */ lfs f3, 8(r1) -/* 80273C14 EC 23 05 72 */ fmuls f1, f3, f21 -/* 80273C18 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80273C1C EC 00 05 B2 */ fmuls f0, f0, f22 -/* 80273C20 EC 01 00 2A */ fadds f0, f1, f0 -/* 80273C24 EC 02 00 2A */ fadds f0, f2, f0 -/* 80273C28 FC 00 B8 40 */ fcmpo cr0, f0, f23 -/* 80273C2C 40 81 00 14 */ ble lbl_80273C40 -/* 80273C30 80 61 00 14 */ lwz r3, 0x14(r1) -/* 80273C34 38 03 00 01 */ addi r0, r3, 1 -/* 80273C38 90 01 00 14 */ stw r0, 0x14(r1) -/* 80273C3C 38 84 00 01 */ addi r4, r4, 1 -lbl_80273C40: -/* 80273C40 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80273C44 EC 40 06 32 */ fmuls f2, f0, f24 -/* 80273C48 EC 23 06 72 */ fmuls f1, f3, f25 -/* 80273C4C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80273C50 EC 00 06 B2 */ fmuls f0, f0, f26 -/* 80273C54 EC 01 00 2A */ fadds f0, f1, f0 -/* 80273C58 EC 02 00 2A */ fadds f0, f2, f0 -/* 80273C5C FC 00 B8 40 */ fcmpo cr0, f0, f23 -/* 80273C60 40 81 00 14 */ ble lbl_80273C74 -/* 80273C64 80 61 00 18 */ lwz r3, 0x18(r1) -/* 80273C68 38 03 00 01 */ addi r0, r3, 1 -/* 80273C6C 90 01 00 18 */ stw r0, 0x18(r1) -/* 80273C70 38 84 00 01 */ addi r4, r4, 1 -lbl_80273C74: -/* 80273C74 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80273C78 EC 40 06 F2 */ fmuls f2, f0, f27 -/* 80273C7C C0 01 00 08 */ lfs f0, 8(r1) -/* 80273C80 EC 20 07 32 */ fmuls f1, f0, f28 -/* 80273C84 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80273C88 EC 00 07 72 */ fmuls f0, f0, f29 -/* 80273C8C EC 01 00 2A */ fadds f0, f1, f0 -/* 80273C90 EC 02 00 2A */ fadds f0, f2, f0 -/* 80273C94 FC 00 B8 40 */ fcmpo cr0, f0, f23 -/* 80273C98 40 81 00 14 */ ble lbl_80273CAC -/* 80273C9C 80 61 00 1C */ lwz r3, 0x1c(r1) -/* 80273CA0 38 03 00 01 */ addi r0, r3, 1 -/* 80273CA4 90 01 00 1C */ stw r0, 0x1c(r1) -/* 80273CA8 38 84 00 01 */ addi r4, r4, 1 -lbl_80273CAC: -/* 80273CAC C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80273CB0 EC 40 07 B2 */ fmuls f2, f0, f30 -/* 80273CB4 C0 01 00 08 */ lfs f0, 8(r1) -/* 80273CB8 EC 20 07 F2 */ fmuls f1, f0, f31 -/* 80273CBC C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80273CC0 EC 00 04 72 */ fmuls f0, f0, f17 -/* 80273CC4 EC 01 00 2A */ fadds f0, f1, f0 -/* 80273CC8 EC 02 00 2A */ fadds f0, f2, f0 -/* 80273CCC FC 00 B8 40 */ fcmpo cr0, f0, f23 -/* 80273CD0 40 81 00 14 */ ble lbl_80273CE4 -/* 80273CD4 80 61 00 20 */ lwz r3, 0x20(r1) -/* 80273CD8 38 03 00 01 */ addi r0, r3, 1 -/* 80273CDC 90 01 00 20 */ stw r0, 0x20(r1) -/* 80273CE0 38 84 00 01 */ addi r4, r4, 1 -lbl_80273CE4: -/* 80273CE4 2C 04 00 00 */ cmpwi r4, 0 -/* 80273CE8 40 82 00 0C */ bne lbl_80273CF4 -/* 80273CEC 38 60 00 00 */ li r3, 0 -/* 80273CF0 48 00 00 88 */ b lbl_80273D78 -lbl_80273CF4: -/* 80273CF4 3B BD 00 01 */ addi r29, r29, 1 -/* 80273CF8 28 1D 00 08 */ cmplwi r29, 8 -/* 80273CFC 3B DE 00 0C */ addi r30, r30, 0xc -/* 80273D00 41 80 FE B0 */ blt lbl_80273BB0 -/* 80273D04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80273D08 2C 00 00 08 */ cmpwi r0, 8 -/* 80273D0C 40 82 00 0C */ bne lbl_80273D18 -/* 80273D10 38 60 00 01 */ li r3, 1 -/* 80273D14 48 00 00 64 */ b lbl_80273D78 -lbl_80273D18: -/* 80273D18 80 01 00 1C */ lwz r0, 0x1c(r1) -/* 80273D1C 2C 00 00 08 */ cmpwi r0, 8 -/* 80273D20 40 82 00 0C */ bne lbl_80273D2C -/* 80273D24 38 60 00 01 */ li r3, 1 -/* 80273D28 48 00 00 50 */ b lbl_80273D78 -lbl_80273D2C: -/* 80273D2C 80 01 00 18 */ lwz r0, 0x18(r1) -/* 80273D30 2C 00 00 08 */ cmpwi r0, 8 -/* 80273D34 40 82 00 0C */ bne lbl_80273D40 -/* 80273D38 38 60 00 01 */ li r3, 1 -/* 80273D3C 48 00 00 3C */ b lbl_80273D78 -lbl_80273D40: -/* 80273D40 80 01 00 20 */ lwz r0, 0x20(r1) -/* 80273D44 2C 00 00 08 */ cmpwi r0, 8 -/* 80273D48 40 82 00 0C */ bne lbl_80273D54 -/* 80273D4C 38 60 00 01 */ li r3, 1 -/* 80273D50 48 00 00 28 */ b lbl_80273D78 -lbl_80273D54: -/* 80273D54 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80273D58 2C 00 00 08 */ cmpwi r0, 8 -/* 80273D5C 40 82 00 0C */ bne lbl_80273D68 -/* 80273D60 38 60 00 01 */ li r3, 1 -/* 80273D64 48 00 00 14 */ b lbl_80273D78 -lbl_80273D68: -/* 80273D68 80 01 00 28 */ lwz r0, 0x28(r1) -/* 80273D6C 20 00 00 08 */ subfic r0, r0, 8 -/* 80273D70 7C 00 00 34 */ cntlzw r0, r0 -/* 80273D74 54 03 D9 7E */ srwi r3, r0, 5 -lbl_80273D78: -/* 80273D78 E3 E1 01 88 */ psq_l f31, 392(r1), 0, 0 /* qr0 */ -/* 80273D7C CB E1 01 80 */ lfd f31, 0x180(r1) -/* 80273D80 E3 C1 01 78 */ psq_l f30, 376(r1), 0, 0 /* qr0 */ -/* 80273D84 CB C1 01 70 */ lfd f30, 0x170(r1) -/* 80273D88 E3 A1 01 68 */ psq_l f29, 360(r1), 0, 0 /* qr0 */ -/* 80273D8C CB A1 01 60 */ lfd f29, 0x160(r1) -/* 80273D90 E3 81 01 58 */ psq_l f28, 344(r1), 0, 0 /* qr0 */ -/* 80273D94 CB 81 01 50 */ lfd f28, 0x150(r1) -/* 80273D98 E3 61 01 48 */ psq_l f27, 328(r1), 0, 0 /* qr0 */ -/* 80273D9C CB 61 01 40 */ lfd f27, 0x140(r1) -/* 80273DA0 E3 41 01 38 */ psq_l f26, 312(r1), 0, 0 /* qr0 */ -/* 80273DA4 CB 41 01 30 */ lfd f26, 0x130(r1) -/* 80273DA8 E3 21 01 28 */ psq_l f25, 296(r1), 0, 0 /* qr0 */ -/* 80273DAC CB 21 01 20 */ lfd f25, 0x120(r1) -/* 80273DB0 E3 01 01 18 */ psq_l f24, 280(r1), 0, 0 /* qr0 */ -/* 80273DB4 CB 01 01 10 */ lfd f24, 0x110(r1) -/* 80273DB8 E2 E1 01 08 */ psq_l f23, 264(r1), 0, 0 /* qr0 */ -/* 80273DBC CA E1 01 00 */ lfd f23, 0x100(r1) -/* 80273DC0 E2 C1 00 F8 */ psq_l f22, 248(r1), 0, 0 /* qr0 */ -/* 80273DC4 CA C1 00 F0 */ lfd f22, 0xf0(r1) -/* 80273DC8 E2 A1 00 E8 */ psq_l f21, 232(r1), 0, 0 /* qr0 */ -/* 80273DCC CA A1 00 E0 */ lfd f21, 0xe0(r1) -/* 80273DD0 E2 81 00 D8 */ psq_l f20, 216(r1), 0, 0 /* qr0 */ -/* 80273DD4 CA 81 00 D0 */ lfd f20, 0xd0(r1) -/* 80273DD8 E2 61 00 C8 */ psq_l f19, 200(r1), 0, 0 /* qr0 */ -/* 80273DDC CA 61 00 C0 */ lfd f19, 0xc0(r1) -/* 80273DE0 E2 41 00 B8 */ psq_l f18, 184(r1), 0, 0 /* qr0 */ -/* 80273DE4 CA 41 00 B0 */ lfd f18, 0xb0(r1) -/* 80273DE8 E2 21 00 A8 */ psq_l f17, 168(r1), 0, 0 /* qr0 */ -/* 80273DEC CA 21 00 A0 */ lfd f17, 0xa0(r1) -/* 80273DF0 39 61 00 A0 */ addi r11, r1, 0xa0 -/* 80273DF4 48 0E E4 35 */ bl _restgpr_29 -/* 80273DF8 80 01 01 94 */ lwz r0, 0x194(r1) -/* 80273DFC 7C 08 03 A6 */ mtlr r0 -/* 80273E00 38 21 01 90 */ addi r1, r1, 0x190 -/* 80273E04 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISeMgr/JAISeMgr_acceptsNewSe___16JAISeCategoryMgrCFUl.s b/asm/JSystem/JAudio2/JAISeMgr/JAISeMgr_acceptsNewSe___16JAISeCategoryMgrCFUl.s deleted file mode 100644 index 26e1dbd93cb..00000000000 --- a/asm/JSystem/JAudio2/JAISeMgr/JAISeMgr_acceptsNewSe___16JAISeCategoryMgrCFUl.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_8029FC88: -/* 8029FC88 80 A3 00 68 */ lwz r5, 0x68(r3) -/* 8029FC8C 2C 05 00 00 */ cmpwi r5, 0 -/* 8029FC90 40 82 00 0C */ bne lbl_8029FC9C -/* 8029FC94 38 C0 00 00 */ li r6, 0 -/* 8029FC98 48 00 00 0C */ b lbl_8029FCA4 -lbl_8029FC9C: -/* 8029FC9C 80 03 00 64 */ lwz r0, 0x64(r3) -/* 8029FCA0 7C C5 02 14 */ add r6, r5, r0 -lbl_8029FCA4: -/* 8029FCA4 2C 06 00 00 */ cmpwi r6, 0 -/* 8029FCA8 41 81 00 0C */ bgt lbl_8029FCB4 -/* 8029FCAC 38 60 00 01 */ li r3, 1 -/* 8029FCB0 4E 80 00 20 */ blr -lbl_8029FCB4: -/* 8029FCB4 39 00 00 00 */ li r8, 0 -/* 8029FCB8 81 23 00 58 */ lwz r9, 0x58(r3) -/* 8029FCBC 48 00 00 64 */ b lbl_8029FD20 -lbl_8029FCC0: -/* 8029FCC0 80 E9 00 00 */ lwz r7, 0(r9) -/* 8029FCC4 80 07 00 AC */ lwz r0, 0xac(r7) -/* 8029FCC8 7C 04 00 40 */ cmplw r4, r0 -/* 8029FCCC 40 80 00 0C */ bge lbl_8029FCD8 -/* 8029FCD0 38 60 00 01 */ li r3, 1 -/* 8029FCD4 4E 80 00 20 */ blr -lbl_8029FCD8: -/* 8029FCD8 38 A0 00 00 */ li r5, 0 -/* 8029FCDC 88 67 00 2F */ lbz r3, 0x2f(r7) -/* 8029FCE0 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f -/* 8029FCE4 41 82 00 2C */ beq lbl_8029FD10 -/* 8029FCE8 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f -/* 8029FCEC 41 82 00 20 */ beq lbl_8029FD0C -/* 8029FCF0 80 07 00 40 */ lwz r0, 0x40(r7) -/* 8029FCF4 28 00 00 00 */ cmplwi r0, 0 -/* 8029FCF8 40 82 00 18 */ bne lbl_8029FD10 -/* 8029FCFC C0 27 00 34 */ lfs f1, 0x34(r7) -/* 8029FD00 C0 02 BD 88 */ lfs f0, lit_822(r2) -/* 8029FD04 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8029FD08 40 80 00 08 */ bge lbl_8029FD10 -lbl_8029FD0C: -/* 8029FD0C 38 A0 00 01 */ li r5, 1 -lbl_8029FD10: -/* 8029FD10 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 8029FD14 40 82 00 08 */ bne lbl_8029FD1C -/* 8029FD18 39 08 00 01 */ addi r8, r8, 1 -lbl_8029FD1C: -/* 8029FD1C 81 29 00 0C */ lwz r9, 0xc(r9) -lbl_8029FD20: -/* 8029FD20 28 09 00 00 */ cmplwi r9, 0 -/* 8029FD24 40 82 FF 9C */ bne lbl_8029FCC0 -/* 8029FD28 7C C0 42 78 */ xor r0, r6, r8 -/* 8029FD2C 7C 03 0E 70 */ srawi r3, r0, 1 -/* 8029FD30 7C 00 30 38 */ and r0, r0, r6 -/* 8029FD34 7C 00 18 50 */ subf r0, r0, r3 -/* 8029FD38 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8029FD3C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISound/calc_JAISound___8JAISoundFv.s b/asm/JSystem/JAudio2/JAISound/calc_JAISound___8JAISoundFv.s deleted file mode 100644 index 2d3e23534fb..00000000000 --- a/asm/JSystem/JAudio2/JAISound/calc_JAISound___8JAISoundFv.s +++ /dev/null @@ -1,226 +0,0 @@ -lbl_802A26B8: -/* 802A26B8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A26BC 7C 08 02 A6 */ mflr r0 -/* 802A26C0 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A26C4 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A26C8 93 C1 00 08 */ stw r30, 8(r1) -/* 802A26CC 7C 7E 1B 78 */ mr r30, r3 -/* 802A26D0 38 60 00 01 */ li r3, 1 -/* 802A26D4 88 1E 00 1F */ lbz r0, 0x1f(r30) -/* 802A26D8 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19 -/* 802A26DC 98 1E 00 1F */ stb r0, 0x1f(r30) -/* 802A26E0 38 80 00 00 */ li r4, 0 -/* 802A26E4 88 7E 00 1F */ lbz r3, 0x1f(r30) -/* 802A26E8 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f -/* 802A26EC 41 82 00 2C */ beq lbl_802A2718 -/* 802A26F0 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f -/* 802A26F4 41 82 00 20 */ beq lbl_802A2714 -/* 802A26F8 80 1E 00 30 */ lwz r0, 0x30(r30) -/* 802A26FC 28 00 00 00 */ cmplwi r0, 0 -/* 802A2700 40 82 00 18 */ bne lbl_802A2718 -/* 802A2704 C0 3E 00 24 */ lfs f1, 0x24(r30) -/* 802A2708 C0 02 BD D0 */ lfs f0, lit_887(r2) -/* 802A270C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802A2710 40 80 00 08 */ bge lbl_802A2718 -lbl_802A2714: -/* 802A2714 38 80 00 01 */ li r4, 1 -lbl_802A2718: -/* 802A2718 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802A271C 41 82 00 28 */ beq lbl_802A2744 -/* 802A2720 7F C3 F3 78 */ mr r3, r30 -/* 802A2724 81 9E 00 00 */ lwz r12, 0(r30) -/* 802A2728 81 8C 00 2C */ lwz r12, 0x2c(r12) -/* 802A272C 7D 89 03 A6 */ mtctr r12 -/* 802A2730 4E 80 04 21 */ bctrl -/* 802A2734 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802A2738 41 82 00 0C */ beq lbl_802A2744 -/* 802A273C 38 60 00 00 */ li r3, 0 -/* 802A2740 48 00 02 84 */ b lbl_802A29C4 -lbl_802A2744: -/* 802A2744 88 1E 00 1E */ lbz r0, 0x1e(r30) -/* 802A2748 20 00 00 05 */ subfic r0, r0, 5 -/* 802A274C 7C 00 00 34 */ cntlzw r0, r0 -/* 802A2750 54 04 D9 7E */ srwi r4, r0, 5 -/* 802A2754 54 00 DE 3F */ rlwinm. r0, r0, 0x1b, 0x18, 0x1f -/* 802A2758 41 82 00 10 */ beq lbl_802A2768 -/* 802A275C 80 7E 00 38 */ lwz r3, 0x38(r30) -/* 802A2760 38 03 00 01 */ addi r0, r3, 1 -/* 802A2764 90 1E 00 38 */ stw r0, 0x38(r30) -lbl_802A2768: -/* 802A2768 88 1E 00 1C */ lbz r0, 0x1c(r30) -/* 802A276C 54 03 D7 FE */ rlwinm r3, r0, 0x1a, 0x1f, 0x1f -/* 802A2770 30 03 FF FF */ addic r0, r3, -1 -/* 802A2774 7C 00 19 10 */ subfe r0, r0, r3 -/* 802A2778 54 03 06 3F */ clrlwi. r3, r0, 0x18 -/* 802A277C 40 82 00 3C */ bne lbl_802A27B8 -/* 802A2780 C0 3E 00 24 */ lfs f1, 0x24(r30) -/* 802A2784 80 BE 00 30 */ lwz r5, 0x30(r30) -/* 802A2788 28 05 00 01 */ cmplwi r5, 1 -/* 802A278C 40 81 00 18 */ ble lbl_802A27A4 -/* 802A2790 38 05 FF FF */ addi r0, r5, -1 -/* 802A2794 90 1E 00 30 */ stw r0, 0x30(r30) -/* 802A2798 C0 1E 00 28 */ lfs f0, 0x28(r30) -/* 802A279C EC 21 00 2A */ fadds f1, f1, f0 -/* 802A27A0 48 00 00 14 */ b lbl_802A27B4 -lbl_802A27A4: -/* 802A27A4 40 82 00 10 */ bne lbl_802A27B4 -/* 802A27A8 38 00 00 00 */ li r0, 0 -/* 802A27AC 90 1E 00 30 */ stw r0, 0x30(r30) -/* 802A27B0 C0 3E 00 2C */ lfs f1, 0x2c(r30) -lbl_802A27B4: -/* 802A27B4 D0 3E 00 24 */ stfs f1, 0x24(r30) -lbl_802A27B8: -/* 802A27B8 3B E0 00 00 */ li r31, 0 -/* 802A27BC 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802A27C0 41 82 00 10 */ beq lbl_802A27D0 -/* 802A27C4 28 03 00 00 */ cmplwi r3, 0 -/* 802A27C8 40 82 00 08 */ bne lbl_802A27D0 -/* 802A27CC 3B E0 00 01 */ li r31, 1 -lbl_802A27D0: -/* 802A27D0 57 E0 06 3F */ clrlwi. r0, r31, 0x18 -/* 802A27D4 41 82 01 7C */ beq lbl_802A2950 -/* 802A27D8 C0 3E 00 48 */ lfs f1, 0x48(r30) -/* 802A27DC 80 7E 00 64 */ lwz r3, 0x64(r30) -/* 802A27E0 28 03 00 01 */ cmplwi r3, 1 -/* 802A27E4 40 81 00 18 */ ble lbl_802A27FC -/* 802A27E8 38 03 FF FF */ addi r0, r3, -1 -/* 802A27EC 90 1E 00 64 */ stw r0, 0x64(r30) -/* 802A27F0 C0 1E 00 5C */ lfs f0, 0x5c(r30) -/* 802A27F4 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A27F8 48 00 00 14 */ b lbl_802A280C -lbl_802A27FC: -/* 802A27FC 40 82 00 10 */ bne lbl_802A280C -/* 802A2800 38 00 00 00 */ li r0, 0 -/* 802A2804 90 1E 00 64 */ stw r0, 0x64(r30) -/* 802A2808 C0 3E 00 60 */ lfs f1, 0x60(r30) -lbl_802A280C: -/* 802A280C D0 3E 00 48 */ stfs f1, 0x48(r30) -/* 802A2810 C0 3E 00 50 */ lfs f1, 0x50(r30) -/* 802A2814 80 7E 00 70 */ lwz r3, 0x70(r30) -/* 802A2818 28 03 00 01 */ cmplwi r3, 1 -/* 802A281C 40 81 00 18 */ ble lbl_802A2834 -/* 802A2820 38 03 FF FF */ addi r0, r3, -1 -/* 802A2824 90 1E 00 70 */ stw r0, 0x70(r30) -/* 802A2828 C0 1E 00 68 */ lfs f0, 0x68(r30) -/* 802A282C EC 21 00 2A */ fadds f1, f1, f0 -/* 802A2830 48 00 00 14 */ b lbl_802A2844 -lbl_802A2834: -/* 802A2834 40 82 00 10 */ bne lbl_802A2844 -/* 802A2838 38 00 00 00 */ li r0, 0 -/* 802A283C 90 1E 00 70 */ stw r0, 0x70(r30) -/* 802A2840 C0 3E 00 6C */ lfs f1, 0x6c(r30) -lbl_802A2844: -/* 802A2844 D0 3E 00 50 */ stfs f1, 0x50(r30) -/* 802A2848 C0 3E 00 4C */ lfs f1, 0x4c(r30) -/* 802A284C 80 7E 00 7C */ lwz r3, 0x7c(r30) -/* 802A2850 28 03 00 01 */ cmplwi r3, 1 -/* 802A2854 40 81 00 18 */ ble lbl_802A286C -/* 802A2858 38 03 FF FF */ addi r0, r3, -1 -/* 802A285C 90 1E 00 7C */ stw r0, 0x7c(r30) -/* 802A2860 C0 1E 00 74 */ lfs f0, 0x74(r30) -/* 802A2864 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A2868 48 00 00 14 */ b lbl_802A287C -lbl_802A286C: -/* 802A286C 40 82 00 10 */ bne lbl_802A287C -/* 802A2870 38 00 00 00 */ li r0, 0 -/* 802A2874 90 1E 00 7C */ stw r0, 0x7c(r30) -/* 802A2878 C0 3E 00 78 */ lfs f1, 0x78(r30) -lbl_802A287C: -/* 802A287C D0 3E 00 4C */ stfs f1, 0x4c(r30) -/* 802A2880 C0 3E 00 58 */ lfs f1, 0x58(r30) -/* 802A2884 80 7E 00 94 */ lwz r3, 0x94(r30) -/* 802A2888 28 03 00 01 */ cmplwi r3, 1 -/* 802A288C 40 81 00 18 */ ble lbl_802A28A4 -/* 802A2890 38 03 FF FF */ addi r0, r3, -1 -/* 802A2894 90 1E 00 94 */ stw r0, 0x94(r30) -/* 802A2898 C0 1E 00 8C */ lfs f0, 0x8c(r30) -/* 802A289C EC 21 00 2A */ fadds f1, f1, f0 -/* 802A28A0 48 00 00 14 */ b lbl_802A28B4 -lbl_802A28A4: -/* 802A28A4 40 82 00 10 */ bne lbl_802A28B4 -/* 802A28A8 38 00 00 00 */ li r0, 0 -/* 802A28AC 90 1E 00 94 */ stw r0, 0x94(r30) -/* 802A28B0 C0 3E 00 90 */ lfs f1, 0x90(r30) -lbl_802A28B4: -/* 802A28B4 D0 3E 00 58 */ stfs f1, 0x58(r30) -/* 802A28B8 C0 3E 00 54 */ lfs f1, 0x54(r30) -/* 802A28BC 80 7E 00 88 */ lwz r3, 0x88(r30) -/* 802A28C0 28 03 00 01 */ cmplwi r3, 1 -/* 802A28C4 40 81 00 18 */ ble lbl_802A28DC -/* 802A28C8 38 03 FF FF */ addi r0, r3, -1 -/* 802A28CC 90 1E 00 88 */ stw r0, 0x88(r30) -/* 802A28D0 C0 1E 00 80 */ lfs f0, 0x80(r30) -/* 802A28D4 EC 21 00 2A */ fadds f1, f1, f0 -/* 802A28D8 48 00 00 14 */ b lbl_802A28EC -lbl_802A28DC: -/* 802A28DC 40 82 00 10 */ bne lbl_802A28EC -/* 802A28E0 38 00 00 00 */ li r0, 0 -/* 802A28E4 90 1E 00 88 */ stw r0, 0x88(r30) -/* 802A28E8 C0 3E 00 84 */ lfs f1, 0x84(r30) -lbl_802A28EC: -/* 802A28EC D0 3E 00 54 */ stfs f1, 0x54(r30) -/* 802A28F0 80 7E 00 08 */ lwz r3, 8(r30) -/* 802A28F4 28 03 00 00 */ cmplwi r3, 0 -/* 802A28F8 41 82 00 14 */ beq lbl_802A290C -/* 802A28FC 81 83 00 00 */ lwz r12, 0(r3) -/* 802A2900 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 802A2904 7D 89 03 A6 */ mtctr r12 -/* 802A2908 4E 80 04 21 */ bctrl -lbl_802A290C: -/* 802A290C 88 1E 00 1D */ lbz r0, 0x1d(r30) -/* 802A2910 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f -/* 802A2914 41 82 00 3C */ beq lbl_802A2950 -/* 802A2918 80 7E 00 10 */ lwz r3, 0x10(r30) -/* 802A291C 28 03 00 00 */ cmplwi r3, 0 -/* 802A2920 40 82 00 28 */ bne lbl_802A2948 -/* 802A2924 38 60 00 00 */ li r3, 0 -/* 802A2928 88 1E 00 1F */ lbz r0, 0x1f(r30) -/* 802A292C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c -/* 802A2930 98 1E 00 1F */ stb r0, 0x1f(r30) -/* 802A2934 38 60 00 01 */ li r3, 1 -/* 802A2938 88 1E 00 1F */ lbz r0, 0x1f(r30) -/* 802A293C 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802A2940 98 1E 00 1F */ stb r0, 0x1f(r30) -/* 802A2944 48 00 00 0C */ b lbl_802A2950 -lbl_802A2948: -/* 802A2948 38 03 FF FF */ addi r0, r3, -1 -/* 802A294C 90 1E 00 10 */ stw r0, 0x10(r30) -lbl_802A2950: -/* 802A2950 80 7E 00 0C */ lwz r3, 0xc(r30) -/* 802A2954 28 03 00 00 */ cmplwi r3, 0 -/* 802A2958 41 82 00 60 */ beq lbl_802A29B8 -/* 802A295C 80 9E 00 08 */ lwz r4, 8(r30) -/* 802A2960 28 04 00 00 */ cmplwi r4, 0 -/* 802A2964 41 82 00 54 */ beq lbl_802A29B8 -/* 802A2968 81 83 00 00 */ lwz r12, 0(r3) -/* 802A296C 81 8C 00 18 */ lwz r12, 0x18(r12) -/* 802A2970 7D 89 03 A6 */ mtctr r12 -/* 802A2974 4E 80 04 21 */ bctrl -/* 802A2978 90 7E 00 34 */ stw r3, 0x34(r30) -/* 802A297C 3C 03 00 01 */ addis r0, r3, 1 -/* 802A2980 28 00 FF FF */ cmplwi r0, 0xffff -/* 802A2984 40 82 00 3C */ bne lbl_802A29C0 -/* 802A2988 88 1E 00 1D */ lbz r0, 0x1d(r30) -/* 802A298C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f -/* 802A2990 40 82 00 30 */ bne lbl_802A29C0 -/* 802A2994 38 60 00 00 */ li r3, 0 -/* 802A2998 88 1E 00 1F */ lbz r0, 0x1f(r30) -/* 802A299C 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c -/* 802A29A0 98 1E 00 1F */ stb r0, 0x1f(r30) -/* 802A29A4 38 60 00 01 */ li r3, 1 -/* 802A29A8 88 1E 00 1F */ lbz r0, 0x1f(r30) -/* 802A29AC 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18 -/* 802A29B0 98 1E 00 1F */ stb r0, 0x1f(r30) -/* 802A29B4 48 00 00 0C */ b lbl_802A29C0 -lbl_802A29B8: -/* 802A29B8 38 00 00 00 */ li r0, 0 -/* 802A29BC 90 1E 00 34 */ stw r0, 0x34(r30) -lbl_802A29C0: -/* 802A29C0 7F E3 FB 78 */ mr r3, r31 -lbl_802A29C4: -/* 802A29C4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A29C8 83 C1 00 08 */ lwz r30, 8(r1) -/* 802A29CC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A29D0 7C 08 03 A6 */ mtlr r0 -/* 802A29D4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A29D8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundHandles/getFreeHandle__15JAISoundHandlesFv.s b/asm/JSystem/JAudio2/JAISoundHandles/getFreeHandle__15JAISoundHandlesFv.s deleted file mode 100644 index 5e7ec76b830..00000000000 --- a/asm/JSystem/JAudio2/JAISoundHandles/getFreeHandle__15JAISoundHandlesFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802A2CF4: -/* 802A2CF4 38 80 00 00 */ li r4, 0 -/* 802A2CF8 80 03 00 04 */ lwz r0, 4(r3) -/* 802A2CFC 7C 09 03 A6 */ mtctr r0 -/* 802A2D00 2C 00 00 00 */ cmpwi r0, 0 -/* 802A2D04 40 81 00 28 */ ble lbl_802A2D2C -lbl_802A2D08: -/* 802A2D08 80 03 00 00 */ lwz r0, 0(r3) -/* 802A2D0C 7C A0 22 14 */ add r5, r0, r4 -/* 802A2D10 80 05 00 00 */ lwz r0, 0(r5) -/* 802A2D14 28 00 00 00 */ cmplwi r0, 0 -/* 802A2D18 40 82 00 0C */ bne lbl_802A2D24 -/* 802A2D1C 7C A3 2B 78 */ mr r3, r5 -/* 802A2D20 4E 80 00 20 */ blr -lbl_802A2D24: -/* 802A2D24 38 84 00 04 */ addi r4, r4, 4 -/* 802A2D28 42 00 FF E0 */ bdnz lbl_802A2D08 -lbl_802A2D2C: -/* 802A2D2C 38 60 00 00 */ li r3, 0 -/* 802A2D30 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundHandles/getHandleSoundID__15JAISoundHandlesF10JAISoundID.s b/asm/JSystem/JAudio2/JAISoundHandles/getHandleSoundID__15JAISoundHandlesF10JAISoundID.s deleted file mode 100644 index 89c1c9a8b93..00000000000 --- a/asm/JSystem/JAudio2/JAISoundHandles/getHandleSoundID__15JAISoundHandlesF10JAISoundID.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_802A2C98: -/* 802A2C98 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2C9C 38 A0 00 00 */ li r5, 0 -/* 802A2CA0 80 C3 00 04 */ lwz r6, 4(r3) -/* 802A2CA4 80 04 00 00 */ lwz r0, 0(r4) -/* 802A2CA8 7C C9 03 A6 */ mtctr r6 -/* 802A2CAC 2C 06 00 00 */ cmpwi r6, 0 -/* 802A2CB0 40 81 00 38 */ ble lbl_802A2CE8 -lbl_802A2CB4: -/* 802A2CB4 80 83 00 00 */ lwz r4, 0(r3) -/* 802A2CB8 7C C4 2A 14 */ add r6, r4, r5 -/* 802A2CBC 80 86 00 00 */ lwz r4, 0(r6) -/* 802A2CC0 28 04 00 00 */ cmplwi r4, 0 -/* 802A2CC4 41 82 00 1C */ beq lbl_802A2CE0 -/* 802A2CC8 80 84 00 18 */ lwz r4, 0x18(r4) -/* 802A2CCC 90 81 00 08 */ stw r4, 8(r1) -/* 802A2CD0 7C 04 00 40 */ cmplw r4, r0 -/* 802A2CD4 40 82 00 0C */ bne lbl_802A2CE0 -/* 802A2CD8 7C C3 33 78 */ mr r3, r6 -/* 802A2CDC 48 00 00 10 */ b lbl_802A2CEC -lbl_802A2CE0: -/* 802A2CE0 38 A5 00 04 */ addi r5, r5, 4 -/* 802A2CE4 42 00 FF D0 */ bdnz lbl_802A2CB4 -lbl_802A2CE8: -/* 802A2CE8 38 60 00 00 */ li r3, 0 -lbl_802A2CEC: -/* 802A2CEC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2CF0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundInfo/__ct__12JAISoundInfoFb.s b/asm/JSystem/JAudio2/JAISoundInfo/__ct__12JAISoundInfoFb.s deleted file mode 100644 index e217700b413..00000000000 --- a/asm/JSystem/JAudio2/JAISoundInfo/__ct__12JAISoundInfoFb.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802A2D34: -/* 802A2D34 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802A2D38 41 82 00 08 */ beq lbl_802A2D40 -/* 802A2D3C 90 6D 85 DC */ stw r3, __OSReport_disable-0x3C(r13) -lbl_802A2D40: -/* 802A2D40 3C 80 80 3D */ lis r4, __vt__12JAISoundInfo@ha /* 0x803C99A0@ha */ -/* 802A2D44 38 04 99 A0 */ addi r0, r4, __vt__12JAISoundInfo@l /* 0x803C99A0@l */ -/* 802A2D48 90 03 00 00 */ stw r0, 0(r3) -/* 802A2D4C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundInfo/__dt__12JAISoundInfoFv.s b/asm/JSystem/JAudio2/JAISoundInfo/__dt__12JAISoundInfoFv.s deleted file mode 100644 index fd6e4e79e0d..00000000000 --- a/asm/JSystem/JAudio2/JAISoundInfo/__dt__12JAISoundInfoFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_802A2D50: -/* 802A2D50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2D54 7C 08 02 A6 */ mflr r0 -/* 802A2D58 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A2D5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A2D60 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A2D64 41 82 00 38 */ beq lbl_802A2D9C -/* 802A2D68 3C 60 80 3D */ lis r3, __vt__12JAISoundInfo@ha /* 0x803C99A0@ha */ -/* 802A2D6C 38 03 99 A0 */ addi r0, r3, __vt__12JAISoundInfo@l /* 0x803C99A0@l */ -/* 802A2D70 90 1F 00 00 */ stw r0, 0(r31) -/* 802A2D74 41 82 00 18 */ beq lbl_802A2D8C -/* 802A2D78 80 0D 85 DC */ lwz r0, __OSReport_disable-0x3C(r13) -/* 802A2D7C 7C 00 F8 40 */ cmplw r0, r31 -/* 802A2D80 40 82 00 0C */ bne lbl_802A2D8C -/* 802A2D84 38 00 00 00 */ li r0, 0 -/* 802A2D88 90 0D 85 DC */ stw r0, __OSReport_disable-0x3C(r13) -lbl_802A2D8C: -/* 802A2D8C 7C 80 07 35 */ extsh. r0, r4 -/* 802A2D90 40 81 00 0C */ ble lbl_802A2D9C -/* 802A2D94 7F E3 FB 78 */ mr r3, r31 -/* 802A2D98 48 02 BF A5 */ bl __dl__FPv -lbl_802A2D9C: -/* 802A2D9C 7F E3 FB 78 */ mr r3, r31 -/* 802A2DA0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A2DA4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A2DA8 7C 08 03 A6 */ mtlr r0 -/* 802A2DAC 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2DB0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundStarter/__ct__15JAISoundStarterFb.s b/asm/JSystem/JAudio2/JAISoundStarter/__ct__15JAISoundStarterFb.s deleted file mode 100644 index 33335102cbd..00000000000 --- a/asm/JSystem/JAudio2/JAISoundStarter/__ct__15JAISoundStarterFb.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_802A2F6C: -/* 802A2F6C 54 80 06 3F */ clrlwi. r0, r4, 0x18 -/* 802A2F70 41 82 00 08 */ beq lbl_802A2F78 -/* 802A2F74 90 6D 85 F8 */ stw r3, __OSReport_disable-0x20(r13) -lbl_802A2F78: -/* 802A2F78 3C 80 80 3D */ lis r4, __vt__15JAISoundStarter@ha /* 0x803C99C8@ha */ -/* 802A2F7C 38 04 99 C8 */ addi r0, r4, __vt__15JAISoundStarter@l /* 0x803C99C8@l */ -/* 802A2F80 90 03 00 00 */ stw r0, 0(r3) -/* 802A2F84 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JAISoundStarter/__dt__15JAISoundStarterFv.s b/asm/JSystem/JAudio2/JAISoundStarter/__dt__15JAISoundStarterFv.s deleted file mode 100644 index c090e3e7c77..00000000000 --- a/asm/JSystem/JAudio2/JAISoundStarter/__dt__15JAISoundStarterFv.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_802A2F88: -/* 802A2F88 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802A2F8C 7C 08 02 A6 */ mflr r0 -/* 802A2F90 90 01 00 14 */ stw r0, 0x14(r1) -/* 802A2F94 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802A2F98 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802A2F9C 41 82 00 38 */ beq lbl_802A2FD4 -/* 802A2FA0 3C 60 80 3D */ lis r3, __vt__15JAISoundStarter@ha /* 0x803C99C8@ha */ -/* 802A2FA4 38 03 99 C8 */ addi r0, r3, __vt__15JAISoundStarter@l /* 0x803C99C8@l */ -/* 802A2FA8 90 1F 00 00 */ stw r0, 0(r31) -/* 802A2FAC 41 82 00 18 */ beq lbl_802A2FC4 -/* 802A2FB0 80 0D 85 F8 */ lwz r0, __OSReport_disable-0x20(r13) -/* 802A2FB4 7C 00 F8 40 */ cmplw r0, r31 -/* 802A2FB8 40 82 00 0C */ bne lbl_802A2FC4 -/* 802A2FBC 38 00 00 00 */ li r0, 0 -/* 802A2FC0 90 0D 85 F8 */ stw r0, __OSReport_disable-0x20(r13) -lbl_802A2FC4: -/* 802A2FC4 7C 80 07 35 */ extsh. r0, r4 -/* 802A2FC8 40 81 00 0C */ ble lbl_802A2FD4 -/* 802A2FCC 7F E3 FB 78 */ mr r3, r31 -/* 802A2FD0 48 02 BD 6D */ bl __dl__FPv -lbl_802A2FD4: -/* 802A2FD4 7F E3 FB 78 */ mr r3, r31 -/* 802A2FD8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802A2FDC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802A2FE0 7C 08 03 A6 */ mtlr r0 -/* 802A2FE4 38 21 00 10 */ addi r1, r1, 0x10 -/* 802A2FE8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCalc/bcopy__7JASCalcFPCvPvUl.s b/asm/JSystem/JAudio2/JASCalc/bcopy__7JASCalcFPCvPvUl.s deleted file mode 100644 index a8413c62953..00000000000 --- a/asm/JSystem/JAudio2/JASCalc/bcopy__7JASCalcFPCvPvUl.s +++ /dev/null @@ -1,75 +0,0 @@ -lbl_8028F354: -/* 8028F354 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028F358 7C 08 02 A6 */ mflr r0 -/* 8028F35C 90 01 00 14 */ stw r0, 0x14(r1) -/* 8028F360 7C 68 1B 78 */ mr r8, r3 -/* 8028F364 7C 89 23 78 */ mr r9, r4 -/* 8028F368 54 67 07 BE */ clrlwi r7, r3, 0x1e -/* 8028F36C 54 86 07 BE */ clrlwi r6, r4, 0x1e -/* 8028F370 7C 07 30 40 */ cmplw r7, r6 -/* 8028F374 40 82 00 14 */ bne lbl_8028F388 -/* 8028F378 54 A0 07 3F */ clrlwi. r0, r5, 0x1c -/* 8028F37C 40 82 00 0C */ bne lbl_8028F388 -/* 8028F380 4B FF FF 99 */ bl bcopyfast__7JASCalcFPCvPvUl -/* 8028F384 48 00 00 C0 */ b lbl_8028F444 -lbl_8028F388: -/* 8028F388 7C 07 30 40 */ cmplw r7, r6 -/* 8028F38C 40 82 00 98 */ bne lbl_8028F424 -/* 8028F390 28 05 00 10 */ cmplwi r5, 0x10 -/* 8028F394 41 80 00 90 */ blt lbl_8028F424 -/* 8028F398 28 07 00 00 */ cmplwi r7, 0 -/* 8028F39C 41 82 00 30 */ beq lbl_8028F3CC -/* 8028F3A0 20 07 00 04 */ subfic r0, r7, 4 -/* 8028F3A4 54 03 06 3E */ clrlwi r3, r0, 0x18 -/* 8028F3A8 48 00 00 1C */ b lbl_8028F3C4 -lbl_8028F3AC: -/* 8028F3AC 88 08 00 00 */ lbz r0, 0(r8) -/* 8028F3B0 98 09 00 00 */ stb r0, 0(r9) -/* 8028F3B4 39 29 00 01 */ addi r9, r9, 1 -/* 8028F3B8 38 A5 FF FF */ addi r5, r5, -1 -/* 8028F3BC 38 63 FF FF */ addi r3, r3, -1 -/* 8028F3C0 39 08 00 01 */ addi r8, r8, 1 -lbl_8028F3C4: -/* 8028F3C4 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8028F3C8 40 82 FF E4 */ bne lbl_8028F3AC -lbl_8028F3CC: -/* 8028F3CC 7D 24 4B 78 */ mr r4, r9 -/* 8028F3D0 7D 03 43 78 */ mr r3, r8 -/* 8028F3D4 54 A0 F0 BE */ srwi r0, r5, 2 -/* 8028F3D8 7C 09 03 A6 */ mtctr r0 -/* 8028F3DC 28 05 00 04 */ cmplwi r5, 4 -/* 8028F3E0 41 80 00 1C */ blt lbl_8028F3FC -lbl_8028F3E4: -/* 8028F3E4 80 03 00 00 */ lwz r0, 0(r3) -/* 8028F3E8 90 04 00 00 */ stw r0, 0(r4) -/* 8028F3EC 38 84 00 04 */ addi r4, r4, 4 -/* 8028F3F0 38 A5 FF FC */ addi r5, r5, -4 -/* 8028F3F4 38 63 00 04 */ addi r3, r3, 4 -/* 8028F3F8 42 00 FF EC */ bdnz lbl_8028F3E4 -lbl_8028F3FC: -/* 8028F3FC 28 05 00 00 */ cmplwi r5, 0 -/* 8028F400 41 82 00 44 */ beq lbl_8028F444 -/* 8028F404 7C A9 03 A6 */ mtctr r5 -/* 8028F408 41 82 00 3C */ beq lbl_8028F444 -lbl_8028F40C: -/* 8028F40C 88 03 00 00 */ lbz r0, 0(r3) -/* 8028F410 98 04 00 00 */ stb r0, 0(r4) -/* 8028F414 38 84 00 01 */ addi r4, r4, 1 -/* 8028F418 38 63 00 01 */ addi r3, r3, 1 -/* 8028F41C 42 00 FF F0 */ bdnz lbl_8028F40C -/* 8028F420 48 00 00 24 */ b lbl_8028F444 -lbl_8028F424: -/* 8028F424 7C A9 03 A6 */ mtctr r5 -/* 8028F428 28 05 00 00 */ cmplwi r5, 0 -/* 8028F42C 41 82 00 18 */ beq lbl_8028F444 -lbl_8028F430: -/* 8028F430 88 08 00 00 */ lbz r0, 0(r8) -/* 8028F434 98 09 00 00 */ stb r0, 0(r9) -/* 8028F438 39 29 00 01 */ addi r9, r9, 1 -/* 8028F43C 39 08 00 01 */ addi r8, r8, 1 -/* 8028F440 42 00 FF F0 */ bdnz lbl_8028F430 -lbl_8028F444: -/* 8028F444 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028F448 7C 08 03 A6 */ mtlr r0 -/* 8028F44C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028F450 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCalc/bcopyfast__7JASCalcFPCvPvUl.s b/asm/JSystem/JAudio2/JASCalc/bcopyfast__7JASCalcFPCvPvUl.s deleted file mode 100644 index bed7fb5af15..00000000000 --- a/asm/JSystem/JAudio2/JASCalc/bcopyfast__7JASCalcFPCvPvUl.s +++ /dev/null @@ -1,17 +0,0 @@ -lbl_8028F318: -/* 8028F318 54 A0 E1 3F */ rlwinm. r0, r5, 0x1c, 4, 0x1f -/* 8028F31C 7C 09 03 A6 */ mtctr r0 -/* 8028F320 4D 82 00 20 */ beqlr -lbl_8028F324: -/* 8028F324 80 03 00 00 */ lwz r0, 0(r3) -/* 8028F328 80 A3 00 04 */ lwz r5, 4(r3) -/* 8028F32C 80 C3 00 08 */ lwz r6, 8(r3) -/* 8028F330 80 E3 00 0C */ lwz r7, 0xc(r3) -/* 8028F334 90 04 00 00 */ stw r0, 0(r4) -/* 8028F338 90 A4 00 04 */ stw r5, 4(r4) -/* 8028F33C 90 C4 00 08 */ stw r6, 8(r4) -/* 8028F340 90 E4 00 0C */ stw r7, 0xc(r4) -/* 8028F344 38 84 00 10 */ addi r4, r4, 0x10 -/* 8028F348 38 63 00 10 */ addi r3, r3, 0x10 -/* 8028F34C 42 00 FF D8 */ bdnz lbl_8028F324 -/* 8028F350 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCalc/bzero__7JASCalcFPvUl.s b/asm/JSystem/JAudio2/JASCalc/bzero__7JASCalcFPvUl.s deleted file mode 100644 index 6991f1a6e3e..00000000000 --- a/asm/JSystem/JAudio2/JASCalc/bzero__7JASCalcFPvUl.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_8028F480: -/* 8028F480 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8028F484 7C 08 02 A6 */ mflr r0 -/* 8028F488 90 01 00 14 */ stw r0, 0x14(r1) -/* 8028F48C 7C 66 1B 78 */ mr r6, r3 -/* 8028F490 54 80 06 FF */ clrlwi. r0, r4, 0x1b -/* 8028F494 40 82 00 14 */ bne lbl_8028F4A8 -/* 8028F498 54 60 06 FF */ clrlwi. r0, r3, 0x1b -/* 8028F49C 40 82 00 0C */ bne lbl_8028F4A8 -/* 8028F4A0 48 0A C1 C5 */ bl DCZeroRange -/* 8028F4A4 48 00 00 C4 */ b lbl_8028F568 -lbl_8028F4A8: -/* 8028F4A8 54 C5 07 BE */ clrlwi r5, r6, 0x1e -/* 8028F4AC 54 80 07 3F */ clrlwi. r0, r4, 0x1c -/* 8028F4B0 40 82 00 14 */ bne lbl_8028F4C4 -/* 8028F4B4 28 05 00 00 */ cmplwi r5, 0 -/* 8028F4B8 40 82 00 0C */ bne lbl_8028F4C4 -/* 8028F4BC 4B FF FF 99 */ bl bzerofast__7JASCalcFPvUl -/* 8028F4C0 48 00 00 A8 */ b lbl_8028F568 -lbl_8028F4C4: -/* 8028F4C4 28 04 00 10 */ cmplwi r4, 0x10 -/* 8028F4C8 41 80 00 84 */ blt lbl_8028F54C -/* 8028F4CC 28 05 00 00 */ cmplwi r5, 0 -/* 8028F4D0 41 82 00 2C */ beq lbl_8028F4FC -/* 8028F4D4 20 05 00 04 */ subfic r0, r5, 4 -/* 8028F4D8 54 05 06 3E */ clrlwi r5, r0, 0x18 -/* 8028F4DC 38 60 00 00 */ li r3, 0 -/* 8028F4E0 48 00 00 14 */ b lbl_8028F4F4 -lbl_8028F4E4: -/* 8028F4E4 98 66 00 00 */ stb r3, 0(r6) -/* 8028F4E8 38 C6 00 01 */ addi r6, r6, 1 -/* 8028F4EC 38 84 FF FF */ addi r4, r4, -1 -/* 8028F4F0 38 A5 FF FF */ addi r5, r5, -1 -lbl_8028F4F4: -/* 8028F4F4 54 A0 06 3F */ clrlwi. r0, r5, 0x18 -/* 8028F4F8 40 82 FF EC */ bne lbl_8028F4E4 -lbl_8028F4FC: -/* 8028F4FC 7C C5 33 78 */ mr r5, r6 -/* 8028F500 38 60 00 00 */ li r3, 0 -/* 8028F504 54 80 F0 BE */ srwi r0, r4, 2 -/* 8028F508 7C 09 03 A6 */ mtctr r0 -/* 8028F50C 28 04 00 04 */ cmplwi r4, 4 -/* 8028F510 41 80 00 14 */ blt lbl_8028F524 -lbl_8028F514: -/* 8028F514 90 65 00 00 */ stw r3, 0(r5) -/* 8028F518 38 A5 00 04 */ addi r5, r5, 4 -/* 8028F51C 38 84 FF FC */ addi r4, r4, -4 -/* 8028F520 42 00 FF F4 */ bdnz lbl_8028F514 -lbl_8028F524: -/* 8028F524 28 04 00 00 */ cmplwi r4, 0 -/* 8028F528 41 82 00 40 */ beq lbl_8028F568 -/* 8028F52C 7C A3 2B 78 */ mr r3, r5 -/* 8028F530 38 00 00 00 */ li r0, 0 -/* 8028F534 7C 89 03 A6 */ mtctr r4 -/* 8028F538 41 82 00 30 */ beq lbl_8028F568 -lbl_8028F53C: -/* 8028F53C 98 03 00 00 */ stb r0, 0(r3) -/* 8028F540 38 63 00 01 */ addi r3, r3, 1 -/* 8028F544 42 00 FF F8 */ bdnz lbl_8028F53C -/* 8028F548 48 00 00 20 */ b lbl_8028F568 -lbl_8028F54C: -/* 8028F54C 38 00 00 00 */ li r0, 0 -/* 8028F550 7C 89 03 A6 */ mtctr r4 -/* 8028F554 28 04 00 00 */ cmplwi r4, 0 -/* 8028F558 41 82 00 10 */ beq lbl_8028F568 -lbl_8028F55C: -/* 8028F55C 98 06 00 00 */ stb r0, 0(r6) -/* 8028F560 38 C6 00 01 */ addi r6, r6, 1 -/* 8028F564 42 00 FF F8 */ bdnz lbl_8028F55C -lbl_8028F568: -/* 8028F568 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8028F56C 7C 08 03 A6 */ mtlr r0 -/* 8028F570 38 21 00 10 */ addi r1, r1, 0x10 -/* 8028F574 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCalc/bzerofast__7JASCalcFPvUl.s b/asm/JSystem/JAudio2/JASCalc/bzerofast__7JASCalcFPvUl.s deleted file mode 100644 index 7fa8f1689dc..00000000000 --- a/asm/JSystem/JAudio2/JASCalc/bzerofast__7JASCalcFPvUl.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8028F454: -/* 8028F454 54 84 E1 3F */ rlwinm. r4, r4, 0x1c, 4, 0x1f -/* 8028F458 38 00 00 00 */ li r0, 0 -/* 8028F45C 7C 89 03 A6 */ mtctr r4 -/* 8028F460 4D 82 00 20 */ beqlr -lbl_8028F464: -/* 8028F464 90 03 00 00 */ stw r0, 0(r3) -/* 8028F468 90 03 00 04 */ stw r0, 4(r3) -/* 8028F46C 90 03 00 08 */ stw r0, 8(r3) -/* 8028F470 90 03 00 0C */ stw r0, 0xc(r3) -/* 8028F474 38 63 00 10 */ addi r3, r3, 0x10 -/* 8028F478 42 00 FF EC */ bdnz lbl_8028F464 -/* 8028F47C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCalc/imixcopy__7JASCalcFPCsPCsPsUl.s b/asm/JSystem/JAudio2/JASCalc/imixcopy__7JASCalcFPCsPCsPsUl.s deleted file mode 100644 index ebe44b4b862..00000000000 --- a/asm/JSystem/JAudio2/JASCalc/imixcopy__7JASCalcFPCsPCsPsUl.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_8028F2E8: -/* 8028F2E8 7C C9 03 A6 */ mtctr r6 -/* 8028F2EC 28 06 00 00 */ cmplwi r6, 0 -/* 8028F2F0 4D 82 00 20 */ beqlr -lbl_8028F2F4: -/* 8028F2F4 A8 03 00 00 */ lha r0, 0(r3) -/* 8028F2F8 B0 05 00 00 */ sth r0, 0(r5) -/* 8028F2FC A8 04 00 00 */ lha r0, 0(r4) -/* 8028F300 B0 05 00 02 */ sth r0, 2(r5) -/* 8028F304 38 A5 00 04 */ addi r5, r5, 4 -/* 8028F308 38 63 00 02 */ addi r3, r3, 2 -/* 8028F30C 38 84 00 02 */ addi r4, r4, 2 -/* 8028F310 42 00 FF E4 */ bdnz lbl_8028F2F4 -/* 8028F314 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCalc/pow2__7JASCalcFf.s b/asm/JSystem/JAudio2/JASCalc/pow2__7JASCalcFf.s deleted file mode 100644 index ebac1cc269c..00000000000 --- a/asm/JSystem/JAudio2/JASCalc/pow2__7JASCalcFf.s +++ /dev/null @@ -1,79 +0,0 @@ -lbl_8028F578: -/* 8028F578 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8028F57C 38 80 00 00 */ li r4, 0 -/* 8028F580 C0 02 BB 68 */ lfs f0, lit_969(r2) -/* 8028F584 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8028F588 4C 41 13 82 */ cror 2, 1, 2 -/* 8028F58C 40 82 00 1C */ bne lbl_8028F5A8 -/* 8028F590 C0 02 BB 58 */ lfs f0, lit_847(r2) -/* 8028F594 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8028F598 FC 00 00 1E */ fctiwz f0, f0 -/* 8028F59C D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8028F5A0 80 61 00 14 */ lwz r3, 0x14(r1) -/* 8028F5A4 48 00 00 18 */ b lbl_8028F5BC -lbl_8028F5A8: -/* 8028F5A8 C0 02 BB 58 */ lfs f0, lit_847(r2) -/* 8028F5AC EC 00 08 2A */ fadds f0, f0, f1 -/* 8028F5B0 FC 00 00 1E */ fctiwz f0, f0 -/* 8028F5B4 D8 01 00 18 */ stfd f0, 0x18(r1) -/* 8028F5B8 80 61 00 1C */ lwz r3, 0x1c(r1) -lbl_8028F5BC: -/* 8028F5BC 90 61 00 08 */ stw r3, 8(r1) -/* 8028F5C0 C8 42 BB 60 */ lfd f2, lit_850(r2) -/* 8028F5C4 6C 60 80 00 */ xoris r0, r3, 0x8000 -/* 8028F5C8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8028F5CC 3C 00 43 30 */ lis r0, 0x4330 -/* 8028F5D0 90 01 00 20 */ stw r0, 0x20(r1) -/* 8028F5D4 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 8028F5D8 EC 00 10 28 */ fsubs f0, f0, f2 -/* 8028F5DC EC 21 00 28 */ fsubs f1, f1, f0 -/* 8028F5E0 2C 03 00 80 */ cmpwi r3, 0x80 -/* 8028F5E4 40 81 00 10 */ ble lbl_8028F5F4 -/* 8028F5E8 3C 60 80 45 */ lis r3, __float_huge@ha /* 0x80450AE4@ha */ -/* 8028F5EC C0 23 0A E4 */ lfs f1, __float_huge@l(r3) /* 0x80450AE4@l */ -/* 8028F5F0 48 00 00 A4 */ b lbl_8028F694 -lbl_8028F5F4: -/* 8028F5F4 38 03 00 7F */ addi r0, r3, 0x7f -/* 8028F5F8 90 01 00 08 */ stw r0, 8(r1) -/* 8028F5FC 54 00 B8 10 */ slwi r0, r0, 0x17 -/* 8028F600 90 01 00 08 */ stw r0, 8(r1) -/* 8028F604 C0 02 BB 68 */ lfs f0, lit_969(r2) -/* 8028F608 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8028F60C 40 80 00 08 */ bge lbl_8028F614 -/* 8028F610 38 80 00 01 */ li r4, 1 -lbl_8028F614: -/* 8028F614 54 80 10 3A */ slwi r0, r4, 2 -/* 8028F618 38 62 BB 6C */ la r3, scale_frac(r2) /* 8045556C-_SDA2_BASE_ */ -/* 8028F61C 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8028F620 EC C1 00 2A */ fadds f6, f1, f0 -/* 8028F624 3C 60 80 3A */ lis r3, __two_to_x@ha /* 0x8039AFB8@ha */ -/* 8028F628 C4 A3 AF B8 */ lfsu f5, __two_to_x@l(r3) /* 0x8039AFB8@l */ -/* 8028F62C C0 83 00 04 */ lfs f4, 4(r3) -/* 8028F630 C0 63 00 08 */ lfs f3, 8(r3) -/* 8028F634 C0 43 00 0C */ lfs f2, 0xc(r3) -/* 8028F638 C0 23 00 10 */ lfs f1, 0x10(r3) -/* 8028F63C C0 03 00 14 */ lfs f0, 0x14(r3) -/* 8028F640 EC 06 00 32 */ fmuls f0, f6, f0 -/* 8028F644 EC 01 00 2A */ fadds f0, f1, f0 -/* 8028F648 EC 06 00 32 */ fmuls f0, f6, f0 -/* 8028F64C EC 02 00 2A */ fadds f0, f2, f0 -/* 8028F650 EC 06 00 32 */ fmuls f0, f6, f0 -/* 8028F654 EC 03 00 2A */ fadds f0, f3, f0 -/* 8028F658 EC 06 00 32 */ fmuls f0, f6, f0 -/* 8028F65C EC 04 00 2A */ fadds f0, f4, f0 -/* 8028F660 EC 06 00 32 */ fmuls f0, f6, f0 -/* 8028F664 EC 05 00 2A */ fadds f0, f5, f0 -/* 8028F668 EC C6 00 32 */ fmuls f6, f6, f0 -/* 8028F66C C0 41 00 08 */ lfs f2, 8(r1) -/* 8028F670 38 62 BB 74 */ la r3, two_to_frac(r2) /* 80455574-_SDA2_BASE_ */ -/* 8028F674 7C 63 04 2E */ lfsx f3, r3, r0 -/* 8028F678 C0 02 BB 7C */ lfs f0, lit_994(r2) -/* 8028F67C EC 20 00 F2 */ fmuls f1, f0, f3 -/* 8028F680 C0 02 BB 80 */ lfs f0, lit_995(r2) -/* 8028F684 EC 00 30 2A */ fadds f0, f0, f6 -/* 8028F688 EC 00 00 F2 */ fmuls f0, f0, f3 -/* 8028F68C EC 01 00 2A */ fadds f0, f1, f0 -/* 8028F690 EC 22 00 32 */ fmuls f1, f2, f0 -lbl_8028F694: -/* 8028F694 38 21 00 30 */ addi r1, r1, 0x30 -/* 8028F698 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCallback/callback__14JASCallbackMgrFv.s b/asm/JSystem/JAudio2/JASCallback/callback__14JASCallbackMgrFv.s deleted file mode 100644 index 89b51f24ee5..00000000000 --- a/asm/JSystem/JAudio2/JASCallback/callback__14JASCallbackMgrFv.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_802900C4: -/* 802900C4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802900C8 7C 08 02 A6 */ mflr r0 -/* 802900CC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802900D0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802900D4 48 0D 20 FD */ bl _savegpr_26 -/* 802900D8 7C 7A 1B 78 */ mr r26, r3 -/* 802900DC 3B 60 00 00 */ li r27, 0 -/* 802900E0 3B E0 00 00 */ li r31, 0 -/* 802900E4 7F FD FB 78 */ mr r29, r31 -/* 802900E8 7F FE FB 78 */ mr r30, r31 -lbl_802900EC: -/* 802900EC 7F 9A FA 14 */ add r28, r26, r31 -/* 802900F0 81 9C 00 00 */ lwz r12, 0(r28) -/* 802900F4 28 0C 00 00 */ cmplwi r12, 0 -/* 802900F8 41 82 00 20 */ beq lbl_80290118 -/* 802900FC 80 7C 00 04 */ lwz r3, 4(r28) -/* 80290100 7D 89 03 A6 */ mtctr r12 -/* 80290104 4E 80 04 21 */ bctrl -/* 80290108 2C 03 00 00 */ cmpwi r3, 0 -/* 8029010C 40 80 00 0C */ bge lbl_80290118 -/* 80290110 93 BC 00 00 */ stw r29, 0(r28) -/* 80290114 93 DC 00 04 */ stw r30, 4(r28) -lbl_80290118: -/* 80290118 3B 7B 00 01 */ addi r27, r27, 1 -/* 8029011C 2C 1B 00 20 */ cmpwi r27, 0x20 -/* 80290120 3B FF 00 08 */ addi r31, r31, 8 -/* 80290124 41 80 FF C8 */ blt lbl_802900EC -/* 80290128 39 61 00 20 */ addi r11, r1, 0x20 -/* 8029012C 48 0D 20 F1 */ bl _restgpr_26 -/* 80290130 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80290134 7C 08 03 A6 */ mtlr r0 -/* 80290138 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029013C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCallback/regist__14JASCallbackMgrFPFPv_lPv.s b/asm/JSystem/JAudio2/JASCallback/regist__14JASCallbackMgrFPFPv_lPv.s deleted file mode 100644 index 362839c1fdc..00000000000 --- a/asm/JSystem/JAudio2/JASCallback/regist__14JASCallbackMgrFPFPv_lPv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_8028FFA8: -/* 8028FFA8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8028FFAC 7C 08 02 A6 */ mflr r0 -/* 8028FFB0 90 01 00 24 */ stw r0, 0x24(r1) -/* 8028FFB4 39 61 00 20 */ addi r11, r1, 0x20 -/* 8028FFB8 48 0D 22 25 */ bl _savegpr_29 -/* 8028FFBC 7C 7D 1B 78 */ mr r29, r3 -/* 8028FFC0 7C 9E 23 78 */ mr r30, r4 -/* 8028FFC4 7C BF 2B 78 */ mr r31, r5 -/* 8028FFC8 48 0A D7 2D */ bl OSDisableInterrupts -/* 8028FFCC 90 61 00 08 */ stw r3, 8(r1) -/* 8028FFD0 38 60 00 00 */ li r3, 0 -/* 8028FFD4 38 00 00 20 */ li r0, 0x20 -/* 8028FFD8 7C 09 03 A6 */ mtctr r0 -lbl_8028FFDC: -/* 8028FFDC 7C 9D 1A 14 */ add r4, r29, r3 -/* 8028FFE0 80 04 00 00 */ lwz r0, 0(r4) -/* 8028FFE4 28 00 00 00 */ cmplwi r0, 0 -/* 8028FFE8 40 82 00 1C */ bne lbl_80290004 -/* 8028FFEC 93 C4 00 00 */ stw r30, 0(r4) -/* 8028FFF0 93 E4 00 04 */ stw r31, 4(r4) -/* 8028FFF4 80 61 00 08 */ lwz r3, 8(r1) -/* 8028FFF8 48 0A D7 25 */ bl OSRestoreInterrupts -/* 8028FFFC 38 60 00 01 */ li r3, 1 -/* 80290000 48 00 00 18 */ b lbl_80290018 -lbl_80290004: -/* 80290004 38 63 00 08 */ addi r3, r3, 8 -/* 80290008 42 00 FF D4 */ bdnz lbl_8028FFDC -/* 8029000C 80 61 00 08 */ lwz r3, 8(r1) -/* 80290010 48 0A D7 0D */ bl OSRestoreInterrupts -/* 80290014 38 60 00 00 */ li r3, 0 -lbl_80290018: -/* 80290018 39 61 00 20 */ addi r11, r1, 0x20 -/* 8029001C 48 0D 22 0D */ bl _restgpr_29 -/* 80290020 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80290024 7C 08 03 A6 */ mtlr r0 -/* 80290028 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029002C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASCallback/reject__14JASCallbackMgrFPFPv_lPv.s b/asm/JSystem/JAudio2/JASCallback/reject__14JASCallbackMgrFPFPv_lPv.s deleted file mode 100644 index 9891ec9d2ed..00000000000 --- a/asm/JSystem/JAudio2/JASCallback/reject__14JASCallbackMgrFPFPv_lPv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_80290030: -/* 80290030 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80290034 7C 08 02 A6 */ mflr r0 -/* 80290038 90 01 00 24 */ stw r0, 0x24(r1) -/* 8029003C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80290040 48 0D 21 99 */ bl _savegpr_28 -/* 80290044 7C 7C 1B 78 */ mr r28, r3 -/* 80290048 7C 9D 23 78 */ mr r29, r4 -/* 8029004C 7C BE 2B 78 */ mr r30, r5 -/* 80290050 3B E0 00 00 */ li r31, 0 -/* 80290054 48 0A D6 A1 */ bl OSDisableInterrupts -/* 80290058 90 61 00 08 */ stw r3, 8(r1) -/* 8029005C 38 60 00 00 */ li r3, 0 -/* 80290060 7C 65 1B 78 */ mr r5, r3 -/* 80290064 7C 64 1B 78 */ mr r4, r3 -/* 80290068 38 00 00 20 */ li r0, 0x20 -/* 8029006C 7C 09 03 A6 */ mtctr r0 -lbl_80290070: -/* 80290070 7C DC 1A 14 */ add r6, r28, r3 -/* 80290074 80 06 00 00 */ lwz r0, 0(r6) -/* 80290078 7C 00 E8 40 */ cmplw r0, r29 -/* 8029007C 40 82 00 1C */ bne lbl_80290098 -/* 80290080 80 06 00 04 */ lwz r0, 4(r6) -/* 80290084 7C 00 F0 40 */ cmplw r0, r30 -/* 80290088 40 82 00 10 */ bne lbl_80290098 -/* 8029008C 90 A6 00 00 */ stw r5, 0(r6) -/* 80290090 90 86 00 04 */ stw r4, 4(r6) -/* 80290094 3B FF 00 01 */ addi r31, r31, 1 -lbl_80290098: -/* 80290098 38 63 00 08 */ addi r3, r3, 8 -/* 8029009C 42 00 FF D4 */ bdnz lbl_80290070 -/* 802900A0 80 61 00 08 */ lwz r3, 8(r1) -/* 802900A4 48 0A D6 79 */ bl OSRestoreInterrupts -/* 802900A8 7F E3 FB 78 */ mr r3, r31 -/* 802900AC 39 61 00 20 */ addi r11, r1, 0x20 -/* 802900B0 48 0D 21 75 */ bl _restgpr_28 -/* 802900B4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802900B8 7C 08 03 A6 */ mtlr r0 -/* 802900BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 802900C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASLfo/__ct__6JASLfoFv.s b/asm/JSystem/JAudio2/JASLfo/__ct__6JASLfoFv.s deleted file mode 100644 index feeeec1caa7..00000000000 --- a/asm/JSystem/JAudio2/JASLfo/__ct__6JASLfoFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8029BD14: -/* 8029BD14 38 80 00 00 */ li r4, 0 -/* 8029BD18 90 83 00 00 */ stw r4, 0(r3) -/* 8029BD1C 38 00 00 01 */ li r0, 1 -/* 8029BD20 90 03 00 04 */ stw r0, 4(r3) -/* 8029BD24 C0 02 BC E0 */ lfs f0, lit_341(r2) -/* 8029BD28 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BD2C D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8029BD30 C0 02 BC E4 */ lfs f0, lit_342(r2) -/* 8029BD34 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8029BD38 B0 83 00 14 */ sth r4, 0x14(r3) -/* 8029BD3C B0 83 00 16 */ sth r4, 0x16(r3) -/* 8029BD40 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASLfo/__sinit_JASLfo_cpp.s b/asm/JSystem/JAudio2/JASLfo/__sinit_JASLfo_cpp.s deleted file mode 100644 index 883d84b6d0c..00000000000 --- a/asm/JSystem/JAudio2/JASLfo/__sinit_JASLfo_cpp.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_8029BE6C: -/* 8029BE6C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029BE70 7C 08 02 A6 */ mflr r0 -/* 8029BE74 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029BE78 3C 60 80 43 */ lis r3, sFreeRunLfo__6JASLfo@ha /* 0x80431C40@ha */ -/* 8029BE7C 38 63 1C 40 */ addi r3, r3, sFreeRunLfo__6JASLfo@l /* 0x80431C40@l */ -/* 8029BE80 4B FF FE 95 */ bl __ct__6JASLfoFv -/* 8029BE84 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029BE88 7C 08 03 A6 */ mtlr r0 -/* 8029BE8C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029BE90 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASLfo/getValue__6JASLfoCFv.s b/asm/JSystem/JAudio2/JASLfo/getValue__6JASLfoCFv.s deleted file mode 100644 index 8302954d357..00000000000 --- a/asm/JSystem/JAudio2/JASLfo/getValue__6JASLfoCFv.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_8029BD44: -/* 8029BD44 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029BD48 A0 03 00 16 */ lhz r0, 0x16(r3) -/* 8029BD4C 28 00 00 00 */ cmplwi r0, 0 -/* 8029BD50 41 82 00 0C */ beq lbl_8029BD5C -/* 8029BD54 C0 22 BC E0 */ lfs f1, lit_341(r2) -/* 8029BD58 48 00 00 78 */ b lbl_8029BDD0 -lbl_8029BD5C: -/* 8029BD5C C0 22 BC E0 */ lfs f1, lit_341(r2) -/* 8029BD60 C0 63 00 0C */ lfs f3, 0xc(r3) -/* 8029BD64 FC 01 18 00 */ fcmpu cr0, f1, f3 -/* 8029BD68 40 82 00 08 */ bne lbl_8029BD70 -/* 8029BD6C 48 00 00 64 */ b lbl_8029BDD0 -lbl_8029BD70: -/* 8029BD70 C0 43 00 08 */ lfs f2, 8(r3) -/* 8029BD74 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 8029BD78 40 80 00 30 */ bge lbl_8029BDA8 -/* 8029BD7C C0 02 BC E8 */ lfs f0, lit_363(r2) -/* 8029BD80 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8029BD84 FC 00 00 1E */ fctiwz f0, f0 -/* 8029BD88 D8 01 00 08 */ stfd f0, 8(r1) -/* 8029BD8C 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8029BD90 54 00 1C 38 */ rlwinm r0, r0, 3, 0x10, 0x1c -/* 8029BD94 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8029BD98 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8029BD9C 7C 03 04 2E */ lfsx f0, r3, r0 -/* 8029BDA0 FC 00 00 50 */ fneg f0, f0 -/* 8029BDA4 48 00 00 28 */ b lbl_8029BDCC -lbl_8029BDA8: -/* 8029BDA8 C0 02 BC EC */ lfs f0, lit_364(r2) -/* 8029BDAC EC 00 00 B2 */ fmuls f0, f0, f2 -/* 8029BDB0 FC 00 00 1E */ fctiwz f0, f0 -/* 8029BDB4 D8 01 00 10 */ stfd f0, 0x10(r1) -/* 8029BDB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029BDBC 54 00 1C 38 */ rlwinm r0, r0, 3, 0x10, 0x1c -/* 8029BDC0 3C 60 80 44 */ lis r3, sincosTable___5JMath@ha /* 0x80439A20@ha */ -/* 8029BDC4 38 63 9A 20 */ addi r3, r3, sincosTable___5JMath@l /* 0x80439A20@l */ -/* 8029BDC8 7C 03 04 2E */ lfsx f0, r3, r0 -lbl_8029BDCC: -/* 8029BDCC EC 23 00 32 */ fmuls f1, f3, f0 -lbl_8029BDD0: -/* 8029BDD0 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029BDD4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASLfo/incCounter__6JASLfoFf.s b/asm/JSystem/JAudio2/JASLfo/incCounter__6JASLfoFf.s deleted file mode 100644 index 69dcdd4787b..00000000000 --- a/asm/JSystem/JAudio2/JASLfo/incCounter__6JASLfoFf.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8029BDD8: -/* 8029BDD8 A0 83 00 16 */ lhz r4, 0x16(r3) -/* 8029BDDC 28 04 00 00 */ cmplwi r4, 0 -/* 8029BDE0 41 82 00 10 */ beq lbl_8029BDF0 -/* 8029BDE4 38 04 FF FF */ addi r0, r4, -1 -/* 8029BDE8 B0 03 00 16 */ sth r0, 0x16(r3) -/* 8029BDEC 4E 80 00 20 */ blr -lbl_8029BDF0: -/* 8029BDF0 C0 63 00 08 */ lfs f3, 8(r3) -/* 8029BDF4 C0 42 BC F0 */ lfs f2, lit_376(r2) -/* 8029BDF8 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8029BDFC EC 02 00 32 */ fmuls f0, f2, f0 -/* 8029BE00 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8029BE04 EC 03 00 2A */ fadds f0, f3, f0 -/* 8029BE08 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BE0C C0 23 00 08 */ lfs f1, 8(r3) -/* 8029BE10 C0 02 BC E4 */ lfs f0, lit_342(r2) -/* 8029BE14 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8029BE18 4C 41 13 82 */ cror 2, 1, 2 -/* 8029BE1C 4C 82 00 20 */ bnelr -/* 8029BE20 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8029BE24 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BE28 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASLfo/resetCounter__6JASLfoFv.s b/asm/JSystem/JAudio2/JASLfo/resetCounter__6JASLfoFv.s deleted file mode 100644 index a683329ffc2..00000000000 --- a/asm/JSystem/JAudio2/JASLfo/resetCounter__6JASLfoFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_8029BE2C: -/* 8029BE2C A0 03 00 14 */ lhz r0, 0x14(r3) -/* 8029BE30 B0 03 00 16 */ sth r0, 0x16(r3) -/* 8029BE34 80 03 00 04 */ lwz r0, 4(r3) -/* 8029BE38 2C 00 00 01 */ cmpwi r0, 1 -/* 8029BE3C 41 82 00 24 */ beq lbl_8029BE60 -/* 8029BE40 4C 80 00 20 */ bgelr -/* 8029BE44 2C 00 00 00 */ cmpwi r0, 0 -/* 8029BE48 4D 80 00 20 */ bltlr -/* 8029BE4C 3C 80 80 43 */ lis r4, sFreeRunLfo__6JASLfo@ha /* 0x80431C40@ha */ -/* 8029BE50 38 84 1C 40 */ addi r4, r4, sFreeRunLfo__6JASLfo@l /* 0x80431C40@l */ -/* 8029BE54 C0 04 00 08 */ lfs f0, 8(r4) -/* 8029BE58 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BE5C 4E 80 00 20 */ blr -lbl_8029BE60: -/* 8029BE60 C0 02 BC E0 */ lfs f0, lit_341(r2) -/* 8029BE64 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BE68 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASOscillator/__ct__13JASOscillatorFv.s b/asm/JSystem/JAudio2/JASOscillator/__ct__13JASOscillatorFv.s deleted file mode 100644 index 0ce2b3593a7..00000000000 --- a/asm/JSystem/JAudio2/JASOscillator/__ct__13JASOscillatorFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_8029BE94: -/* 8029BE94 38 00 00 00 */ li r0, 0 -/* 8029BE98 90 03 00 00 */ stw r0, 0(r3) -/* 8029BE9C B0 03 00 14 */ sth r0, 0x14(r3) -/* 8029BEA0 B0 03 00 16 */ sth r0, 0x16(r3) -/* 8029BEA4 98 03 00 18 */ stb r0, 0x18(r3) -/* 8029BEA8 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029BEAC C0 02 BC F8 */ lfs f0, lit_77(r2) -/* 8029BEB0 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8029BEB4 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8029BEB8 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BEBC D0 03 00 04 */ stfs f0, 4(r3) -/* 8029BEC0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASOscillator/getValue__13JASOscillatorCFv.s b/asm/JSystem/JAudio2/JASOscillator/getValue__13JASOscillatorCFv.s deleted file mode 100644 index 5b3f59fd534..00000000000 --- a/asm/JSystem/JAudio2/JASOscillator/getValue__13JASOscillatorCFv.s +++ /dev/null @@ -1,8 +0,0 @@ -lbl_8029BFC8: -/* 8029BFC8 80 83 00 00 */ lwz r4, 0(r3) -/* 8029BFCC C0 44 00 14 */ lfs f2, 0x14(r4) -/* 8029BFD0 C0 23 00 08 */ lfs f1, 8(r3) -/* 8029BFD4 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 8029BFD8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8029BFDC EC 22 00 2A */ fadds f1, f2, f0 -/* 8029BFE0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASOscillator/incCounter__13JASOscillatorFf.s b/asm/JSystem/JAudio2/JASOscillator/incCounter__13JASOscillatorFf.s deleted file mode 100644 index 73962996a32..00000000000 --- a/asm/JSystem/JAudio2/JASOscillator/incCounter__13JASOscillatorFf.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8029BF68: -/* 8029BF68 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029BF6C 7C 08 02 A6 */ mflr r0 -/* 8029BF70 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029BF74 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 8029BF78 2C 00 00 01 */ cmpwi r0, 1 -/* 8029BF7C 41 82 00 20 */ beq lbl_8029BF9C -/* 8029BF80 40 80 00 10 */ bge lbl_8029BF90 -/* 8029BF84 2C 00 00 00 */ cmpwi r0, 0 -/* 8029BF88 40 80 00 30 */ bge lbl_8029BFB8 -/* 8029BF8C 48 00 00 10 */ b lbl_8029BF9C -lbl_8029BF90: -/* 8029BF90 2C 00 00 03 */ cmpwi r0, 3 -/* 8029BF94 40 80 00 08 */ bge lbl_8029BF9C -/* 8029BF98 48 00 00 20 */ b lbl_8029BFB8 -lbl_8029BF9C: -/* 8029BF9C C0 43 00 04 */ lfs f2, 4(r3) -/* 8029BFA0 80 83 00 00 */ lwz r4, 0(r3) -/* 8029BFA4 C0 04 00 04 */ lfs f0, 4(r4) -/* 8029BFA8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8029BFAC EC 02 00 2A */ fadds f0, f2, f0 -/* 8029BFB0 D0 03 00 04 */ stfs f0, 4(r3) -/* 8029BFB4 48 00 01 2D */ bl update__13JASOscillatorFv -lbl_8029BFB8: -/* 8029BFB8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029BFBC 7C 08 03 A6 */ mtlr r0 -/* 8029BFC0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029BFC4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASOscillator/initStart__13JASOscillatorFPCQ213JASOscillator4Data.s b/asm/JSystem/JAudio2/JASOscillator/initStart__13JASOscillatorFPCQ213JASOscillator4Data.s deleted file mode 100644 index a86273640bf..00000000000 --- a/asm/JSystem/JAudio2/JASOscillator/initStart__13JASOscillatorFPCQ213JASOscillator4Data.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8029BEC4: -/* 8029BEC4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029BEC8 90 83 00 00 */ stw r4, 0(r3) -/* 8029BECC C0 02 BC F8 */ lfs f0, lit_77(r2) -/* 8029BED0 D0 03 00 04 */ stfs f0, 4(r3) -/* 8029BED4 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BED8 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8029BEDC 38 00 00 00 */ li r0, 0 -/* 8029BEE0 B0 03 00 14 */ sth r0, 0x14(r3) -/* 8029BEE4 B0 03 00 16 */ sth r0, 0x16(r3) -/* 8029BEE8 28 04 00 00 */ cmplwi r4, 0 -/* 8029BEEC 40 82 00 0C */ bne lbl_8029BEF8 -/* 8029BEF0 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029BEF4 48 00 00 6C */ b lbl_8029BF60 -lbl_8029BEF8: -/* 8029BEF8 80 83 00 00 */ lwz r4, 0(r3) -/* 8029BEFC 80 84 00 08 */ lwz r4, 8(r4) -/* 8029BF00 28 04 00 00 */ cmplwi r4, 0 -/* 8029BF04 40 82 00 18 */ bne lbl_8029BF1C -/* 8029BF08 38 00 00 02 */ li r0, 2 -/* 8029BF0C 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029BF10 C0 02 BC FC */ lfs f0, lit_87(r2) -/* 8029BF14 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029BF18 48 00 00 48 */ b lbl_8029BF60 -lbl_8029BF1C: -/* 8029BF1C A8 04 00 04 */ lha r0, 4(r4) -/* 8029BF20 C8 22 BD 08 */ lfd f1, lit_91(r2) -/* 8029BF24 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8029BF28 90 01 00 0C */ stw r0, 0xc(r1) -/* 8029BF2C 3C 00 43 30 */ lis r0, 0x4330 -/* 8029BF30 90 01 00 08 */ stw r0, 8(r1) -/* 8029BF34 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029BF38 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8029BF3C C0 02 BD 00 */ lfs f0, lit_88(r2) -/* 8029BF40 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8029BF44 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8029BF48 80 83 00 00 */ lwz r4, 0(r3) -/* 8029BF4C 80 84 00 08 */ lwz r4, 8(r4) -/* 8029BF50 A8 04 00 00 */ lha r0, 0(r4) -/* 8029BF54 98 03 00 18 */ stb r0, 0x18(r3) -/* 8029BF58 38 00 00 01 */ li r0, 1 -/* 8029BF5C 90 03 00 1C */ stw r0, 0x1c(r3) -lbl_8029BF60: -/* 8029BF60 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029BF64 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASOscillator/release__13JASOscillatorFv.s b/asm/JSystem/JAudio2/JASOscillator/release__13JASOscillatorFv.s deleted file mode 100644 index 3ea90c358c5..00000000000 --- a/asm/JSystem/JAudio2/JASOscillator/release__13JASOscillatorFv.s +++ /dev/null @@ -1,68 +0,0 @@ -lbl_8029BFE4: -/* 8029BFE4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029BFE8 7C 08 02 A6 */ mflr r0 -/* 8029BFEC 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029BFF0 80 A3 00 00 */ lwz r5, 0(r3) -/* 8029BFF4 80 85 00 0C */ lwz r4, 0xc(r5) -/* 8029BFF8 28 04 00 00 */ cmplwi r4, 0 -/* 8029BFFC 40 82 00 1C */ bne lbl_8029C018 -/* 8029C000 A0 03 00 16 */ lhz r0, 0x16(r3) -/* 8029C004 28 00 00 00 */ cmplwi r0, 0 -/* 8029C008 40 82 00 10 */ bne lbl_8029C018 -/* 8029C00C 38 00 00 00 */ li r0, 0 -/* 8029C010 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029C014 48 00 00 BC */ b lbl_8029C0D0 -lbl_8029C018: -/* 8029C018 A0 03 00 16 */ lhz r0, 0x16(r3) -/* 8029C01C 28 00 00 00 */ cmplwi r0, 0 -/* 8029C020 41 82 00 3C */ beq lbl_8029C05C -/* 8029C024 C0 22 BC F8 */ lfs f1, lit_77(r2) -/* 8029C028 D0 23 00 04 */ stfs f1, 4(r3) -/* 8029C02C C0 03 00 08 */ lfs f0, 8(r3) -/* 8029C030 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8029C034 D0 23 00 10 */ stfs f1, 0x10(r3) -/* 8029C038 38 00 00 00 */ li r0, 0 -/* 8029C03C B0 03 00 14 */ sth r0, 0x14(r3) -/* 8029C040 A0 03 00 16 */ lhz r0, 0x16(r3) -/* 8029C044 54 00 97 BE */ rlwinm r0, r0, 0x12, 0x1e, 0x1f -/* 8029C048 98 03 00 18 */ stb r0, 0x18(r3) -/* 8029C04C 38 00 00 04 */ li r0, 4 -/* 8029C050 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029C054 48 00 00 8D */ bl update__13JASOscillatorFv -/* 8029C058 48 00 00 78 */ b lbl_8029C0D0 -lbl_8029C05C: -/* 8029C05C 80 05 00 08 */ lwz r0, 8(r5) -/* 8029C060 7C 00 20 40 */ cmplw r0, r4 -/* 8029C064 41 82 00 60 */ beq lbl_8029C0C4 -/* 8029C068 C0 02 BC F8 */ lfs f0, lit_77(r2) -/* 8029C06C D0 03 00 04 */ stfs f0, 4(r3) -/* 8029C070 C0 03 00 08 */ lfs f0, 8(r3) -/* 8029C074 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8029C078 80 83 00 00 */ lwz r4, 0(r3) -/* 8029C07C 80 84 00 0C */ lwz r4, 0xc(r4) -/* 8029C080 A8 04 00 04 */ lha r0, 4(r4) -/* 8029C084 C8 22 BD 08 */ lfd f1, lit_91(r2) -/* 8029C088 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8029C08C 90 01 00 0C */ stw r0, 0xc(r1) -/* 8029C090 3C 00 43 30 */ lis r0, 0x4330 -/* 8029C094 90 01 00 08 */ stw r0, 8(r1) -/* 8029C098 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C09C EC 20 08 28 */ fsubs f1, f0, f1 -/* 8029C0A0 C0 02 BD 00 */ lfs f0, lit_88(r2) -/* 8029C0A4 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8029C0A8 D0 03 00 10 */ stfs f0, 0x10(r3) -/* 8029C0AC 38 00 00 00 */ li r0, 0 -/* 8029C0B0 B0 03 00 14 */ sth r0, 0x14(r3) -/* 8029C0B4 80 83 00 00 */ lwz r4, 0(r3) -/* 8029C0B8 80 84 00 0C */ lwz r4, 0xc(r4) -/* 8029C0BC A8 04 00 00 */ lha r0, 0(r4) -/* 8029C0C0 98 03 00 18 */ stb r0, 0x18(r3) -lbl_8029C0C4: -/* 8029C0C4 38 00 00 03 */ li r0, 3 -/* 8029C0C8 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029C0CC 48 00 00 15 */ bl update__13JASOscillatorFv -lbl_8029C0D0: -/* 8029C0D0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029C0D4 7C 08 03 A6 */ mtlr r0 -/* 8029C0D8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029C0DC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASOscillator/updateCurrentValue__13JASOscillatorFf.s b/asm/JSystem/JAudio2/JASOscillator/updateCurrentValue__13JASOscillatorFf.s deleted file mode 100644 index 2c394c72c61..00000000000 --- a/asm/JSystem/JAudio2/JASOscillator/updateCurrentValue__13JASOscillatorFf.s +++ /dev/null @@ -1,51 +0,0 @@ -lbl_8029C2C0: -/* 8029C2C0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8029C2C4 7C 08 02 A6 */ mflr r0 -/* 8029C2C8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8029C2CC DB E1 00 20 */ stfd f31, 0x20(r1) -/* 8029C2D0 F3 E1 00 28 */ psq_st f31, 40(r1), 0, 0 /* qr0 */ -/* 8029C2D4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8029C2D8 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8029C2DC 7C 7E 1B 78 */ mr r30, r3 -/* 8029C2E0 88 03 00 18 */ lbz r0, 0x18(r3) -/* 8029C2E4 54 00 10 3A */ slwi r0, r0, 2 -/* 8029C2E8 3C 60 80 3C */ lis r3, table_list@ha /* 0x803C78A8@ha */ -/* 8029C2EC 38 63 78 A8 */ addi r3, r3, table_list@l /* 0x803C78A8@l */ -/* 8029C2F0 7F E3 00 2E */ lwzx r31, r3, r0 -/* 8029C2F4 C0 42 BD 10 */ lfs f2, lit_154(r2) -/* 8029C2F8 C0 1E 00 04 */ lfs f0, 4(r30) -/* 8029C2FC EC 00 08 24 */ fdivs f0, f0, f1 -/* 8029C300 EF E2 00 32 */ fmuls f31, f2, f0 -/* 8029C304 FC 20 F8 90 */ fmr f1, f31 -/* 8029C308 48 0C 5D A5 */ bl __cvt_fp2unsigned -/* 8029C30C C8 22 BD 18 */ lfd f1, lit_156(r2) -/* 8029C310 90 61 00 0C */ stw r3, 0xc(r1) -/* 8029C314 3C 00 43 30 */ lis r0, 0x4330 -/* 8029C318 90 01 00 08 */ stw r0, 8(r1) -/* 8029C31C C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C320 EC 00 08 28 */ fsubs f0, f0, f1 -/* 8029C324 EC 5F 00 28 */ fsubs f2, f31, f0 -/* 8029C328 54 60 10 3A */ slwi r0, r3, 2 -/* 8029C32C C0 62 BC FC */ lfs f3, lit_87(r2) -/* 8029C330 EC 23 10 28 */ fsubs f1, f3, f2 -/* 8029C334 7C 1F 04 2E */ lfsx f0, r31, r0 -/* 8029C338 EC 21 00 32 */ fmuls f1, f1, f0 -/* 8029C33C 7C 7F 02 14 */ add r3, r31, r0 -/* 8029C340 C0 03 00 04 */ lfs f0, 4(r3) -/* 8029C344 EC 02 00 32 */ fmuls f0, f2, f0 -/* 8029C348 EC 81 00 2A */ fadds f4, f1, f0 -/* 8029C34C C0 1E 00 0C */ lfs f0, 0xc(r30) -/* 8029C350 EC 40 01 32 */ fmuls f2, f0, f4 -/* 8029C354 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 8029C358 EC 03 20 28 */ fsubs f0, f3, f4 -/* 8029C35C EC 01 00 32 */ fmuls f0, f1, f0 -/* 8029C360 EC 02 00 2A */ fadds f0, f2, f0 -/* 8029C364 D0 1E 00 08 */ stfs f0, 8(r30) -/* 8029C368 E3 E1 00 28 */ psq_l f31, 40(r1), 0, 0 /* qr0 */ -/* 8029C36C CB E1 00 20 */ lfd f31, 0x20(r1) -/* 8029C370 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8029C374 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8029C378 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8029C37C 7C 08 03 A6 */ mtlr r0 -/* 8029C380 38 21 00 30 */ addi r1, r1, 0x30 -/* 8029C384 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/JASOscillator/update__13JASOscillatorFv.s b/asm/JSystem/JAudio2/JASOscillator/update__13JASOscillatorFv.s deleted file mode 100644 index 47720f56ece..00000000000 --- a/asm/JSystem/JAudio2/JASOscillator/update__13JASOscillatorFv.s +++ /dev/null @@ -1,133 +0,0 @@ -lbl_8029C0E0: -/* 8029C0E0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029C0E4 7C 08 02 A6 */ mflr r0 -/* 8029C0E8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029C0EC 80 03 00 1C */ lwz r0, 0x1c(r3) -/* 8029C0F0 2C 00 00 04 */ cmpwi r0, 4 -/* 8029C0F4 40 82 00 60 */ bne lbl_8029C154 -/* 8029C0F8 A0 03 00 16 */ lhz r0, 0x16(r3) -/* 8029C0FC 54 00 04 BE */ clrlwi r0, r0, 0x12 -/* 8029C100 C0 43 00 04 */ lfs f2, 4(r3) -/* 8029C104 C8 22 BD 08 */ lfd f1, lit_91(r2) -/* 8029C108 6C 04 80 00 */ xoris r4, r0, 0x8000 -/* 8029C10C 90 81 00 0C */ stw r4, 0xc(r1) -/* 8029C110 3C 00 43 30 */ lis r0, 0x4330 -/* 8029C114 90 01 00 08 */ stw r0, 8(r1) -/* 8029C118 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C11C EC 00 08 28 */ fsubs f0, f0, f1 -/* 8029C120 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8029C124 40 80 00 1C */ bge lbl_8029C140 -/* 8029C128 90 81 00 0C */ stw r4, 0xc(r1) -/* 8029C12C 90 01 00 08 */ stw r0, 8(r1) -/* 8029C130 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C134 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8029C138 48 00 01 89 */ bl updateCurrentValue__13JASOscillatorFf -/* 8029C13C 48 00 01 74 */ b lbl_8029C2B0 -lbl_8029C140: -/* 8029C140 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8029C144 D0 03 00 08 */ stfs f0, 8(r3) -/* 8029C148 38 00 00 00 */ li r0, 0 -/* 8029C14C 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029C150 48 00 01 60 */ b lbl_8029C2B0 -lbl_8029C154: -/* 8029C154 2C 00 00 02 */ cmpwi r0, 2 -/* 8029C158 41 82 01 58 */ beq lbl_8029C2B0 -/* 8029C15C 2C 00 00 01 */ cmpwi r0, 1 -/* 8029C160 40 82 00 10 */ bne lbl_8029C170 -/* 8029C164 80 83 00 00 */ lwz r4, 0(r3) -/* 8029C168 80 E4 00 08 */ lwz r7, 8(r4) -/* 8029C16C 48 00 00 0C */ b lbl_8029C178 -lbl_8029C170: -/* 8029C170 80 83 00 00 */ lwz r4, 0(r3) -/* 8029C174 80 E4 00 0C */ lwz r7, 0xc(r4) -lbl_8029C178: -/* 8029C178 28 07 00 00 */ cmplwi r7, 0 -/* 8029C17C 40 82 00 10 */ bne lbl_8029C18C -/* 8029C180 38 00 00 02 */ li r0, 2 -/* 8029C184 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029C188 48 00 01 28 */ b lbl_8029C2B0 -lbl_8029C18C: -/* 8029C18C C8 42 BD 08 */ lfd f2, lit_91(r2) -/* 8029C190 3C A0 43 30 */ lis r5, 0x4330 -/* 8029C194 48 00 00 C4 */ b lbl_8029C258 -lbl_8029C198: -/* 8029C198 C0 23 00 04 */ lfs f1, 4(r3) -/* 8029C19C 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 8029C1A0 90 01 00 0C */ stw r0, 0xc(r1) -/* 8029C1A4 90 A1 00 08 */ stw r5, 8(r1) -/* 8029C1A8 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C1AC EC 00 10 28 */ fsubs f0, f0, f2 -/* 8029C1B0 EC 01 00 28 */ fsubs f0, f1, f0 -/* 8029C1B4 D0 03 00 04 */ stfs f0, 4(r3) -/* 8029C1B8 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8029C1BC D0 03 00 08 */ stfs f0, 8(r3) -/* 8029C1C0 A0 83 00 14 */ lhz r4, 0x14(r3) -/* 8029C1C4 38 04 00 01 */ addi r0, r4, 1 -/* 8029C1C8 B0 03 00 14 */ sth r0, 0x14(r3) -/* 8029C1CC C0 03 00 08 */ lfs f0, 8(r3) -/* 8029C1D0 D0 03 00 0C */ stfs f0, 0xc(r3) -/* 8029C1D4 A0 03 00 14 */ lhz r0, 0x14(r3) -/* 8029C1D8 1C 00 00 06 */ mulli r0, r0, 6 -/* 8029C1DC 7C 87 02 14 */ add r4, r7, r0 -/* 8029C1E0 A8 04 00 00 */ lha r0, 0(r4) -/* 8029C1E4 2C 00 00 0E */ cmpwi r0, 0xe -/* 8029C1E8 41 82 00 28 */ beq lbl_8029C210 -/* 8029C1EC 40 80 00 10 */ bge lbl_8029C1FC -/* 8029C1F0 2C 00 00 0D */ cmpwi r0, 0xd -/* 8029C1F4 40 80 00 28 */ bge lbl_8029C21C -/* 8029C1F8 48 00 00 30 */ b lbl_8029C228 -lbl_8029C1FC: -/* 8029C1FC 2C 00 00 10 */ cmpwi r0, 0x10 -/* 8029C200 40 80 00 28 */ bge lbl_8029C228 -/* 8029C204 38 00 00 00 */ li r0, 0 -/* 8029C208 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029C20C 48 00 00 A4 */ b lbl_8029C2B0 -lbl_8029C210: -/* 8029C210 38 00 00 02 */ li r0, 2 -/* 8029C214 90 03 00 1C */ stw r0, 0x1c(r3) -/* 8029C218 48 00 00 98 */ b lbl_8029C2B0 -lbl_8029C21C: -/* 8029C21C A8 04 00 04 */ lha r0, 4(r4) -/* 8029C220 B0 03 00 14 */ sth r0, 0x14(r3) -/* 8029C224 48 00 00 34 */ b lbl_8029C258 -lbl_8029C228: -/* 8029C228 98 03 00 18 */ stb r0, 0x18(r3) -/* 8029C22C A8 04 00 04 */ lha r0, 4(r4) -/* 8029C230 C8 22 BD 08 */ lfd f1, lit_91(r2) -/* 8029C234 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8029C238 90 01 00 0C */ stw r0, 0xc(r1) -/* 8029C23C 3C 00 43 30 */ lis r0, 0x4330 -/* 8029C240 90 01 00 08 */ stw r0, 8(r1) -/* 8029C244 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C248 EC 20 08 28 */ fsubs f1, f0, f1 -/* 8029C24C C0 02 BD 00 */ lfs f0, lit_88(r2) -/* 8029C250 EC 01 00 24 */ fdivs f0, f1, f0 -/* 8029C254 D0 03 00 10 */ stfs f0, 0x10(r3) -lbl_8029C258: -/* 8029C258 C0 23 00 04 */ lfs f1, 4(r3) -/* 8029C25C A0 03 00 14 */ lhz r0, 0x14(r3) -/* 8029C260 1C C0 00 06 */ mulli r6, r0, 6 -/* 8029C264 38 06 00 02 */ addi r0, r6, 2 -/* 8029C268 7C 87 02 AE */ lhax r4, r7, r0 -/* 8029C26C 6C 80 80 00 */ xoris r0, r4, 0x8000 -/* 8029C270 90 01 00 0C */ stw r0, 0xc(r1) -/* 8029C274 90 A1 00 08 */ stw r5, 8(r1) -/* 8029C278 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C27C EC 00 10 28 */ fsubs f0, f0, f2 -/* 8029C280 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8029C284 4C 41 13 82 */ cror 2, 1, 2 -/* 8029C288 41 82 FF 10 */ beq lbl_8029C198 -/* 8029C28C 7C 87 32 14 */ add r4, r7, r6 -/* 8029C290 A8 04 00 02 */ lha r0, 2(r4) -/* 8029C294 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8029C298 90 01 00 0C */ stw r0, 0xc(r1) -/* 8029C29C 3C 00 43 30 */ lis r0, 0x4330 -/* 8029C2A0 90 01 00 08 */ stw r0, 8(r1) -/* 8029C2A4 C8 01 00 08 */ lfd f0, 8(r1) -/* 8029C2A8 EC 20 10 28 */ fsubs f1, f0, f2 -/* 8029C2AC 48 00 00 15 */ bl updateCurrentValue__13JASOscillatorFf -lbl_8029C2B0: -/* 8029C2B0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029C2B4 7C 08 03 A6 */ mtlr r0 -/* 8029C2B8 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029C2BC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dspproc/DSPReleaseHalt2__FUl.s b/asm/JSystem/JAudio2/dspproc/DSPReleaseHalt2__FUl.s deleted file mode 100644 index 2375b05b4eb..00000000000 --- a/asm/JSystem/JAudio2/dspproc/DSPReleaseHalt2__FUl.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_8029E4E0: -/* 8029E4E0 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029E4E4 7C 08 02 A6 */ mflr r0 -/* 8029E4E8 90 01 00 24 */ stw r0, 0x24(r1) -/* 8029E4EC 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8029E4F0 7C 7F 1B 78 */ mr r31, r3 -/* 8029E4F4 4B FF FB C9 */ bl DSP_CreateMap2__FUl -/* 8029E4F8 7C 60 1B 78 */ mr r0, r3 -/* 8029E4FC 38 61 00 08 */ addi r3, r1, 8 -/* 8029E500 53 E0 80 1E */ rlwimi r0, r31, 0x10, 0, 0xf -/* 8029E504 38 80 00 00 */ li r4, 0 -/* 8029E508 90 01 00 08 */ stw r0, 8(r1) -/* 8029E50C 38 A0 00 00 */ li r5, 0 -/* 8029E510 48 00 02 D1 */ bl DSPSendCommands2__FPUlUlPFUs_v -/* 8029E514 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8029E518 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8029E51C 7C 08 03 A6 */ mtlr r0 -/* 8029E520 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029E524 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dspproc/DsetMixerLevel__Ff.s b/asm/JSystem/JAudio2/dspproc/DsetMixerLevel__Ff.s deleted file mode 100644 index b0562b49533..00000000000 --- a/asm/JSystem/JAudio2/dspproc/DsetMixerLevel__Ff.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_8029E5E0: -/* 8029E5E0 C0 02 BD 70 */ lfs f0, lit_333(r2) -/* 8029E5E4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029E5E8 EC 00 00 72 */ fmuls f0, f0, f1 -/* 8029E5EC FC 00 00 1E */ fctiwz f0, f0 -/* 8029E5F0 D8 01 00 08 */ stfd f0, 8(r1) -/* 8029E5F4 80 01 00 0C */ lwz r0, 0xc(r1) -/* 8029E5F8 B0 0D 82 48 */ sth r0, DSP_MIXERLEVEL(r13) -/* 8029E5FC 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029E600 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dspproc/DsetupTable__FUlUlUlUlUl.s b/asm/JSystem/JAudio2/dspproc/DsetupTable__FUlUlUlUlUl.s deleted file mode 100644 index 0c38824eea3..00000000000 --- a/asm/JSystem/JAudio2/dspproc/DsetupTable__FUlUlUlUlUl.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8029E560: -/* 8029E560 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029E564 7C 08 02 A6 */ mflr r0 -/* 8029E568 39 00 00 01 */ li r8, 1 -/* 8029E56C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8029E570 54 60 04 3E */ clrlwi r0, r3, 0x10 -/* 8029E574 64 09 81 00 */ oris r9, r0, 0x8100 -/* 8029E578 3C 60 80 2A */ lis r3, setup_callback__FUs@ha /* 0x8029E540@ha */ -/* 8029E57C 90 81 00 0C */ stw r4, 0xc(r1) -/* 8029E580 38 03 E5 40 */ addi r0, r3, setup_callback__FUs@l /* 0x8029E540@l */ -/* 8029E584 38 61 00 08 */ addi r3, r1, 8 -/* 8029E588 38 80 00 05 */ li r4, 5 -/* 8029E58C 90 A1 00 10 */ stw r5, 0x10(r1) -/* 8029E590 7C 05 03 78 */ mr r5, r0 -/* 8029E594 91 21 00 08 */ stw r9, 8(r1) -/* 8029E598 90 C1 00 14 */ stw r6, 0x14(r1) -/* 8029E59C 90 E1 00 18 */ stw r7, 0x18(r1) -/* 8029E5A0 91 0D 8D 78 */ stw r8, flag(r13) -/* 8029E5A4 48 00 02 3D */ bl DSPSendCommands2__FPUlUlPFUs_v -lbl_8029E5A8: -/* 8029E5A8 80 0D 8D 78 */ lwz r0, flag(r13) -/* 8029E5AC 2C 00 00 00 */ cmpwi r0, 0 -/* 8029E5B0 40 82 FF F8 */ bne lbl_8029E5A8 -/* 8029E5B4 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8029E5B8 7C 08 03 A6 */ mtlr r0 -/* 8029E5BC 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029E5C0 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dspproc/DsyncFrame2ch__FUlUlUl.s b/asm/JSystem/JAudio2/dspproc/DsyncFrame2ch__FUlUlUl.s deleted file mode 100644 index 5b496747e5a..00000000000 --- a/asm/JSystem/JAudio2/dspproc/DsyncFrame2ch__FUlUlUl.s +++ /dev/null @@ -1,22 +0,0 @@ -lbl_8029E620: -/* 8029E620 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029E624 7C 08 02 A6 */ mflr r0 -/* 8029E628 90 01 00 24 */ stw r0, 0x24(r1) -/* 8029E62C 54 60 82 1E */ rlwinm r0, r3, 0x10, 8, 0xf -/* 8029E630 64 06 82 00 */ oris r6, r0, 0x8200 -/* 8029E634 A0 6D 82 48 */ lhz r3, DSP_MIXERLEVEL(r13) -/* 8029E638 38 00 00 00 */ li r0, 0 -/* 8029E63C 90 81 00 0C */ stw r4, 0xc(r1) -/* 8029E640 38 80 00 05 */ li r4, 5 -/* 8029E644 7C C6 1B 78 */ or r6, r6, r3 -/* 8029E648 38 61 00 08 */ addi r3, r1, 8 -/* 8029E64C 90 A1 00 10 */ stw r5, 0x10(r1) -/* 8029E650 38 A0 00 00 */ li r5, 0 -/* 8029E654 90 C1 00 08 */ stw r6, 8(r1) -/* 8029E658 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029E65C 90 01 00 18 */ stw r0, 0x18(r1) -/* 8029E660 48 00 01 81 */ bl DSPSendCommands2__FPUlUlPFUs_v -/* 8029E664 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8029E668 7C 08 03 A6 */ mtlr r0 -/* 8029E66C 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029E670 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dspproc/DsyncFrame4ch__FUlUlUlUlUl.s b/asm/JSystem/JAudio2/dspproc/DsyncFrame4ch__FUlUlUlUlUl.s deleted file mode 100644 index 275fa07d805..00000000000 --- a/asm/JSystem/JAudio2/dspproc/DsyncFrame4ch__FUlUlUlUlUl.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_8029E680: -/* 8029E680 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8029E684 7C 08 02 A6 */ mflr r0 -/* 8029E688 54 63 82 1E */ rlwinm r3, r3, 0x10, 8, 0xf -/* 8029E68C 90 01 00 24 */ stw r0, 0x24(r1) -/* 8029E690 64 63 82 00 */ oris r3, r3, 0x8200 -/* 8029E694 A0 0D 82 48 */ lhz r0, DSP_MIXERLEVEL(r13) -/* 8029E698 90 81 00 0C */ stw r4, 0xc(r1) -/* 8029E69C 38 80 00 05 */ li r4, 5 -/* 8029E6A0 7C 60 03 78 */ or r0, r3, r0 -/* 8029E6A4 38 61 00 08 */ addi r3, r1, 8 -/* 8029E6A8 90 A1 00 10 */ stw r5, 0x10(r1) -/* 8029E6AC 38 A0 00 00 */ li r5, 0 -/* 8029E6B0 90 01 00 08 */ stw r0, 8(r1) -/* 8029E6B4 90 C1 00 14 */ stw r6, 0x14(r1) -/* 8029E6B8 90 E1 00 18 */ stw r7, 0x18(r1) -/* 8029E6BC 48 00 01 25 */ bl DSPSendCommands2__FPUlUlPFUs_v -/* 8029E6C0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8029E6C4 7C 08 03 A6 */ mtlr r0 -/* 8029E6C8 38 21 00 20 */ addi r1, r1, 0x20 -/* 8029E6CC 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dsptask/DspBoot__FPFPv_v.s b/asm/JSystem/JAudio2/dsptask/DspBoot__FPFPv_v.s deleted file mode 100644 index 1c58c690b3d..00000000000 --- a/asm/JSystem/JAudio2/dsptask/DspBoot__FPFPv_v.s +++ /dev/null @@ -1,44 +0,0 @@ -lbl_8029E720: -/* 8029E720 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029E724 7C 08 02 A6 */ mflr r0 -/* 8029E728 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029E72C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8029E730 7C 7F 1B 78 */ mr r31, r3 -/* 8029E734 48 00 01 AD */ bl DspInitWork__Fv -/* 8029E738 3C 80 80 3C */ lis r4, jdsp@ha /* 0x803C7920@ha */ -/* 8029E73C 3C 60 80 43 */ lis r3, AUDIO_YIELD_BUFFER@ha /* 0x80431FE0@ha */ -/* 8029E740 38 A4 79 20 */ addi r5, r4, jdsp@l /* 0x803C7920@l */ -/* 8029E744 3C C0 80 43 */ lis r6, audio_task@ha /* 0x80431F80@ha */ -/* 8029E748 38 83 1F E0 */ addi r4, r3, AUDIO_YIELD_BUFFER@l /* 0x80431FE0@l */ -/* 8029E74C 3C 60 80 2A */ lis r3, DspHandShake__FPv@ha /* 0x8029E6E0@ha */ -/* 8029E750 39 26 1F 80 */ addi r9, r6, audio_task@l /* 0x80431F80@l */ -/* 8029E754 38 C0 00 00 */ li r6, 0 -/* 8029E758 3D 05 80 00 */ addis r8, r5, 0x8000 -/* 8029E75C 3C A4 80 00 */ addis r5, r4, 0x8000 -/* 8029E760 38 03 E6 E0 */ addi r0, r3, DspHandShake__FPv@l /* 0x8029E6E0@l */ -/* 8029E764 39 40 00 F0 */ li r10, 0xf0 -/* 8029E768 38 E0 1F 00 */ li r7, 0x1f00 -/* 8029E76C 38 80 20 00 */ li r4, 0x2000 -/* 8029E770 38 60 00 10 */ li r3, 0x10 -/* 8029E774 91 49 00 04 */ stw r10, 4(r9) -/* 8029E778 91 09 00 0C */ stw r8, 0xc(r9) -/* 8029E77C 90 E9 00 10 */ stw r7, 0x10(r9) -/* 8029E780 90 C9 00 14 */ stw r6, 0x14(r9) -/* 8029E784 90 A9 00 18 */ stw r5, 0x18(r9) -/* 8029E788 90 89 00 1C */ stw r4, 0x1c(r9) -/* 8029E78C 90 C9 00 20 */ stw r6, 0x20(r9) -/* 8029E790 B0 C9 00 24 */ sth r6, 0x24(r9) -/* 8029E794 B0 69 00 26 */ sth r3, 0x26(r9) -/* 8029E798 90 09 00 28 */ stw r0, 0x28(r9) -/* 8029E79C 90 C9 00 2C */ stw r6, 0x2c(r9) -/* 8029E7A0 90 C9 00 30 */ stw r6, 0x30(r9) -/* 8029E7A4 93 E9 00 34 */ stw r31, 0x34(r9) -/* 8029E7A8 48 0B 3D 15 */ bl DSPInit -/* 8029E7AC 3C 60 80 43 */ lis r3, audio_task@ha /* 0x80431F80@ha */ -/* 8029E7B0 38 63 1F 80 */ addi r3, r3, audio_task@l /* 0x80431F80@l */ -/* 8029E7B4 48 00 02 ED */ bl DSPAddPriorTask__FP15STRUCT_DSP_TASK -/* 8029E7B8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029E7BC 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8029E7C0 7C 08 03 A6 */ mtlr r0 -/* 8029E7C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029E7C8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dsptask/DspFinishWork__FUs.s b/asm/JSystem/JAudio2/dsptask/DspFinishWork__FUs.s deleted file mode 100644 index 8df46831c59..00000000000 --- a/asm/JSystem/JAudio2/dsptask/DspFinishWork__FUs.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_8029E980: -/* 8029E980 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029E984 7C 08 02 A6 */ mflr r0 -/* 8029E988 3C 80 80 43 */ lis r4, taskwork@ha /* 0x80433FE0@ha */ -/* 8029E98C 54 63 04 3E */ clrlwi r3, r3, 0x10 -/* 8029E990 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029E994 38 84 3F E0 */ addi r4, r4, taskwork@l /* 0x80433FE0@l */ -/* 8029E998 80 CD 8D 80 */ lwz r6, taskreadp(r13) -/* 8029E99C 54 C5 18 38 */ slwi r5, r6, 3 -/* 8029E9A0 7C 04 2A 2E */ lhzx r0, r4, r5 -/* 8029E9A4 7C 03 00 40 */ cmplw r3, r0 -/* 8029E9A8 40 82 00 30 */ bne lbl_8029E9D8 -/* 8029E9AC 7C 64 2A 14 */ add r3, r4, r5 -/* 8029E9B0 81 83 00 04 */ lwz r12, 4(r3) -/* 8029E9B4 28 0C 00 00 */ cmplwi r12, 0 -/* 8029E9B8 41 82 00 10 */ beq lbl_8029E9C8 -/* 8029E9BC 54 C3 04 3E */ clrlwi r3, r6, 0x10 -/* 8029E9C0 7D 89 03 A6 */ mtctr r12 -/* 8029E9C4 4E 80 04 21 */ bctrl -lbl_8029E9C8: -/* 8029E9C8 80 6D 8D 80 */ lwz r3, taskreadp(r13) -/* 8029E9CC 38 03 00 01 */ addi r0, r3, 1 -/* 8029E9D0 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 8029E9D4 90 0D 8D 80 */ stw r0, taskreadp(r13) -lbl_8029E9D8: -/* 8029E9D8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029E9DC 7C 08 03 A6 */ mtlr r0 -/* 8029E9E0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029E9E4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/dsptask/DspStartWork__FUlPFUs_v.s b/asm/JSystem/JAudio2/dsptask/DspStartWork__FUlPFUs_v.s deleted file mode 100644 index 512f01a13b5..00000000000 --- a/asm/JSystem/JAudio2/dsptask/DspStartWork__FUlPFUs_v.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_8029E920: -/* 8029E920 80 ED 8D 84 */ lwz r7, taskwritep(r13) -/* 8029E924 80 0D 8D 80 */ lwz r0, taskreadp(r13) -/* 8029E928 38 C7 00 01 */ addi r6, r7, 1 -/* 8029E92C 54 C8 07 3E */ clrlwi r8, r6, 0x1c -/* 8029E930 7C 08 00 40 */ cmplw r8, r0 -/* 8029E934 40 82 00 0C */ bne lbl_8029E940 -/* 8029E938 38 60 00 00 */ li r3, 0 -/* 8029E93C 4E 80 00 20 */ blr -lbl_8029E940: -/* 8029E940 3C A0 80 43 */ lis r5, taskwork@ha /* 0x80433FE0@ha */ -/* 8029E944 54 60 84 3E */ srwi r0, r3, 0x10 -/* 8029E948 54 E7 18 38 */ slwi r7, r7, 3 -/* 8029E94C 91 0D 8D 84 */ stw r8, taskwritep(r13) -/* 8029E950 38 A5 3F E0 */ addi r5, r5, taskwork@l /* 0x80433FE0@l */ -/* 8029E954 7C C3 33 78 */ mr r3, r6 -/* 8029E958 7C 05 3B 2E */ sthx r0, r5, r7 -/* 8029E95C 7C A5 3A 14 */ add r5, r5, r7 -/* 8029E960 90 85 00 04 */ stw r4, 4(r5) -/* 8029E964 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp/DSPAddPriorTask__FP15STRUCT_DSP_TASK.s b/asm/JSystem/JAudio2/osdsp/DSPAddPriorTask__FP15STRUCT_DSP_TASK.s deleted file mode 100644 index 46df30e7dc4..00000000000 --- a/asm/JSystem/JAudio2/osdsp/DSPAddPriorTask__FP15STRUCT_DSP_TASK.s +++ /dev/null @@ -1,34 +0,0 @@ -lbl_8029EAA0: -/* 8029EAA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029EAA4 7C 08 02 A6 */ mflr r0 -/* 8029EAA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029EAAC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8029EAB0 93 C1 00 08 */ stw r30, 8(r1) -/* 8029EAB4 7C 7E 1B 78 */ mr r30, r3 -/* 8029EAB8 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029EABC 28 00 00 00 */ cmplwi r0, 0 -/* 8029EAC0 41 82 00 18 */ beq lbl_8029EAD8 -/* 8029EAC4 3C 60 80 3A */ lis r3, lit_88@ha /* 0x8039B8D4@ha */ -/* 8029EAC8 38 63 B8 D4 */ addi r3, r3, lit_88@l /* 0x8039B8D4@l */ -/* 8029EACC 4C C6 31 82 */ crclr 6 -/* 8029EAD0 4B D6 7F ED */ bl OSReport -/* 8029EAD4 48 00 00 30 */ b lbl_8029EB04 -lbl_8029EAD8: -/* 8029EAD8 48 09 EC 1D */ bl OSDisableInterrupts -/* 8029EADC 93 CD 8D 8C */ stw r30, DSP_prior_task(r13) -/* 8029EAE0 38 80 00 00 */ li r4, 0 -/* 8029EAE4 7C 7F 1B 78 */ mr r31, r3 -/* 8029EAE8 38 00 00 01 */ li r0, 1 -/* 8029EAEC 90 9E 00 00 */ stw r4, 0(r30) -/* 8029EAF0 7F C3 F3 78 */ mr r3, r30 -/* 8029EAF4 90 1E 00 08 */ stw r0, 8(r30) -/* 8029EAF8 48 0B 3C 79 */ bl __DSP_boot_task -/* 8029EAFC 7F E3 FB 78 */ mr r3, r31 -/* 8029EB00 48 09 EC 1D */ bl OSRestoreInterrupts -lbl_8029EB04: -/* 8029EB04 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029EB08 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8029EB0C 83 C1 00 08 */ lwz r30, 8(r1) -/* 8029EB10 7C 08 03 A6 */ mtlr r0 -/* 8029EB14 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029EB18 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp/DSPAddTask.s b/asm/JSystem/JAudio2/osdsp/DSPAddTask.s deleted file mode 100644 index 22288f91dbc..00000000000 --- a/asm/JSystem/JAudio2/osdsp/DSPAddTask.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8029EA00: -/* 8029EA00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029EA04 7C 08 02 A6 */ mflr r0 -/* 8029EA08 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029EA0C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8029EA10 93 C1 00 08 */ stw r30, 8(r1) -/* 8029EA14 7C 7E 1B 78 */ mr r30, r3 -/* 8029EA18 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029EA1C 28 00 00 00 */ cmplwi r0, 0 -/* 8029EA20 40 82 00 1C */ bne lbl_8029EA3C -/* 8029EA24 3C 60 80 3A */ lis r3, lit_81@ha /* 0x8039B8B8@ha */ -/* 8029EA28 38 63 B8 B8 */ addi r3, r3, lit_81@l /* 0x8039B8B8@l */ -/* 8029EA2C 4C C6 31 82 */ crclr 6 -/* 8029EA30 4B D6 80 8D */ bl OSReport -/* 8029EA34 38 60 00 00 */ li r3, 0 -/* 8029EA38 48 00 00 34 */ b lbl_8029EA6C -lbl_8029EA3C: -/* 8029EA3C 48 09 EC B9 */ bl OSDisableInterrupts -/* 8029EA40 7C 60 1B 78 */ mr r0, r3 -/* 8029EA44 7F C3 F3 78 */ mr r3, r30 -/* 8029EA48 7C 1F 03 78 */ mr r31, r0 -/* 8029EA4C 48 0B 3E B1 */ bl __DSP_insert_task -/* 8029EA50 38 60 00 00 */ li r3, 0 -/* 8029EA54 38 00 00 01 */ li r0, 1 -/* 8029EA58 90 7E 00 00 */ stw r3, 0(r30) -/* 8029EA5C 7F E3 FB 78 */ mr r3, r31 -/* 8029EA60 90 1E 00 08 */ stw r0, 8(r30) -/* 8029EA64 48 09 EC B9 */ bl OSRestoreInterrupts -/* 8029EA68 7F C3 F3 78 */ mr r3, r30 -lbl_8029EA6C: -/* 8029EA6C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029EA70 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8029EA74 83 C1 00 08 */ lwz r30, 8(r1) -/* 8029EA78 7C 08 03 A6 */ mtlr r0 -/* 8029EA7C 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029EA80 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Check__Fv.s b/asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Check__Fv.s deleted file mode 100644 index bedff8fa949..00000000000 --- a/asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Check__Fv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_8029EF80: -/* 8029EF80 88 0D 8D 88 */ lbz r0, struct_80451308+0x0(r13) -/* 8029EF84 20 00 00 01 */ subfic r0, r0, 1 -/* 8029EF88 7C 00 00 34 */ cntlzw r0, r0 -/* 8029EF8C 54 03 D9 7E */ srwi r3, r0, 5 -/* 8029EF90 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Start__Fv.s b/asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Start__Fv.s deleted file mode 100644 index e178fb48028..00000000000 --- a/asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Start__Fv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_8029EFA0: -/* 8029EFA0 38 00 00 01 */ li r0, 1 -/* 8029EFA4 98 0D 8D 88 */ stb r0, struct_80451308+0x0(r13) -/* 8029EFA8 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp_task/Dsp_Update_Request__Fv.s b/asm/JSystem/JAudio2/osdsp_task/Dsp_Update_Request__Fv.s deleted file mode 100644 index 1dee14131ad..00000000000 --- a/asm/JSystem/JAudio2/osdsp_task/Dsp_Update_Request__Fv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_8029EF00: -/* 8029EF00 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029EF04 7C 08 02 A6 */ mflr r0 -/* 8029EF08 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029EF0C 88 0D 8D 89 */ lbz r0, struct_80451308+0x1(r13) -/* 8029EF10 2C 00 00 01 */ cmpwi r0, 1 -/* 8029EF14 41 82 00 18 */ beq lbl_8029EF2C -/* 8029EF18 40 80 00 08 */ bge lbl_8029EF20 -/* 8029EF1C 48 00 00 4C */ b lbl_8029EF68 -lbl_8029EF20: -/* 8029EF20 2C 00 00 03 */ cmpwi r0, 3 -/* 8029EF24 40 80 00 44 */ bge lbl_8029EF68 -/* 8029EF28 48 00 00 20 */ b lbl_8029EF48 -lbl_8029EF2C: -/* 8029EF2C 3C 60 80 43 */ lis r3, sync_stack@ha /* 0x80434060@ha */ -/* 8029EF30 38 A3 40 60 */ addi r5, r3, sync_stack@l /* 0x80434060@l */ -/* 8029EF34 80 65 00 00 */ lwz r3, 0(r5) -/* 8029EF38 80 85 00 04 */ lwz r4, 4(r5) -/* 8029EF3C 80 A5 00 08 */ lwz r5, 8(r5) -/* 8029EF40 4B FF FF 01 */ bl DsyncFrame2__FUlUlUl -/* 8029EF44 48 00 00 24 */ b lbl_8029EF68 -lbl_8029EF48: -/* 8029EF48 3C 60 80 43 */ lis r3, sync_stack@ha /* 0x80434060@ha */ -/* 8029EF4C 38 E3 40 60 */ addi r7, r3, sync_stack@l /* 0x80434060@l */ -/* 8029EF50 80 67 00 00 */ lwz r3, 0(r7) -/* 8029EF54 80 87 00 04 */ lwz r4, 4(r7) -/* 8029EF58 80 A7 00 08 */ lwz r5, 8(r7) -/* 8029EF5C 80 C7 00 0C */ lwz r6, 0xc(r7) -/* 8029EF60 80 E7 00 10 */ lwz r7, 0x10(r7) -/* 8029EF64 4B FF FF 3D */ bl DsyncFrame3__FUlUlUlUlUl -lbl_8029EF68: -/* 8029EF68 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029EF6C 7C 08 03 A6 */ mtlr r0 -/* 8029EF70 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029EF74 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp_task/DsyncFrame2__FUlUlUl.s b/asm/JSystem/JAudio2/osdsp_task/DsyncFrame2__FUlUlUl.s deleted file mode 100644 index 64054f469d8..00000000000 --- a/asm/JSystem/JAudio2/osdsp_task/DsyncFrame2__FUlUlUl.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_8029EE40: -/* 8029EE40 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029EE44 7C 08 02 A6 */ mflr r0 -/* 8029EE48 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029EE4C 88 0D 8D 88 */ lbz r0, struct_80451308+0x0(r13) -/* 8029EE50 28 00 00 01 */ cmplwi r0, 1 -/* 8029EE54 41 82 00 20 */ beq lbl_8029EE74 -/* 8029EE58 3C C0 80 43 */ lis r6, sync_stack@ha /* 0x80434060@ha */ -/* 8029EE5C 94 66 40 60 */ stwu r3, sync_stack@l(r6) /* 0x80434060@l */ -/* 8029EE60 38 00 00 01 */ li r0, 1 -/* 8029EE64 98 0D 8D 89 */ stb r0, struct_80451308+0x1(r13) -/* 8029EE68 90 86 00 04 */ stw r4, 4(r6) -/* 8029EE6C 90 A6 00 08 */ stw r5, 8(r6) -/* 8029EE70 48 00 00 10 */ b lbl_8029EE80 -lbl_8029EE74: -/* 8029EE74 4B FF F7 AD */ bl DsyncFrame2ch__FUlUlUl -/* 8029EE78 38 00 00 00 */ li r0, 0 -/* 8029EE7C 98 0D 8D 89 */ stb r0, struct_80451308+0x1(r13) -lbl_8029EE80: -/* 8029EE80 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029EE84 7C 08 03 A6 */ mtlr r0 -/* 8029EE88 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029EE8C 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp_task/DsyncFrame3__FUlUlUlUlUl.s b/asm/JSystem/JAudio2/osdsp_task/DsyncFrame3__FUlUlUlUlUl.s deleted file mode 100644 index 114dd9fa43a..00000000000 --- a/asm/JSystem/JAudio2/osdsp_task/DsyncFrame3__FUlUlUlUlUl.s +++ /dev/null @@ -1,25 +0,0 @@ -lbl_8029EEA0: -/* 8029EEA0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8029EEA4 7C 08 02 A6 */ mflr r0 -/* 8029EEA8 90 01 00 14 */ stw r0, 0x14(r1) -/* 8029EEAC 88 0D 8D 88 */ lbz r0, struct_80451308+0x0(r13) -/* 8029EEB0 28 00 00 01 */ cmplwi r0, 1 -/* 8029EEB4 41 82 00 28 */ beq lbl_8029EEDC -/* 8029EEB8 3D 00 80 43 */ lis r8, sync_stack@ha /* 0x80434060@ha */ -/* 8029EEBC 94 68 40 60 */ stwu r3, sync_stack@l(r8) /* 0x80434060@l */ -/* 8029EEC0 38 00 00 02 */ li r0, 2 -/* 8029EEC4 98 0D 8D 89 */ stb r0, struct_80451308+0x1(r13) -/* 8029EEC8 90 88 00 04 */ stw r4, 4(r8) -/* 8029EECC 90 A8 00 08 */ stw r5, 8(r8) -/* 8029EED0 90 C8 00 0C */ stw r6, 0xc(r8) -/* 8029EED4 90 E8 00 10 */ stw r7, 0x10(r8) -/* 8029EED8 48 00 00 10 */ b lbl_8029EEE8 -lbl_8029EEDC: -/* 8029EEDC 4B FF F7 A5 */ bl DsyncFrame4ch__FUlUlUlUlUl -/* 8029EEE0 38 00 00 00 */ li r0, 0 -/* 8029EEE4 98 0D 8D 89 */ stb r0, struct_80451308+0x1(r13) -lbl_8029EEE8: -/* 8029EEE8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8029EEEC 7C 08 03 A6 */ mtlr r0 -/* 8029EEF0 38 21 00 10 */ addi r1, r1, 0x10 -/* 8029EEF4 4E 80 00 20 */ blr diff --git a/asm/JSystem/JAudio2/osdsp_task/__DSPHandler.s b/asm/JSystem/JAudio2/osdsp_task/__DSPHandler.s deleted file mode 100644 index 3e8ceecb420..00000000000 --- a/asm/JSystem/JAudio2/osdsp_task/__DSPHandler.s +++ /dev/null @@ -1,216 +0,0 @@ -lbl_8029EB20: -/* 8029EB20 94 21 FD 20 */ stwu r1, -0x2e0(r1) -/* 8029EB24 7C 08 02 A6 */ mflr r0 -/* 8029EB28 3C C0 CC 00 */ lis r6, 0xCC00 /* 0xCC00500A@ha */ -/* 8029EB2C 90 01 02 E4 */ stw r0, 0x2e4(r1) -/* 8029EB30 38 00 FF D7 */ li r0, -41 -/* 8029EB34 38 61 00 08 */ addi r3, r1, 8 -/* 8029EB38 93 E1 02 DC */ stw r31, 0x2dc(r1) -/* 8029EB3C 7C 9F 23 78 */ mr r31, r4 -/* 8029EB40 A0 A6 50 0A */ lhz r5, 0x500A(r6) /* 0xCC00500A@l */ -/* 8029EB44 54 A4 04 3E */ clrlwi r4, r5, 0x10 -/* 8029EB48 7C 80 00 38 */ and r0, r4, r0 -/* 8029EB4C 60 00 00 80 */ ori r0, r0, 0x80 -/* 8029EB50 B0 06 50 0A */ sth r0, 0x500a(r6) -/* 8029EB54 48 09 D4 AD */ bl OSClearContext -/* 8029EB58 38 61 00 08 */ addi r3, r1, 8 -/* 8029EB5C 48 09 D2 DD */ bl OSSetCurrentContext -/* 8029EB60 88 0D 8D 88 */ lbz r0, struct_80451308+0x0(r13) -/* 8029EB64 28 00 00 01 */ cmplwi r0, 1 -/* 8029EB68 41 82 00 10 */ beq lbl_8029EB78 -/* 8029EB6C 88 0D 8D 88 */ lbz r0, struct_80451308+0x0(r13) -/* 8029EB70 28 00 00 00 */ cmplwi r0, 0 -/* 8029EB74 40 82 00 0C */ bne lbl_8029EB80 -lbl_8029EB78: -/* 8029EB78 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029EB7C 90 0D 93 94 */ stw r0, __DSP_curr_task(r13) -lbl_8029EB80: -/* 8029EB80 48 0B 38 C1 */ bl DSPCheckMailFromDSP -/* 8029EB84 28 03 00 00 */ cmplwi r3, 0 -/* 8029EB88 41 82 FF F8 */ beq lbl_8029EB80 -/* 8029EB8C 48 0B 38 C5 */ bl DSPReadMailFromDSP -/* 8029EB90 80 AD 93 94 */ lwz r5, __DSP_curr_task(r13) -/* 8029EB94 80 05 00 08 */ lwz r0, 8(r5) -/* 8029EB98 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e -/* 8029EB9C 41 82 00 18 */ beq lbl_8029EBB4 -/* 8029EBA0 3C 03 23 2F */ addis r0, r3, 0x232f -/* 8029EBA4 28 00 00 02 */ cmplwi r0, 2 -/* 8029EBA8 40 82 00 0C */ bne lbl_8029EBB4 -/* 8029EBAC 3C 60 DC D1 */ lis r3, 0xDCD1 /* 0xDCD10003@ha */ -/* 8029EBB0 38 63 00 03 */ addi r3, r3, 0x0003 /* 0xDCD10003@l */ -lbl_8029EBB4: -/* 8029EBB4 3C 80 DC D1 */ lis r4, 0xDCD1 /* 0xDCD10003@ha */ -/* 8029EBB8 38 04 00 03 */ addi r0, r4, 0x0003 /* 0xDCD10003@l */ -/* 8029EBBC 7C 03 00 00 */ cmpw r3, r0 -/* 8029EBC0 41 82 01 1C */ beq lbl_8029ECDC -/* 8029EBC4 40 80 00 20 */ bge lbl_8029EBE4 -/* 8029EBC8 38 04 00 01 */ addi r0, r4, 1 -/* 8029EBCC 7C 03 00 00 */ cmpw r3, r0 -/* 8029EBD0 41 82 00 5C */ beq lbl_8029EC2C -/* 8029EBD4 40 80 00 94 */ bge lbl_8029EC68 -/* 8029EBD8 7C 03 20 00 */ cmpw r3, r4 -/* 8029EBDC 40 80 00 1C */ bge lbl_8029EBF8 -/* 8029EBE0 48 00 02 20 */ b lbl_8029EE00 -lbl_8029EBE4: -/* 8029EBE4 38 04 00 05 */ addi r0, r4, 5 -/* 8029EBE8 7C 03 00 00 */ cmpw r3, r0 -/* 8029EBEC 41 82 01 98 */ beq lbl_8029ED84 -/* 8029EBF0 40 80 02 10 */ bge lbl_8029EE00 -/* 8029EBF4 48 00 01 74 */ b lbl_8029ED68 -lbl_8029EBF8: -/* 8029EBF8 38 80 00 01 */ li r4, 1 -/* 8029EBFC 90 85 00 00 */ stw r4, 0(r5) -/* 8029EC00 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029EC04 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029EC08 7C 03 00 40 */ cmplw r3, r0 -/* 8029EC0C 40 82 00 08 */ bne lbl_8029EC14 -/* 8029EC10 98 8D 8D 88 */ stb r4, struct_80451308+0x0(r13) -lbl_8029EC14: -/* 8029EC14 81 83 00 28 */ lwz r12, 0x28(r3) -/* 8029EC18 28 0C 00 00 */ cmplwi r12, 0 -/* 8029EC1C 41 82 01 E4 */ beq lbl_8029EE00 -/* 8029EC20 7D 89 03 A6 */ mtctr r12 -/* 8029EC24 4E 80 04 21 */ bctrl -/* 8029EC28 48 00 01 D8 */ b lbl_8029EE00 -lbl_8029EC2C: -/* 8029EC2C 38 80 00 01 */ li r4, 1 -/* 8029EC30 90 85 00 00 */ stw r4, 0(r5) -/* 8029EC34 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029EC38 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029EC3C 7C 03 00 40 */ cmplw r3, r0 -/* 8029EC40 40 82 00 0C */ bne lbl_8029EC4C -/* 8029EC44 98 8D 8D 88 */ stb r4, struct_80451308+0x0(r13) -/* 8029EC48 48 00 02 B9 */ bl Dsp_Update_Request__Fv -lbl_8029EC4C: -/* 8029EC4C 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029EC50 81 83 00 2C */ lwz r12, 0x2c(r3) -/* 8029EC54 28 0C 00 00 */ cmplwi r12, 0 -/* 8029EC58 41 82 01 A8 */ beq lbl_8029EE00 -/* 8029EC5C 7D 89 03 A6 */ mtctr r12 -/* 8029EC60 4E 80 04 21 */ bctrl -/* 8029EC64 48 00 01 9C */ b lbl_8029EE00 -lbl_8029EC68: -/* 8029EC68 3C 60 CD D1 */ lis r3, 0xCDD1 /* 0xCDD10001@ha */ -/* 8029EC6C 38 63 00 01 */ addi r3, r3, 0x0001 /* 0xCDD10001@l */ -/* 8029EC70 48 0B 37 F9 */ bl DSPSendMailToDSP -/* 8029EC74 60 00 00 00 */ nop -lbl_8029EC78: -/* 8029EC78 48 0B 37 B9 */ bl DSPCheckMailToDSP -/* 8029EC7C 28 03 00 00 */ cmplwi r3, 0 -/* 8029EC80 40 82 FF F8 */ bne lbl_8029EC78 -/* 8029EC84 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029EC88 38 00 00 02 */ li r0, 2 -/* 8029EC8C 90 03 00 00 */ stw r0, 0(r3) -/* 8029EC90 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029EC94 80 83 00 38 */ lwz r4, 0x38(r3) -/* 8029EC98 28 04 00 00 */ cmplwi r4, 0 -/* 8029EC9C 40 82 00 2C */ bne lbl_8029ECC8 -/* 8029ECA0 88 0D 8D 89 */ lbz r0, struct_80451308+0x1(r13) -/* 8029ECA4 28 00 00 00 */ cmplwi r0, 0 -/* 8029ECA8 41 82 00 20 */ beq lbl_8029ECC8 -/* 8029ECAC 80 8D 8D 8C */ lwz r4, DSP_prior_task(r13) -/* 8029ECB0 48 0B 39 21 */ bl __DSP_exec_task -/* 8029ECB4 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029ECB8 38 60 00 00 */ li r3, 0 -/* 8029ECBC 98 6D 8D 89 */ stb r3, struct_80451308+0x1(r13) -/* 8029ECC0 90 0D 93 94 */ stw r0, __DSP_curr_task(r13) -/* 8029ECC4 48 00 01 3C */ b lbl_8029EE00 -lbl_8029ECC8: -/* 8029ECC8 48 0B 39 09 */ bl __DSP_exec_task -/* 8029ECCC 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029ECD0 80 03 00 38 */ lwz r0, 0x38(r3) -/* 8029ECD4 90 0D 93 94 */ stw r0, __DSP_curr_task(r13) -/* 8029ECD8 48 00 01 28 */ b lbl_8029EE00 -lbl_8029ECDC: -/* 8029ECDC 81 85 00 30 */ lwz r12, 0x30(r5) -/* 8029ECE0 28 0C 00 00 */ cmplwi r12, 0 -/* 8029ECE4 41 82 00 10 */ beq lbl_8029ECF4 -/* 8029ECE8 7C A3 2B 78 */ mr r3, r5 -/* 8029ECEC 7D 89 03 A6 */ mtctr r12 -/* 8029ECF0 4E 80 04 21 */ bctrl -lbl_8029ECF4: -/* 8029ECF4 3C 60 CD D1 */ lis r3, 0xCDD1 /* 0xCDD10001@ha */ -/* 8029ECF8 38 63 00 01 */ addi r3, r3, 0x0001 /* 0xCDD10001@l */ -/* 8029ECFC 48 0B 37 6D */ bl DSPSendMailToDSP -lbl_8029ED00: -/* 8029ED00 48 0B 37 31 */ bl DSPCheckMailToDSP -/* 8029ED04 28 03 00 00 */ cmplwi r3, 0 -/* 8029ED08 40 82 FF F8 */ bne lbl_8029ED00 -/* 8029ED0C 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029ED10 38 00 00 03 */ li r0, 3 -/* 8029ED14 90 03 00 00 */ stw r0, 0(r3) -/* 8029ED18 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029ED1C 80 83 00 38 */ lwz r4, 0x38(r3) -/* 8029ED20 28 04 00 00 */ cmplwi r4, 0 -/* 8029ED24 40 82 00 24 */ bne lbl_8029ED48 -/* 8029ED28 80 8D 8D 8C */ lwz r4, DSP_prior_task(r13) -/* 8029ED2C 38 60 00 00 */ li r3, 0 -/* 8029ED30 48 0B 38 A1 */ bl __DSP_exec_task -/* 8029ED34 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029ED38 48 0B 3C 65 */ bl __DSP_remove_task -/* 8029ED3C 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029ED40 90 0D 93 94 */ stw r0, __DSP_curr_task(r13) -/* 8029ED44 48 00 00 BC */ b lbl_8029EE00 -lbl_8029ED48: -/* 8029ED48 38 60 00 00 */ li r3, 0 -/* 8029ED4C 48 0B 38 85 */ bl __DSP_exec_task -/* 8029ED50 80 6D 93 94 */ lwz r3, __DSP_curr_task(r13) -/* 8029ED54 80 63 00 38 */ lwz r3, 0x38(r3) -/* 8029ED58 90 6D 93 94 */ stw r3, __DSP_curr_task(r13) -/* 8029ED5C 80 63 00 3C */ lwz r3, 0x3c(r3) -/* 8029ED60 48 0B 3C 3D */ bl __DSP_remove_task -/* 8029ED64 48 00 00 9C */ b lbl_8029EE00 -lbl_8029ED68: -/* 8029ED68 81 85 00 34 */ lwz r12, 0x34(r5) -/* 8029ED6C 28 0C 00 00 */ cmplwi r12, 0 -/* 8029ED70 41 82 00 90 */ beq lbl_8029EE00 -/* 8029ED74 7C A3 2B 78 */ mr r3, r5 -/* 8029ED78 7D 89 03 A6 */ mtctr r12 -/* 8029ED7C 4E 80 04 21 */ bctrl -/* 8029ED80 48 00 00 80 */ b lbl_8029EE00 -lbl_8029ED84: -/* 8029ED84 80 0D 93 90 */ lwz r0, __DSP_first_task(r13) -/* 8029ED88 28 00 00 00 */ cmplwi r0, 0 -/* 8029ED8C 41 82 00 10 */ beq lbl_8029ED9C -/* 8029ED90 88 0D 8D 89 */ lbz r0, struct_80451308+0x1(r13) -/* 8029ED94 28 00 00 00 */ cmplwi r0, 0 -/* 8029ED98 41 82 00 34 */ beq lbl_8029EDCC -lbl_8029ED9C: -/* 8029ED9C 3C 60 CD D1 */ lis r3, 0xCDD1 /* 0xCDD10003@ha */ -/* 8029EDA0 38 63 00 03 */ addi r3, r3, 0x0003 /* 0xCDD10003@l */ -/* 8029EDA4 48 0B 36 C5 */ bl DSPSendMailToDSP -lbl_8029EDA8: -/* 8029EDA8 48 0B 36 89 */ bl DSPCheckMailToDSP -/* 8029EDAC 28 03 00 00 */ cmplwi r3, 0 -/* 8029EDB0 40 82 FF F8 */ bne lbl_8029EDA8 -/* 8029EDB4 80 0D 8D 8C */ lwz r0, DSP_prior_task(r13) -/* 8029EDB8 38 60 00 00 */ li r3, 0 -/* 8029EDBC 98 6D 8D 89 */ stb r3, struct_80451308+0x1(r13) -/* 8029EDC0 90 0D 93 94 */ stw r0, __DSP_curr_task(r13) -/* 8029EDC4 48 00 01 3D */ bl Dsp_Update_Request__Fv -/* 8029EDC8 48 00 00 38 */ b lbl_8029EE00 -lbl_8029EDCC: -/* 8029EDCC 38 00 00 03 */ li r0, 3 -/* 8029EDD0 3C 60 CD D1 */ lis r3, 0xCDD1 /* 0xCDD10001@ha */ -/* 8029EDD4 98 0D 8D 88 */ stb r0, struct_80451308+0x0(r13) -/* 8029EDD8 38 63 00 01 */ addi r3, r3, 0x0001 /* 0xCDD10001@l */ -/* 8029EDDC 48 0B 36 8D */ bl DSPSendMailToDSP -lbl_8029EDE0: -/* 8029EDE0 48 0B 36 51 */ bl DSPCheckMailToDSP -/* 8029EDE4 28 03 00 00 */ cmplwi r3, 0 -/* 8029EDE8 40 82 FF F8 */ bne lbl_8029EDE0 -/* 8029EDEC 80 6D 8D 8C */ lwz r3, DSP_prior_task(r13) -/* 8029EDF0 80 8D 93 90 */ lwz r4, __DSP_first_task(r13) -/* 8029EDF4 48 0B 37 DD */ bl __DSP_exec_task -/* 8029EDF8 80 0D 93 90 */ lwz r0, __DSP_first_task(r13) -/* 8029EDFC 90 0D 93 94 */ stw r0, __DSP_curr_task(r13) -lbl_8029EE00: -/* 8029EE00 38 61 00 08 */ addi r3, r1, 8 -/* 8029EE04 48 09 D1 FD */ bl OSClearContext -/* 8029EE08 7F E3 FB 78 */ mr r3, r31 -/* 8029EE0C 48 09 D0 2D */ bl OSSetCurrentContext -/* 8029EE10 80 01 02 E4 */ lwz r0, 0x2e4(r1) -/* 8029EE14 83 E1 02 DC */ lwz r31, 0x2dc(r1) -/* 8029EE18 7C 08 03 A6 */ mtlr r0 -/* 8029EE1C 38 21 02 E0 */ addi r1, r1, 0x2e0 -/* 8029EE20 4E 80 00 20 */ blr diff --git a/include/JSystem/J2DGraph/J2DMatBlock.h b/include/JSystem/J2DGraph/J2DMatBlock.h index 5473a3a0c12..b495a447924 100644 --- a/include/JSystem/J2DGraph/J2DMatBlock.h +++ b/include/JSystem/J2DGraph/J2DMatBlock.h @@ -15,17 +15,27 @@ struct ResTIMG; struct ResTLUT; struct J2DGXColorS10 : public GXColorS10 { - /* 802F1B90 */ J2DGXColorS10(); - - /* - J2DGXColorS10& operator=(const GXColorS10& other) { + /* 802F1B90 */ J2DGXColorS10() {} + J2DGXColorS10(const J2DGXColorS10& other) { r = other.r; g = other.g; b = other.b; a = other.a; - return *this; } - */ + J2DGXColorS10(const GXColorS10& other) { + r = other.r; + g = other.g; + b = other.b; + a = other.a; + } + + // J2DGXColorS10& operator=(const GXColorS10& other) { + // r = other.r; + // g = other.g; + // b = other.b; + // a = other.a; + // return *this; + // } }; struct J2DTevSwapModeInfo; @@ -36,11 +46,11 @@ public: /* 802EB1D0 */ virtual void setGX(); /* 802F2A44 */ virtual void loadTexture(_GXTexMapID, u32); virtual u32 getType() = 0; - virtual s32 getMaxStage() = 0; + virtual u8 getMaxStage() = 0; /* 802EB1DC */ virtual void setTexNo(u32, u16); /* 802EA170 */ virtual u32 getTexNo(u32) const; /* 802F2A48 */ virtual void setFontNo(u16); - /* 802EA164 */ virtual u32 getFontNo() const; + /* 802EA164 */ virtual u16 getFontNo() const; /* 802F2A4C */ virtual void setTevOrder(u32, J2DTevOrder); /* 802EA144 */ virtual J2DTevOrder* getTevOrder(u32); /* 802EB1D8 */ virtual void setTevColor(u32, J2DGXColorS10); @@ -87,11 +97,11 @@ public: /* 802EC328 */ virtual void setGX(); /* 802EC570 */ virtual void loadTexture(_GXTexMapID, u32); /* 802F27A0 */ virtual u32 getType(); - /* 802F27AC */ virtual s32 getMaxStage(); + /* 802F27AC */ virtual u8 getMaxStage(); /* 802F27B4 */ virtual void setTexNo(u32, u16); /* 802F27C4 */ virtual u32 getTexNo(u32) const; /* 802F27D4 */ virtual void setFontNo(u16); - /* 802F27DC */ virtual u32 getFontNo() const; + /* 802F27DC */ virtual u16 getFontNo() const; /* 802F27E4 */ virtual void setTevOrder(u32, J2DTevOrder); /* 802F2808 */ virtual J2DTevOrder* getTevOrder(u32); /* 802F281C */ virtual void setTevColor(u32, J2DGXColorS10); @@ -154,11 +164,11 @@ public: /* 802ED584 */ virtual void setGX(); /* 802ED874 */ virtual void loadTexture(_GXTexMapID, u32); /* 802F24FC */ virtual u32 getType(); - /* 802F2508 */ virtual s32 getMaxStage(); + /* 802F2508 */ virtual u8 getMaxStage(); /* 802F2510 */ virtual void setTexNo(u32, u16); /* 802F2520 */ virtual u32 getTexNo(u32) const; /* 802F2530 */ virtual void setFontNo(u16); - /* 802F2538 */ virtual u32 getFontNo() const; + /* 802F2538 */ virtual u16 getFontNo() const; /* 802F2540 */ virtual void setTevOrder(u32, J2DTevOrder); /* 802F2564 */ virtual J2DTevOrder* getTevOrder(u32); /* 802F2578 */ virtual void setTevColor(u32, J2DGXColorS10); @@ -223,11 +233,11 @@ public: /* 802EEA2C */ virtual void setGX(); /* 802EED1C */ virtual void loadTexture(_GXTexMapID, u32); /* 802F2258 */ virtual u32 getType(); - /* 802F2264 */ virtual s32 getMaxStage(); + /* 802F2264 */ virtual u8 getMaxStage(); /* 802F226C */ virtual void setTexNo(u32, u16); /* 802F227C */ virtual u32 getTexNo(u32) const; /* 802F228C */ virtual void setFontNo(u16); - /* 802F2294 */ virtual u32 getFontNo() const; + /* 802F2294 */ virtual u16 getFontNo() const; /* 802F229C */ virtual void setTevOrder(u32, J2DTevOrder); /* 802F22C0 */ virtual J2DTevOrder* getTevOrder(u32); /* 802F22D4 */ virtual void setTevColor(u32, J2DGXColorS10); @@ -292,11 +302,11 @@ public: /* 802EFEAC */ virtual void setGX(); /* 802F019C */ virtual void loadTexture(_GXTexMapID, u32); /* 802F1FB8 */ virtual u32 getType(); - /* 802F1FC4 */ virtual s32 getMaxStage(); + /* 802F1FC4 */ virtual u8 getMaxStage(); /* 802F1FCC */ virtual void setTexNo(u32, u16); /* 802F1FDC */ virtual u32 getTexNo(u32) const; /* 802F1FEC */ virtual void setFontNo(u16); - /* 802F1FF4 */ virtual u32 getFontNo() const; + /* 802F1FF4 */ virtual u16 getFontNo() const; /* 802F1FFC */ virtual void setTevOrder(u32, J2DTevOrder); /* 802F2020 */ virtual J2DTevOrder* getTevOrder(u32); /* 802F2034 */ virtual void setTevColor(u32, J2DGXColorS10); @@ -362,11 +372,11 @@ public: /* 802F132C */ virtual void setGX(); /* 802F161C */ virtual void loadTexture(_GXTexMapID, u32); /* 802F1D18 */ virtual u32 getType(); - /* 802F1D24 */ virtual s32 getMaxStage(); + /* 802F1D24 */ virtual u8 getMaxStage(); /* 802F1D2C */ virtual void setTexNo(u32, u16); /* 802F1D3C */ virtual u32 getTexNo(u32) const; /* 802F1D4C */ virtual void setFontNo(u16); - /* 802F1D54 */ virtual u32 getFontNo() const; + /* 802F1D54 */ virtual u16 getFontNo() const; /* 802F1D5C */ virtual void setTevOrder(u32, J2DTevOrder); /* 802F1D80 */ virtual J2DTevOrder* getTevOrder(u32); /* 802F1D94 */ virtual void setTevColor(u32, J2DGXColorS10); @@ -424,14 +434,34 @@ public: /* 0x1B1 */ bool mFontUndeleteFlag; }; // Size: 0x1B4 +struct J2DAlphaCompInfo { + /* 0x0 */ u8 field_0x0; + /* 0x1 */ u8 field_0x1; + /* 0x2 */ u8 mRef0; + /* 0x3 */ u8 mRef1; + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 field_0x5; + /* 0x6 */ u8 field_0x6; + /* 0x7 */ u8 field_0x7; +}; + extern u16 j2dDefaultAlphaCmp; +inline u16 J2DCalcAlphaCmp(s32 param_1, u32 param_2, u32 param_3) { + return ((param_1) << 5) | ((param_2 & 0xff) << 3) | (param_3 & 0xff); +} + struct J2DAlphaComp { J2DAlphaComp() { mAlphaCmp = j2dDefaultAlphaCmp; mRef0 = 0; mRef1 = 0; } + J2DAlphaComp(const J2DAlphaCompInfo& info) { + mAlphaCmp = J2DCalcAlphaCmp(info.field_0x0, info.mRef0, info.mRef1); + mRef0 = info.field_0x1; + mRef1 = info.field_0x4; + } u8 getComp0() { return mAlphaCmp >> 5 & 7; } u8 getRef0() { return mRef0; } u8 getOp() { return mAlphaCmp >> 3 & 3; } @@ -461,6 +491,7 @@ extern J2DBlendInfo j2dDefaultBlendInfo; struct J2DBlend { J2DBlend() { mBlendInfo = j2dDefaultBlendInfo; } + J2DBlend(const J2DBlendInfo& info) { mBlendInfo = info; } void setBlendInfo(const J2DBlendInfo& info) { mBlendInfo = info; } u8 getType() { return mBlendInfo.mType; } u8 getSrcFactor() { return mBlendInfo.mSrcFactor; } @@ -476,6 +507,9 @@ public: /* 802F17FC */ void initialize(); /* 802F1840 */ void setGX(); + void setAlphaComp(J2DAlphaComp comp) { mAlphaComp = comp; } + void setBlend(J2DBlend blend) { mBlend = blend; } + void setDither(u8 dither) { mDither = dither; } private: /* 0x0 */ J2DAlphaComp mAlphaComp; @@ -547,6 +581,9 @@ public: /* 802EB7E0 */ void getTexMtx(u32, J2DTexMtx&); u32 getTexGenNum() const { return mTexGenNum; } + void setTexGenNum(u32 num) { mTexGenNum = num; } + void setTexCoord(u32 i, J2DTexCoord coord) { mTexGenCoord[i] = coord; } + void setTexMtx(u32 i, J2DTexMtx* mtx) { mTexMtx[i] = mtx; } /* 802EB620 */ virtual ~J2DTexGenBlock(); }; // Size: 0x48 @@ -554,13 +591,21 @@ public: struct J2DColorChanInfo { /* 0x0 */ u8 field_0x0; /* 0x0 */ u8 field_0x1; + /* 0x0 */ u8 field_0x2; + /* 0x0 */ u8 field_0x3; }; inline u8 J2DCalcColorChanID(u8 param_1) { return param_1; } +extern J2DColorChanInfo j2dDefaultColorChanInfo; class J2DColorChan { public: - /* 802EB280 */ J2DColorChan(); + /* 802EB280 */ J2DColorChan() { + setColorChanInfo(j2dDefaultColorChanInfo); + } + J2DColorChan(const J2DColorChanInfo& info) { + mColorChan = J2DCalcColorChanID(info.field_0x1); + } void setColorChanInfo(const J2DColorChanInfo& info) { mColorChan = J2DCalcColorChanID(info.field_0x1); @@ -589,6 +634,9 @@ public: JUtility::TColor* getMatColor(u32 i) { return &mMatColor[i]; } J2DColorChan* getColorChan(u32 i) { return &mColorChan[i]; } void setCullMode(u8 mode) { mCullMode = mode; } + void setColorChanNum(u8 num) { mColorChanNum = num; } + void setMatColor(u32 i, JUtility::TColor color) { mMatColor[i] = color; } + void setColorChan(u32 i, const J2DColorChan& color) { mColorChan[i] = color; } }; #endif /* J2DMATBLOCK_H */ diff --git a/include/JSystem/J2DGraph/J2DMaterialFactory.h b/include/JSystem/J2DGraph/J2DMaterialFactory.h index 719333b51c7..48b68363f89 100644 --- a/include/JSystem/J2DGraph/J2DMaterialFactory.h +++ b/include/JSystem/J2DGraph/J2DMaterialFactory.h @@ -2,19 +2,85 @@ #define J2DMATERIALFACTORY_H #include "JSystem/J2DGraph/J2DManage.h" +#include "JSystem/J2DGraph/J2DMatBlock.h" #include "dolphin/gx/GXEnum.h" #include "dolphin/types.h" -struct J2DMaterialBlock {}; +struct J2DMaterialBlock { + u32 field_0x0; + u32 field_0x4; + u16 field_0x8; + u16 field_0xa; + u32 field_0xc; + u32 field_0x10; + u32 field_0x14; + u32 field_0x18; + u32 field_0x1c; + u32 field_0x20; + u32 field_0x24; + u32 field_0x28; + u32 field_0x2c; + u32 field_0x30; + u32 field_0x34; + u32 field_0x38; + u32 field_0x3c; + u32 field_0x40; + u32 field_0x44; + u32 field_0x48; + u32 field_0x4c; + u32 field_0x50; + u32 field_0x54; + u32 field_0x58; + u32 field_0x5c; + u32 field_0x60; + u32 field_0x64; +}; typedef struct _GXColor GXColor; typedef struct _GXColorS10 GXColorS10; struct J2DAlphaCompInfo; struct J2DBlendInfo; struct J2DColorChanInfo; -struct J2DIndInitData; class J2DMaterial; -struct J2DMaterialInitData; + +struct J2DIndInitData { + u8 field_0x0; + u8 field_0x1; + u8 field_0x2[2]; + J2DIndTexOrderInfo field_0x4[4]; + J2DIndTexMtxInfo field_0xc[3]; + J2DIndTexCoordScaleInfo field_0x60[4]; + J2DIndTevStageInfo field_0x68[4]; + u8 field_0xac[0x90]; +}; + +struct J2DMaterialInitData { + u8 field_0x0; + u8 field_0x1; + u8 field_0x2; + u8 field_0x3; + u8 field_0x4; + u8 field_0x5; + u8 field_0x6; + u8 field_0x7; + u16 field_0x8[2]; + u16 field_0xc[4]; + u16 field_0x14[8]; + u16 field_0x24[0xa]; + u16 field_0x38[8]; + u16 field_0x48; + u16 field_0x4a[4]; + u8 field_0x52[0x10]; + u8 field_0x62[0x10]; + u16 field_0x72[0x10]; + u16 field_0x92[0x4]; + u16 field_0x9a[0x10]; + u16 field_0xba[0x10]; + u16 field_0xda[0x4]; + u16 field_0xe2; + u16 field_0xe4; + u16 field_0xe6; +}; struct J2DTevStageInfo; struct J2DTevSwapModeTableInfo; struct J2DTevSwapModeInfo; @@ -26,35 +92,44 @@ class JKRArchive; class J2DMaterialFactory { public: /* 802F2AD0 */ J2DMaterialFactory(J2DMaterialBlock const&); - /* 802F2C94 */ void countStages(int) const; - /* 802F2D1C */ void create(J2DMaterial*, int, u32, J2DResReference*, J2DResReference*, + /* 802F2C94 */ u32 countStages(int) const; + /* 802F2D1C */ J2DMaterial* create(J2DMaterial*, int, u32, J2DResReference*, J2DResReference*, JKRArchive*) const; - /* 802F362C */ void newMatColor(int, int) const; - /* 802F36CC */ void newColorChanNum(int) const; - /* 802F3704 */ void newColorChan(int, int) const; - /* 802F3758 */ void newTexGenNum(int) const; - /* 802F3790 */ void newTexCoord(int, int) const; - /* 802F3804 */ void newTexMtx(int, int) const; - /* 802F38E0 */ void newCullMode(int) const; - /* 802F3920 */ void newTexNo(int, int) const; - /* 802F3968 */ void newFontNo(int) const; - /* 802F39A8 */ void newTevOrder(int, int) const; - /* 802F3A1C */ void newTevColor(int, int) const; - /* 802F3AB4 */ void newTevKColor(int, int) const; - /* 802F3B54 */ void newTevStageNum(int) const; - /* 802F3B8C */ void newTevStage(int, int) const; - /* 802F3BEC */ void newTevSwapModeTable(int, int) const; - /* 802F3C88 */ void newIndTexStageNum(int) const; - /* 802F3CB8 */ void newIndTexOrder(int, int) const; - /* 802F3D20 */ void newIndTexMtx(int, int) const; - /* 802F3E24 */ void newIndTevStage(int, int) const; - /* 802F3F78 */ void newIndTexCoordScale(int, int) const; - /* 802F3FE0 */ void newAlphaComp(int) const; - /* 802F405C */ void newBlend(int) const; - /* 802F40D8 */ void newDither(int) const; + /* 802F362C */ JUtility::TColor newMatColor(int, int) const; + /* 802F36CC */ u8 newColorChanNum(int) const; + /* 802F3704 */ J2DColorChan newColorChan(int, int) const; + /* 802F3758 */ u32 newTexGenNum(int) const; + /* 802F3790 */ J2DTexCoord newTexCoord(int, int) const; + /* 802F3804 */ J2DTexMtx* newTexMtx(int, int) const; + /* 802F38E0 */ u8 newCullMode(int) const; + /* 802F3920 */ u16 newTexNo(int, int) const; + /* 802F3968 */ u16 newFontNo(int) const; + /* 802F39A8 */ J2DTevOrder newTevOrder(int, int) const; + /* 802F3A1C */ J2DGXColorS10 newTevColor(int, int) const; + /* 802F3AB4 */ JUtility::TColor newTevKColor(int, int) const; + /* 802F3B54 */ u8 newTevStageNum(int) const; + /* 802F3B8C */ J2DTevStage newTevStage(int, int) const; + /* 802F3BEC */ J2DTevSwapModeTable newTevSwapModeTable(int, int) const; + /* 802F3C88 */ u8 newIndTexStageNum(int) const; + /* 802F3CB8 */ J2DIndTexOrder newIndTexOrder(int, int) const; + /* 802F3D20 */ J2DIndTexMtx newIndTexMtx(int, int) const; + /* 802F3E24 */ J2DIndTevStage newIndTevStage(int, int) const; + /* 802F3F78 */ J2DIndTexCoordScale newIndTexCoordScale(int, int) const; + /* 802F3FE0 */ J2DAlphaComp newAlphaComp(int) const; + /* 802F405C */ J2DBlend newBlend(int) const; + /* 802F40D8 */ u8 newDither(int) const; + + u32 getMaterialMode(int idx) const { + return field_0x4[field_0x8[idx]].field_0x0; + } + + u8 getMaterialAlphaCalc(int idx) const { + return field_0x4[field_0x8[idx]].field_0x6; + } private: - /* 0x00 */ int field_0x0; + /* 0x00 */ u16 field_0x0; + /* 0x02 */ u16 field_0x2; /* 0x04 */ J2DMaterialInitData* field_0x4; /* 0x08 */ u16* field_0x8; /* 0x0C */ J2DIndInitData* field_0xc; @@ -68,7 +143,7 @@ private: /* 0x2C */ u16* field_0x2c; /* 0x30 */ _GXCullMode* field_0x30; /* 0x34 */ J2DTevOrderInfo* field_0x34; - /* 0x38 */ GXColorS10* field_0x38; + /* 0x38 */ J2DGXColorS10* field_0x38; /* 0x3C */ GXColor* field_0x3c; /* 0x40 */ u8* field_0x40; /* 0x44 */ J2DTevStageInfo* field_0x44; diff --git a/include/JSystem/J2DGraph/J2DTevs.h b/include/JSystem/J2DGraph/J2DTevs.h index 1fdcc0c0f9f..9bf56f924e6 100644 --- a/include/JSystem/J2DGraph/J2DTevs.h +++ b/include/JSystem/J2DGraph/J2DTevs.h @@ -65,9 +65,16 @@ struct J2DIndTexOrderInfo { GXTexMapID getTexMapID() const { return (GXTexMapID)mTexMapID; } }; +extern const J2DIndTexOrderInfo j2dDefaultIndTexOrderNull; + class J2DIndTexOrder { public: - /* 802EB378 */ J2DIndTexOrder(); + /* 802EB378 */ J2DIndTexOrder() { + mInfo = j2dDefaultIndTexOrderNull; + } + J2DIndTexOrder(const J2DIndTexOrderInfo& info) { + mInfo = info; + } /* 802EA0FC */ void load(u8); private: @@ -89,10 +96,17 @@ struct J2DIndTexMtxInfo { } }; +extern J2DIndTexMtxInfo const j2dDefaultIndTexMtxInfo; + class J2DIndTexMtx { public: - /* 802EB2E4 */ ~J2DIndTexMtx(); - /* 802EB320 */ J2DIndTexMtx(); + /* 802EB2E4 */ ~J2DIndTexMtx() {} + /* 802EB320 */ J2DIndTexMtx() { + mIndTexMtxInfo = j2dDefaultIndTexMtxInfo; + } + J2DIndTexMtx(const J2DIndTexMtxInfo& info) { + mIndTexMtxInfo = info; + } /* 802EA098 */ void load(u8); /* 802E9C90 */ void load(u32); /* 802E9CC4 */ void calc(); @@ -114,10 +128,17 @@ struct J2DIndTexCoordScaleInfo { GXIndTexScale getScaleT() const { return (GXIndTexScale)mScaleT; } }; +extern const J2DIndTexCoordScaleInfo j2dDefaultIndTexCoordScaleInfo; + class J2DIndTexCoordScale { public: - /* 802EB290 */ ~J2DIndTexCoordScale(); - /* 802EB2CC */ J2DIndTexCoordScale(); + /* 802EB290 */ ~J2DIndTexCoordScale() {} + /* 802EB2CC */ J2DIndTexCoordScale() { + mInfo = j2dDefaultIndTexCoordScaleInfo; + } + J2DIndTexCoordScale(const J2DIndTexCoordScaleInfo& info) { + mInfo = info; + } /* 802EA0CC */ void load(u8); private: @@ -133,19 +154,29 @@ struct J2DIndTevStageInfo { /* 0x5 */ u8 field_0x5; /* 0x6 */ u8 field_0x6; /* 0x7 */ u8 field_0x7; - /* 0x8 */ int field_0x8; + /* 0x8 */ u8 field_0x8; + /* 0x9 */ u8 field_0x9; + /* 0xa */ u8 field_0xa; + /* 0xb */ u8 field_0xb; }; inline u32 J2DCalcIndTevStage(J2DIndTevStageInfo info) { return (info.field_0x8 << 22) | (info.field_0x7 << 21) | (info.field_0x6 << 20) | (info.field_0x3 << 16) | (info.field_0x5 << 11) | (info.field_0x4 << 8) | - (info.field_0x2 << 4) | (info.field_0x1 << 2) | info.field_0x0; + (info.field_0x2 << 4) | (info.field_0x1 << 2) | (info.field_0x0); } +extern const J2DIndTevStageInfo j2dDefaultIndTevStageInfo; + class J2DIndTevStage { public: /* 802EA044 */ void load(u8); - /* 802F18A0 */ J2DIndTevStage(); + /* 802F18A0 */ J2DIndTevStage() { + mFlags = J2DCalcIndTevStage(j2dDefaultIndTevStageInfo); + } + J2DIndTevStage(const J2DIndTevStageInfo& info) { + mFlags = J2DCalcIndTevStage(info); + } void setIndTevStageInfo(const J2DIndTevStageInfo& info) { mFlags = J2DCalcIndTevStage(info); } @@ -177,9 +208,17 @@ struct J2DTexCoordInfo { } }; +extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8]; + class J2DTexCoord { public: - /* 802EB260 */ J2DTexCoord(); + /* 802EB260 */ inline J2DTexCoord() { + *(J2DTexCoordInfo*)this = j2dDefaultTexCoordInfo[0]; + } + + J2DTexCoord(const J2DTexCoordInfo& info) { + *(J2DTexCoordInfo*)this = info; + } void setTexCoordInfo(const J2DTexCoordInfo& info) { mTexCoordInfo = info; } s32 getTexGenType() { return mTexCoordInfo.mTexGenType; } s32 getTexGenSrc() { return mTexCoordInfo.mTexGenSrc; } @@ -203,9 +242,17 @@ struct J2DTevOrderInfo { } }; +extern J2DTevOrderInfo j2dDefaultTevOrderInfoNull; + class J2DTevOrder { public: - /* 802F1B70 */ J2DTevOrder(); + /* 802F1B70 */ J2DTevOrder() { + mTevOrderInfo = j2dDefaultTevOrderInfoNull; + } + + J2DTevOrder(const J2DTevOrderInfo& info) { + *(J2DTevOrderInfo*)this = info; + } void setTevOrderInfo(const J2DTevOrderInfo& info) {mTevOrderInfo = info; } GXChannelID getColor() const { return (GXChannelID)mTevOrderInfo.mColor; } @@ -235,6 +282,7 @@ struct J2DTevStageInfo { /* 0x10 */ u8 field_0x10; /* 0x11 */ u8 field_0x11; /* 0x12 */ u8 field_0x12; + /* 0x13 */ u8 field_0x13; }; struct J2DTevSwapModeInfo { @@ -384,9 +432,14 @@ inline u8 J2DCalcTevSwapTable(u8 param_0, u8 param_1, u8 param_2, u8 param_3) { return (param_0 << 6) + (param_1 << 4) + (param_2 << 2) + param_3; } +extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable; + class J2DTevSwapModeTable { public: /* 802F1934 */ J2DTevSwapModeTable(); + J2DTevSwapModeTable(const J2DTevSwapModeTableInfo& info) { + field_0x0 = J2DCalcTevSwapTable(info.field_0x0, info.field_0x1, info.field_0x2, info.field_0x3); + } void setTevSwapModeTableInfo(const J2DTevSwapModeTableInfo& info) { field_0x0 = J2DCalcTevSwapTable(info.field_0x0, info.field_0x1, info.field_0x2, info.field_0x3); diff --git a/include/JSystem/J3DGraphBase/J3DMatBlock.h b/include/JSystem/J3DGraphBase/J3DMatBlock.h index ed9ffd645c5..377746bb9d5 100644 --- a/include/JSystem/J3DGraphBase/J3DMatBlock.h +++ b/include/JSystem/J3DGraphBase/J3DMatBlock.h @@ -598,23 +598,31 @@ struct J3DAlphaCompInfo { /* 0x1 */ u8 field_0x1; /* 0x2 */ u8 mRef0; /* 0x3 */ u8 mRef1; + /* 0x4 */ u8 field_0x4; + /* 0x5 */ u8 field_0x5; + /* 0x6 */ u8 field_0x6; + /* 0x7 */ u8 field_0x7; }; -extern const J3DAlphaCompInfo j3dDefaultAlphaCmpID; +extern const u16 j3dDefaultAlphaCmpID; -struct J3DAlphaComp: public J3DAlphaCompInfo { +struct J3DAlphaComp { J3DAlphaComp() { - *(u16*)&field_0x0 = *(u16*)&j3dDefaultAlphaCmpID.field_0x0; + field_0x0 = j3dDefaultAlphaCmpID; mRef0 = 0; mRef1 = 0; } - void setAlphaCompInfo(J3DAlphaCompInfo *param_1) { - mRef0 = param_1[0].field_0x1; - mRef1 = param_1[1].field_0x0; - u32 p1_mref1 = param_1[0].mRef1; - *(u16*)&field_0x0 = calcAlphaCmpID(param_1[0].field_0x0, param_1[0].mRef0, p1_mref1); + void setAlphaCompInfo(const J3DAlphaCompInfo& param_1) { + mRef0 = param_1.field_0x1; + mRef1 = param_1.field_0x4; + u32 p1_mref1 = param_1.mRef1; + field_0x0 = calcAlphaCmpID(param_1.field_0x0, param_1.mRef0, p1_mref1); } + + /* 0x00 */ u16 field_0x0; + /* 0x02 */ u8 mRef0; + /* 0x03 */ u8 mRef1; }; // Size: 0x4 class J3DPEBlock { diff --git a/include/JSystem/J3DU/J3DUClipper.h b/include/JSystem/J3DU/J3DUClipper.h index 3f8645a23b2..6d3a5113efc 100644 --- a/include/JSystem/J3DU/J3DUClipper.h +++ b/include/JSystem/J3DU/J3DUClipper.h @@ -22,15 +22,15 @@ public: f32 getFar() { return mFar; } private: - Vec _04; - Vec _10; - Vec _1C; - Vec _28; - u8 _34[0x4C - 0x34]; - f32 mFovY; - f32 mAspect; - f32 mNear; - f32 mFar; + /* 0x04 */ Vec _04; + /* 0x10 */ Vec _10; + /* 0x1C */ Vec _1C; + /* 0x28 */ Vec _28; + /* 0x34 */ u8 _34[0x4C - 0x34]; + /* 0x4C */ f32 mFovY; + /* 0x50 */ f32 mAspect; + /* 0x54 */ f32 mNear; + /* 0x58 */ f32 mFar; }; #endif /* J3DUCLIPPER_H */ diff --git a/include/JSystem/JAudio2/JAISeMgr.h b/include/JSystem/JAudio2/JAISeMgr.h index c34adf04b52..87b31b05295 100644 --- a/include/JSystem/JAudio2/JAISeMgr.h +++ b/include/JSystem/JAudio2/JAISeMgr.h @@ -47,11 +47,7 @@ public: JAISoundParamsMove* getParams() { return &mParams; } int getMaxSe() const { - if (mMaxActiveSe == 0) { - return 0; - } - - return mMaxActiveSe + mMaxInactiveSe; + return (mMaxActiveSe == 0) ? 0 : mMaxActiveSe + mMaxInactiveSe; } int getMaxActiveSe() const { return mMaxActiveSe; } void setMaxActiveSe(int se) { mMaxActiveSe = se; } diff --git a/include/JSystem/JAudio2/JAISound.h b/include/JSystem/JAudio2/JAISound.h index 8752faca66a..2ed7f204715 100644 --- a/include/JSystem/JAudio2/JAISound.h +++ b/include/JSystem/JAudio2/JAISound.h @@ -2,6 +2,7 @@ #define JAISOUND_H #include "JSystem/JAudio2/JAISoundParams.h" +#include "JSystem/JAudio2/JAIAudible.h" #include "JSystem/JGeometry.h" #include "dolphin/types.h" #include "global.h" @@ -55,6 +56,9 @@ struct JAISoundStatus_ { inline bool isMute() { return field_0x0.flags.mute; } inline bool isPaused() { return field_0x0.flags.paused; } + void pauseWhenOut() { + field_0x1.flags.flag6 = 1; + } /* 0x0 */ union { u8 value; @@ -115,10 +119,7 @@ struct JAISoundFader { } } bool isOut() { - if (mTransition.mCount != 0 || mIntensity < 0.01f) { - return true; - } - return false; + return (mTransition.mCount == 0 && mIntensity < 0.01f); } inline void calc() { mIntensity = mTransition.apply(mIntensity); } f32 getIntensity() { return mIntensity; } @@ -227,7 +228,7 @@ public: bool isStopping() { bool isStopping = false; if (status_.state.flags.flag1) { - isStopping = status_.state.flags.flag5 ? fader.isOut() : true; + isStopping = !status_.state.flags.flag5 || fader.isOut(); } return isStopping; } @@ -236,6 +237,32 @@ public: status_.field_0x0.flags.paused = param_0; } + void updateLifeTime(u32 param_0) { + if (lifeTime < param_0) { + lifeTime = param_0; + } + } + + void setLifeTime(u32 param_0, bool param_1) { + lifeTime = param_0; + setComesBack(param_1); + status_.field_0x1.flags.flag2 = 1; + } + + void setComesBack(bool param_0) { + status_.field_0x1.flags.flag1 = 1; + if (param_0) { + status_.pauseWhenOut(); + } + } + + bool setPos(const JGeometry::TVec3& param_1) { + if (audible_ != NULL) { + audible_->setPos(param_1); + } + return audible_ != NULL; + } + /* 0x04 */ JAISoundHandle* handle_; /* 0x08 */ JAIAudible* audible_; /* 0x0C */ JAIAudience* audience_; diff --git a/include/JSystem/JAudio2/JAISoundHandles.h b/include/JSystem/JAudio2/JAISoundHandles.h index 4800a94ee9f..02924957428 100644 --- a/include/JSystem/JAudio2/JAISoundHandles.h +++ b/include/JSystem/JAudio2/JAISoundHandles.h @@ -36,7 +36,7 @@ public: numHandles_ = param_1; }; - void getHandleSoundID(JAISoundID); + JAISoundHandle* getHandleSoundID(JAISoundID); JAISoundHandle* getFreeHandle(); private: diff --git a/include/JSystem/JAudio2/JAISoundStarter.h b/include/JSystem/JAudio2/JAISoundStarter.h index 180efd23071..beb8e92b7fc 100644 --- a/include/JSystem/JAudio2/JAISoundStarter.h +++ b/include/JSystem/JAudio2/JAISoundStarter.h @@ -6,9 +6,9 @@ struct JAISoundStarter : public JASGlobalInstance { /* 802A2F6C */ JAISoundStarter(bool); - /* 802A2FEC */ void startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); virtual ~JAISoundStarter(); + /* 802A2FEC */ bool startLevelSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); }; #endif /* JAISOUNDSTARTER_H */ diff --git a/include/JSystem/JAudio2/JASCalc.h b/include/JSystem/JAudio2/JASCalc.h index c9fc87dceb4..5e554173508 100644 --- a/include/JSystem/JAudio2/JASCalc.h +++ b/include/JSystem/JAudio2/JASCalc.h @@ -2,5 +2,29 @@ #define JASCALC_H #include "dolphin/types.h" +#include "MSL_C/MSL_Common/Src/limits" + +struct JASCalc { + /* 8028F2E8 */ static void imixcopy(s16 const*, s16 const*, s16*, u32); + /* 8028F318 */ static void bcopyfast(void const*, void*, u32); + /* 8028F354 */ static void bcopy(void const*, void*, u32); + /* 8028F454 */ static void bzerofast(void*, u32); + /* 8028F480 */ static void bzero(void*, u32); + /* 8028F578 */ static f32 pow2(f32); + template + static A clamp(B x); /* { + if (std::numeric_limits::min() >= x) + return std::numeric_limits::min(); + if (x >= std::numeric_limits::max()) + return std::numeric_limits::max(); + return x; + } */ + + f32 fake1(); + f32 fake2(long x); + f32 fake3(); + + static u8 const CUTOFF_TO_IIR_TABLE[1024]; +}; #endif /* JASCALC_H */ diff --git a/include/JSystem/JAudio2/JASCallback.h b/include/JSystem/JAudio2/JASCallback.h index 52061420d53..0b345f61f7f 100644 --- a/include/JSystem/JAudio2/JASCallback.h +++ b/include/JSystem/JAudio2/JASCallback.h @@ -3,4 +3,33 @@ #include "dolphin/types.h" +typedef long JASCallback(void*); + +struct JASCallbackMgr { + struct TCallback { + TCallback() + : mFunction(NULL) + , mArgument(NULL) { + } + + /** @fabricated */ + bool isMatch(JASCallback* function, void* argument) { return (mFunction == function && mArgument == argument); } + + /** @fabricated */ + void clear() { + mFunction = NULL; + mArgument = NULL; + } + + /* 0x00 */ JASCallback* mFunction; + /* 0x04 */ void* mArgument; + }; + + bool regist(JASCallback*, void*); + int reject(JASCallback*, void*); + void callback(); + + /* 0x00 */ TCallback mCallbacks[0x20]; +}; + #endif /* JASCALLBACK_H */ diff --git a/include/JSystem/JAudio2/JASLfo.h b/include/JSystem/JAudio2/JASLfo.h index 0b9c738db3b..35291bd5b0b 100644 --- a/include/JSystem/JAudio2/JASLfo.h +++ b/include/JSystem/JAudio2/JASLfo.h @@ -3,4 +3,21 @@ #include "dolphin/types.h" +struct JASLfo { + /* 8029BD14 */ JASLfo(); + /* 8029BD44 */ f32 getValue() const; + /* 8029BDD8 */ void incCounter(f32); + /* 8029BE2C */ void resetCounter(); + + static JASLfo sFreeRunLfo; + + /* 0x00 */ u32 field_0x0; + /* 0x04 */ u32 field_0x4; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xC; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ u16 field_0x14; + /* 0x16 */ u16 field_0x16; +}; + #endif /* JASLFO_H */ diff --git a/include/JSystem/JAudio2/JASOscillator.h b/include/JSystem/JAudio2/JASOscillator.h index 8b8adb8f926..07a4259c671 100644 --- a/include/JSystem/JAudio2/JASOscillator.h +++ b/include/JSystem/JAudio2/JASOscillator.h @@ -3,4 +3,45 @@ #include "dolphin/types.h" + +struct JASOscillator { + struct Data { + /* 0x00 */ u32 _00; + /* 0x04 */ f32 _04; + /* 0x08 */ short* _08; + /* 0x0C */ short* _0C; + /* 0x10 */ f32 _10; + /* 0x14 */ f32 _14; + }; + + JASOscillator(); + + void initStart(const Data*); + void incCounter(f32 param_0); + f32 getValue() const; + void release(); + void update(); + void updateCurrentValue(f32 param_0); + + void stop() { + _1C = 0; + } + + /* 0x00 */ const Data* mData; + /* 0x04 */ f32 _04; + /* 0x08 */ f32 _08; + /* 0x0C */ f32 _0C; + /* 0x10 */ f32 _10; + /* 0x14 */ u16 _14; + /* 0x16 */ u16 _16; + /* 0x18 */ u8 _18; + /* 0x1A */ u16 _1A; + /* 0x1C */ int _1C; + + static const f32 sCurveTableLinear[17]; + static const f32 sCurveTableSampleCell[17]; + static const f32 sCurveTableSqRoot[17]; + static const f32 sCurveTableSquare[17]; +}; + #endif /* JASOSCILLATOR_H */ diff --git a/include/JSystem/JAudio2/dspproc.h b/include/JSystem/JAudio2/dspproc.h index 5f1c5304954..50c563c1435 100644 --- a/include/JSystem/JAudio2/dspproc.h +++ b/include/JSystem/JAudio2/dspproc.h @@ -4,4 +4,7 @@ #include "dolphin/types.h" #include "dolphin/dsp/dsp.h" +void DsyncFrame2ch(u32 param_0, u32 param_1, u32 param_2); +void DsyncFrame4ch(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4); + #endif /* DSPPROC_H */ diff --git a/include/JSystem/JAudio2/osdsp.h b/include/JSystem/JAudio2/osdsp.h index 9336345e998..9cf2c7c6107 100644 --- a/include/JSystem/JAudio2/osdsp.h +++ b/include/JSystem/JAudio2/osdsp.h @@ -3,4 +3,10 @@ #include "dolphin/types.h" +struct DSPTaskInfo; +struct STRUCT_DSP_TASK; + +extern "C" DSPTaskInfo* DSPAddTask(DSPTaskInfo*); +void DSPAddPriorTask(STRUCT_DSP_TASK*); + #endif /* OSDSP_H */ diff --git a/include/JSystem/JAudio2/osdsp_task.h b/include/JSystem/JAudio2/osdsp_task.h index f403ece1f2e..ccce3c1e0fb 100644 --- a/include/JSystem/JAudio2/osdsp_task.h +++ b/include/JSystem/JAudio2/osdsp_task.h @@ -2,5 +2,20 @@ #define OSDSP_TASK_H #include "dolphin/types.h" +#include "dolphin/os/OSInterrupt.h" + +struct DSPTaskInfo; + +extern DSPTaskInfo* DSP_prior_task; + +#ifdef __cplusplus +extern "C" { +#endif + +void __DSPHandler(OSInterrupt interrupt, OSContext* context); + +#ifdef __cplusplus +} +#endif #endif /* OSDSP_TASK_H */ diff --git a/include/JSystem/JMath/JMATrigonometric.h b/include/JSystem/JMath/JMATrigonometric.h index 8fd009944bc..2b09c3939da 100644 --- a/include/JSystem/JMath/JMATrigonometric.h +++ b/include/JSystem/JMath/JMATrigonometric.h @@ -9,6 +9,13 @@ struct TSinCosTable { f32 sinShort(s16 v) const { return table[static_cast(v) >> 3].first; } f32 cosShort(s16 v) const { return table[static_cast(v) >> 3].second; } + + inline f32 sinLap(f32 v) { + if (v < 0.0f) { + return -table[(u16)(-8192.0f * v) & 0x1fff].first; + } + return table[(u16)(8192.0f * v) & 0x1fff].first; + } }; struct TAtanTable { @@ -41,4 +48,8 @@ inline f32 JMASSin(s16 v) { return JMASinShort(v); } +inline f32 JMASinLap(f32 v) { + return JMath::sincosTable_.sinLap(v); +} + #endif /* JMATRIGONOMETRIC_H */ diff --git a/include/MSL_C/MSL_Common/Src/limits b/include/MSL_C/MSL_Common/Src/limits new file mode 100644 index 00000000000..579f600dd45 --- /dev/null +++ b/include/MSL_C/MSL_Common/Src/limits @@ -0,0 +1,70 @@ +#ifndef _STD_LIMITS_H +#define _STD_LIMITS_H + +namespace std { +template +class numeric_limits { +public: + inline static T min(); + inline static T max(); +}; + +template <> +class numeric_limits { +public: + inline static char min() { return -0x80; } + inline static char max() { return 0x7F; } +}; + +template <> +class numeric_limits { +public: + inline static short min() { return -0x8000; } + inline static short max() { return 0x7FFF; } +}; + +template <> +class numeric_limits { +public: + inline static int min() { return -0x80000000; } + inline static int max() { return 0x7FFFFFFF; } +}; + +template <> +class numeric_limits { +public: + inline static long min() { return -0x80000000; } + inline static long max() { return 0x7FFFFFFF; } +}; + +template <> +class numeric_limits { +public: + inline static unsigned char min() { return 0x0; } + inline static unsigned char max() { return 0xFF; } +}; + +template <> +class numeric_limits { +public: + inline static unsigned short min() { return 0x0; } + inline static unsigned short max() { return 0xFFFF; } +}; + +template <> +class numeric_limits { +public: + inline static unsigned int min() { return 0x0; } + inline static unsigned int max() { return 0xFFFFFFFF; } +}; + +template <> +class numeric_limits { +public: + inline static unsigned long min() { return 0x0; } + inline static unsigned long max() { return 0xFFFFFFFF; } +}; + +} // namespace std + +#endif \ No newline at end of file diff --git a/include/dolphin/dsp/dsp.h b/include/dolphin/dsp/dsp.h index 3b9db17a2b8..c6bf34943ba 100644 --- a/include/dolphin/dsp/dsp.h +++ b/include/dolphin/dsp/dsp.h @@ -63,7 +63,7 @@ void DSPInit(void); void DSPReleaseHalt2(u32 msg); u16 DSP_CreateMap2(u32 msg); -void DSPSendCommands2(u32* msgs, u32 param_1, void (*param_2)(u16)); +int DSPSendCommands2(u32* msgs, u32 param_1, void (*param_2)(u16)); void DsetupTable(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4); void DsetMixerLevel(f32 level); diff --git a/include/dolphin/dsp/dsp_task.h b/include/dolphin/dsp/dsp_task.h index 8b2e88ff7bf..0e7ff14ed68 100644 --- a/include/dolphin/dsp/dsp_task.h +++ b/include/dolphin/dsp/dsp_task.h @@ -8,4 +8,18 @@ extern DSPTaskInfo* __DSP_last_task; extern DSPTaskInfo* __DSP_first_task; extern DSPTaskInfo* __DSP_curr_task; +#ifdef __cplusplus +extern "C" { +#endif + +void __DSP_boot_task(DSPTaskInfo* task); +void __DSP_insert_task(DSPTaskInfo* task); +void __DSP_exec_task(DSPTaskInfo* curr, DSPTaskInfo* next); +void __DSP_remove_task(DSPTaskInfo* task); + +#ifdef __cplusplus +} + +#endif + #endif /* DSP_TASK_H */ diff --git a/libs/JSystem/J2DGraph/J2DMatBlock.cpp b/libs/JSystem/J2DGraph/J2DMatBlock.cpp index ffe89176334..c5c23c99ed5 100644 --- a/libs/JSystem/J2DGraph/J2DMatBlock.cpp +++ b/libs/JSystem/J2DGraph/J2DMatBlock.cpp @@ -351,22 +351,17 @@ extern "C" void _restgpr_27(); extern "C" void _restgpr_28(); extern "C" void _restgpr_29(); extern "C" extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8]; -extern "C" extern u8 const j2dDefaultIndTexMtxInfo[28]; extern "C" extern J2DTevStageInfo const j2dDefaultTevStageInfo; extern "C" extern J2DIndTevStageInfo const j2dDefaultIndTevStageInfo; extern "C" extern void* __vt__11J2DIndBlock[14]; extern "C" extern GXColor j2dDefaultColInfo; extern "C" extern J2DTevOrderInfo j2dDefaultTevOrderInfoNull; -extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */]; extern "C" extern J2DGXColorS10 j2dDefaultTevColor; -extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */]; extern "C" extern GXColor j2dDefaultTevKColor; extern "C" extern J2DTevSwapModeInfo j2dDefaultTevSwapMode; -extern "C" extern J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable; extern "C" extern u8 data_804561A4; extern "C" extern J2DColorChanInfo j2dDefaultColorChanInfo; extern "C" extern u8 data_804561AC; -extern "C" extern u16 j2dDefaultAlphaCmp; // // Declarations: @@ -2583,7 +2578,7 @@ void J2DPEBlock::setGX() { } /* 802F18A0-802F1934 2EC1E0 0094+00 5/5 0/0 0/0 .text __ct__14J2DIndTevStageFv */ -// missing instruction +// should be inline #ifdef NONMATCHING J2DIndTevStage::J2DIndTevStage() { mFlags = J2DCalcIndTevStage(j2dDefaultIndTevStageInfo); @@ -2592,7 +2587,7 @@ J2DIndTevStage::J2DIndTevStage() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DIndTevStage::J2DIndTevStage() { +asm void __ct__14J2DIndTevStageFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__14J2DIndTevStageFv.s" } @@ -2600,9 +2595,16 @@ asm J2DIndTevStage::J2DIndTevStage() { #endif /* 802F1934-802F1940 2EC274 000C+00 5/5 0/0 0/0 .text __ct__19J2DTevSwapModeTableFv */ +// Should be inline +#ifdef NONMATCHING J2DTevSwapModeTable::J2DTevSwapModeTable() { field_0x0 = data_804561AC; } +#else +asm void __ct__19J2DTevSwapModeTableFv() { + #include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__19J2DTevSwapModeTableFv.s" +} +#endif /* 802F1940-802F19A8 2EC280 0068+00 5/5 1/1 0/0 .text __ct__11J2DTevStageFv */ J2DTevStage::J2DTevStage() { @@ -2620,12 +2622,27 @@ void J2DTevStage::setTevStageInfo(J2DTevStageInfo const& info) { } /* 802F1B70-802F1B90 2EC4B0 0020+00 5/5 0/0 0/0 .text __ct__11J2DTevOrderFv */ +// Matching but should be inline +#ifdef NONMATCHING J2DTevOrder::J2DTevOrder() { mTevOrderInfo = j2dDefaultTevOrderInfoNull; } +#else +#pragma push +#pragma optimization_level 0 +#pragma optimizewithasm off +// J2DTevOrder::J2DTevOrder() { +asm void __ct__11J2DTevOrderFv() { + nofralloc +#include "asm/JSystem/J2DGraph/J2DMatBlock/__ct__11J2DTevOrderFv.s" +} +#pragma pop +#endif /* 802F1B90-802F1B94 2EC4D0 0004+00 5/5 0/0 0/0 .text __ct__13J2DGXColorS10Fv */ -J2DGXColorS10::J2DGXColorS10() { +// Most likely inlined +//J2DGXColorS10::J2DGXColorS10() { +void __ct__13J2DGXColorS10Fv() { /* empty function */ } @@ -2687,7 +2704,7 @@ u32 J2DTevBlock16::getType() { } /* 802F1D24-802F1D2C 2EC664 0008+00 1/0 0/0 0/0 .text getMaxStage__13J2DTevBlock16Fv */ -s32 J2DTevBlock16::getMaxStage() { +u8 J2DTevBlock16::getMaxStage() { return 16; } @@ -2707,7 +2724,7 @@ void J2DTevBlock16::setFontNo(u16 fontNo) { } /* 802F1D54-802F1D5C 2EC694 0008+00 1/0 0/0 0/0 .text getFontNo__13J2DTevBlock16CFv */ -u32 J2DTevBlock16::getFontNo() const { +u16 J2DTevBlock16::getFontNo() const { return mFontNo; } @@ -2869,7 +2886,7 @@ u32 J2DTevBlock8::getType() { } /* 802F1FC4-802F1FCC 2EC904 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock8Fv */ -s32 J2DTevBlock8::getMaxStage() { +u8 J2DTevBlock8::getMaxStage() { return 8; } @@ -2889,7 +2906,7 @@ void J2DTevBlock8::setFontNo(u16 fontNo) { } /* 802F1FF4-802F1FFC 2EC934 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock8CFv */ -u32 J2DTevBlock8::getFontNo() const { +u16 J2DTevBlock8::getFontNo() const { return mFontNo; } @@ -3051,7 +3068,7 @@ u32 J2DTevBlock4::getType() { } /* 802F2264-802F226C 2ECBA4 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock4Fv */ -s32 J2DTevBlock4::getMaxStage() { +u8 J2DTevBlock4::getMaxStage() { return 4; } @@ -3071,7 +3088,7 @@ void J2DTevBlock4::setFontNo(u16 fontNo) { } /* 802F2294-802F229C 2ECBD4 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock4CFv */ -u32 J2DTevBlock4::getFontNo() const { +u16 J2DTevBlock4::getFontNo() const { return mFontNo; } @@ -3233,7 +3250,7 @@ u32 J2DTevBlock2::getType() { } /* 802F2508-802F2510 2ECE48 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock2Fv */ -s32 J2DTevBlock2::getMaxStage() { +u8 J2DTevBlock2::getMaxStage() { return 2; } @@ -3253,7 +3270,7 @@ void J2DTevBlock2::setFontNo(u16 fontNo) { } /* 802F2538-802F2540 2ECE78 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock2CFv */ -u32 J2DTevBlock2::getFontNo() const { +u16 J2DTevBlock2::getFontNo() const { return mFontNo; } @@ -3415,7 +3432,7 @@ u32 J2DTevBlock1::getType() { } /* 802F27AC-802F27B4 2ED0EC 0008+00 1/0 0/0 0/0 .text getMaxStage__12J2DTevBlock1Fv */ -s32 J2DTevBlock1::getMaxStage() { +u8 J2DTevBlock1::getMaxStage() { return 1; } @@ -3435,7 +3452,7 @@ void J2DTevBlock1::setFontNo(u16 fontNo) { } /* 802F27DC-802F27E4 2ED11C 0008+00 1/0 0/0 0/0 .text getFontNo__12J2DTevBlock1CFv */ -u32 J2DTevBlock1::getFontNo() const { +u16 J2DTevBlock1::getFontNo() const { return mFontNo; } diff --git a/libs/JSystem/J2DGraph/J2DMaterial.cpp b/libs/JSystem/J2DGraph/J2DMaterial.cpp index a712ba9f124..3b5c00027be 100644 --- a/libs/JSystem/J2DGraph/J2DMaterial.cpp +++ b/libs/JSystem/J2DGraph/J2DMaterial.cpp @@ -86,16 +86,10 @@ extern "C" void getTevKonstReg__15J2DAnmTevRegKeyCFUsP8_GXColor(); extern "C" void __construct_array(); extern "C" void _savegpr_26(); extern "C" void _restgpr_26(); -extern "C" extern u8 const j2dDefaultTexCoordInfo[32]; extern "C" extern u8 const j2dDefaultTexMtxInfo[36]; -extern "C" extern u8 const j2dDefaultIndTexMtxInfo[28]; extern "C" extern void* __vt__15J2DIndBlockFull[14]; extern "C" extern void* __vt__11J2DTevBlock[47]; extern "C" extern void* __vt__14J2DTexGenBlock[3 + 1 /* padding */]; -extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */]; -extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */]; -extern "C" extern u32 j2dDefaultColorChanInfo; -extern "C" extern u16 j2dDefaultAlphaCmp; // // Declarations: @@ -561,7 +555,8 @@ void J2DIndBlock::setIndTexCoordScale(u32 param_0, J2DIndTexCoordScale param_1) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DTexCoord::J2DTexCoord() { +//asm J2DTexCoord::J2DTexCoord() { +asm void __ct__11J2DTexCoordFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterial/__ct__11J2DTexCoordFv.s" } @@ -571,17 +566,20 @@ asm J2DTexCoord::J2DTexCoord() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DColorChan::J2DColorChan() { +asm void __ct__12J2DColorChanFv() { +//asm J2DColorChan::J2DColorChan() { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterial/__ct__12J2DColorChanFv.s" } #pragma pop /* 802EB290-802EB2CC 2E5BD0 003C+00 1/1 1/1 0/0 .text __dt__19J2DIndTexCoordScaleFv */ +// Most likely inline #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DIndTexCoordScale::~J2DIndTexCoordScale() { +// asm J2DIndTexCoordScale::~J2DIndTexCoordScale() { +asm void __dt__19J2DIndTexCoordScaleFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterial/__dt__19J2DIndTexCoordScaleFv.s" } @@ -591,7 +589,8 @@ asm J2DIndTexCoordScale::~J2DIndTexCoordScale() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DIndTexCoordScale::J2DIndTexCoordScale() { +//asm J2DIndTexCoordScale::J2DIndTexCoordScale() { +asm void __ct__19J2DIndTexCoordScaleFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterial/__ct__19J2DIndTexCoordScaleFv.s" } @@ -601,7 +600,8 @@ asm J2DIndTexCoordScale::J2DIndTexCoordScale() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DIndTexMtx::~J2DIndTexMtx() { +asm void __dt__12J2DIndTexMtxFv() { +//asm J2DIndTexMtx::~J2DIndTexMtx() { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterial/__dt__12J2DIndTexMtxFv.s" } @@ -611,17 +611,20 @@ asm J2DIndTexMtx::~J2DIndTexMtx() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DIndTexMtx::J2DIndTexMtx() { +//asm J2DIndTexMtx::J2DIndTexMtx() { +asm void __ct__12J2DIndTexMtxFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterial/__ct__12J2DIndTexMtxFv.s" } #pragma pop /* 802EB378-802EB390 2E5CB8 0018+00 1/1 0/0 0/0 .text __ct__14J2DIndTexOrderFv */ +// Most likely inline #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm J2DIndTexOrder::J2DIndTexOrder() { +//asm J2DIndTexOrder::J2DIndTexOrder() { +asm void __ct__14J2DIndTexOrderFv() { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterial/__ct__14J2DIndTexOrderFv.s" } diff --git a/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp b/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp index ab65ee3cb44..8ea44dd5b22 100644 --- a/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp +++ b/libs/JSystem/J2DGraph/J2DMaterialFactory.cpp @@ -5,6 +5,9 @@ #include "JSystem/J2DGraph/J2DMaterialFactory.h" #include "JSystem/J2DGraph/J2DMaterial.h" +#include "JSystem/J2DGraph/J2DScreen.h" +#include "JSystem/JSupport/JSupport.h" +#include "JSystem/JUtility/JUTResource.h" #include "MSL_C/string.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -13,14 +16,6 @@ // Types: // -struct JUTResReference { - /* 802DE120 */ void getResource(void const*, u32, JKRArchive*); -}; - -struct J2DScreen { - static u8 mDataManage[4 + 4 /* padding */]; -}; - // // Forward References: // @@ -88,17 +83,8 @@ extern "C" void _savegpr_19(); extern "C" void _savegpr_29(); extern "C" void _restgpr_19(); extern "C" void _restgpr_29(); -extern "C" extern u8 const j2dDefaultTexCoordInfo[32]; -extern "C" extern u8 const j2dDefaultIndTexMtxInfo[28]; -extern "C" extern u8 const j2dDefaultIndTevStageInfo[12]; extern "C" u8 mDataManage__9J2DScreen[4 + 4 /* padding */]; -extern "C" extern u32 j2dDefaultTevOrderInfoNull; -extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */]; -extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */]; extern "C" extern u8 j2dDefaultTevSwapMode[4]; -extern "C" extern u32 j2dDefaultTevSwapModeTable; -extern "C" extern u32 j2dDefaultColorChanInfo; -extern "C" extern u16 j2dDefaultAlphaCmp; // // Declarations: @@ -106,6 +92,39 @@ extern "C" extern u16 j2dDefaultAlphaCmp; /* 802F2AD0-802F2C94 2ED410 01C4+00 0/0 1/1 0/0 .text * __ct__18J2DMaterialFactoryFRC16J2DMaterialBlock */ +// JSUConvertOffsetToPtr issues. Probably function order. +#ifdef NONMATCHING +J2DMaterialFactory::J2DMaterialFactory(J2DMaterialBlock const& param_0) { + field_0x0 = param_0.field_0x8; + field_0x4 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0xc); + field_0x8 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x10); + if (param_0.field_0x18 && param_0.field_0x18 - param_0.field_0x14 > 4) { + field_0xc = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x18); + } + else { + field_0xc = NULL; + } + field_0x30 = JSUConvertOffsetToPtr<_GXCullMode>(¶m_0, (void*)param_0.field_0x1c); + field_0x10 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x20); + field_0x14 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x24); + field_0x18 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x28); + field_0x1c = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x2c); + field_0x20 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x30); + field_0x24 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x34); + field_0x28 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x38); + field_0x2c = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x3c); + field_0x34 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x40); + field_0x38 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x44); + field_0x3c = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x48); + field_0x40 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x4c); + field_0x44 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x50); + field_0x48 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x54); + field_0x4c = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x58); + field_0x50 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x5c); + field_0x54 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x60); + field_0x58 = JSUConvertOffsetToPtr(¶m_0, (void*)param_0.field_0x64); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -114,283 +133,421 @@ asm J2DMaterialFactory::J2DMaterialFactory(J2DMaterialBlock const& param_0) { #include "asm/JSystem/J2DGraph/J2DMaterialFactory/__ct__18J2DMaterialFactoryFRC16J2DMaterialBlock.s" } #pragma pop +#endif /* 802F2C94-802F2D1C 2ED5D4 0088+00 1/1 0/0 0/0 .text countStages__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::countStages(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/countStages__18J2DMaterialFactoryCFi.s" +u32 J2DMaterialFactory::countStages(int param_0) const { + J2DMaterialInitData* iVar5 = &field_0x4[field_0x8[param_0]]; + u32 uVar4 = 0; + u32 uVar3 = 0; + if (iVar5->field_0x4 != 0xff) { + uVar3 = field_0x40[iVar5->field_0x4]; + } + for (int i = 0; i < 8; i++) { + if (iVar5->field_0x38[i] != 0xffff) { + uVar4++; + } + } + if ((uVar3 != uVar4 && uVar4 != 0)) { + if (uVar3 > uVar4) { + return uVar3; + } + return uVar4; + } + return uVar3; } -#pragma pop /* 802F2D1C-802F362C 2ED65C 0910+00 0/0 1/1 0/0 .text * create__18J2DMaterialFactoryCFP11J2DMaterialiUlP15J2DResReferenceP15J2DResReferenceP10JKRArchive */ +// Stack issues +#ifdef NONMATCHING +J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int index, u32 param_2, + J2DResReference* param_3, J2DResReference* param_4, + JKRArchive* param_5) const { + u32 stages = countStages(index); + u32 uVar1 = ((param_2 & 0x1f0000) >> 16); + u32 r28 = stages > uVar1 ? stages : uVar1; + + u32 r25 = r28 <= 8 ? r28 : 8; + + s32 local_3bc = ((param_2 & 0x1000000) != 0); + s32 local_3c0 = (param_2 & 0x1f0000) ? local_3bc : 0; + bool temp = (param_2 & 0x1f0000); + u16 tevBlockNum = r28; + param_0->mTevBlock = J2DMaterial::createTevBlock(tevBlockNum, temp); + param_0->mIndBlock = J2DMaterial::createIndBlock(local_3c0, temp); + param_0->mIndex = index; + param_0->field_0x8 = getMaterialMode(index); + param_0->getColorBlock()->setColorChanNum(newColorChanNum(index)); + param_0->getColorBlock()->setCullMode(newCullMode(index)); + param_0->getTexGenBlock()->setTexGenNum(newTexGenNum(index)); + param_0->getPEBlock()->setAlphaComp(newAlphaComp(index)); + param_0->getPEBlock()->setBlend(newBlend(index)); + param_0->getPEBlock()->setDither(newDither(index)); + param_0->getTevBlock()->setTevStageNum(newTevStageNum(index)); + param_0->mMaterialAlphaCalc = getMaterialAlphaCalc(index); + + JUTResReference aJStack_12c; + for (u8 i = 0; i < r25; i++) { + u16 texNo = newTexNo(index, i); + s8* local_37c = param_3->getResReference(texNo); + void* local_380 = NULL; + if (local_37c != NULL) { + local_380 = aJStack_12c.getResource(local_37c, 'TIMG', param_5); + if (local_380 == NULL && param_5 != NULL) { + local_380 = aJStack_12c.getResource(local_37c, 'TIMG', NULL); + } + if (local_380 == NULL && J2DScreen::getDataManage() != NULL) { + char acStack_230[256]; + strcpy(acStack_230, param_3->getName(texNo)); + local_380 = J2DScreen::getDataManage()->get(acStack_230); + } + } + param_0->getTevBlock()->insertTexture(i, (ResTIMG*)local_380); + param_0->getTevBlock()->setTexNo(i, texNo); + } + u16 fontNo = newFontNo(index); + param_0->getTevBlock()->setFontNo(fontNo); + + s8* local_384 = param_4->getResReference(param_0->getTevBlock()->getFontNo()); + void* local_388 = NULL; + if (local_384 != NULL) { + local_388 = aJStack_12c.getResource(local_384, 'FONT', param_5); + if (local_388 == NULL && param_5 != NULL) { + local_388 = aJStack_12c.getResource(local_384, 'FONT', NULL); + } + if (local_388 == NULL && J2DScreen::getDataManage() != NULL) { + char* pcVar9 = param_4->getName(param_0->getTevBlock()->getFontNo()); + char acStack_334[256]; + strcpy(acStack_334, pcVar9); + local_388 = J2DScreen::getDataManage()->get(acStack_334); + } + } + + param_0->getTevBlock()->setFont((ResFONT*)local_388); + for (u8 i = 0; i < r28; i++) { + param_0->getTevBlock()->setTevOrder(i, newTevOrder(index, i)); + } + for (u8 i = 0; i < r28; i++) { + J2DMaterialInitData* local_38c = &field_0x4[field_0x8[index]]; + param_0->getTevBlock()->setTevStage(i, newTevStage(index, i)); + if (local_38c->field_0xba[i] != 0xffff) { + param_0->getTevBlock()->getTevStage(i)->setTexSel(field_0x48[local_38c->field_0xba[i]].field_0x1); + param_0->getTevBlock()->getTevStage(i)->setRasSel(field_0x48[local_38c->field_0xba[i]].field_0x0); + } + } + for (u8 i = 0; i < 4; i++) { + param_0->getTevBlock()->setTevKColor(i, newTevKColor(index, i)); + } + for (u8 i = 0; i < 4; i++) { + J2DTevBlock* block = param_0->getTevBlock(); + block->setTevColor(i, newTevColor(index, i)); + } + for (u8 i = 0; i < 4; i++) { + param_0->getTevBlock()->setTevSwapModeTable(i, newTevSwapModeTable(index, i)); + } + for (u8 i = 0; i < 2; i++) { + param_0->getColorBlock()->setMatColor(i, newMatColor(index, i)); + } + for (u8 i = 0; i < 4; i++) { + param_0->getColorBlock()->setColorChan(i, newColorChan(index, i)); + } + for (u8 i = 0; i < 8; i++) { + param_0->getTexGenBlock()->setTexCoord(i, newTexCoord(index, i)); + } + for (u8 i = 0; i < 8; i++) { + param_0->getTexGenBlock()->setTexMtx(i, newTexMtx(index, i)); + } + J2DMaterialInitData* local_394 = &field_0x4[field_0x8[index]]; + for (u8 i = 0; i < r28; i++) { + param_0->getTevBlock()->setTevKColorSel(i, local_394->field_0x52[i]); + } + for (u8 i = 0; i < r28; i++) { + param_0->getTevBlock()->setTevKAlphaSel(i, local_394->field_0x62[i]); + } + if (field_0xc != NULL || local_3c0 != 0) { + u8 local_410 = newIndTexStageNum(index); + param_0->mIndBlock->setIndTexStageNum(local_410); + for (u8 i = 0; i < local_410; i++) { + param_0->getIndBlock()->setIndTexMtx(i, newIndTexMtx(index, i)); + } + for (u8 i = 0; i < local_410; i++) { + param_0->getIndBlock()->setIndTexOrder(i, newIndTexOrder(index, i)); + } + for (u8 i = 0; i < local_410; i++) { + param_0->getIndBlock()->setIndTexCoordScale(i, newIndTexCoordScale(index, i)); + } + for (u8 i = 0; i < r28; i++) { + param_0->getTevBlock()->setIndTevStage(i, newIndTevStage(index, i)); + } + } + return param_0; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DMaterialFactory::create(J2DMaterial* param_0, int param_1, u32 param_2, +asm J2DMaterial* J2DMaterialFactory::create(J2DMaterial* param_0, int param_1, u32 param_2, J2DResReference* param_3, J2DResReference* param_4, JKRArchive* param_5) const { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterialFactory/func_802F2D1C.s" } #pragma pop +#endif /* ############################################################################################## */ -/* 804561C0-804561C4 0047C0 0004+00 1/1 0/0 0/0 .sdata2 @1887 */ -SECTION_SDATA2 static u32 lit_1887 = 0xFFFFFFFF; /* 802F362C-802F36CC 2EDF6C 00A0+00 1/1 0/0 0/0 .text newMatColor__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newMatColor(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newMatColor__18J2DMaterialFactoryCFii.s" +JUtility::TColor J2DMaterialFactory::newMatColor(int param_0, int param_1) const { + GXColor color = {0xff,0xff,0xff,0xff}; + JUtility::TColor local_20 = GXColor(color); + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x8[param_1] != 0xffff) { + return field_0x10[iVar2->field_0x8[param_1]]; + } + return local_20; } -#pragma pop /* 802F36CC-802F3704 2EE00C 0038+00 1/1 0/0 0/0 .text newColorChanNum__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newColorChanNum(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChanNum__18J2DMaterialFactoryCFi.s" +u8 J2DMaterialFactory::newColorChanNum(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x2 != 0xff) { + return field_0x14[iVar2->field_0x2]; + } + return 0; } -#pragma pop /* 802F3704-802F3758 2EE044 0054+00 1/1 0/0 0/0 .text newColorChan__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newColorChan(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newColorChan__18J2DMaterialFactoryCFii.s" +J2DColorChan J2DMaterialFactory::newColorChan(int param_0, int param_1) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0xc[param_1] != 0xffff) { + return J2DColorChan(field_0x18[iVar2->field_0xc[param_1]]); + } + return J2DColorChan(); } -#pragma pop /* 802F3758-802F3790 2EE098 0038+00 1/1 0/0 0/0 .text newTexGenNum__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTexGenNum(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTexGenNum__18J2DMaterialFactoryCFi.s" +u32 J2DMaterialFactory::newTexGenNum(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x3 != 0xff) { + return field_0x1c[iVar2->field_0x3]; + } + return 0; } -#pragma pop /* 802F3790-802F3804 2EE0D0 0074+00 1/1 0/0 0/0 .text newTexCoord__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTexCoord(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTexCoord__18J2DMaterialFactoryCFii.s" +J2DTexCoord J2DMaterialFactory::newTexCoord(int param_0, int param_1) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x14[param_1] != 0xffff) { + return J2DTexCoord(field_0x20[iVar2->field_0x14[param_1]]); + } + return J2DTexCoord(); } -#pragma pop /* 802F3804-802F38E0 2EE144 00DC+00 1/1 0/0 0/0 .text newTexMtx__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTexMtx(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTexMtx__18J2DMaterialFactoryCFii.s" +J2DTexMtx* J2DMaterialFactory::newTexMtx(int param_0, int param_1) const { + J2DTexMtx* rv = NULL; + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x24[param_1] != 0xffff) { + rv = new J2DTexMtx(field_0x24[iVar2->field_0x24[param_1]]); + rv->calc(); + } + return rv; } -#pragma pop /* 802F38E0-802F3920 2EE220 0040+00 1/1 0/0 0/0 .text newCullMode__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newCullMode(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newCullMode__18J2DMaterialFactoryCFi.s" +u8 J2DMaterialFactory::newCullMode(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x1 != 0xff) { + return field_0x30[iVar2->field_0x1]; + } + return 0xff; } -#pragma pop /* 802F3920-802F3968 2EE260 0048+00 1/1 0/0 0/0 .text newTexNo__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTexNo(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTexNo__18J2DMaterialFactoryCFii.s" +u16 J2DMaterialFactory::newTexNo(int param_0, int param_1) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x38[param_1] != 0xffff) { + return field_0x28[iVar2->field_0x38[param_1]]; + } + return 0x1FFFF; } -#pragma pop /* 802F3968-802F39A8 2EE2A8 0040+00 1/1 0/0 0/0 .text newFontNo__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newFontNo(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newFontNo__18J2DMaterialFactoryCFi.s" +u16 J2DMaterialFactory::newFontNo(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x48 != 0xffff) { + return field_0x2c[iVar2->field_0x48]; + } + return 0x1FFFF; } -#pragma pop /* 802F39A8-802F3A1C 2EE2E8 0074+00 1/1 0/0 0/0 .text newTevOrder__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTevOrder(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTevOrder__18J2DMaterialFactoryCFii.s" +J2DTevOrder J2DMaterialFactory::newTevOrder(int param_0, int param_1) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x72[param_1] != 0xffff) { + return J2DTevOrder(field_0x34[iVar2->field_0x72[param_1]]); + } + return J2DTevOrder(); } -#pragma pop /* ############################################################################################## */ /* 80456BB0-80456BB4 000050 0004+00 1/1 0/0 0/0 .sbss2 @2018 */ -SECTION_SBSS2 static u8 lit_2018[4]; - -/* 80456BB4-80456BB8 000054 0004+00 1/1 0/0 0/0 .sbss2 None */ -SECTION_SBSS2 static u8 data_80456BB4[4]; +SECTION_SBSS2 static GXColorS10 lit_2018; /* 802F3A1C-802F3AB4 2EE35C 0098+00 1/1 0/0 0/0 .text newTevColor__18J2DMaterialFactoryCFii */ +// J2DGXColorS10 init issues +#ifdef NONMATCHING +J2DGXColorS10 J2DMaterialFactory::newTevColor(int param_0, int param_1) const { + GXColorS10 x = lit_2018; + J2DGXColorS10 rv = J2DGXColorS10(x); + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x92[param_1] != 0xffff) { + return field_0x38[iVar2->field_0x92[param_1]]; + } + return rv; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void J2DMaterialFactory::newTevColor(int param_0, int param_1) const { +asm J2DGXColorS10 J2DMaterialFactory::newTevColor(int param_0, int param_1) const { nofralloc #include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTevColor__18J2DMaterialFactoryCFii.s" } #pragma pop +#endif /* ############################################################################################## */ -/* 804561C4-804561C8 0047C4 0004+00 1/1 0/0 0/0 .sdata2 @2039 */ -SECTION_SDATA2 static u32 lit_2039 = 0xFFFFFFFF; /* 802F3AB4-802F3B54 2EE3F4 00A0+00 1/1 0/0 0/0 .text newTevKColor__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTevKColor(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTevKColor__18J2DMaterialFactoryCFii.s" +JUtility::TColor J2DMaterialFactory::newTevKColor(int param_0, int param_1) const { + GXColor x = {0xFF, 0xFF, 0xFF, 0xFF}; + JUtility::TColor local_20 = GXColor(x); + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x4a[param_1] != 0xffff) { + return field_0x3c[iVar2->field_0x4a[param_1]]; + } + return local_20; } -#pragma pop /* 802F3B54-802F3B8C 2EE494 0038+00 1/1 0/0 0/0 .text newTevStageNum__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTevStageNum(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStageNum__18J2DMaterialFactoryCFi.s" +u8 J2DMaterialFactory::newTevStageNum(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x4 != 0xff) { + return field_0x40[iVar2->field_0x4]; + } + return 0xFF; } -#pragma pop /* 802F3B8C-802F3BEC 2EE4CC 0060+00 1/1 0/0 0/0 .text newTevStage__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTevStage(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTevStage__18J2DMaterialFactoryCFii.s" +J2DTevStage J2DMaterialFactory::newTevStage(int param_0, int param_1) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x9a[param_1] != 0xffff) { + return J2DTevStage(field_0x44[iVar2->field_0x9a[param_1]]); + } + return J2DTevStage(); } -#pragma pop /* 802F3BEC-802F3C88 2EE52C 009C+00 1/1 0/0 0/0 .text * newTevSwapModeTable__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newTevSwapModeTable(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newTevSwapModeTable__18J2DMaterialFactoryCFii.s" +J2DTevSwapModeTable J2DMaterialFactory::newTevSwapModeTable(int param_0, int param_1) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0xda[param_1] != 0xffff) { + return J2DTevSwapModeTable(field_0x4c[iVar2->field_0xda[param_1]]); + } + return J2DTevSwapModeTable(j2dDefaultTevSwapModeTable); } -#pragma pop /* 802F3C88-802F3CB8 2EE5C8 0030+00 1/1 0/0 0/0 .text newIndTexStageNum__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newIndTexStageNum(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexStageNum__18J2DMaterialFactoryCFi.s" +u8 J2DMaterialFactory::newIndTexStageNum(int param_0) const { + if (field_0xc != NULL) { + if (field_0xc[param_0].field_0x0 == 1) { + return field_0xc[param_0].field_0x1; + } + } + return 0; } -#pragma pop /* 802F3CB8-802F3D20 2EE5F8 0068+00 1/1 0/0 0/0 .text newIndTexOrder__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newIndTexOrder(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexOrder__18J2DMaterialFactoryCFii.s" +J2DIndTexOrder J2DMaterialFactory::newIndTexOrder(int param_0, int param_1) const { + J2DIndTexOrder rv; + if (field_0xc != NULL) { + if (field_0xc[param_0].field_0x0 == 1) { + return J2DIndTexOrder(field_0xc[param_0].field_0x4[param_1]); + } + } + return rv; } -#pragma pop /* 802F3D20-802F3E24 2EE660 0104+00 1/1 0/0 0/0 .text newIndTexMtx__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newIndTexMtx(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexMtx__18J2DMaterialFactoryCFii.s" +J2DIndTexMtx J2DMaterialFactory::newIndTexMtx(int param_0, int param_1) const { + J2DIndTexMtx rv; + if (field_0xc != NULL) { + if (field_0xc[param_0].field_0x0 == 1) { + return J2DIndTexMtx(field_0xc[param_0].field_0xc[param_1]); + } + } + return rv; } -#pragma pop /* 802F3E24-802F3F78 2EE764 0154+00 1/1 0/0 0/0 .text newIndTevStage__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newIndTevStage(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTevStage__18J2DMaterialFactoryCFii.s" +J2DIndTevStage J2DMaterialFactory::newIndTevStage(int param_0, int param_1) const { + J2DIndTevStage rv; + if (field_0xc != NULL) { + if (field_0xc[param_0].field_0x0 == 1) { + return J2DIndTevStage(field_0xc[param_0].field_0x68[param_1]); + } + } + return rv; } -#pragma pop /* 802F3F78-802F3FE0 2EE8B8 0068+00 1/1 0/0 0/0 .text * newIndTexCoordScale__18J2DMaterialFactoryCFii */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newIndTexCoordScale(int param_0, int param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newIndTexCoordScale__18J2DMaterialFactoryCFii.s" +J2DIndTexCoordScale J2DMaterialFactory::newIndTexCoordScale(int param_0, int param_1) const { + J2DIndTexCoordScale rv; + if (field_0xc != NULL) { + if (field_0xc[param_0].field_0x0 == 1) { + return J2DIndTexCoordScale(field_0xc[param_0].field_0x60[param_1]); + } + } + return rv; } -#pragma pop /* 802F3FE0-802F405C 2EE920 007C+00 1/1 0/0 0/0 .text newAlphaComp__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newAlphaComp(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newAlphaComp__18J2DMaterialFactoryCFi.s" +J2DAlphaComp J2DMaterialFactory::newAlphaComp(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0xe2 != 0xffff) { + return J2DAlphaComp(field_0x50[iVar2->field_0xe2]); + } + return J2DAlphaComp(); } -#pragma pop /* 802F405C-802F40D8 2EE99C 007C+00 1/1 0/0 0/0 .text newBlend__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newBlend(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newBlend__18J2DMaterialFactoryCFi.s" +J2DBlend J2DMaterialFactory::newBlend(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0xe4 != 0xffff) { + return J2DBlend(field_0x54[iVar2->field_0xe4]); + } + return J2DBlend(); } -#pragma pop /* 802F40D8-802F4110 2EEA18 0038+00 1/1 0/0 0/0 .text newDither__18J2DMaterialFactoryCFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DMaterialFactory::newDither(int param_0) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DMaterialFactory/newDither__18J2DMaterialFactoryCFi.s" +u8 J2DMaterialFactory::newDither(int param_0) const { + J2DMaterialInitData* iVar2 = &field_0x4[field_0x8[param_0]]; + if (iVar2->field_0x5 != 0xff) { + return field_0x58[iVar2->field_0x5]; + } + return 0; } -#pragma pop /* 802F4110-802F4170 2EEA50 0060+00 1/1 0/0 0/0 .text __ct__11J2DTevStageFRC15J2DTevStageInfo */ #pragma push diff --git a/libs/JSystem/J2DGraph/J2DTevs.cpp b/libs/JSystem/J2DGraph/J2DTevs.cpp index 1c1e3bba44c..fa2f8cf8158 100644 --- a/libs/JSystem/J2DGraph/J2DTevs.cpp +++ b/libs/JSystem/J2DGraph/J2DTevs.cpp @@ -20,7 +20,7 @@ struct J2DTevBlock { /* 802EA14C */ bool getTevKAlphaSel(u32); /* 802EA154 */ bool getTevKColorSel(u32); /* 802EA15C */ bool getTevKColor(u32); - /* 802EA164 */ u32 getFontNo() const; + /* 802EA164 */ u16 getFontNo() const; /* 802EA170 */ u32 getTexNo(u32) const; /* 802EA17C */ bool getTevStageNum() const; /* 802EA184 */ bool getIndTevStage(u32); @@ -64,20 +64,14 @@ extern "C" extern J2DTexCoordInfo const j2dDefaultTexCoordInfo[8]; extern "C" extern J2DTexMtxInfo const j2dDefaultTexMtxInfo; extern "C" extern J2DIndTexMtxInfo const j2dDefaultIndTexMtxInfo; extern "C" extern J2DTevStageInfo const j2dDefaultTevStageInfo; -extern "C" extern u8 const j2dDefaultIndTevStageInfo[12]; extern "C" extern u32 j2dDefaultColInfo; -extern "C" extern u32 j2dDefaultTevOrderInfoNull; -extern "C" extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */]; extern "C" extern u8 j2dDefaultTevColor[8]; -extern "C" extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */]; extern "C" extern u32 j2dDefaultTevKColor; extern "C" extern u8 j2dDefaultTevSwapMode[4]; -extern "C" extern u32 j2dDefaultTevSwapModeTable; extern "C" extern u32 j2dDefaultBlendInfo; extern "C" extern u8 data_804561A4[4]; extern "C" extern u32 j2dDefaultColorChanInfo; extern "C" extern u16 data_804561AC; -extern "C" extern u16 j2dDefaultAlphaCmp; // // External References: @@ -211,7 +205,7 @@ bool J2DTevBlock::getTevKColor(u32 param_0) { } /* 802EA164-802EA170 2E4AA4 000C+00 0/0 1/0 0/0 .text getFontNo__11J2DTevBlockCFv */ -u32 J2DTevBlock::getFontNo() const { +u16 J2DTevBlock::getFontNo() const { return 0xFFFF; } @@ -270,8 +264,8 @@ extern J2DTevStageInfo const j2dDefaultTevStageInfo = {4, 10, 15, 15, 0, 0, 0, 0 0, 5, 7, 7, 0, 0, 0, 0, 1}; /* 803A1BF4-803A1C00 02E254 000C+00 0/0 7/7 0/0 .rodata j2dDefaultIndTevStageInfo */ -SECTION_RODATA extern u8 const j2dDefaultIndTevStageInfo[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_RODATA extern const J2DIndTevStageInfo j2dDefaultIndTevStageInfo = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; COMPILER_STRIP_GATE(0x803A1BF4, &j2dDefaultIndTevStageInfo); @@ -279,14 +273,10 @@ COMPILER_STRIP_GATE(0x803A1BF4, &j2dDefaultIndTevStageInfo); SECTION_SDATA2 extern u32 j2dDefaultColInfo = 0xFFFFFFFF; /* 80456180-80456184 004780 0004+00 0/0 7/7 0/0 .sdata2 j2dDefaultTevOrderInfoNull */ -SECTION_SDATA2 extern u32 j2dDefaultTevOrderInfoNull = 0xFFFFFF00; +SECTION_SDATA2 extern J2DTevOrderInfo j2dDefaultTevOrderInfoNull = {0xFF, 0xFF, 0xFF, 0x00}; /* 80456184-80456188 004784 0002+02 0/0 3/3 0/0 .sdata2 j2dDefaultIndTexOrderNull */ -SECTION_SDATA2 extern u16 j2dDefaultIndTexOrderNull[1 + 1 /* padding */] = { - 0xFFFF, - /* padding */ - 0x0000, -}; +SECTION_SDATA2 extern const J2DIndTexOrderInfo j2dDefaultIndTexOrderNull = { 0xFF, 0xFF, }; /* 80456188-80456190 004788 0008+00 0/0 5/5 0/0 .sdata2 j2dDefaultTevColor */ SECTION_SDATA2 extern u8 j2dDefaultTevColor[8] = { @@ -294,10 +284,7 @@ SECTION_SDATA2 extern u8 j2dDefaultTevColor[8] = { }; /* 80456190-80456194 004790 0002+02 0/0 3/3 0/0 .sdata2 j2dDefaultIndTexCoordScaleInfo */ -SECTION_SDATA2 extern u8 j2dDefaultIndTexCoordScaleInfo[2 + 2 /* padding */] = { - 0x00, - 0x00, - /* padding */ +SECTION_SDATA2 extern const J2DIndTexCoordScaleInfo j2dDefaultIndTexCoordScaleInfo = { 0x00, 0x00, }; @@ -314,7 +301,7 @@ SECTION_SDATA2 extern u8 j2dDefaultTevSwapMode[4] = { }; /* 8045619C-804561A0 00479C 0004+00 0/0 6/6 0/0 .sdata2 j2dDefaultTevSwapModeTable */ -SECTION_SDATA2 extern u32 j2dDefaultTevSwapModeTable = 0x00010203; +SECTION_SDATA2 extern const J2DTevSwapModeTableInfo j2dDefaultTevSwapModeTable = {0x00, 0x01, 0x02, 0x03}; /* 804561A0-804561A4 0047A0 0004+00 0/0 3/3 0/0 .sdata2 j2dDefaultBlendInfo */ SECTION_SDATA2 extern u32 j2dDefaultBlendInfo = 0x01040505; diff --git a/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp b/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp index 25da723acc2..52907216c09 100644 --- a/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp +++ b/libs/JSystem/J2DGraph/J2DTextBoxEx.cpp @@ -372,6 +372,28 @@ JUTFont* J2DTextBoxEx::getFont() const { } /* 80307E0C-80307EF0 30274C 00E4+00 1/1 0/0 0/0 .text setTevOrder__12J2DTextBoxExFb */ +// Stack issue +#ifdef NONMATCHING +void J2DTextBoxEx::setTevOrder(bool param_0) { + u16 local_18[2]; + if (!param_0) { + local_18[0] = 4; + local_18[1] = 0xffff; + } else { + local_18[0] = 0xff; + local_18[1] = 0xff04; + } + for (u8 i = 0; i < 2; i++) { + if (mMaterial->getTevBlock()->getMaxStage() > i) { + J2DTevOrderInfo info; + info.mTexCoord = (local_18[i]) >> 8; + info.mTexMap = (local_18[i]) >> 8; + info.mColor = local_18[i] & 0xff; + mMaterial->getTevBlock()->setTevOrder(i, J2DTevOrder(info)); + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -380,6 +402,7 @@ asm void J2DTextBoxEx::setTevOrder(bool param_0) { #include "asm/JSystem/J2DGraph/J2DTextBoxEx/setTevOrder__12J2DTextBoxExFb.s" } #pragma pop +#endif /* 80307EF0-80307F94 302830 00A4+00 1/1 0/0 0/0 .text setTevStage__12J2DTextBoxExFb */ void J2DTextBoxEx::setTevStage(bool param_0) { @@ -498,7 +521,6 @@ bool J2DTextBoxEx::setWhite(JUtility::TColor white) { /* 8030834C-803084CC 302C8C 0180+00 1/0 0/0 0/0 .text * setBlackWhite__12J2DTextBoxExFQ28JUtility6TColorQ28JUtility6TColor */ -#ifdef NONMATCHING bool J2DTextBoxEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) { if (mMaterial == NULL) { return false; @@ -522,36 +544,48 @@ bool J2DTextBoxEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor para setTevStage(bvar); if (bvar) { - J2DGXColorS10 color0; - color0.r = param_0.r; - color0.g = param_0.g; - color0.b = param_0.b; - color0.a = param_0.a; - mMaterial->getTevBlock()->setTevColor(0, color0); + J2DGXColorS10 color; + color.r = param_0.r; + color.g = param_0.g; + color.b = param_0.b; + color.a = param_0.a; + mMaterial->getTevBlock()->setTevColor(0, color); - J2DGXColorS10 color1; - color1.r = param_1.r; - color1.g = param_1.g; - color1.b = param_1.b; - color1.a = param_1.a; - mMaterial->getTevBlock()->setTevColor(1, color1); + color.r = param_1.r; + color.g = param_1.g; + color.b = param_1.b; + color.a = param_1.a; + mMaterial->getTevBlock()->setTevColor(1, color); } return true; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool J2DTextBoxEx::setBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DTextBoxEx/setBlackWhite__12J2DTextBoxExFQ28JUtility6TColorQ28JUtility6TColor.s" -} -#pragma pop -#endif /* 803084CC-80308668 302E0C 019C+00 4/4 0/0 0/0 .text * getBlackWhite__12J2DTextBoxExCFPQ28JUtility6TColorPQ28JUtility6TColor */ +// regalloc +#ifdef NONMATCHING +bool J2DTextBoxEx::getBlackWhite(JUtility::TColor* param_0, JUtility::TColor* param_1) const { + if (mMaterial == NULL) { + return false; + } + + if (mMaterial->getTevBlock() == NULL) { + return false; + } + + bool tevStageNum = mMaterial->getTevBlock()->getTevStageNum() != 1; + *param_0 = JUtility::TColor(0); + *param_1 = JUtility::TColor(0xffffffff); + if (tevStageNum) { + J2DGXColorS10 local_30(*mMaterial->getTevBlock()->getTevColor(0)); + J2DGXColorS10 local_38(*mMaterial->getTevBlock()->getTevColor(1)); + *param_0 = JUtility::TColor((((u8)local_30.r) << 24) | (((u8)local_30.g) << 16) | (((u8)local_30.b) << 8) | ((u8)local_30.a)); + *param_1 = JUtility::TColor((((u8)local_38.r) << 24) | (((u8)local_38.g) << 16) | (((u8)local_38.b) << 8) | ((u8)local_38.a)); + } + return true; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -560,37 +594,40 @@ asm bool J2DTextBoxEx::getBlackWhite(JUtility::TColor* param_0, JUtility::TColor #include "asm/JSystem/J2DGraph/J2DTextBoxEx/getBlackWhite__12J2DTextBoxExCFPQ28JUtility6TColorPQ28JUtility6TColor.s" } #pragma pop +#endif /* 80308668-803086FC 302FA8 0094+00 1/1 0/0 0/0 .text * isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool J2DTextBoxEx::isSetBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DTextBoxEx/isSetBlackWhite__12J2DTextBoxExCFQ28JUtility6TColorQ28JUtility6TColor.s" +bool J2DTextBoxEx::isSetBlackWhite(JUtility::TColor param_0, JUtility::TColor param_1) const { + if ((u32)param_0 == 0 && (u32)param_1 == 0xffffffff) { + return 1; + } + mMaterial->getTevBlock()->getTevStageNum(); + if (mMaterial->getTevBlock()->getMaxStage() == 1) { + return 0; + } + return 1; } -#pragma pop /* 803086FC-8030875C 30303C 0060+00 1/0 0/0 0/0 .text getBlack__12J2DTextBoxExCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUtility::TColor J2DTextBoxEx::getBlack() const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DTextBoxEx/getBlack__12J2DTextBoxExCFv.s" +JUtility::TColor J2DTextBoxEx::getBlack() const { + JUtility::TColor black; + JUtility::TColor white; + if (getBlackWhite(&black, &white) == 0) { + return JUtility::TColor(0); + } + return black; } -#pragma pop /* 8030875C-803087BC 30309C 0060+00 1/0 0/0 0/0 .text getWhite__12J2DTextBoxExCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JUtility::TColor J2DTextBoxEx::getWhite() const { - nofralloc -#include "asm/JSystem/J2DGraph/J2DTextBoxEx/getWhite__12J2DTextBoxExCFv.s" +JUtility::TColor J2DTextBoxEx::getWhite() const { + JUtility::TColor black; + JUtility::TColor white; + if (getBlackWhite(&black, &white) == 0) { + return JUtility::TColor(0xffffffff); + } + return white; } -#pragma pop /* 803087BC-803087DC 3030FC 0020+00 1/0 0/0 0/0 .text setAlpha__12J2DTextBoxExFUc */ void J2DTextBoxEx::setAlpha(u8 alpha) { @@ -677,24 +714,23 @@ void J2DTextBoxEx::setAnimation(J2DAnmVisibilityFull* anm) { /* 8030896C-803089EC 3032AC 0080+00 1/0 0/0 0/0 .text * animationPane__12J2DTextBoxExFPC15J2DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm const J2DAnmTransform* J2DTextBoxEx::animationPane(J2DAnmTransform const* param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DTextBoxEx/animationPane__12J2DTextBoxExFPC15J2DAnmTransform.s" +const J2DAnmTransform* J2DTextBoxEx::animationPane(J2DAnmTransform const* param_0) { + if (mVisibilityAnm != NULL && field_0x13c != 0xffff) { + u8 visibility; + mVisibilityAnm->getVisibility(field_0x13c, &visibility); + if (visibility != 0) { + show(); + } else { + hide(); + } + } + return J2DPane::animationPane(param_0); } -#pragma pop /* 803089EC-80308A28 30332C 003C+00 1/0 0/0 0/0 .text setCullBack__12J2DTextBoxExFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J2DTextBoxEx::setCullBack(bool param_0) { - nofralloc -#include "asm/JSystem/J2DGraph/J2DTextBoxEx/setCullBack__12J2DTextBoxExFb.s" +void J2DTextBoxEx::setCullBack(bool param_0) { + setCullBack(param_0 ? GX_CULL_BACK : GX_CULL_NONE); } -#pragma pop /* 80308A28-80308A48 303368 0020+00 1/0 0/0 0/0 .text isUsed__12J2DTextBoxExFPC7ResTIMG */ diff --git a/libs/JSystem/J3DU/J3DUClipper.cpp b/libs/JSystem/J3DU/J3DUClipper.cpp index ecd01d99df9..8443fb3405f 100644 --- a/libs/JSystem/J3DU/J3DUClipper.cpp +++ b/libs/JSystem/J3DU/J3DUClipper.cpp @@ -5,7 +5,6 @@ #include "JSystem/J3DU/J3DUClipper.h" #include "MSL_C/math.h" -#include "dol2asm.h" #include "dolphin/mtx/mtxvec.h" #include "dolphin/types.h" @@ -13,19 +12,10 @@ // Forward References: // -extern "C" void init__11J3DUClipperFv(); -extern "C" void calcViewFrustum__11J3DUClipperFv(); -extern "C" void clip__11J3DUClipperCFPA4_Cf3Vecf(); -extern "C" void clip__11J3DUClipperCFPA4_CfP3VecP3Vec(); -extern "C" extern char const* const J3DUClipper__stringBase0; - // // External References: // -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); - // // Declarations: // @@ -37,14 +27,9 @@ void J3DUClipper::init() { } /* ############################################################################################## */ -/* 8039A948-8039A954 026FA8 000C+00 1/1 0/0 0/0 .rodata @898 */ -SECTION_RODATA static u8 const lit_898[12] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x8039A948, &lit_898); - /* 8027378C-802738FC 26E0CC 0170+00 0/0 3/3 4/4 .text calcViewFrustum__11J3DUClipperFv */ void J3DUClipper::calcViewFrustum() { + static const f32 unused[3] = {0.0f}; f32 f0 = tan(0.5f * mFovY * 0.01745329238474369f); f32 f4 = mNear * f0; f32 f5 = mAspect * f4; @@ -63,58 +48,143 @@ void J3DUClipper::calcViewFrustum() { } /* 802738FC-80273A44 26E23C 0148+00 0/0 3/3 2/2 .text clip__11J3DUClipperCFPA4_Cf3Vecf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 J3DUClipper::clip(f32 const (*param_0)[4], Vec param_1, f32 param_2) const { - nofralloc -#include "asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_Cf3Vecf.s" +u32 J3DUClipper::clip(f32 const (*param_0)[4], Vec param_1, f32 param_2) const { + Vec vec1; + PSMTXMultVec(param_0, ¶m_1, &vec1); + if (-vec1.z < mNear - param_2) { + return 1; + } + + if (-vec1.z > mFar + param_2) { + return 1; + } + + if (vec1.x * _04.x + vec1.y * _04.y + vec1.z * _04.z > param_2) { + return 1; + } + + if (vec1.x * _10.x + vec1.y * _10.y + vec1.z * _10.z > param_2) { + return 1; + } + + if (vec1.x * _1C.x + vec1.y * _1C.y + vec1.z * _1C.z > param_2) { + return 1; + } + + if (vec1.x * _28.x + vec1.y * _28.y + vec1.z * _28.z > param_2) { + return 1; + } + + return 0; } -#pragma pop /* ############################################################################################## */ -/* 80455288-80455290 003888 0004+04 1/1 0/0 0/0 .sdata2 @991 */ -SECTION_SDATA2 static f32 lit_991[1 + 1 /* padding */] = { - 0.0f, - /* padding */ - 0.0f, -}; /* 80273A44-80273E08 26E384 03C4+00 0/0 3/3 2/2 .text clip__11J3DUClipperCFPA4_CfP3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 J3DUClipper::clip(f32 const (*param_0)[4], Vec* param_1, Vec* param_2) const { - nofralloc -#include "asm/JSystem/J3DU/J3DUClipper/clip__11J3DUClipperCFPA4_CfP3VecP3Vec.s" +u32 J3DUClipper::clip(f32 const (*param_1)[4], Vec* param_2, Vec* param_3) const { + s32 local_98[6]; + for (int i = 0; i < 6; i++) { + local_98[i] = 0; + } + Vec local_80[8]; + local_80[0].x = param_3->x; + local_80[0].y = param_3->y; + local_80[0].z = param_2->z; + local_80[1].x = param_3->x; + local_80[1].y = param_3->y; + local_80[1].z = param_3->z; + local_80[2].x = param_2->x; + local_80[2].y = param_3->y; + local_80[2].z = param_3->z; + local_80[3].x = param_2->x; + local_80[3].y = param_3->y; + local_80[3].z = param_2->z; + local_80[4].x = param_3->x; + local_80[4].y = param_2->y; + local_80[4].z = param_2->z; + local_80[5].x = param_3->x; + local_80[5].y = param_2->y; + local_80[5].z = param_3->z; + local_80[6].x = param_2->x; + local_80[6].y = param_2->y; + local_80[6].z = param_3->z; + local_80[7].x = param_2->x; + local_80[7].y = param_2->y; + local_80[7].z = param_2->z; + + for (u32 i = 0; i < 8; i++) { + Vec vec1; + PSMTXMultVec(param_1, local_80 + i, &vec1); + s32 r4 = 0; + if (-vec1.z < mNear) { + local_98[4]++; + r4 = 1; + } + + if (-vec1.z > mFar) { + local_98[5]++; + r4++; + } + + if (vec1.x * _04.x + vec1.y * _04.y + vec1.z * _04.z > 0.0f) { + local_98[0]++; + r4++; + } + + if (vec1.x * _10.x + vec1.y * _10.y + vec1.z * _10.z > 0.0f) { + local_98[1]++; + r4++; + } + + if (vec1.x * _1C.x + vec1.y * _1C.y + vec1.z * _1C.z > 0.0f) { + local_98[2]++; + r4++; + } + + if (vec1.x * _28.x + vec1.y * _28.y + vec1.z * _28.z > 0.0f) { + local_98[3]++; + r4++; + } + + if (r4 == 0) { + return 0; + } + } + + if (local_98[0] == 8) { + return 1; + } + if (local_98[2] == 8) { + return 1; + } + if (local_98[1] == 8) { + return 1; + } + if (local_98[3] == 8) { + return 1; + } + if (local_98[4] == 8) { + return 1; + } + if (local_98[5] == 8) { + return 1; + } + return 0; } -#pragma pop /* ############################################################################################## */ /* 8039A984-8039A99D 026FE4 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A984 = " J3DUClipper::mFovy = %f"; -#pragma pop +static char const* const stringBase_8039A984 = " J3DUClipper::mFovy = %f"; /* 8039A99D-8039A9B8 026FFD 001B+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A99D = " J3DUClipper::mAspect = %f"; -#pragma pop +static char const* const stringBase_8039A99D = " J3DUClipper::mAspect = %f"; /* 8039A9B8-8039A9D1 027018 0019+00 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A9B8 = " J3DUClipper::mNear = %f"; -#pragma pop +static char const* const stringBase_8039A9B8 = " J3DUClipper::mNear = %f"; /* 8039A9D1-8039A9F0 027031 0018+07 0/0 0/0 0/0 .rodata None */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8039A9D1 = " J3DUClipper::mFar = %f"; +static char const* const stringBase_8039A9D1 = " J3DUClipper::mFar = %f"; /* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8039A9E9 = "\0\0\0\0\0\0"; -#pragma pop +static char const* const pad_8039A9E9 = "\0\0\0\0\0\0"; /* 8039A984-8039A984 026FE4 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/libs/JSystem/JAudio2/JAISe.cpp b/libs/JSystem/JAudio2/JAISe.cpp index 40d46c30846..5b8dcf39cc2 100644 --- a/libs/JSystem/JAudio2/JAISe.cpp +++ b/libs/JSystem/JAudio2/JAISe.cpp @@ -253,7 +253,7 @@ SECTION_SDATA2 static f32 lit_736 = 1.0f / 100.0f; /* 8029F304-8029F4CC 299C44 01C8+00 0/0 1/1 0/0 .text * JAISeCategoryMgr_mixOut___5JAISeFbRC14JASSoundParams16JAISoundActivity */ -// isStopping inline +// Matches with literals #ifdef NONMATCHING void JAISe::JAISeCategoryMgr_mixOut_(bool param_0, JASSoundParams const& param_1, JAISoundActivity param_2) { mixOut_(param_1); @@ -302,7 +302,7 @@ asm void JAISe::JAISeCategoryMgr_mixOut_(bool param_0, JASSoundParams const& par #endif /* 8029F4CC-8029F5C8 299E0C 00FC+00 0/0 1/1 0/0 .text JAISeCategoryMgr_calc___5JAISeFv */ -// isStopping inline +// Matches with literals #ifdef NONMATCHING void JAISe::JAISeCategoryMgr_calc_() { prepare_(); diff --git a/libs/JSystem/JAudio2/JAISeMgr.cpp b/libs/JSystem/JAudio2/JAISeMgr.cpp index 538c8820d5e..1861b2baac1 100644 --- a/libs/JSystem/JAudio2/JAISeMgr.cpp +++ b/libs/JSystem/JAudio2/JAISeMgr.cpp @@ -182,41 +182,26 @@ extern "C" asm void func_8029FC34(void* _this) { #pragma pop /* ############################################################################################## */ -/* 80455788-8045578C 003D88 0004+00 1/1 0/0 0/0 .sdata2 @822 */ -SECTION_SDATA2 static f32 lit_822 = 1.0f / 100.0f; /* 8029FC88-8029FD40 29A5C8 00B8+00 1/1 0/0 0/0 .text * JAISeMgr_acceptsNewSe___16JAISeCategoryMgrCFUl */ -// isStopping issues -#ifdef NONMATCHING u32 JAISeCategoryMgr::JAISeMgr_acceptsNewSe_(u32 param_0) const { - s32 rv; - int maxSe = getMaxSe(); + s32 maxSe = getMaxSe(); if (maxSe <= 0) { return 1; } - int stopCount = 0; + s32 stopCount = 0; for (JSULink* link = mSeList.getFirst(); link != NULL; link = link->getNext()) { if (param_0 < link->getObject()->JAISeCategoryMgr_getProperPriority_()) { return 1; } - if (link->getObject()->isStopping() == 0) { + if (!link->getObject()->isStopping()) { stopCount++; } } return stopCount < maxSe; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm u32 JAISeCategoryMgr::JAISeMgr_acceptsNewSe_(u32 param_0) const { - nofralloc -#include "asm/JSystem/JAudio2/JAISeMgr/JAISeMgr_acceptsNewSe___16JAISeCategoryMgrCFUl.s" -} -#pragma pop -#endif /* 8029FD40-8029FDE0 29A680 00A0+00 1/1 0/0 0/0 .text sortByPriority___16JAISeCategoryMgrFv */ void JAISeCategoryMgr::sortByPriority_() { diff --git a/libs/JSystem/JAudio2/JAISound.cpp b/libs/JSystem/JAudio2/JAISound.cpp index c9848856259..5cfbd6d8079 100644 --- a/libs/JSystem/JAudio2/JAISound.cpp +++ b/libs/JSystem/JAudio2/JAISound.cpp @@ -300,15 +300,8 @@ void JAISound::increasePrepareCount_JAISound_() { } /* ############################################################################################## */ -/* 804557D0-804557D8 003DD0 0004+04 1/1 0/0 0/0 .sdata2 @887 */ -SECTION_SDATA2 static f32 lit_887[1 + 1 /* padding */] = { - 1.0f / 100.0f, - /* padding */ - 0.0f, -}; /* 802A26B8-802A29DC 29CFF8 0324+00 0/0 3/3 0/0 .text calc_JAISound___8JAISoundFv */ -#ifdef NONMATCHING bool JAISound::calc_JAISound_() { status_.state.flags.flag2 = 1; if (isStopping() && JAISound_tryDie_()) { @@ -349,16 +342,6 @@ bool JAISound::calc_JAISound_() { return playing; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm bool JAISound::calc_JAISound_() { - nofralloc -#include "asm/JSystem/JAudio2/JAISound/calc_JAISound___8JAISoundFv.s" -} -#pragma pop -#endif /* 802A29DC-802A2AB0 29D31C 00D4+00 0/0 2/2 0/0 .text initTrack_JAISound___8JAISoundFP8JASTrack */ void JAISound::initTrack_JAISound_(JASTrack* track) { diff --git a/libs/JSystem/JAudio2/JAISoundHandles.cpp b/libs/JSystem/JAudio2/JAISoundHandles.cpp index 80a65baecd4..f037471855a 100644 --- a/libs/JSystem/JAudio2/JAISoundHandles.cpp +++ b/libs/JSystem/JAudio2/JAISoundHandles.cpp @@ -4,38 +4,36 @@ // #include "JSystem/JAudio2/JAISoundHandles.h" -#include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // -extern "C" void getHandleSoundID__15JAISoundHandlesF10JAISoundID(); -extern "C" void getFreeHandle__15JAISoundHandlesFv(); - // // Declarations: // /* 802A2C98-802A2CF4 29D5D8 005C+00 0/0 1/1 0/0 .text * getHandleSoundID__15JAISoundHandlesF10JAISoundID */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JAISoundHandles::getHandleSoundID(JAISoundID param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundHandles/getHandleSoundID__15JAISoundHandlesF10JAISoundID.s" +JAISoundHandle* JAISoundHandles::getHandleSoundID(JAISoundID param_0) { + for (int i = 0; i < numHandles_; i++) { + if (mSoundHandle[i].isSoundAttached()) { + if (JAISoundID(mSoundHandle[i]->soundID) == param_0) { + return &mSoundHandle[i]; + } + } + } + return NULL; } -#pragma pop /* 802A2CF4-802A2D34 29D634 0040+00 0/0 2/2 0/0 .text getFreeHandle__15JAISoundHandlesFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISoundHandle* JAISoundHandles::getFreeHandle() { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundHandles/getFreeHandle__15JAISoundHandlesFv.s" +JAISoundHandle* JAISoundHandles::getFreeHandle() { + for (int i = 0; i < numHandles_; i++) { + if (!mSoundHandle[i].isSoundAttached()) { + return &mSoundHandle[i]; + } + } + return NULL; } -#pragma pop diff --git a/libs/JSystem/JAudio2/JAISoundInfo.cpp b/libs/JSystem/JAudio2/JAISoundInfo.cpp index 88f29b5f6e9..b155b40b167 100644 --- a/libs/JSystem/JAudio2/JAISoundInfo.cpp +++ b/libs/JSystem/JAudio2/JAISoundInfo.cpp @@ -4,59 +4,26 @@ // #include "JSystem/JAudio2/JAISoundInfo.h" -#include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // -extern "C" void __ct__12JAISoundInfoFb(); -extern "C" void __dt__12JAISoundInfoFv(); - // // External References: // -extern "C" void __dl__FPv(); -extern "C" extern u8 __OSReport_disable; - // // Declarations: // /* ############################################################################################## */ -/* 803C99A0-803C99C8 026AC0 0024+04 2/2 0/0 0/0 .data __vt__12JAISoundInfo */ -SECTION_DATA extern void* __vt__12JAISoundInfo[9 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)NULL, - (void*)__dt__12JAISoundInfoFv, - /* padding */ - NULL, -}; /* 802A2D34-802A2D50 29D674 001C+00 0/0 1/1 0/0 .text __ct__12JAISoundInfoFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISoundInfo::JAISoundInfo(bool param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundInfo/__ct__12JAISoundInfoFb.s" +JAISoundInfo::JAISoundInfo(bool param_0) : JASGlobalInstance(param_0) { } -#pragma pop /* 802A2D50-802A2DB4 29D690 0064+00 1/0 2/2 0/0 .text __dt__12JAISoundInfoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISoundInfo::~JAISoundInfo() { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundInfo/__dt__12JAISoundInfoFv.s" +JAISoundInfo::~JAISoundInfo() { } -#pragma pop diff --git a/libs/JSystem/JAudio2/JAISoundStarter.cpp b/libs/JSystem/JAudio2/JAISoundStarter.cpp index 21466c6c6be..ff57b6d9f92 100644 --- a/libs/JSystem/JAudio2/JAISoundStarter.cpp +++ b/libs/JSystem/JAudio2/JAISoundStarter.cpp @@ -4,6 +4,7 @@ // #include "JSystem/JAudio2/JAISoundStarter.h" +#include "JSystem/JAudio2/JAISoundHandles.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -20,7 +21,6 @@ extern "C" void func_802A2FEC(); // extern "C" void __dl__FPv(); -extern "C" extern u8 __OSReport_disable; // // Declarations: @@ -36,33 +36,43 @@ SECTION_DATA extern void* __vt__15JAISoundStarter[4] = { }; /* 802A2F6C-802A2F88 29D8AC 001C+00 0/0 1/1 0/0 .text __ct__15JAISoundStarterFb */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISoundStarter::JAISoundStarter(bool param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundStarter/__ct__15JAISoundStarterFb.s" +JAISoundStarter::JAISoundStarter(bool param_0) : JASGlobalInstance(param_0) { } -#pragma pop /* 802A2F88-802A2FEC 29D8C8 0064+00 1/0 7/7 0/0 .text __dt__15JAISoundStarterFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JAISoundStarter::~JAISoundStarter() { - nofralloc -#include "asm/JSystem/JAudio2/JAISoundStarter/__dt__15JAISoundStarterFv.s" +JAISoundStarter::~JAISoundStarter() { } -#pragma pop /* 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) { + if (JAISoundID((u32)(*param_1)->soundID) == param_0) { + (*param_1)->updateLifeTime(1); + if (param_2 != NULL) { + (*param_1)->setPos(*param_2); + } + return true; + } + } + + bool iVar2 = startLevelSound(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 void JAISoundStarter::startLevelSound(JAISoundID param_0, JAISoundHandle* param_1, +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/JASCalc.cpp b/libs/JSystem/JAudio2/JASCalc.cpp index e8bee7cc50e..007716d9eb9 100644 --- a/libs/JSystem/JAudio2/JASCalc.cpp +++ b/libs/JSystem/JAudio2/JASCalc.cpp @@ -6,99 +6,151 @@ #include "JSystem/JAudio2/JASCalc.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/os/OSCache.h" +#include "MSL_C/math.h" // // Types: // -struct JASCalc { - /* 8028F2E8 */ void imixcopy(s16 const*, s16 const*, s16*, u32); - /* 8028F318 */ void bcopyfast(void const*, void*, u32); - /* 8028F354 */ void bcopy(void const*, void*, u32); - /* 8028F454 */ void bzerofast(void*, u32); - /* 8028F480 */ void bzero(void*, u32); - /* 8028F578 */ void pow2(f32); - template - void clamp(/* ... */); - /* 8028F69C */ /* JASCalc::clamp */ - void func_8028F69C(void* _this, s32); - - static u8 const CUTOFF_TO_IIR_TABLE[1024]; -}; - // // Forward References: // -extern "C" void imixcopy__7JASCalcFPCsPCsPsUl(); -extern "C" void bcopyfast__7JASCalcFPCvPvUl(); -extern "C" void bcopy__7JASCalcFPCvPvUl(); -extern "C" void bzerofast__7JASCalcFPvUl(); -extern "C" void bzero__7JASCalcFPvUl(); -extern "C" void pow2__7JASCalcFf(); -extern "C" void func_8028F69C(void* _this, s32); -extern "C" u8 const CUTOFF_TO_IIR_TABLE__7JASCalc[1024]; - // // External References: // -extern "C" void DCZeroRange(); -extern "C" extern u32 __float_huge; - // // Declarations: // /* 8028F2E8-8028F318 289C28 0030+00 0/0 1/1 0/0 .text imixcopy__7JASCalcFPCsPCsPsUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCalc::imixcopy(s16 const* param_0, s16 const* param_1, s16* param_2, u32 param_3) { - nofralloc -#include "asm/JSystem/JAudio2/JASCalc/imixcopy__7JASCalcFPCsPCsPsUl.s" +void JASCalc::imixcopy(const s16 *s1, const s16 *s2, s16 *dst, u32 n) { + for (n; n != 0; n--) { + *dst++ = *((s16 *)s1)++; + *dst++ = *((s16 *)s2)++; + } } -#pragma pop /* 8028F318-8028F354 289C58 003C+00 1/1 0/0 0/0 .text bcopyfast__7JASCalcFPCvPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCalc::bcopyfast(void const* param_0, void* param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JASCalc/bcopyfast__7JASCalcFPCvPvUl.s" +void JASCalc::bcopyfast(const void *src, void *dest, u32 size) { + u32 copy1, copy2, copy3, copy4; + + u32 *usrc = (u32 *)src; + u32 *udest = (u32 *)dest; + + for (size = size / (4 * sizeof(u32)); size != 0; size--) { + copy1 = *((u32 *)usrc)++; + copy2 = *((u32 *)usrc)++; + copy3 = *((u32 *)usrc)++; + copy4 = *((u32 *)usrc)++; + + *udest++ = copy1; + *udest++ = copy2; + *udest++ = copy3; + *udest++ = copy4; + } } -#pragma pop /* 8028F354-8028F454 289C94 0100+00 0/0 3/3 0/0 .text bcopy__7JASCalcFPCvPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCalc::bcopy(void const* param_0, void* param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JAudio2/JASCalc/bcopy__7JASCalcFPCvPvUl.s" +void JASCalc::bcopy(const void *src, void *dest, u32 size) { + u32 *usrc; + u32 *udest; + + u8 *bsrc = (u8 *)src; + u8 *bdest = (u8 *)dest; + + u8 endbitsSrc = (reinterpret_cast(bsrc) & 0x03); + u8 enbitsDst = (reinterpret_cast(bdest) & 0x03); + if ((endbitsSrc) == (enbitsDst) && (size & 0x0f) == 0) { + bcopyfast(src, dest, size); + } + else if ((endbitsSrc == enbitsDst) && (size >= 16)) { + if (endbitsSrc != 0) { + for (endbitsSrc = 4 - endbitsSrc; endbitsSrc != 0; endbitsSrc--) { + *bdest++ = (u32)*bsrc++; + size--; + } + } + + udest = (u32 *)bdest; + usrc = (u32 *)bsrc; + + for (; size >= 4; size -= 4) { + *udest++ = *usrc++; + } + + if (size != 0) { + bdest = (u8 *)udest; + bsrc = (u8 *)usrc; + + for (; size != 0; size--) { + *bdest++ = (u32)*bsrc++; + } + } + } + else { + for (; size != 0; size--) { + *bdest++ = (u32)*bsrc++; + } + } } -#pragma pop /* 8028F454-8028F480 289D94 002C+00 1/1 0/0 0/0 .text bzerofast__7JASCalcFPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCalc::bzerofast(void* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASCalc/bzerofast__7JASCalcFPvUl.s" +void JASCalc::bzerofast(void *dest, u32 size) { + u32 *udest = (u32 *)dest; + + for (size = size / (4 * sizeof(u32)); size != 0; size--) { + *udest++ = 0; + *udest++ = 0; + *udest++ = 0; + *udest++ = 0; + } } -#pragma pop /* 8028F480-8028F578 289DC0 00F8+00 0/0 6/6 0/0 .text bzero__7JASCalcFPvUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCalc::bzero(void* param_0, u32 param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASCalc/bzero__7JASCalcFPvUl.s" +void JASCalc::bzero(void *dest, u32 size) { + u32 *udest; + u8 *bdest = (u8 *)dest; + if ((size & 0x1f) == 0 && (reinterpret_cast(dest) & 0x1f) == 0) { + DCZeroRange(dest, size); + return; + } + + u8 alignedbitsDst = reinterpret_cast(bdest) & 0x3; + + if ((size & 0xf) == 0 && alignedbitsDst == 0) { + bzerofast(dest, size); + return; + } + + if (size >= 16) { + if (alignedbitsDst != 0) { + for (alignedbitsDst = 4 - alignedbitsDst; alignedbitsDst != 0; alignedbitsDst--) { + *bdest++ = 0; + size--; + } + } + + udest = (u32 *)bdest; + for (; size >= 4; size -= 4) { + *udest++ = 0; + } + + if (size != 0) { + bdest = (u8 *)udest; + for (; size != 0; size--) { + *bdest++ = 0; + } + } + } + else { + for (; size != 0; size--) { + *bdest++ = 0; + } + } } -#pragma pop /* ############################################################################################## */ /* 8039ABB8-8039AFB8 027218 0400+00 0/0 4/4 0/0 .rodata CUTOFF_TO_IIR_TABLE__7JASCalc */ @@ -170,62 +222,63 @@ SECTION_RODATA u8 const JASCalc::CUTOFF_TO_IIR_TABLE[1024] = { }; COMPILER_STRIP_GATE(0x8039ABB8, &JASCalc::CUTOFF_TO_IIR_TABLE); -/* 8039AFB8-8039AFD0 027618 0018+00 1/1 0/0 0/0 .rodata __two_to_x$982 */ -SECTION_RODATA static f32 const __two_to_x[6] = { - 0.6931471824645996f, 0.240226611495018f, 0.055502913892269135f, - 0.009625022299587727f, 0.0013131053419783711f, 0.0001830080582294613f, -}; -COMPILER_STRIP_GATE(0x8039AFB8, &__two_to_x); - -/* 80455558-80455560 003B58 0004+04 1/1 0/0 0/0 .sdata2 @847 */ -SECTION_SDATA2 static f32 lit_847[1 + 1 /* padding */] = { - 0.5f, - /* padding */ - 0.0f, -}; - -/* 80455560-80455568 003B60 0008+00 1/1 0/0 0/0 .sdata2 @850 */ -SECTION_SDATA2 static f64 lit_850 = 4503601774854144.0 /* cast s32 to float */; - -/* 80455568-8045556C 003B68 0004+00 1/1 0/0 0/0 .sdata2 @969 */ -SECTION_SDATA2 static u8 lit_969[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 8045556C-80455574 003B6C 0008+00 1/1 0/0 0/0 .sdata2 scale_frac$980 */ -SECTION_SDATA2 static u8 scale_frac[8] = { - 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, -}; - -/* 80455574-8045557C 003B74 0008+00 1/1 0/0 0/0 .sdata2 two_to_frac$981 */ -SECTION_SDATA2 static u8 two_to_frac[8] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x35, 0x04, 0xF3, -}; - -/* 8045557C-80455580 003B7C 0004+00 1/1 0/0 0/0 .sdata2 @994 */ -SECTION_SDATA2 static f32 lit_994 = 0.75f; - -/* 80455580-80455588 003B80 0004+04 1/1 0/0 0/0 .sdata2 @995 */ -SECTION_SDATA2 static f32 lit_995[1 + 1 /* padding */] = { - 0.25f, - /* padding */ - 0.0f, -}; +// currently required because of missing functions +// JASCalc::hannWindow(short *, unsigned long) +// JASCalc::hammWindow(short *, unsigned long) +// JASCalc::fft(float *, float *, unsigned long, long) +f32 JASCalc::fake1() { return 0.5f; } +f32 JASCalc::fake2(long x) { return JASCalc::clamp(x); } +f32 JASCalc::fake3() { return 0.0f; } /* 8028F578-8028F69C 289EB8 0124+00 0/0 2/2 0/0 .text pow2__7JASCalcFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCalc::pow2(f32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASCalc/pow2__7JASCalcFf.s" +f32 JASCalc::pow2(f32 x) { + s32 frac_index = 0; + union { + s32 l; + f32 f; + } exponent; + exponent.l = (x >= 0.0f ? (s32)(x - 0.5f) : (s32)(x + 0.5f)); // Shift towards 0 and round + f32 pannedval = x - exponent.l; // strictly between 1.5 and -1.5 + + // 2^x will not fit in an IEEE-754 float + if(exponent.l > 128) { + return HUGE_VALF; + } + + // convert to exponent of IEEE-754 float + exponent.l += 127; + exponent.l <<= 23; + + // Calculate the mantissa + + static const f32 scale_frac[] = { 0.0f, 0.5f }; + // { 1 , 1/sqrt2 } + static const f32 two_to_frac[] = {1.0f, 0.70710677f}; + // coefficients of Taylor polynomial of 2^x - 1 at 0: + // 2^x - 1 = (log2) * x + (log2)^2 / 2! * x^2 + ... + static const f32 __two_to_x[] = { + 0.6931472f, 0.24022661, + 0.055502914f, 0.009625022f, + 0.0013131053f, 1.8300806E-4f + }; + + if (pannedval < 0.0f) { + frac_index += 1; + } + + f32 ret = pannedval + scale_frac[frac_index]; + + // Evaluate Taylor polynomial using Horner's method + ret = ret * (ret * (ret * (ret * (ret * (ret * __two_to_x[5] + __two_to_x[4]) + + __two_to_x[3]) + __two_to_x[2]) + __two_to_x[1]) + __two_to_x[0]); + // 2^n * (corrected mantissa) + ret = exponent.f * (0.75f * two_to_frac[frac_index] + ((0.25f + ret) * two_to_frac[frac_index])); + + return ret; } -#pragma pop /* 8028F69C-8028F6C4 289FDC 0028+00 0/0 4/4 0/0 .text clamp__7JASCalcFl */ +// Could not make clamp not inline #pragma push #pragma optimization_level 0 #pragma optimizewithasm off diff --git a/libs/JSystem/JAudio2/JASCallback.cpp b/libs/JSystem/JAudio2/JASCallback.cpp index 5e02d36dddd..1273bd6ca13 100644 --- a/libs/JSystem/JAudio2/JASCallback.cpp +++ b/libs/JSystem/JAudio2/JASCallback.cpp @@ -4,72 +4,61 @@ // #include "JSystem/JAudio2/JASCallback.h" -#include "dol2asm.h" +#include "JSystem/JAudio2/JASAudioReseter.h" #include "dolphin/types.h" // // Types: // -struct JASCallbackMgr { - /* 8028FFA8 */ void regist(s32 (*)(void*), void*); - /* 80290030 */ void reject(s32 (*)(void*), void*); - /* 802900C4 */ void callback(); -}; - // // Forward References: // -extern "C" void regist__14JASCallbackMgrFPFPv_lPv(); -extern "C" void reject__14JASCallbackMgrFPFPv_lPv(); -extern "C" void callback__14JASCallbackMgrFv(); - // // External References: // -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); - // // Declarations: // /* 8028FFA8-80290030 28A8E8 0088+00 0/0 2/2 0/0 .text regist__14JASCallbackMgrFPFPv_lPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCallbackMgr::regist(s32 (*param_0)(void*), void* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASCallback/regist__14JASCallbackMgrFPFPv_lPv.s" +bool JASCallbackMgr::regist(JASCallback* function, void* argument) +{ + JASCriticalSection criticalSection; + for (int i = 0; i < 0x20; i++) { + if (mCallbacks[i].mFunction == NULL) { + mCallbacks[i].mFunction = function; + mCallbacks[i].mArgument = argument; + return true; + } + } + return false; } -#pragma pop /* 80290030-802900C4 28A970 0094+00 0/0 1/1 0/0 .text reject__14JASCallbackMgrFPFPv_lPv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCallbackMgr::reject(s32 (*param_0)(void*), void* param_1) { - nofralloc -#include "asm/JSystem/JAudio2/JASCallback/reject__14JASCallbackMgrFPFPv_lPv.s" +int JASCallbackMgr::reject(JASCallback* function, void* argument) { + int rejectNum = 0; + JASCriticalSection criticalSection; + for (int i = 0; i < 0x20; i++) { + if (mCallbacks[i].mFunction == function && mCallbacks[i].mArgument == argument) { + mCallbacks[i].mFunction = NULL; + mCallbacks[i].mArgument = NULL; + rejectNum++; + } + } + return rejectNum; } -#pragma pop /* 802900C4-80290140 28AA04 007C+00 0/0 3/3 0/0 .text callback__14JASCallbackMgrFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASCallbackMgr::callback() { - nofralloc -#include "asm/JSystem/JAudio2/JASCallback/callback__14JASCallbackMgrFv.s" +void JASCallbackMgr::callback() { + for (int i = 0; i < 0x20; i++) { + if (mCallbacks[i].mFunction && mCallbacks[i].mFunction(mCallbacks[i].mArgument) < 0) { + mCallbacks[i].mFunction = NULL; + mCallbacks[i].mArgument = NULL; + } + } } -#pragma pop diff --git a/libs/JSystem/JAudio2/JASLfo.cpp b/libs/JSystem/JAudio2/JASLfo.cpp index 7d4efa96055..5636114ae52 100644 --- a/libs/JSystem/JAudio2/JASLfo.cpp +++ b/libs/JSystem/JAudio2/JASLfo.cpp @@ -4,129 +4,83 @@ // #include "JSystem/JAudio2/JASLfo.h" -#include "dol2asm.h" +#include "SSystem/SComponent/c_math.h" #include "dolphin/types.h" // // Types: // -struct JMath { - static u8 sincosTable_[65536]; -}; - -struct JASLfo { - /* 8029BD14 */ JASLfo(); - /* 8029BD44 */ void getValue() const; - /* 8029BDD8 */ void incCounter(f32); - /* 8029BE2C */ void resetCounter(); - - static u8 sFreeRunLfo[24]; -}; - // // Forward References: // -extern "C" void __ct__6JASLfoFv(); -extern "C" void getValue__6JASLfoCFv(); -extern "C" void incCounter__6JASLfoFf(); -extern "C" void resetCounter__6JASLfoFv(); -extern "C" void __sinit_JASLfo_cpp(); -extern "C" u8 sFreeRunLfo__6JASLfo[24]; - // // External References: // -extern "C" u8 sincosTable___5JMath[65536]; - // // Declarations: // /* ############################################################################################## */ -/* 804556E0-804556E4 003CE0 0004+00 3/3 0/0 0/0 .sdata2 @341 */ -SECTION_SDATA2 static u8 lit_341[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 804556E4-804556E8 003CE4 0004+00 2/2 0/0 0/0 .sdata2 @342 */ -SECTION_SDATA2 static f32 lit_342 = 1.0f; /* 8029BD14-8029BD44 296654 0030+00 1/1 1/1 0/0 .text __ct__6JASLfoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JASLfo::JASLfo() { - nofralloc -#include "asm/JSystem/JAudio2/JASLfo/__ct__6JASLfoFv.s" +JASLfo::JASLfo() { + field_0x0 = 0; + field_0x4 = 1; + field_0x8 = 0.0f; + field_0xC = 0.0f; + field_0x10 = 1.0f; + field_0x14 = 0; + field_0x16 = 0; } -#pragma pop /* ############################################################################################## */ -/* 804556E8-804556EC 003CE8 0004+00 1/1 0/0 0/0 .sdata2 @363 */ -SECTION_SDATA2 static f32 lit_363 = -8192.0f; - -/* 804556EC-804556F0 003CEC 0004+00 1/1 0/0 0/0 .sdata2 @364 */ -SECTION_SDATA2 static f32 lit_364 = 8192.0f; /* 8029BD44-8029BDD8 296684 0094+00 0/0 3/3 0/0 .text getValue__6JASLfoCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASLfo::getValue() const { - nofralloc -#include "asm/JSystem/JAudio2/JASLfo/getValue__6JASLfoCFv.s" +f32 JASLfo::getValue() const { + if (field_0x16) { + return 0.0f; + } + + if (field_0xC == 0.0f) { + return 0.0f; + } + + return field_0xC * JMASinLap(field_0x8); } -#pragma pop /* ############################################################################################## */ -/* 804556F0-804556F8 003CF0 0004+04 1/1 0/0 0/0 .sdata2 @376 */ -SECTION_SDATA2 static f32 lit_376[1 + 1 /* padding */] = { - 1.0f / 72.0f, - /* padding */ - 0.0f, -}; /* 8029BDD8-8029BE2C 296718 0054+00 0/0 2/2 0/0 .text incCounter__6JASLfoFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASLfo::incCounter(f32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASLfo/incCounter__6JASLfoFf.s" +void JASLfo::incCounter(f32 param_0) { + if (field_0x16) { + field_0x16--; + return; + } + + field_0x8 += param_0 * ((1.0f / 72.0f) * field_0x10); + if (field_0x8 >= 1.0f) { + field_0x8 -= 1.0f; + } } -#pragma pop /* ############################################################################################## */ /* 80431C40-80431C58 05E960 0018+00 2/2 1/1 0/0 .bss sFreeRunLfo__6JASLfo */ -u8 JASLfo::sFreeRunLfo[24]; +JASLfo JASLfo::sFreeRunLfo; /* 8029BE2C-8029BE6C 29676C 0040+00 0/0 1/1 0/0 .text resetCounter__6JASLfoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASLfo::resetCounter() { - nofralloc -#include "asm/JSystem/JAudio2/JASLfo/resetCounter__6JASLfoFv.s" +void JASLfo::resetCounter() { + field_0x16 = field_0x14; + switch (field_0x4) { + case 0: + field_0x8 = sFreeRunLfo.field_0x8; + break; + case 1: + field_0x8 = 0.0f; + break; + } } -#pragma pop /* 8029BE6C-8029BE94 2967AC 0028+00 0/0 1/0 0/0 .text __sinit_JASLfo_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_JASLfo_cpp() { - nofralloc -#include "asm/JSystem/JAudio2/JASLfo/__sinit_JASLfo_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x8029BE6C, __sinit_JASLfo_cpp); -#pragma pop diff --git a/libs/JSystem/JAudio2/JASOscillator.cpp b/libs/JSystem/JAudio2/JASOscillator.cpp index 9d2f224a1c4..dbd7f9b4414 100644 --- a/libs/JSystem/JAudio2/JASOscillator.cpp +++ b/libs/JSystem/JAudio2/JASOscillator.cpp @@ -4,208 +4,215 @@ // #include "JSystem/JAudio2/JASOscillator.h" -#include "dol2asm.h" #include "dolphin/types.h" // // Types: // -struct JASOscillator { - struct Data {}; - - /* 8029BE94 */ JASOscillator(); - /* 8029BEC4 */ void initStart(JASOscillator::Data const*); - /* 8029BF68 */ void incCounter(f32); - /* 8029BFC8 */ void getValue() const; - /* 8029BFE4 */ void release(); - /* 8029C0E0 */ void update(); - /* 8029C2C0 */ void updateCurrentValue(f32); - - static u8 const sCurveTableLinear[68]; - static u8 const sCurveTableSampleCell[68]; - static u8 const sCurveTableSqRoot[68]; - static u8 const sCurveTableSquare[68]; -}; - // // Forward References: // -extern "C" void __ct__13JASOscillatorFv(); -extern "C" void initStart__13JASOscillatorFPCQ213JASOscillator4Data(); -extern "C" void incCounter__13JASOscillatorFf(); -extern "C" void getValue__13JASOscillatorCFv(); -extern "C" void release__13JASOscillatorFv(); -extern "C" void update__13JASOscillatorFv(); -extern "C" void updateCurrentValue__13JASOscillatorFf(); -extern "C" u8 const sCurveTableLinear__13JASOscillator[68]; -extern "C" u8 const sCurveTableSampleCell__13JASOscillator[68]; -extern "C" u8 const sCurveTableSqRoot__13JASOscillator[68]; -extern "C" u8 const sCurveTableSquare__13JASOscillator[68]; - // // External References: // -extern "C" void __cvt_fp2unsigned(); - // // Declarations: // /* ############################################################################################## */ -/* 804556F8-804556FC 003CF8 0004+00 3/3 0/0 0/0 .sdata2 @77 */ -SECTION_SDATA2 static u8 lit_77[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; /* 8029BE94-8029BEC4 2967D4 0030+00 0/0 1/1 0/0 .text __ct__13JASOscillatorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JASOscillator::JASOscillator() { - nofralloc -#include "asm/JSystem/JAudio2/JASOscillator/__ct__13JASOscillatorFv.s" +JASOscillator::JASOscillator() { + mData = NULL; + _14 = 0; + _16 = 0; + _18 = 0; + _1C = 0; + _0C = 0.0f; + _10 = 0.0f; + _08 = 0.0f; + _04 = 0.0f; } -#pragma pop /* ############################################################################################## */ -/* 804556FC-80455700 003CFC 0004+00 2/2 0/0 0/0 .sdata2 @87 */ -SECTION_SDATA2 static f32 lit_87 = 1.0f; - -/* 80455700-80455708 003D00 0004+04 3/3 0/0 0/0 .sdata2 @88 */ -SECTION_SDATA2 static f32 lit_88[1 + 1 /* padding */] = { - 32768.0f, - /* padding */ - 0.0f, -}; - -/* 80455708-80455710 003D08 0008+00 3/3 0/0 0/0 .sdata2 @91 */ -SECTION_SDATA2 static f64 lit_91 = 4503601774854144.0 /* cast s32 to float */; /* 8029BEC4-8029BF68 296804 00A4+00 0/0 1/1 0/0 .text * initStart__13JASOscillatorFPCQ213JASOscillator4Data */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASOscillator::initStart(JASOscillator::Data const* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASOscillator/initStart__13JASOscillatorFPCQ213JASOscillator4Data.s" +void JASOscillator::initStart(JASOscillator::Data const* data) { + mData = data; + _04 = 0.0f; + _08 = 0.0f; + _0C = 0.0f; + _14 = 0; + _16 = 0; + if (!data) { + _1C = 0; + return; + } + + if (mData->_08 == NULL) { + _1C = 2; + _08 = 1.0f; + return; + } + + _10 = mData->_08[2] / 32768.0f; + _18 = mData->_08[0]; + _1C = 1; } -#pragma pop /* 8029BF68-8029BFC8 2968A8 0060+00 0/0 1/1 0/0 .text incCounter__13JASOscillatorFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASOscillator::incCounter(f32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASOscillator/incCounter__13JASOscillatorFf.s" +void JASOscillator::incCounter(f32 param_0) { + const short* v1; + switch (_1C) { + case 0: + case 2: + return; + case 1: + break; + } + _04 += param_0 * mData->_04; + update(); } -#pragma pop /* 8029BFC8-8029BFE4 296908 001C+00 0/0 1/1 0/0 .text getValue__13JASOscillatorCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASOscillator::getValue() const { - nofralloc -#include "asm/JSystem/JAudio2/JASOscillator/getValue__13JASOscillatorCFv.s" +f32 JASOscillator::getValue() const { + return _08 * mData->_10 + mData->_14; } -#pragma pop /* 8029BFE4-8029C0E0 296924 00FC+00 0/0 1/1 0/0 .text release__13JASOscillatorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASOscillator::release() { - nofralloc -#include "asm/JSystem/JAudio2/JASOscillator/release__13JASOscillatorFv.s" +void JASOscillator::release() { + if (mData->_0C == NULL && _16 == 0) { + stop(); + return; + } + + if (_16 != 0) { + _04 = 0.0f; + _0C = _08; + _10 = 0.0f; + _14 = 0; + _18 = (_16 >> 14) & 3; + _1C = 4; + update(); + return; + } + + if (mData->_08 != mData->_0C) { + _04 = 0.0f; + _0C = _08; + _10 = mData->_0C[2] / 32768.0f; + _14 = 0; + _18 = mData->_0C[0]; + } + + _1C = 3; + update(); } -#pragma pop /* 8029C0E0-8029C2C0 296A20 01E0+00 2/2 1/1 0/0 .text update__13JASOscillatorFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASOscillator::update() { - nofralloc -#include "asm/JSystem/JAudio2/JASOscillator/update__13JASOscillatorFv.s" +void JASOscillator::update() { + if (_1C == 4) { + s16 x = _16 & 0x3FFF; + if (_04 < x) { + updateCurrentValue(x); + } else { + _08 = _10; + _1C = 0; + } + return; + } + + if (_1C == 2) return; + + short* psVar1; + if (_1C == 1) { + psVar1 = mData->_08; + } else { + psVar1 = mData->_0C; + } + + if (psVar1 == NULL) { + _1C = 2; + return; + } + + while (_04 >= psVar1[_14 * 3 + 1]) { + _04 -= psVar1[_14 * 3 + 1]; + _08 = _10; + _14++; + _0C = _08; + s16* ps = &psVar1[_14 * 3]; + switch(ps[0]) { + case 0xf: + _1C = 0; + return; + case 0xe: + _1C = 2; + return; + case 0xd: + _14 = ps[2]; + break; + default: + _18 = ps[0]; + _10 = ps[2] / 32768.0f; + break; + } + } + + updateCurrentValue(psVar1[_14 * 3 + 1]); } -#pragma pop /* ############################################################################################## */ /* 8039B1D0-8039B214 027830 0044+00 1/0 0/0 0/0 .rodata sCurveTableLinear__13JASOscillator */ -SECTION_RODATA u8 const JASOscillator::sCurveTableLinear[68] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x70, 0x00, 0x00, 0x3F, 0x60, 0x00, 0x00, 0x3F, 0x50, - 0x00, 0x00, 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x30, 0x00, 0x00, 0x3F, 0x20, 0x00, 0x00, - 0x3F, 0x10, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0xE0, 0x00, 0x00, 0x3E, 0xC0, - 0x00, 0x00, 0x3E, 0xA0, 0x00, 0x00, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0x40, 0x00, 0x00, - 0x3E, 0x00, 0x00, 0x00, 0x3D, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +f32 const JASOscillator::sCurveTableLinear[17] = { + 1.0, 0.9375, 0.875, 0.8125, 0.75, 0.6875, 0.625, 0.5625, 0.5, + 0.4375, 0.375, 0.3125, 0.25, 0.1875, 0.125, 0.0625, 0.0, }; -COMPILER_STRIP_GATE(0x8039B1D0, &JASOscillator::sCurveTableLinear); /* 8039B214-8039B258 027874 0044+00 1/0 0/0 0/0 .rodata sCurveTableSampleCell__13JASOscillator */ -SECTION_RODATA u8 const JASOscillator::sCurveTableSampleCell[68] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x78, 0x71, 0xF8, 0x3F, 0x48, 0x01, 0x93, 0x3F, 0x0B, - 0xD9, 0x12, 0x3E, 0xCC, 0xB1, 0x89, 0x3E, 0x94, 0x21, 0x18, 0x3E, 0x59, 0x31, 0xCA, - 0x3E, 0x21, 0x41, 0x63, 0x3D, 0xE6, 0xA1, 0xA5, 0x3D, 0xA7, 0x81, 0x4E, 0x3D, 0x6D, - 0x81, 0xE4, 0x3D, 0x32, 0xC1, 0x6E, 0x3C, 0xFC, 0x81, 0xFC, 0x3C, 0xC2, 0x41, 0x8E, - 0x3C, 0x7A, 0x02, 0x25, 0x3C, 0x16, 0x01, 0x29, 0x00, 0x00, 0x00, 0x00, +f32 const JASOscillator::sCurveTableSampleCell[17] = { + 1.0, 0.9704890251159668, 0.7812740206718445, 0.5462809801101685, 0.39979198575019836, + 0.28931498527526855, 0.21210399270057678, 0.15747599303722382, 0.1126129999756813, 0.08178959786891937, + 0.057985201478004456, 0.04364150017499924, 0.03082370012998581, 0.023712899535894394, 0.015259300358593464, + 0.00915555004030466, 0.0 }; -COMPILER_STRIP_GATE(0x8039B214, &JASOscillator::sCurveTableSampleCell); /* 8039B258-8039B29C 0278B8 0044+00 1/0 0/0 0/0 .rodata sCurveTableSqRoot__13JASOscillator */ -SECTION_RODATA u8 const JASOscillator::sCurveTableSqRoot[68] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x60, 0xFF, 0xFC, 0x3F, 0x44, 0x00, 0x00, 0x3F, 0x28, - 0xFF, 0xFC, 0x3F, 0x10, 0x00, 0x00, 0x3E, 0xF1, 0xFF, 0xF8, 0x3E, 0xC8, 0x00, 0x00, - 0x3E, 0xA1, 0xFF, 0xF8, 0x3E, 0x80, 0x00, 0x00, 0x3E, 0x43, 0xFF, 0xEF, 0x3E, 0x10, - 0x00, 0x00, 0x3D, 0xC7, 0xFF, 0xF9, 0x3D, 0x80, 0x00, 0x00, 0x3D, 0x0F, 0xFF, 0xF3, - 0x3C, 0x80, 0x00, 0x00, 0x3B, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +f32 const JASOscillator::sCurveTableSqRoot[17] = { + 1.0, 0.8789060115814209, 0.765625, 0.6601560115814209, 0.5625, 0.4726560115814209, + 0.390625, 0.3164060115814209, 0.25, 0.1914059966802597, 0.140625, 0.09765619784593582, + 0.0625, 0.03515620157122612, 0.015625, 0.00390625, 0.0 }; -COMPILER_STRIP_GATE(0x8039B258, &JASOscillator::sCurveTableSqRoot); /* 8039B29C-8039B2E0 0278FC 0044+00 1/0 0/0 0/0 .rodata sCurveTableSquare__13JASOscillator */ -SECTION_RODATA u8 const JASOscillator::sCurveTableSquare[68] = { - 0x3F, 0x80, 0x00, 0x00, 0x3F, 0x77, 0xDE, 0xF8, 0x3F, 0x6F, 0x77, 0x4B, 0x3F, 0x66, - 0xC1, 0x5D, 0x3F, 0x5D, 0xB3, 0xD0, 0x3F, 0x54, 0x43, 0x91, 0x3F, 0x4A, 0x62, 0xBB, - 0x3F, 0x40, 0x00, 0x00, 0x3F, 0x35, 0x04, 0xF7, 0x3F, 0x29, 0x54, 0x00, 0x3F, 0x1C, - 0xC4, 0x69, 0x3F, 0x0F, 0x1B, 0xBD, 0x3F, 0x00, 0x00, 0x00, 0x3E, 0xDD, 0xB3, 0xE1, - 0x3E, 0xB5, 0x04, 0xE6, 0x3E, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +f32 const JASOscillator::sCurveTableSquare[17] = { + 1.0, 0.9682459831237793, 0.9354140162467957, 0.9013879895210266, 0.8660249710083008, + 0.8291559815406799, 0.790569007396698, 0.75, 0.7071070075035095, 0.66143798828125, + 0.6123719811439514, 0.55901700258255, 0.5, 0.433012992143631, 0.35355299711227417, 0.25, 0.0, }; -COMPILER_STRIP_GATE(0x8039B29C, &JASOscillator::sCurveTableSquare); /* 803C78A8-803C78B8 -00001 0010+00 1/1 0/0 0/0 .data table_list$151 */ -SECTION_DATA static void* table_list[4] = { - (void*)&JASOscillator::sCurveTableLinear, - (void*)&JASOscillator::sCurveTableSquare, - (void*)&JASOscillator::sCurveTableSqRoot, - (void*)&JASOscillator::sCurveTableSampleCell, +static f32* table_list[4] = { + (f32*)JASOscillator::sCurveTableLinear, + (f32*)JASOscillator::sCurveTableSquare, + (f32*)JASOscillator::sCurveTableSqRoot, + (f32*)JASOscillator::sCurveTableSampleCell, }; -/* 80455710-80455718 003D10 0004+04 1/1 0/0 0/0 .sdata2 @154 */ -SECTION_SDATA2 static f32 lit_154[1 + 1 /* padding */] = { - 16.0f, - /* padding */ - 0.0f, -}; - -/* 80455718-80455720 003D18 0008+00 1/1 0/0 0/0 .sdata2 @156 */ -SECTION_SDATA2 static f64 lit_156 = 4503599627370496.0 /* cast u32 to float */; - /* 8029C2C0-8029C388 296C00 00C8+00 1/1 0/0 0/0 .text updateCurrentValue__13JASOscillatorFf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JASOscillator::updateCurrentValue(f32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/JASOscillator/updateCurrentValue__13JASOscillatorFf.s" +void JASOscillator::updateCurrentValue(f32 param_0) { + f32* table = table_list[_18]; + f32 fVar1 = 16.0f * (_04 / param_0); + u32 index = (u32) fVar1; + f32 fVar3 = (fVar1 - index); + f32 fVar2 = (1.0f - fVar3) * table[index]; + f32 fVar4 = fVar2 + fVar3 * table[index + 1]; + _08 = _0C * fVar4 + _10 * (1.0f - fVar4); } -#pragma pop diff --git a/libs/JSystem/JAudio2/Makefile b/libs/JSystem/JAudio2/Makefile index 44416c8b620..7214a07a519 100644 --- a/libs/JSystem/JAudio2/Makefile +++ b/libs/JSystem/JAudio2/Makefile @@ -150,6 +150,13 @@ 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) + +$(BUILD_DIR)/libs/JSystem/JAudio2/dspproc.o: CFLAGS := $(DSP_CFLAGS) +$(BUILD_DIR)/libs/JSystem/JAudio2/osdsp.o: CFLAGS := $(DSP_CFLAGS) +$(BUILD_DIR)/libs/JSystem/JAudio2/osdsp_task.o: CFLAGS := $(DSP_CFLAGS) +$(BUILD_DIR)/libs/JSystem/JAudio2/dsptask.o: CFLAGS := $(DSP_CFLAGS) + $(BUILD_DIR)/libJAudio2.a: $(LIBJAUDIO2_A_O_FILES) @echo linking... $(BUILD_DIR)/libJAudio2.a @echo $(LIBJAUDIO2_A_O_FILES) > build/LIBJAUDIO2_A_ofiles diff --git a/libs/JSystem/JAudio2/dspproc.cpp b/libs/JSystem/JAudio2/dspproc.cpp index 03ff047c847..ee31c95b5e3 100644 --- a/libs/JSystem/JAudio2/dspproc.cpp +++ b/libs/JSystem/JAudio2/dspproc.cpp @@ -4,54 +4,28 @@ // #include "JSystem/JAudio2/dspproc.h" -#include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // -extern "C" void DSPReleaseHalt2__FUl(); -extern "C" static void setup_callback__FUs(); -extern "C" void DsetupTable__FUlUlUlUlUl(); -extern "C" void DsetMixerLevel__Ff(); -extern "C" void DsyncFrame2ch__FUlUlUl(); -extern "C" void DsyncFrame4ch__FUlUlUlUlUl(); - // // External References: // -extern "C" void DSP_CreateMap2__FUl(); -extern "C" void DSPSendCommands2__FPUlUlPFUs_v(); - // // Declarations: // -//Different compiler version for this TU? Something to note is that JAudio 1 is 32 byte aligned like this file - -#pragma function_align 32 - /* 8029E4E0-8029E528 298E20 0048+00 0/0 1/1 0/0 .text DSPReleaseHalt2__FUl */ -#ifdef NONMATCHING void DSPReleaseHalt2(u32 msg) { u32 msgs[2]; - msgs[0] = (msg<<16) | DSP_CreateMap2(msg); + u16 dspMap = DSP_CreateMap2(msg); + msgs[0] = (msg<<16) | dspMap; DSPSendCommands2(msgs,0,NULL); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DSPReleaseHalt2(u32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/dspproc/DSPReleaseHalt2__FUl.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804512F8-80451300 0007F8 0004+04 2/2 0/0 0/0 .sbss flag */ @@ -63,82 +37,49 @@ static void setup_callback(u16 param_0) { } /* 8029E560-8029E5C4 298EA0 0064+00 0/0 1/1 0/0 .text DsetupTable__FUlUlUlUlUl */ -#ifdef NONMATCHING void DsetupTable(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { - u32 r8 = 1; - void(*callback_func)(u16) = setup_callback; - u32 table[5] = {param_0&0xFFFF,param_1,param_2,param_3,param_4}; - flag = r8; - DSPSendCommands2(table,5,callback_func); + u32 table[5]; + table[0] = (param_0 & 0xFFFF) | 0x81000000; + table[1] = param_1; + table[2] = param_2; + table[3] = param_3; + table[4] = param_4; + flag = 1; + DSPSendCommands2(table,5,setup_callback); while (true) { if (flag==0) { return; } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DsetupTable(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { - nofralloc -#include "asm/JSystem/JAudio2/dspproc/DsetupTable__FUlUlUlUlUl.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 804507C8-804507D0 000248 0002+06 3/3 0/0 0/0 .sdata DSP_MIXERLEVEL */ static u16 DSP_MIXERLEVEL = 0x4000; /* 8029E5E0-8029E604 298F20 0024+00 0/0 1/1 0/0 .text DsetMixerLevel__Ff */ -#ifdef NONMATCHING void DsetMixerLevel(f32 level) { DSP_MIXERLEVEL = 4096.0f*level; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 - -/* 80455770-80455778 003D70 0004+04 1/1 0/0 0/0 .sdata2 @333 */ -SECTION_SDATA2 static f32 lit_333[1 + 1 /* padding */] = { - 4096.0f, - /* padding */ - 0.0f, -}; - -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DsetMixerLevel(f32 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/dspproc/DsetMixerLevel__Ff.s" -} -#pragma pop -#endif /* 8029E620-8029E674 298F60 0054+00 0/0 1/1 0/0 .text DsyncFrame2ch__FUlUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DsyncFrame2ch(u32 param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JAudio2/dspproc/DsyncFrame2ch__FUlUlUl.s" +void DsyncFrame2ch(u32 param_0, u32 param_1, u32 param_2) { + u32 msgs[5]; + msgs[0] = (param_0 & 0xff) << 0x10 | 0x82000000 | DSP_MIXERLEVEL; + msgs[1] = param_1; + msgs[2] = param_2; + msgs[3] = 0; + msgs[4] = 0; + DSPSendCommands2(msgs, 5, 0); } -#pragma pop /* 8029E680-8029E6D0 298FC0 0050+00 0/0 1/1 0/0 .text DsyncFrame4ch__FUlUlUlUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DsyncFrame4ch(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { - nofralloc -#include "asm/JSystem/JAudio2/dspproc/DsyncFrame4ch__FUlUlUlUlUl.s" +void DsyncFrame4ch(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { + u32 msgs[5]; + msgs[0] = (param_0 & 0xff) << 0x10 | 0x82000000 | DSP_MIXERLEVEL; + msgs[1] = param_1; + msgs[2] = param_2; + msgs[3] = param_3; + msgs[4] = param_4; + DSPSendCommands2(msgs, 5, 0); } -#pragma pop diff --git a/libs/JSystem/JAudio2/dsptask.cpp b/libs/JSystem/JAudio2/dsptask.cpp index 219c57a5c2c..5d0aa92f7cc 100644 --- a/libs/JSystem/JAudio2/dsptask.cpp +++ b/libs/JSystem/JAudio2/dsptask.cpp @@ -4,8 +4,11 @@ // #include "JSystem/JAudio2/dsptask.h" +#include "JSystem/JAudio2/osdsp.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/dsp/dsp.h" +#include "dolphin/os/OS.h" // // Types: @@ -24,6 +27,10 @@ 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)); + // // External References: // @@ -31,17 +38,11 @@ extern "C" void DspFinishWork__FUs(); extern "C" void DSPAddPriorTask__FP15STRUCT_DSP_TASK(); extern "C" void Dsp_Running_Check__Fv(); extern "C" void Dsp_Running_Start__Fv(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void DSPCheckMailToDSP(); -extern "C" void DSPCheckMailFromDSP(); -extern "C" void DSPReadMailFromDSP(); -extern "C" void DSPSendMailToDSP(); -extern "C" void DSPAssertInt(); -extern "C" void DSPInit(); extern "C" void _savegpr_26(); extern "C" void _restgpr_26(); +extern int Dsp_Running_Check(); + // // Declarations: // @@ -565,32 +566,90 @@ static u8 audio_task[80 + 16 /* padding */]; static u8 AUDIO_YIELD_BUFFER[8192]; /* 8029E720-8029E7CC 299060 00AC+00 0/0 1/1 0/0 .text DspBoot__FPFPv_v */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DspBoot(void (*param_0)(void*)) { - nofralloc -#include "asm/JSystem/JAudio2/dsptask/DspBoot__FPFPv_v.s" +void DspBoot(void (*param_0)(void*)) { + DspInitWork(); + ((DSPTaskInfo*)audio_task)->priority = 0xf0; + ((DSPTaskInfo*)audio_task)->iram_mmem_addr = (u16*)(jdsp + 0x80000000); + ((DSPTaskInfo*)audio_task)->iram_length = sizeof(jdsp); + ((DSPTaskInfo*)audio_task)->iram_addr = 0; + ((DSPTaskInfo*)audio_task)->dram_mmem_addr = (u16*)(AUDIO_YIELD_BUFFER + 0x80000000); + ((DSPTaskInfo*)audio_task)->dram_length = sizeof(AUDIO_YIELD_BUFFER); + ((DSPTaskInfo*)audio_task)->dram_addr = 0; + ((DSPTaskInfo*)audio_task)->dsp_init_vector = 0; + ((DSPTaskInfo*)audio_task)->dsp_resume_vector = 0x10; + ((DSPTaskInfo*)audio_task)->init_cb = DspHandShake; + ((DSPTaskInfo*)audio_task)->res_cb = NULL; + ((DSPTaskInfo*)audio_task)->done_cb = NULL; + ((DSPTaskInfo*)audio_task)->req_cb = param_0; + DSPInit(); + DSPAddPriorTask((STRUCT_DSP_TASK*)audio_task); } -#pragma pop /* 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); + + BOOL status = OSDisableInterrupts(); + if (DSPCheckMailToDSP()) { + OSRestoreInterrupts(status); + return -1; + } + + DSPSendMailToDSP(param_1); + DSPAssertInt(); + while(DSPCheckMailToDSP() != 0); + + if (param_1 == 0) { + param_1 = 1; + } + + int startWorkStatus; + if (param_2 != NULL) { + startWorkStatus = DspStartWork(param_0[0], param_2); + } + + for (int i = 0; i < param_1; i++) { + DSPSendMailToDSP(param_0[i]); + while (DSPCheckMailToDSP() != 0); + } + + OSRestoreInterrupts(status); + return startWorkStatus; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off #pragma function_align 32 -asm void DSPSendCommands2(u32* param_0, u32 param_1, void (*param_2)(u16)) { +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 */ -static u8 taskwork[128]; + +typedef struct { + u16 field_0x0; + u16 field_0x2; + void (*field_0x4)(u16); +} TaskWorkStruct; + +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 @@ -600,32 +659,36 @@ static asm void DspInitWork() { #include "asm/JSystem/JAudio2/dsptask/DspInitWork__Fv.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80451300-80451304 000800 0004+00 2/2 0/0 0/0 .sbss taskreadp */ -static u8 taskreadp[4]; +static u32 taskreadp; /* 80451304-80451308 000804 0004+00 1/1 0/0 0/0 .sbss taskwritep */ -static u8 taskwritep[4]; +static u32 taskwritep; /* 8029E920-8029E968 299260 0048+00 1/1 0/0 0/0 .text DspStartWork__FUlPFUs_v */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -static asm void DspStartWork(u32 param_0, void (*param_1)(u16)) { - nofralloc -#include "asm/JSystem/JAudio2/dsptask/DspStartWork__FUlPFUs_v.s" +static int DspStartWork(u32 param_0, void (*param_1)(u16)) { + u32 taskWritePrev = taskwritep; + u32 writeVal = ((taskWritePrev + 1) & 0xf); + if (writeVal == taskreadp) { + return 0; + } + + taskwritep = writeVal; + taskwork[taskWritePrev].field_0x0 = param_0 >> 0x10; + taskwork[taskWritePrev].field_0x4 = param_1; + return taskWritePrev + 1; } -#pragma pop /* 8029E980-8029E9E8 2992C0 0068+00 0/0 1/1 0/0 .text DspFinishWork__FUs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DspFinishWork(u16 param_0) { - nofralloc -#include "asm/JSystem/JAudio2/dsptask/DspFinishWork__FUs.s" +void DspFinishWork(u16 param_0) { + if (param_0 == taskwork[taskreadp].field_0x0) { + if (taskwork[taskreadp].field_0x4) { + taskwork[taskreadp].field_0x4(taskreadp); + } + + taskreadp = (taskreadp + 1) & 0xf; + } } -#pragma pop diff --git a/libs/JSystem/JAudio2/osdsp.cpp b/libs/JSystem/JAudio2/osdsp.cpp index 8b76ebf922c..b45f225f162 100644 --- a/libs/JSystem/JAudio2/osdsp.cpp +++ b/libs/JSystem/JAudio2/osdsp.cpp @@ -4,133 +4,61 @@ // #include "JSystem/JAudio2/osdsp.h" -#include "dol2asm.h" +#include "JSystem/JAudio2/osdsp_task.h" #include "dolphin/types.h" +#include "dolphin/os/OS.h" +#include "dolphin/dsp/dsp.h" +#include "dolphin/dsp/dsp_task.h" // // Types: // -struct STRUCT_DSP_TASK {}; +// Unclear why this is a different type than DSPTaskInfo +struct STRUCT_DSP_TASK { + DSPTaskInfo info; +}; // // Forward References: // -extern "C" void DSPAddTask(); -extern "C" void DSPAddPriorTask__FP15STRUCT_DSP_TASK(); - // // External References: // -extern "C" void OSReport(); -extern "C" void OSDisableInterrupts(); -extern "C" void OSRestoreInterrupts(); -extern "C" void __DSP_boot_task(); -extern "C" void __DSP_insert_task(); -extern "C" extern u8 DSP_prior_task[4]; - // // Declarations: // /* ############################################################################################## */ -/* 8039B8B8-8039B8D4 027F18 001A+02 1/1 0/0 0/0 .rodata @81 */ -SECTION_RODATA static u8 const lit_81[26 + 2 /* padding */] = { - 0x50, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x20, - 0x54, - 0x61, - 0x73, - 0x6B, - 0x20, - 0x69, - 0x73, - 0x20, - 0x6E, - 0x6F, - 0x74, - 0x20, - 0x69, - 0x6E, - 0x69, - 0x74, - 0x65, - 0x64, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8039B8B8, &lit_81); /* 8029EA00-8029EA84 299340 0084+00 0/0 1/1 0/0 .text DSPAddTask */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DSPAddTask() { - nofralloc -#include "asm/JSystem/JAudio2/osdsp/DSPAddTask.s" +DSPTaskInfo* DSPAddTask(DSPTaskInfo* task) { + if (DSP_prior_task == NULL) { + OSReport("Prior Task is not inited\n"); + return NULL; + } + BOOL status = OSDisableInterrupts(); + __DSP_insert_task(task); + task->state = 0; + task->flags = 1; + OSRestoreInterrupts(status); + return task; } -#pragma pop /* ############################################################################################## */ -/* 8039B8D4-8039B8F8 027F34 001F+05 1/1 0/0 0/0 .rodata @88 */ -SECTION_RODATA static u8 const lit_88[31 + 5 /* padding */] = { - 0x41, - 0x6C, - 0x72, - 0x65, - 0x61, - 0x64, - 0x79, - 0x20, - 0x69, - 0x6E, - 0x69, - 0x74, - 0x65, - 0x64, - 0x20, - 0x70, - 0x72, - 0x69, - 0x6F, - 0x72, - 0x20, - 0x44, - 0x53, - 0x50, - 0x20, - 0x74, - 0x61, - 0x73, - 0x6B, - 0x0A, - 0x00, - /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x8039B8D4, &lit_88); /* 8029EAA0-8029EB1C 2993E0 007C+00 0/0 1/1 0/0 .text DSPAddPriorTask__FP15STRUCT_DSP_TASK */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DSPAddPriorTask(STRUCT_DSP_TASK* param_0) { - nofralloc -#include "asm/JSystem/JAudio2/osdsp/DSPAddPriorTask__FP15STRUCT_DSP_TASK.s" +void DSPAddPriorTask(STRUCT_DSP_TASK* task) { + if (DSP_prior_task != NULL) { + OSReport("Already inited prior DSP task\n"); + return; + } + BOOL status = OSDisableInterrupts(); + DSP_prior_task = (DSPTaskInfo*)task; + task->info.state = 0; + task->info.flags = 1; + __DSP_boot_task((DSPTaskInfo*)task); + OSRestoreInterrupts(status); } -#pragma pop diff --git a/libs/JSystem/JAudio2/osdsp_task.cpp b/libs/JSystem/JAudio2/osdsp_task.cpp index 14a0b14a3d3..9be61505df9 100644 --- a/libs/JSystem/JAudio2/osdsp_task.cpp +++ b/libs/JSystem/JAudio2/osdsp_task.cpp @@ -4,41 +4,22 @@ // #include "JSystem/JAudio2/osdsp_task.h" -#include "dol2asm.h" +#include "JSystem/JAudio2/dspproc.h" #include "dolphin/types.h" +#include "dolphin/dsp/dsp.h" +#include "dolphin/dsp/dsp_task.h" +#include "dolphin/os/OSContext.h" // // Forward References: // -extern "C" void __DSPHandler(); -extern "C" void DsyncFrame2__FUlUlUl(); -extern "C" static void DsyncFrame3__FUlUlUlUlUl(); -extern "C" static void Dsp_Update_Request__Fv(); -extern "C" void Dsp_Running_Check__Fv(); -extern "C" void Dsp_Running_Start__Fv(); -extern "C" extern u8 data_80451310[8]; -extern "C" extern u8 data_80451318[8]; -extern "C" extern u8 data_80451320[8]; -extern "C" extern u8 data_80451328[8]; +static void Dsp_Update_Request(); // // External References: // -extern "C" void DsyncFrame2ch__FUlUlUl(); -extern "C" void DsyncFrame4ch__FUlUlUlUlUl(); -extern "C" void OSSetCurrentContext(); -extern "C" void OSClearContext(); -extern "C" void DSPCheckMailToDSP(); -extern "C" void DSPCheckMailFromDSP(); -extern "C" void DSPReadMailFromDSP(); -extern "C" void DSPSendMailToDSP(); -extern "C" void __DSP_exec_task(); -extern "C" void __DSP_remove_task(); -extern "C" extern u8 __DSP_first_task[4]; -extern "C" extern u8 __DSP_curr_task[4]; - // // Declarations: // @@ -47,95 +28,174 @@ extern "C" extern u8 __DSP_curr_task[4]; /* 80451308-8045130C -00001 0004+00 6/6 0/0 0/0 .sbss None */ /* 80451308 0001+00 data_80451308 None */ /* 80451309 0003+00 data_80451309 None */ -static u8 struct_80451308[4]; + +static vu8 struct_80451308; +static u8 struct_80451309; +static u8 struct_8045130a; +static u8 struct_8045130b; /* 8045130C-80451310 00080C 0004+00 1/1 2/2 0/0 .sbss DSP_prior_task */ -extern u8 DSP_prior_task[4]; -u8 DSP_prior_task[4]; +DSPTaskInfo* DSP_prior_task; /* 8029EB20-8029EE24 299460 0304+00 0/0 1/1 0/0 .text __DSPHandler */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void __DSPHandler() { - nofralloc -#include "asm/JSystem/JAudio2/osdsp_task/__DSPHandler.s" +void __DSPHandler(OSInterrupt interrupt, OSContext* context) { + OSContext funcContext; + __DSPRegs[5] = ((u16)(__DSPRegs[5]) & ~0x28) | 0x80; + OSClearContext(&funcContext); + OSSetCurrentContext(&funcContext); + + if (struct_80451308 == 1 || struct_80451308 == 0) { + __DSP_curr_task = DSP_prior_task; + } + + while (DSPCheckMailFromDSP() == 0); + u32 mail = DSPReadMailFromDSP(); + + if ((__DSP_curr_task->flags & 2) && mail == 0xDCD10002) { + mail = 0xDCD10003; + } + + switch (mail) { + case 0xDCD10000: + __DSP_curr_task->state = 1; + if (__DSP_curr_task == DSP_prior_task) { + struct_80451308 = 1; + } + if (__DSP_curr_task->init_cb != NULL) { + __DSP_curr_task->init_cb(__DSP_curr_task); + } + break; + case 0xDCD10001: + __DSP_curr_task->state = 1; + if (__DSP_curr_task == DSP_prior_task) { + struct_80451308 = 1; + Dsp_Update_Request(); + } + if (__DSP_curr_task->res_cb != NULL) { + __DSP_curr_task->res_cb(__DSP_curr_task); + } + break; + case 0xDCD10002: + DSPSendMailToDSP(0xCDD10001); + while (DSPCheckMailToDSP() != 0); + __DSP_curr_task->state = 2; + if (__DSP_curr_task->next == NULL && struct_80451309) { + __DSP_exec_task(__DSP_curr_task, DSP_prior_task); + struct_80451309 = 0; + __DSP_curr_task = DSP_prior_task; + } else { + __DSP_exec_task(__DSP_curr_task, __DSP_curr_task->next); + __DSP_curr_task = __DSP_curr_task->next; + } + break; + case 0xDCD10003: + if (__DSP_curr_task->done_cb != NULL) { + __DSP_curr_task->done_cb(__DSP_curr_task); + } + DSPSendMailToDSP(0xCDD10001); + while (DSPCheckMailToDSP() != 0); + __DSP_curr_task->state = 3; + if (__DSP_curr_task->next == NULL) { + __DSP_exec_task(NULL, DSP_prior_task); + __DSP_remove_task(__DSP_curr_task); + __DSP_curr_task = DSP_prior_task; + } else { + __DSP_exec_task(NULL, __DSP_curr_task->next); + __DSP_curr_task = __DSP_curr_task->next; + __DSP_remove_task(__DSP_curr_task->prev); + } + break; + case 0xDCD10004: + if (__DSP_curr_task->req_cb != NULL) { + __DSP_curr_task->req_cb(__DSP_curr_task); + } + break; + case 0xDCD10005: + if (__DSP_first_task == NULL || struct_80451309) { + DSPSendMailToDSP(0xCDD10003); + while (DSPCheckMailToDSP() != 0); + struct_80451309 = 0; + __DSP_curr_task = DSP_prior_task; + Dsp_Update_Request(); + } else { + struct_80451308 = 3; + DSPSendMailToDSP(0xCDD10001); + while (DSPCheckMailToDSP() != 0); + __DSP_exec_task(DSP_prior_task, __DSP_first_task); + __DSP_curr_task = __DSP_first_task; + } + break; + } + + OSClearContext(&funcContext); + OSSetCurrentContext(context); } -#pragma pop /* ############################################################################################## */ /* 80434060-80434078 060D80 0014+04 3/3 0/0 0/0 .bss sync_stack */ -static u8 sync_stack[20 + 4 /* padding */]; +static u32 sync_stack[5]; /* 8029EE40-8029EE90 299780 0050+00 1/1 1/1 0/0 .text DsyncFrame2__FUlUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void DsyncFrame2(u32 param_0, u32 param_1, u32 param_2) { - nofralloc -#include "asm/JSystem/JAudio2/osdsp_task/DsyncFrame2__FUlUlUl.s" +void DsyncFrame2(u32 param_0, u32 param_1, u32 param_2) { + if (struct_80451308 != 1) { + sync_stack[0] = param_0; + sync_stack[1] = param_1; + sync_stack[2] = param_2; + struct_80451309 = 1; + return; + } + DsyncFrame2ch(param_0, param_1, param_2); + struct_80451309 = 0; } -#pragma pop /* 8029EEA0-8029EEF8 2997E0 0058+00 1/1 0/0 0/0 .text DsyncFrame3__FUlUlUlUlUl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -static asm void DsyncFrame3(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { - nofralloc -#include "asm/JSystem/JAudio2/osdsp_task/DsyncFrame3__FUlUlUlUlUl.s" +static void DsyncFrame3(u32 param_0, u32 param_1, u32 param_2, u32 param_3, u32 param_4) { + if (struct_80451308 != 1) { + sync_stack[0] = param_0; + sync_stack[1] = param_1; + sync_stack[2] = param_2; + sync_stack[3] = param_3; + sync_stack[4] = param_4; + struct_80451309 = 2; + return; + } + DsyncFrame4ch(param_0, param_1, param_2, param_3, param_4); + struct_80451309 = 0; } -#pragma pop /* 8029EF00-8029EF78 299840 0078+00 1/1 0/0 0/0 .text Dsp_Update_Request__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -static asm void Dsp_Update_Request() { - nofralloc -#include "asm/JSystem/JAudio2/osdsp_task/Dsp_Update_Request__Fv.s" +static void Dsp_Update_Request() { + switch (struct_80451309) { + case 0: + break; + case 1: + DsyncFrame2(sync_stack[0], sync_stack[1], sync_stack[2]); + break; + case 2: + DsyncFrame3(sync_stack[0], sync_stack[1], sync_stack[2], sync_stack[3], sync_stack[4]); + break; + } } -#pragma pop /* 8029EF80-8029EF94 2998C0 0014+00 0/0 1/1 0/0 .text Dsp_Running_Check__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void Dsp_Running_Check() { - nofralloc -#include "asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Check__Fv.s" +bool Dsp_Running_Check() { + return struct_80451308 == 1; } -#pragma pop /* 8029EFA0-8029EFAC 2998E0 000C+00 0/0 1/1 0/0 .text Dsp_Running_Start__Fv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -#pragma function_align 32 -asm void Dsp_Running_Start() { - nofralloc -#include "asm/JSystem/JAudio2/osdsp_task/Dsp_Running_Start__Fv.s" +void Dsp_Running_Start() { + struct_80451308 = 1; } -#pragma pop /* ############################################################################################## */ /* 80451310-80451318 000810 0008+00 0/0 3/3 0/0 .sbss None */ -extern u8 data_80451310[8]; u8 data_80451310[8]; /* 80451318-80451320 000818 0008+00 0/0 7/7 0/0 .sbss None */ -extern u8 data_80451318[8]; u8 data_80451318[8]; /* 80451320-80451328 000820 0008+00 0/0 4/4 0/0 .sbss None */ -extern u8 data_80451320[8]; u8 data_80451320[8]; /* 80451328-80451330 000828 0008+00 0/0 3/3 0/0 .sbss None */ -extern u8 data_80451328[8]; u8 data_80451328[8]; diff --git a/libs/dolphin/dsp/dsp.c b/libs/dolphin/dsp/dsp.c index be2d4327b52..d13d807076e 100644 --- a/libs/dolphin/dsp/dsp.c +++ b/libs/dolphin/dsp/dsp.c @@ -2,6 +2,7 @@ #include "dolphin/dsp/dsp_debug.h" #include "dolphin/dsp/dsp_task.h" #include "dolphin/os/OS.h" +#include "JSystem/JAudio2/osdsp_task.h" /* 80450A58-80450A60 -00001 0004+04 1/1 0/0 0/0 .sdata __DSPVersion */ static char* __DSPVersion = "<< Dolphin SDK - DSP\trelease build: Apr 5 2004 04:15:32 (0x2301) >>"; @@ -13,8 +14,6 @@ static s32 __DSP_init_flag; // External References: // -void __DSPHandler(s16 interrupt, OSContext* context); - // // Declarations: // diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 0ed13bc23d2..427a981d3ec 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -292,8 +292,8 @@ SECTION_SDATA static J3DTevOrderInfo l_tevOrderInfo = { }; /* 80451DF0-80451DF8 0003F0 0008+00 1/1 0/0 0/0 .sdata2 l_alphaCompInfo$3775 */ -SECTION_SDATA2 static J3DAlphaCompInfo l_alphaCompInfo[2] = { - {0x04, 0x80, 0x00, 0x03}, {0xFF, 0, 0, 0}, +SECTION_SDATA2 static J3DAlphaCompInfo l_alphaCompInfo = { + 0x04, 0x80, 0x00, 0x03, 0xFF, 0, 0, 0, }; /* 8003A840-8003AACC 035180 028C+00 1/1 0/0 0/0 .text addWarpMaterial__FP12J3DModelData