diff --git a/Progress.md b/Progress.md index 310e6fd8736..1120046116d 100644 --- a/Progress.md +++ b/Progress.md @@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes) .init | 97.972973% | 9280 | 9472 .extab | 100.000000% | 96 | 96 .extabindex | 100.000000% | 96 | 96 -.text | 24.158081% | 868856 | 3596544 +.text | 24.289651% | 873588 | 3596544 .ctors | 100.000000% | 448 | 448 .dtors | 100.000000% | 32 | 32 .rodata | 100.000000% | 193856 | 193856 .data | 100.000000% | 197632 | 197632 .sdata | 100.000000% | 1408 | 1408 .sdata2 | 100.000000% | 20832 | 20832 -Total | 32.153630% | 1292792 | 4020672 +Total | 32.271322% | 1297524 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 32.153630% | 1292792 | 4020672 +main.dol | 32.271322% | 1297524 | 4020672 RELs | 33.163587% | 3813920 | 11500324 -Total | 32.901961% | 5106712 | 15520996 +Total | 32.932448% | 5111444 | 15520996 ## RELs diff --git a/asm/JSystem/JKernel/JKRExpHeap/allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s b/asm/JSystem/JKernel/JKRExpHeap/allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s deleted file mode 100644 index c27ff62c026..00000000000 --- a/asm/JSystem/JKernel/JKRExpHeap/allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802D0830: -/* 802D0830 39 20 00 00 */ li r9, 0 -/* 802D0834 98 A3 00 03 */ stb r5, 3(r3) -/* 802D0838 98 C3 00 02 */ stb r6, 2(r3) -/* 802D083C 80 03 00 04 */ lwz r0, 4(r3) -/* 802D0840 38 A4 00 10 */ addi r5, r4, 0x10 -/* 802D0844 7C 00 28 40 */ cmplw r0, r5 -/* 802D0848 41 80 00 24 */ blt lbl_802D086C -/* 802D084C 7D 24 1A 14 */ add r9, r4, r3 -/* 802D0850 98 E9 00 13 */ stb r7, 0x13(r9) -/* 802D0854 99 09 00 12 */ stb r8, 0x12(r9) -/* 802D0858 80 03 00 04 */ lwz r0, 4(r3) -/* 802D085C 7C 05 00 50 */ subf r0, r5, r0 -/* 802D0860 90 09 00 14 */ stw r0, 0x14(r9) -/* 802D0864 90 83 00 04 */ stw r4, 4(r3) -/* 802D0868 39 29 00 10 */ addi r9, r9, 0x10 -lbl_802D086C: -/* 802D086C 7D 23 4B 78 */ mr r3, r9 -/* 802D0870 4E 80 00 20 */ blr diff --git a/asm/JSystem/JKernel/JKRFileCache/removeResourceAll__12JKRFileCacheFv.s b/asm/JSystem/JKernel/JKRFileCache/removeResourceAll__12JKRFileCacheFv.s deleted file mode 100644 index c7124d615ca..00000000000 --- a/asm/JSystem/JKernel/JKRFileCache/removeResourceAll__12JKRFileCacheFv.s +++ /dev/null @@ -1,40 +0,0 @@ -lbl_802D50D4: -/* 802D50D4 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 802D50D8 7C 08 02 A6 */ mflr r0 -/* 802D50DC 90 01 00 24 */ stw r0, 0x24(r1) -/* 802D50E0 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D50E4 48 08 D0 F9 */ bl _savegpr_29 -/* 802D50E8 7C 7D 1B 78 */ mr r29, r3 -/* 802D50EC 83 C3 00 3C */ lwz r30, 0x3c(r3) -/* 802D50F0 48 00 00 54 */ b lbl_802D5144 -lbl_802D50F4: -/* 802D50F4 80 7E 00 00 */ lwz r3, 0(r30) -/* 802D50F8 80 63 00 1C */ lwz r3, 0x1c(r3) -/* 802D50FC 80 9D 00 38 */ lwz r4, 0x38(r29) -/* 802D5100 4B FF 94 01 */ bl free__7JKRHeapFPvP7JKRHeap -/* 802D5104 80 9E 00 00 */ lwz r4, 0(r30) -/* 802D5108 38 7D 00 3C */ addi r3, r29, 0x3c -/* 802D510C 48 00 70 51 */ bl remove__10JSUPtrListFP10JSUPtrLink -/* 802D5110 93 C1 00 08 */ stw r30, 8(r1) -/* 802D5114 83 DE 00 0C */ lwz r30, 0xc(r30) -/* 802D5118 80 61 00 08 */ lwz r3, 8(r1) -/* 802D511C 90 61 00 0C */ stw r3, 0xc(r1) -/* 802D5120 83 E3 00 00 */ lwz r31, 0(r3) -/* 802D5124 28 1F 00 00 */ cmplwi r31, 0 -/* 802D5128 41 82 00 1C */ beq lbl_802D5144 -/* 802D512C 41 82 00 10 */ beq lbl_802D513C -/* 802D5130 7F E3 FB 78 */ mr r3, r31 -/* 802D5134 38 80 00 00 */ li r4, 0 -/* 802D5138 48 00 6C DD */ bl __dt__10JSUPtrLinkFv -lbl_802D513C: -/* 802D513C 7F E3 FB 78 */ mr r3, r31 -/* 802D5140 4B FF 9B FD */ bl __dl__FPv -lbl_802D5144: -/* 802D5144 28 1E 00 00 */ cmplwi r30, 0 -/* 802D5148 40 82 FF AC */ bne lbl_802D50F4 -/* 802D514C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802D5150 48 08 D0 D9 */ bl _restgpr_29 -/* 802D5154 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802D5158 7C 08 03 A6 */ mtlr r0 -/* 802D515C 38 21 00 20 */ addi r1, r1, 0x20 -/* 802D5160 4E 80 00 20 */ blr diff --git a/asm/JSystem/JUtility/JUTFont/drawString_size_scale__7JUTFontFffffPCcUlb.s b/asm/JSystem/JUtility/JUTFont/drawString_size_scale__7JUTFontFffffPCcUlb.s deleted file mode 100644 index 96a6091c6ba..00000000000 --- a/asm/JSystem/JUtility/JUTFont/drawString_size_scale__7JUTFontFffffPCcUlb.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_802DEE28: -/* 802DEE28 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 802DEE2C 7C 08 02 A6 */ mflr r0 -/* 802DEE30 90 01 00 74 */ stw r0, 0x74(r1) -/* 802DEE34 DB E1 00 60 */ stfd f31, 0x60(r1) -/* 802DEE38 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */ -/* 802DEE3C DB C1 00 50 */ stfd f30, 0x50(r1) -/* 802DEE40 F3 C1 00 58 */ psq_st f30, 88(r1), 0, 0 /* qr0 */ -/* 802DEE44 DB A1 00 40 */ stfd f29, 0x40(r1) -/* 802DEE48 F3 A1 00 48 */ psq_st f29, 72(r1), 0, 0 /* qr0 */ -/* 802DEE4C DB 81 00 30 */ stfd f28, 0x30(r1) -/* 802DEE50 F3 81 00 38 */ psq_st f28, 56(r1), 0, 0 /* qr0 */ -/* 802DEE54 DB 61 00 20 */ stfd f27, 0x20(r1) -/* 802DEE58 F3 61 00 28 */ psq_st f27, 40(r1), 0, 0 /* qr0 */ -/* 802DEE5C 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DEE60 48 08 33 75 */ bl _savegpr_27 -/* 802DEE64 7C 7B 1B 78 */ mr r27, r3 -/* 802DEE68 FF 60 08 90 */ fmr f27, f1 -/* 802DEE6C FF 80 10 90 */ fmr f28, f2 -/* 802DEE70 FF A0 18 90 */ fmr f29, f3 -/* 802DEE74 FF C0 20 90 */ fmr f30, f4 -/* 802DEE78 7C 9C 23 78 */ mr r28, r4 -/* 802DEE7C 7C BD 2B 78 */ mr r29, r5 -/* 802DEE80 7C DE 33 78 */ mr r30, r6 -/* 802DEE84 FF E0 D8 90 */ fmr f31, f27 -/* 802DEE88 48 00 00 74 */ b lbl_802DEEFC -lbl_802DEE8C: -/* 802DEE8C 88 9C 00 00 */ lbz r4, 0(r28) -/* 802DEE90 7C 9F 23 78 */ mr r31, r4 -/* 802DEE94 7F 63 DB 78 */ mr r3, r27 -/* 802DEE98 81 9B 00 00 */ lwz r12, 0(r27) -/* 802DEE9C 81 8C 00 40 */ lwz r12, 0x40(r12) -/* 802DEEA0 7D 89 03 A6 */ mtctr r12 -/* 802DEEA4 4E 80 04 21 */ bctrl -/* 802DEEA8 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 802DEEAC 41 82 00 14 */ beq lbl_802DEEC0 -/* 802DEEB0 57 FF 40 2E */ slwi r31, r31, 8 -/* 802DEEB4 8C 1C 00 01 */ lbzu r0, 1(r28) -/* 802DEEB8 7F FF 03 78 */ or r31, r31, r0 -/* 802DEEBC 3B BD FF FF */ addi r29, r29, -1 -lbl_802DEEC0: -/* 802DEEC0 7F 63 DB 78 */ mr r3, r27 -/* 802DEEC4 FC 20 D8 90 */ fmr f1, f27 -/* 802DEEC8 FC 40 E0 90 */ fmr f2, f28 -/* 802DEECC FC 60 E8 90 */ fmr f3, f29 -/* 802DEED0 FC 80 F0 90 */ fmr f4, f30 -/* 802DEED4 7F E4 FB 78 */ mr r4, r31 -/* 802DEED8 7F C5 F3 78 */ mr r5, r30 -/* 802DEEDC 81 9B 00 00 */ lwz r12, 0(r27) -/* 802DEEE0 81 8C 00 14 */ lwz r12, 0x14(r12) -/* 802DEEE4 7D 89 03 A6 */ mtctr r12 -/* 802DEEE8 4E 80 04 21 */ bctrl -/* 802DEEEC EF 7B 08 2A */ fadds f27, f27, f1 -/* 802DEEF0 3B C0 00 01 */ li r30, 1 -/* 802DEEF4 3B BD FF FF */ addi r29, r29, -1 -/* 802DEEF8 3B 9C 00 01 */ addi r28, r28, 1 -lbl_802DEEFC: -/* 802DEEFC 28 1D 00 00 */ cmplwi r29, 0 -/* 802DEF00 40 82 FF 8C */ bne lbl_802DEE8C -/* 802DEF04 EC 3B F8 28 */ fsubs f1, f27, f31 -/* 802DEF08 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */ -/* 802DEF0C CB E1 00 60 */ lfd f31, 0x60(r1) -/* 802DEF10 E3 C1 00 58 */ psq_l f30, 88(r1), 0, 0 /* qr0 */ -/* 802DEF14 CB C1 00 50 */ lfd f30, 0x50(r1) -/* 802DEF18 E3 A1 00 48 */ psq_l f29, 72(r1), 0, 0 /* qr0 */ -/* 802DEF1C CB A1 00 40 */ lfd f29, 0x40(r1) -/* 802DEF20 E3 81 00 38 */ psq_l f28, 56(r1), 0, 0 /* qr0 */ -/* 802DEF24 CB 81 00 30 */ lfd f28, 0x30(r1) -/* 802DEF28 E3 61 00 28 */ psq_l f27, 40(r1), 0, 0 /* qr0 */ -/* 802DEF2C CB 61 00 20 */ lfd f27, 0x20(r1) -/* 802DEF30 39 61 00 20 */ addi r11, r1, 0x20 -/* 802DEF34 48 08 32 ED */ bl _restgpr_27 -/* 802DEF38 80 01 00 74 */ lwz r0, 0x74(r1) -/* 802DEF3C 7C 08 03 A6 */ mtlr r0 -/* 802DEF40 38 21 00 70 */ addi r1, r1, 0x70 -/* 802DEF44 4E 80 00 20 */ blr diff --git a/asm/d/a/d_a_npc/setNextIdx__13daNpcT_Path_cFi.s b/asm/d/a/d_a_npc/setNextIdx__13daNpcT_Path_cFi.s deleted file mode 100644 index 6f33ef82902..00000000000 --- a/asm/d/a/d_a_npc/setNextIdx__13daNpcT_Path_cFi.s +++ /dev/null @@ -1,29 +0,0 @@ -lbl_80145DD0: -/* 80145DD0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80145DD4 7C 08 02 A6 */ mflr r0 -/* 80145DD8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80145DDC 7C 66 1B 78 */ mr r6, r3 -/* 80145DE0 80 A3 00 00 */ lwz r5, 0(r3) -/* 80145DE4 A0 65 00 00 */ lhz r3, 0(r5) -/* 80145DE8 88 05 00 05 */ lbz r0, 5(r5) -/* 80145DEC 54 00 07 FF */ clrlwi. r0, r0, 0x1f -/* 80145DF0 41 82 00 24 */ beq lbl_80145E14 -/* 80145DF4 7C 03 20 00 */ cmpw r3, r4 -/* 80145DF8 40 82 00 1C */ bne lbl_80145E14 -/* 80145DFC 7C 83 23 78 */ mr r3, r4 -/* 80145E00 38 86 00 1C */ addi r4, r6, 0x1c -/* 80145E04 38 A0 00 01 */ li r5, 1 -/* 80145E08 88 C6 00 20 */ lbz r6, 0x20(r6) -/* 80145E0C 4B FF FC B9 */ bl daNpcT_incIdx__FiRUsii -/* 80145E10 48 00 00 18 */ b lbl_80145E28 -lbl_80145E14: -/* 80145E14 7C 83 23 78 */ mr r3, r4 -/* 80145E18 38 86 00 1C */ addi r4, r6, 0x1c -/* 80145E1C 38 A0 00 00 */ li r5, 0 -/* 80145E20 88 C6 00 20 */ lbz r6, 0x20(r6) -/* 80145E24 4B FF FC A1 */ bl daNpcT_incIdx__FiRUsii -lbl_80145E28: -/* 80145E28 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80145E2C 7C 08 03 A6 */ mtlr r0 -/* 80145E30 38 21 00 10 */ addi r1, r1, 0x10 -/* 80145E34 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/card_to_memory__10dSv_info_cFPci.s b/asm/d/save/d_save/card_to_memory__10dSv_info_cFPci.s deleted file mode 100644 index 863afab0f32..00000000000 --- a/asm/d/save/d_save/card_to_memory__10dSv_info_cFPci.s +++ /dev/null @@ -1,122 +0,0 @@ -lbl_80035A04: -/* 80035A04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80035A08 7C 08 02 A6 */ mflr r0 -/* 80035A0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80035A10 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80035A14 93 C1 00 08 */ stw r30, 8(r1) -/* 80035A18 1C 05 0A 94 */ mulli r0, r5, 0xa94 -/* 80035A1C 7C 84 02 14 */ add r4, r4, r0 -/* 80035A20 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80035A24 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80035A28 38 A0 09 58 */ li r5, 0x958 -/* 80035A2C 4B FC DB 15 */ bl memcpy -/* 80035A30 48 30 AB 61 */ bl OSGetSoundMode -/* 80035A34 28 03 00 00 */ cmplwi r3, 0 -/* 80035A38 40 82 00 28 */ bne lbl_80035A60 -/* 80035A3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80035A40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80035A44 38 63 01 E0 */ addi r3, r3, 0x1e0 -/* 80035A48 38 80 00 00 */ li r4, 0 -/* 80035A4C 4B FF EC 41 */ bl setSound__19dSv_player_config_cFUc -/* 80035A50 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80035A54 38 80 00 00 */ li r4, 0 -/* 80035A58 48 29 7E 31 */ bl setOutputMode__10Z2AudioMgrFUl -/* 80035A5C 48 00 00 4C */ b lbl_80035AA8 -lbl_80035A60: -/* 80035A60 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80035A64 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80035A68 3B E3 01 E0 */ addi r31, r3, 0x1e0 -/* 80035A6C 7F E3 FB 78 */ mr r3, r31 -/* 80035A70 4B FF EC 15 */ bl getSound__19dSv_player_config_cFv -/* 80035A74 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80035A78 28 00 00 02 */ cmplwi r0, 2 -/* 80035A7C 40 82 00 14 */ bne lbl_80035A90 -/* 80035A80 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80035A84 38 80 00 02 */ li r4, 2 -/* 80035A88 48 29 7E 01 */ bl setOutputMode__10Z2AudioMgrFUl -/* 80035A8C 48 00 00 1C */ b lbl_80035AA8 -lbl_80035A90: -/* 80035A90 7F E3 FB 78 */ mr r3, r31 -/* 80035A94 38 80 00 01 */ li r4, 1 -/* 80035A98 4B FF EB F5 */ bl setSound__19dSv_player_config_cFUc -/* 80035A9C 80 6D 8D E8 */ lwz r3, mAudioMgrPtr__10Z2AudioMgr(r13) -/* 80035AA0 38 80 00 01 */ li r4, 1 -/* 80035AA4 48 29 7D E5 */ bl setOutputMode__10Z2AudioMgrFUl -lbl_80035AA8: -/* 80035AA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80035AAC 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80035AB0 A0 1F 00 02 */ lhz r0, 2(r31) -/* 80035AB4 28 00 00 0C */ cmplwi r0, 0xc -/* 80035AB8 40 80 00 0C */ bge lbl_80035AC4 -/* 80035ABC 38 00 00 0C */ li r0, 0xc -/* 80035AC0 B0 1F 00 02 */ sth r0, 2(r31) -lbl_80035AC4: -/* 80035AC4 38 60 00 06 */ li r3, 6 -/* 80035AC8 38 80 00 00 */ li r4, 0 -/* 80035ACC 4B FF 95 75 */ bl dComIfGs_setKeyNum__FiUc -/* 80035AD0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80035AD4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80035AD8 3B C3 00 9C */ addi r30, r3, 0x9c -/* 80035ADC 7F C3 F3 78 */ mr r3, r30 -/* 80035AE0 38 80 00 09 */ li r4, 9 -/* 80035AE4 38 A0 00 01 */ li r5, 1 -/* 80035AE8 4B FF D5 49 */ bl getItem__17dSv_player_item_cCFib -/* 80035AEC 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80035AF0 28 00 00 47 */ cmplwi r0, 0x47 -/* 80035AF4 40 82 00 24 */ bne lbl_80035B18 -/* 80035AF8 7F C3 F3 78 */ mr r3, r30 -/* 80035AFC 38 80 00 0A */ li r4, 0xa -/* 80035B00 38 A0 00 47 */ li r5, 0x47 -/* 80035B04 4B FF D4 B5 */ bl setItem__17dSv_player_item_cFiUc -/* 80035B08 7F C3 F3 78 */ mr r3, r30 -/* 80035B0C 38 80 00 09 */ li r4, 9 -/* 80035B10 38 A0 00 FF */ li r5, 0xff -/* 80035B14 4B FF D4 A5 */ bl setItem__17dSv_player_item_cFiUc -lbl_80035B18: -/* 80035B18 7F C3 F3 78 */ mr r3, r30 -/* 80035B1C 38 80 00 09 */ li r4, 9 -/* 80035B20 38 A0 00 01 */ li r5, 1 -/* 80035B24 4B FF D5 0D */ bl getItem__17dSv_player_item_cCFib -/* 80035B28 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80035B2C 28 00 00 44 */ cmplwi r0, 0x44 -/* 80035B30 40 82 00 30 */ bne lbl_80035B60 -/* 80035B34 7F C3 F3 78 */ mr r3, r30 -/* 80035B38 38 80 00 0A */ li r4, 0xa -/* 80035B3C 38 A0 00 01 */ li r5, 1 -/* 80035B40 4B FF D4 F1 */ bl getItem__17dSv_player_item_cCFib -/* 80035B44 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80035B48 28 00 00 47 */ cmplwi r0, 0x47 -/* 80035B4C 40 82 00 14 */ bne lbl_80035B60 -/* 80035B50 7F C3 F3 78 */ mr r3, r30 -/* 80035B54 38 80 00 09 */ li r4, 9 -/* 80035B58 38 A0 00 FF */ li r5, 0xff -/* 80035B5C 4B FF D4 5D */ bl setItem__17dSv_player_item_cFiUc -lbl_80035B60: -/* 80035B60 7F C3 F3 78 */ mr r3, r30 -/* 80035B64 4B FF D7 95 */ bl setLineUpItem__17dSv_player_item_cFv -/* 80035B68 38 7F 01 E0 */ addi r3, r31, 0x1e0 -/* 80035B6C 4B FF EB 29 */ bl getVibration__19dSv_player_config_cFv -/* 80035B70 7C 64 1B 78 */ mr r4, r3 -/* 80035B74 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80035B78 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80035B7C 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80035B80 4B FF 58 29 */ bl setNowVibration__14dComIfG_play_cFUc -/* 80035B84 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80035B88 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80035B8C 38 83 00 58 */ addi r4, r3, 0x58 -/* 80035B90 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80035B94 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80035B98 48 1E 86 F9 */ bl setSaveStageName__13dMeter2Info_cFPCc -/* 80035B9C 3C 60 80 38 */ lis r3, d_save_d_save__stringBase0@ha /* 0x80379234@ha */ -/* 80035BA0 38 63 92 34 */ addi r3, r3, d_save_d_save__stringBase0@l /* 0x80379234@l */ -/* 80035BA4 38 63 00 46 */ addi r3, r3, 0x46 -/* 80035BA8 38 80 09 58 */ li r4, 0x958 -/* 80035BAC 4C C6 31 82 */ crclr 6 -/* 80035BB0 48 33 0C CD */ bl printf -/* 80035BB4 38 60 00 00 */ li r3, 0 -/* 80035BB8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80035BBC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80035BC0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80035BC4 7C 08 03 A6 */ mtlr r0 -/* 80035BC8 38 21 00 10 */ addi r1, r1, 0x10 -/* 80035BCC 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s b/asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s deleted file mode 100644 index bc935dada85..00000000000 --- a/asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s +++ /dev/null @@ -1,47 +0,0 @@ -lbl_80035BD0: -/* 80035BD0 94 21 F6 90 */ stwu r1, -0x970(r1) -/* 80035BD4 7C 08 02 A6 */ mflr r0 -/* 80035BD8 90 01 09 74 */ stw r0, 0x974(r1) -/* 80035BDC 93 E1 09 6C */ stw r31, 0x96c(r1) -/* 80035BE0 1C 05 0A 94 */ mulli r0, r5, 0xa94 -/* 80035BE4 7F E4 02 14 */ add r31, r4, r0 -/* 80035BE8 38 61 01 F8 */ addi r3, r1, 0x1f8 -/* 80035BEC 3C 80 80 03 */ lis r4, __ct__12dSv_memory_cFv@ha /* 0x80030DB0@ha */ -/* 80035BF0 38 84 0D B0 */ addi r4, r4, __ct__12dSv_memory_cFv@l /* 0x80030DB0@l */ -/* 80035BF4 38 A0 00 00 */ li r5, 0 -/* 80035BF8 38 C0 00 20 */ li r6, 0x20 -/* 80035BFC 38 E0 00 20 */ li r7, 0x20 -/* 80035C00 48 32 C1 61 */ bl __construct_array -/* 80035C04 38 61 05 F8 */ addi r3, r1, 0x5f8 -/* 80035C08 3C 80 80 03 */ lis r4, __ct__13dSv_memory2_cFv@ha /* 0x80030D80@ha */ -/* 80035C0C 38 84 0D 80 */ addi r4, r4, __ct__13dSv_memory2_cFv@l /* 0x80030D80@l */ -/* 80035C10 38 A0 00 00 */ li r5, 0 -/* 80035C14 38 C0 00 08 */ li r6, 8 -/* 80035C18 38 E0 00 40 */ li r7, 0x40 -/* 80035C1C 48 32 C1 45 */ bl __construct_array -/* 80035C20 38 61 00 08 */ addi r3, r1, 8 -/* 80035C24 4B FF F3 F9 */ bl init__10dSv_save_cFv -/* 80035C28 38 61 01 BC */ addi r3, r1, 0x1bc -/* 80035C2C 3C 80 80 38 */ lis r4, d_save_d_save__stringBase0@ha /* 0x80379234@ha */ -/* 80035C30 38 84 92 34 */ addi r4, r4, d_save_d_save__stringBase0@l /* 0x80379234@l */ -/* 80035C34 48 33 2E F9 */ bl strcpy -/* 80035C38 38 61 01 CD */ addi r3, r1, 0x1cd -/* 80035C3C 3C 80 80 38 */ lis r4, d_save_d_save__stringBase0@ha /* 0x80379234@ha */ -/* 80035C40 38 84 92 34 */ addi r4, r4, d_save_d_save__stringBase0@l /* 0x80379234@l */ -/* 80035C44 48 33 2E E9 */ bl strcpy -/* 80035C48 7F E3 FB 78 */ mr r3, r31 -/* 80035C4C 38 81 00 08 */ addi r4, r1, 8 -/* 80035C50 38 A0 09 58 */ li r5, 0x958 -/* 80035C54 4B FC D8 ED */ bl memcpy -/* 80035C58 3C 60 80 38 */ lis r3, d_save_d_save__stringBase0@ha /* 0x80379234@ha */ -/* 80035C5C 38 63 92 34 */ addi r3, r3, d_save_d_save__stringBase0@l /* 0x80379234@l */ -/* 80035C60 38 63 00 54 */ addi r3, r3, 0x54 -/* 80035C64 38 80 09 58 */ li r4, 0x958 -/* 80035C68 4C C6 31 82 */ crclr 6 -/* 80035C6C 48 33 0C 11 */ bl printf -/* 80035C70 38 60 00 00 */ li r3, 0 -/* 80035C74 83 E1 09 6C */ lwz r31, 0x96c(r1) -/* 80035C78 80 01 09 74 */ lwz r0, 0x974(r1) -/* 80035C7C 7C 08 03 A6 */ mtlr r0 -/* 80035C80 38 21 09 70 */ addi r1, r1, 0x970 -/* 80035C84 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/revSwitch__12dSv_memBit_cFi.s b/asm/d/save/d_save/revSwitch__12dSv_memBit_cFi.s deleted file mode 100644 index aee270dbaa8..00000000000 --- a/asm/d/save/d_save/revSwitch__12dSv_memBit_cFi.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_8003488C: -/* 8003488C 7C 86 2E 70 */ srawi r6, r4, 5 -/* 80034890 38 A0 00 01 */ li r5, 1 -/* 80034894 54 80 06 FE */ clrlwi r0, r4, 0x1b -/* 80034898 7C A4 00 30 */ slw r4, r5, r0 -/* 8003489C 54 C0 10 3A */ slwi r0, r6, 2 -/* 800348A0 7C 63 02 14 */ add r3, r3, r0 -/* 800348A4 80 03 00 08 */ lwz r0, 8(r3) -/* 800348A8 7C 00 22 78 */ xor r0, r0, r4 -/* 800348AC 90 03 00 08 */ stw r0, 8(r3) -/* 800348B0 80 03 00 08 */ lwz r0, 8(r3) -/* 800348B4 7C 03 20 38 */ and r3, r0, r4 -/* 800348B8 30 03 FF FF */ addic r0, r3, -1 -/* 800348BC 7C 60 19 10 */ subfe r3, r0, r3 -/* 800348C0 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/revSwitch__13dSv_zoneBit_cFi.s b/asm/d/save/d_save/revSwitch__13dSv_zoneBit_cFi.s deleted file mode 100644 index 24ae8271d6f..00000000000 --- a/asm/d/save/d_save/revSwitch__13dSv_zoneBit_cFi.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80034D78: -/* 80034D78 7C 86 26 70 */ srawi r6, r4, 4 -/* 80034D7C 38 A0 00 01 */ li r5, 1 -/* 80034D80 54 80 07 3E */ clrlwi r0, r4, 0x1c -/* 80034D84 7C A5 00 30 */ slw r5, r5, r0 -/* 80034D88 54 C4 08 3C */ slwi r4, r6, 1 -/* 80034D8C 7C 03 22 2E */ lhzx r0, r3, r4 -/* 80034D90 7C 00 2A 78 */ xor r0, r0, r5 -/* 80034D94 7C 03 23 2E */ sthx r0, r3, r4 -/* 80034D98 7C 03 22 2E */ lhzx r0, r3, r4 -/* 80034D9C 7C A3 00 38 */ and r3, r5, r0 -/* 80034DA0 30 03 FF FF */ addic r0, r3, -1 -/* 80034DA4 7C 60 19 10 */ subfe r3, r0, r3 -/* 80034DA8 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/setBottleItemIn__17dSv_player_item_cFUcUc.s b/asm/d/save/d_save/setBottleItemIn__17dSv_player_item_cFUcUc.s deleted file mode 100644 index 9fc524d7f74..00000000000 --- a/asm/d/save/d_save/setBottleItemIn__17dSv_player_item_cFUcUc.s +++ /dev/null @@ -1,63 +0,0 @@ -lbl_80033370: -/* 80033370 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80033374 7C 08 02 A6 */ mflr r0 -/* 80033378 90 01 00 24 */ stw r0, 0x24(r1) -/* 8003337C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80033380 48 32 EE 59 */ bl _savegpr_28 -/* 80033384 7C 7C 1B 78 */ mr r28, r3 -/* 80033388 7C BD 2B 78 */ mr r29, r5 -/* 8003338C 7C 83 23 78 */ mr r3, r4 -/* 80033390 4B FF F5 89 */ bl dSv_item_rename__FUc -/* 80033394 7C 7E 1B 78 */ mr r30, r3 -/* 80033398 7F A3 EB 78 */ mr r3, r29 -/* 8003339C 4B FF F5 7D */ bl dSv_item_rename__FUc -/* 800333A0 7C 7D 1B 78 */ mr r29, r3 -/* 800333A4 3B E0 00 00 */ li r31, 0 -/* 800333A8 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 800333AC 38 00 00 04 */ li r0, 4 -/* 800333B0 7C 09 03 A6 */ mtctr r0 -lbl_800333B4: -/* 800333B4 38 9F 00 0B */ addi r4, r31, 0xb -/* 800333B8 7C 1C 20 AE */ lbzx r0, r28, r4 -/* 800333BC 7C 03 00 40 */ cmplw r3, r0 -/* 800333C0 40 82 00 70 */ bne lbl_80033430 -/* 800333C4 7F 83 E3 78 */ mr r3, r28 -/* 800333C8 7F A5 EB 78 */ mr r5, r29 -/* 800333CC 4B FF FB ED */ bl setItem__17dSv_player_item_cFiUc -/* 800333D0 57 A0 06 3E */ clrlwi r0, r29, 0x18 -/* 800333D4 28 00 00 6B */ cmplwi r0, 0x6b -/* 800333D8 40 82 00 18 */ bne lbl_800333F0 -/* 800333DC 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 800333E0 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 800333E4 38 1F 00 0B */ addi r0, r31, 0xb -/* 800333E8 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 800333EC 48 1E A8 D9 */ bl setHotSpringTimer__13dMeter2Info_cFUc -lbl_800333F0: -/* 800333F0 3B A0 00 00 */ li r29, 0 -/* 800333F4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800333F8 3B C3 61 C0 */ addi r30, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800333FC 3B FF 00 0B */ addi r31, r31, 0xb -lbl_80033400: -/* 80033400 7F C3 F3 78 */ mr r3, r30 -/* 80033404 7F A4 EB 78 */ mr r4, r29 -/* 80033408 4B FF F6 55 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003340C 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80033410 7C 1F 00 00 */ cmpw r31, r0 -/* 80033414 40 82 00 0C */ bne lbl_80033420 -/* 80033418 7F A3 EB 78 */ mr r3, r29 -/* 8003341C 4B FF A9 D9 */ bl dComIfGp_setSelectItem__Fi -lbl_80033420: -/* 80033420 3B BD 00 01 */ addi r29, r29, 1 -/* 80033424 2C 1D 00 03 */ cmpwi r29, 3 -/* 80033428 41 80 FF D8 */ blt lbl_80033400 -/* 8003342C 48 00 00 0C */ b lbl_80033438 -lbl_80033430: -/* 80033430 3B FF 00 01 */ addi r31, r31, 1 -/* 80033434 42 00 FF 80 */ bdnz lbl_800333B4 -lbl_80033438: -/* 80033438 39 61 00 20 */ addi r11, r1, 0x20 -/* 8003343C 48 32 ED E9 */ bl _restgpr_28 -/* 80033440 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80033444 7C 08 03 A6 */ mtlr r0 -/* 80033448 38 21 00 20 */ addi r1, r1, 0x20 -/* 8003344C 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/setEmptyBottleItemIn__17dSv_player_item_cFUc.s b/asm/d/save/d_save/setEmptyBottleItemIn__17dSv_player_item_cFUc.s deleted file mode 100644 index f8e73fcba15..00000000000 --- a/asm/d/save/d_save/setEmptyBottleItemIn__17dSv_player_item_cFUc.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80033450: -/* 80033450 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80033454 7C 08 02 A6 */ mflr r0 -/* 80033458 90 01 00 14 */ stw r0, 0x14(r1) -/* 8003345C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80033460 7C 7F 1B 78 */ mr r31, r3 -/* 80033464 7C 85 23 78 */ mr r5, r4 -/* 80033468 7C A3 2B 78 */ mr r3, r5 -/* 8003346C 4B FF F4 AD */ bl dSv_item_rename__FUc -/* 80033470 7C 65 1B 78 */ mr r5, r3 -/* 80033474 7F E3 FB 78 */ mr r3, r31 -/* 80033478 38 80 00 60 */ li r4, 0x60 -/* 8003347C 4B FF FE F5 */ bl setBottleItemIn__17dSv_player_item_cFUcUc -/* 80033480 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80033484 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80033488 7C 08 03 A6 */ mtlr r0 -/* 8003348C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80033490 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/setEquipBottleItemIn__17dSv_player_item_cFUcUc.s b/asm/d/save/d_save/setEquipBottleItemIn__17dSv_player_item_cFUcUc.s deleted file mode 100644 index ee86dcdcd2a..00000000000 --- a/asm/d/save/d_save/setEquipBottleItemIn__17dSv_player_item_cFUcUc.s +++ /dev/null @@ -1,76 +0,0 @@ -lbl_80033598: -/* 80033598 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8003359C 7C 08 02 A6 */ mflr r0 -/* 800335A0 90 01 00 24 */ stw r0, 0x24(r1) -/* 800335A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800335A8 48 32 EC 35 */ bl _savegpr_29 -/* 800335AC 7C 7D 1B 78 */ mr r29, r3 -/* 800335B0 7C 9F 23 78 */ mr r31, r4 -/* 800335B4 7C BE 2B 78 */ mr r30, r5 -/* 800335B8 7F C3 F3 78 */ mr r3, r30 -/* 800335BC 4B FF F3 5D */ bl dSv_item_rename__FUc -/* 800335C0 7C 7E 1B 78 */ mr r30, r3 -/* 800335C4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800335C8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800335CC 57 FF 06 3E */ clrlwi r31, r31, 0x18 -/* 800335D0 7F E4 FB 78 */ mr r4, r31 -/* 800335D4 4B FF F4 89 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 800335D8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800335DC 28 00 00 0B */ cmplwi r0, 0xb -/* 800335E0 41 80 00 C4 */ blt lbl_800336A4 -/* 800335E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 800335E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 800335EC 7F E4 FB 78 */ mr r4, r31 -/* 800335F0 4B FF F4 6D */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 800335F4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 800335F8 28 00 00 0E */ cmplwi r0, 0xe -/* 800335FC 41 81 00 A8 */ bgt lbl_800336A4 -/* 80033600 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 80033604 28 00 00 6B */ cmplwi r0, 0x6b -/* 80033608 40 82 00 24 */ bne lbl_8003362C -/* 8003360C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80033610 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80033614 7F E4 FB 78 */ mr r4, r31 -/* 80033618 4B FF F4 45 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003361C 7C 64 1B 78 */ mr r4, r3 -/* 80033620 3C 60 80 43 */ lis r3, g_meter2_info@ha /* 0x80430188@ha */ -/* 80033624 38 63 01 88 */ addi r3, r3, g_meter2_info@l /* 0x80430188@l */ -/* 80033628 48 1E A6 9D */ bl setHotSpringTimer__13dMeter2Info_cFUc -lbl_8003362C: -/* 8003362C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80033630 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80033634 7F E4 FB 78 */ mr r4, r31 -/* 80033638 4B FF F4 25 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003363C 7C 60 1B 78 */ mr r0, r3 -/* 80033640 7F A3 EB 78 */ mr r3, r29 -/* 80033644 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80033648 7F C5 F3 78 */ mr r5, r30 -/* 8003364C 4B FF F9 6D */ bl setItem__17dSv_player_item_cFiUc -/* 80033650 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80033654 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80033658 7F E4 FB 78 */ mr r4, r31 -/* 8003365C 4B FF F4 01 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 80033660 7C 60 1B 78 */ mr r0, r3 -/* 80033664 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80033668 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8003366C 38 63 00 9C */ addi r3, r3, 0x9c -/* 80033670 54 04 06 3E */ clrlwi r4, r0, 0x18 -/* 80033674 7F C5 F3 78 */ mr r5, r30 -/* 80033678 4B FF F9 41 */ bl setItem__17dSv_player_item_cFiUc -/* 8003367C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80033680 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80033684 7F E4 FB 78 */ mr r4, r31 -/* 80033688 4B FF F3 D5 */ bl getSelectItemIndex__21dSv_player_status_a_cCFi -/* 8003368C 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80033690 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80033694 98 64 5E 7D */ stb r3, 0x5e7d(r4) -/* 80033698 9B C4 5E 7E */ stb r30, 0x5e7e(r4) -/* 8003369C 7F E3 FB 78 */ mr r3, r31 -/* 800336A0 4B FF A7 55 */ bl dComIfGp_setSelectItem__Fi -lbl_800336A4: -/* 800336A4 39 61 00 20 */ addi r11, r1, 0x20 -/* 800336A8 48 32 EB 81 */ bl _restgpr_29 -/* 800336AC 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800336B0 7C 08 03 A6 */ mtlr r0 -/* 800336B4 38 21 00 20 */ addi r1, r1, 0x20 -/* 800336B8 4E 80 00 20 */ blr diff --git a/asm/d/save/d_save/setLineUpItem__17dSv_player_item_cFv.s b/asm/d/save/d_save/setLineUpItem__17dSv_player_item_cFv.s deleted file mode 100644 index 9c47eb7cb92..00000000000 --- a/asm/d/save/d_save/setLineUpItem__17dSv_player_item_cFv.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_800332F8: -/* 800332F8 38 A0 00 00 */ li r5, 0 -/* 800332FC 38 C0 00 00 */ li r6, 0 -/* 80033300 38 80 00 FF */ li r4, 0xff -/* 80033304 38 00 00 18 */ li r0, 0x18 -/* 80033308 7C 09 03 A6 */ mtctr r0 -lbl_8003330C: -/* 8003330C 38 06 00 18 */ addi r0, r6, 0x18 -/* 80033310 7C 83 01 AE */ stbx r4, r3, r0 -/* 80033314 38 C6 00 01 */ addi r6, r6, 1 -/* 80033318 42 00 FF F4 */ bdnz lbl_8003330C -/* 8003331C 3C 80 80 3A */ lis r4, i_item_lst@ha /* 0x803A7270@ha */ -/* 80033320 38 84 72 70 */ addi r4, r4, i_item_lst@l /* 0x803A7270@l */ -/* 80033324 38 00 00 17 */ li r0, 0x17 -/* 80033328 7C 09 03 A6 */ mtctr r0 -lbl_8003332C: -/* 8003332C 88 C4 00 00 */ lbz r6, 0(r4) -/* 80033330 7C 03 30 AE */ lbzx r0, r3, r6 -/* 80033334 28 00 00 FF */ cmplwi r0, 0xff -/* 80033338 41 82 00 10 */ beq lbl_80033348 -/* 8003333C 38 05 00 18 */ addi r0, r5, 0x18 -/* 80033340 7C C3 01 AE */ stbx r6, r3, r0 -/* 80033344 38 A5 00 01 */ addi r5, r5, 1 -lbl_80033348: -/* 80033348 38 84 00 01 */ addi r4, r4, 1 -/* 8003334C 42 00 FF E0 */ bdnz lbl_8003332C -/* 80033350 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdfs/DVDReadAsyncPrio.s b/asm/dolphin/dvd/dvdfs/DVDReadAsyncPrio.s deleted file mode 100644 index 1b89c370746..00000000000 --- a/asm/dolphin/dvd/dvdfs/DVDReadAsyncPrio.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_80348D54: -/* 80348D54 7C 08 02 A6 */ mflr r0 -/* 80348D58 90 01 00 04 */ stw r0, 4(r1) -/* 80348D5C 94 21 FF C8 */ stwu r1, -0x38(r1) -/* 80348D60 BF 41 00 20 */ stmw r26, 0x20(r1) -/* 80348D64 7C DD 33 79 */ or. r29, r6, r6 -/* 80348D68 3B 43 00 00 */ addi r26, r3, 0 -/* 80348D6C 3B 64 00 00 */ addi r27, r4, 0 -/* 80348D70 3B 85 00 00 */ addi r28, r5, 0 -/* 80348D74 3B C7 00 00 */ addi r30, r7, 0 -/* 80348D78 3B E8 00 00 */ addi r31, r8, 0 -/* 80348D7C 41 80 00 10 */ blt lbl_80348D8C -/* 80348D80 80 1A 00 34 */ lwz r0, 0x34(r26) -/* 80348D84 7C 1D 00 40 */ cmplw r29, r0 -/* 80348D88 40 81 00 1C */ ble lbl_80348DA4 -lbl_80348D8C: -/* 80348D8C 3C 60 80 3D */ lis r3, lit_239@ha /* 0x803D1480@ha */ -/* 80348D90 4C C6 31 82 */ crclr 6 -/* 80348D94 38 A3 14 80 */ addi r5, r3, lit_239@l /* 0x803D1480@l */ -/* 80348D98 38 6D 84 60 */ la r3, lit_118(r13) /* 804509E0-_SDA_BASE_ */ -/* 80348D9C 38 80 02 EE */ li r4, 0x2ee -/* 80348DA0 4B CB E0 DD */ bl OSPanic -lbl_80348DA4: -/* 80348DA4 7C 9D E2 15 */ add. r4, r29, r28 -/* 80348DA8 41 80 00 14 */ blt lbl_80348DBC -/* 80348DAC 80 7A 00 34 */ lwz r3, 0x34(r26) -/* 80348DB0 38 03 00 20 */ addi r0, r3, 0x20 -/* 80348DB4 7C 04 00 40 */ cmplw r4, r0 -/* 80348DB8 41 80 00 1C */ blt lbl_80348DD4 -lbl_80348DBC: -/* 80348DBC 3C 60 80 3D */ lis r3, lit_239@ha /* 0x803D1480@ha */ -/* 80348DC0 4C C6 31 82 */ crclr 6 -/* 80348DC4 38 A3 14 80 */ addi r5, r3, lit_239@l /* 0x803D1480@l */ -/* 80348DC8 38 6D 84 60 */ la r3, lit_118(r13) /* 804509E0-_SDA_BASE_ */ -/* 80348DCC 38 80 02 F4 */ li r4, 0x2f4 -/* 80348DD0 4B CB E0 AD */ bl OSPanic -lbl_80348DD4: -/* 80348DD4 93 DA 00 38 */ stw r30, 0x38(r26) -/* 80348DD8 3C 60 80 35 */ lis r3, cbForReadAsync@ha /* 0x80348E14@ha */ -/* 80348DDC 38 E3 8E 14 */ addi r7, r3, cbForReadAsync@l /* 0x80348E14@l */ -/* 80348DE0 80 1A 00 30 */ lwz r0, 0x30(r26) -/* 80348DE4 38 7A 00 00 */ addi r3, r26, 0 -/* 80348DE8 38 9B 00 00 */ addi r4, r27, 0 -/* 80348DEC 38 BC 00 00 */ addi r5, r28, 0 -/* 80348DF0 39 1F 00 00 */ addi r8, r31, 0 -/* 80348DF4 7C C0 EA 14 */ add r6, r0, r29 -/* 80348DF8 48 00 1F 35 */ bl DVDReadAbsAsyncPrio -/* 80348DFC BB 41 00 20 */ lmw r26, 0x20(r1) -/* 80348E00 38 60 00 01 */ li r3, 1 -/* 80348E04 80 01 00 3C */ lwz r0, 0x3c(r1) -/* 80348E08 38 21 00 38 */ addi r1, r1, 0x38 -/* 80348E0C 7C 08 03 A6 */ mtlr r0 -/* 80348E10 4E 80 00 20 */ blr diff --git a/asm/dolphin/dvd/dvdlow/DVDLowRead.s b/asm/dolphin/dvd/dvdlow/DVDLowRead.s deleted file mode 100644 index c25fd8d4028..00000000000 --- a/asm/dolphin/dvd/dvdlow/DVDLowRead.s +++ /dev/null @@ -1,181 +0,0 @@ -lbl_80347C18: -/* 80347C18 7C 08 02 A6 */ mflr r0 -/* 80347C1C 3C E0 CC 00 */ lis r7, 0xCC00 /* 0xCC006000@ha */ -/* 80347C20 90 01 00 04 */ stw r0, 4(r1) -/* 80347C24 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80347C28 BE C1 00 18 */ stmw r22, 0x18(r1) -/* 80347C2C 3B 24 00 00 */ addi r25, r4, 0 -/* 80347C30 38 87 60 00 */ addi r4, r7, 0x6000 /* 0xCC006000@l */ -/* 80347C34 3C E0 80 45 */ lis r7, CommandList@ha /* 0x8044C830@ha */ -/* 80347C38 3B E7 C8 30 */ addi r31, r7, CommandList@l /* 0x8044C830@l */ -/* 80347C3C 3B 03 00 00 */ addi r24, r3, 0 -/* 80347C40 3B 45 00 00 */ addi r26, r5, 0 -/* 80347C44 3B DF 00 CC */ addi r30, r31, 0xcc -/* 80347C48 7C DB 33 78 */ mr r27, r6 -/* 80347C4C 93 24 00 18 */ stw r25, 0x18(r4) -/* 80347C50 93 1F 00 C4 */ stw r24, 0xc4(r31) -/* 80347C54 93 3F 00 C8 */ stw r25, 0xc8(r31) -/* 80347C58 93 5F 00 CC */ stw r26, 0xcc(r31) -/* 80347C5C 80 0D 91 B4 */ lwz r0, WorkAroundType(r13) -/* 80347C60 28 00 00 00 */ cmplwi r0, 0 -/* 80347C64 40 82 00 2C */ bne lbl_80347C90 -/* 80347C68 38 00 FF FF */ li r0, -1 -/* 80347C6C 90 1F 00 00 */ stw r0, 0(r31) -/* 80347C70 38 00 00 00 */ li r0, 0 -/* 80347C74 38 78 00 00 */ addi r3, r24, 0 -/* 80347C78 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 80347C7C 38 99 00 00 */ addi r4, r25, 0 -/* 80347C80 38 BA 00 00 */ addi r5, r26, 0 -/* 80347C84 38 DB 00 00 */ addi r6, r27, 0 -/* 80347C88 4B FF FE 01 */ bl Read -/* 80347C8C 48 00 02 0C */ b lbl_80347E98 -lbl_80347C90: -/* 80347C90 80 0D 91 B4 */ lwz r0, WorkAroundType(r13) -/* 80347C94 28 00 00 01 */ cmplwi r0, 1 -/* 80347C98 40 82 02 00 */ bne lbl_80347E98 -/* 80347C9C 80 0D 84 58 */ lwz r0, FirstRead(r13) -/* 80347CA0 2C 00 00 00 */ cmpwi r0, 0 -/* 80347CA4 41 82 00 1C */ beq lbl_80347CC0 -/* 80347CA8 38 78 00 00 */ addi r3, r24, 0 -/* 80347CAC 38 99 00 00 */ addi r4, r25, 0 -/* 80347CB0 38 BA 00 00 */ addi r5, r26, 0 -/* 80347CB4 38 DB 00 00 */ addi r6, r27, 0 -/* 80347CB8 4B FF FE E1 */ bl SeekTwiceBeforeRead -/* 80347CBC 48 00 01 DC */ b lbl_80347E98 -lbl_80347CC0: -/* 80347CC0 3B BF 00 BC */ addi r29, r31, 0xbc -/* 80347CC4 80 1E 00 00 */ lwz r0, 0(r30) -/* 80347CC8 3B 9F 00 C0 */ addi r28, r31, 0xc0 -/* 80347CCC 80 7F 00 BC */ lwz r3, 0xbc(r31) -/* 80347CD0 80 9F 00 C0 */ lwz r4, 0xc0(r31) -/* 80347CD4 54 17 8B FE */ srwi r23, r0, 0xf -/* 80347CD8 38 03 FF FF */ addi r0, r3, -1 -/* 80347CDC 7C 04 02 14 */ add r0, r4, r0 -/* 80347CE0 54 16 8B FE */ srwi r22, r0, 0xf -/* 80347CE4 48 00 39 3D */ bl DVDGetCurrentDiskID -/* 80347CE8 88 03 00 08 */ lbz r0, 8(r3) -/* 80347CEC 28 00 00 00 */ cmplwi r0, 0 -/* 80347CF0 41 82 00 0C */ beq lbl_80347CFC -/* 80347CF4 38 00 00 01 */ li r0, 1 -/* 80347CF8 48 00 00 08 */ b lbl_80347D00 -lbl_80347CFC: -/* 80347CFC 38 00 00 00 */ li r0, 0 -lbl_80347D00: -/* 80347D00 2C 00 00 00 */ cmpwi r0, 0 -/* 80347D04 41 82 00 0C */ beq lbl_80347D10 -/* 80347D08 38 60 00 05 */ li r3, 5 -/* 80347D0C 48 00 00 08 */ b lbl_80347D14 -lbl_80347D10: -/* 80347D10 38 60 00 0F */ li r3, 0xf -lbl_80347D14: -/* 80347D14 38 16 FF FE */ addi r0, r22, -2 -/* 80347D18 7C 17 00 40 */ cmplw r23, r0 -/* 80347D1C 41 81 00 14 */ bgt lbl_80347D30 -/* 80347D20 38 03 00 03 */ addi r0, r3, 3 -/* 80347D24 7C 16 02 14 */ add r0, r22, r0 -/* 80347D28 7C 17 00 40 */ cmplw r23, r0 -/* 80347D2C 40 80 00 0C */ bge lbl_80347D38 -lbl_80347D30: -/* 80347D30 38 00 00 01 */ li r0, 1 -/* 80347D34 48 00 00 08 */ b lbl_80347D3C -lbl_80347D38: -/* 80347D38 38 00 00 00 */ li r0, 0 -lbl_80347D3C: -/* 80347D3C 2C 00 00 00 */ cmpwi r0, 0 -/* 80347D40 40 82 00 2C */ bne lbl_80347D6C -/* 80347D44 38 00 FF FF */ li r0, -1 -/* 80347D48 90 1F 00 00 */ stw r0, 0(r31) -/* 80347D4C 38 00 00 00 */ li r0, 0 -/* 80347D50 38 78 00 00 */ addi r3, r24, 0 -/* 80347D54 90 0D 91 D4 */ stw r0, NextCommandNumber(r13) -/* 80347D58 38 99 00 00 */ addi r4, r25, 0 -/* 80347D5C 38 BA 00 00 */ addi r5, r26, 0 -/* 80347D60 38 DB 00 00 */ addi r6, r27, 0 -/* 80347D64 4B FF FD 25 */ bl Read -/* 80347D68 48 00 01 30 */ b lbl_80347E98 -lbl_80347D6C: -/* 80347D6C 80 7D 00 00 */ lwz r3, 0(r29) -/* 80347D70 80 9C 00 00 */ lwz r4, 0(r28) -/* 80347D74 38 63 FF FF */ addi r3, r3, -1 -/* 80347D78 80 1E 00 00 */ lwz r0, 0(r30) -/* 80347D7C 7C 64 1A 14 */ add r3, r4, r3 -/* 80347D80 54 63 8B FE */ srwi r3, r3, 0xf -/* 80347D84 54 04 8B FE */ srwi r4, r0, 0xf -/* 80347D88 7C 03 20 40 */ cmplw r3, r4 -/* 80347D8C 41 82 00 10 */ beq lbl_80347D9C -/* 80347D90 38 03 00 01 */ addi r0, r3, 1 -/* 80347D94 7C 00 20 40 */ cmplw r0, r4 -/* 80347D98 40 82 00 EC */ bne lbl_80347E84 -lbl_80347D9C: -/* 80347D9C 4B FF A9 81 */ bl __OSGetSystemTime -/* 80347DA0 3C A0 80 00 */ lis r5, 0x8000 /* 0x800000F8@ha */ -/* 80347DA4 81 0D 91 C0 */ lwz r8, LastReadFinished(r13) -/* 80347DA8 80 05 00 F8 */ lwz r0, 0x00F8(r5) /* 0x800000F8@l */ -/* 80347DAC 3C A0 10 62 */ lis r5, 0x1062 /* 0x10624DD3@ha */ -/* 80347DB0 81 2D 91 C4 */ lwz r9, LastReadFinished+0x4(r13) -/* 80347DB4 38 C0 00 00 */ li r6, 0 -/* 80347DB8 54 07 F0 BE */ srwi r7, r0, 2 -/* 80347DBC 38 05 4D D3 */ addi r0, r5, 0x4DD3 /* 0x10624DD3@l */ -/* 80347DC0 7C 00 38 16 */ mulhwu r0, r0, r7 -/* 80347DC4 54 00 D1 BE */ srwi r0, r0, 6 -/* 80347DC8 7D 29 20 10 */ subfc r9, r9, r4 -/* 80347DCC 7D 08 19 10 */ subfe r8, r8, r3 -/* 80347DD0 1C A0 00 05 */ mulli r5, r0, 5 -/* 80347DD4 6C C4 80 00 */ xoris r4, r6, 0x8000 -/* 80347DD8 6D 03 80 00 */ xoris r3, r8, 0x8000 -/* 80347DDC 7C 09 28 10 */ subfc r0, r9, r5 -/* 80347DE0 7C 63 21 10 */ subfe r3, r3, r4 -/* 80347DE4 7C 64 21 10 */ subfe r3, r4, r4 -/* 80347DE8 7C 63 00 D1 */ neg. r3, r3 -/* 80347DEC 41 82 00 28 */ beq lbl_80347E14 -/* 80347DF0 38 00 FF FF */ li r0, -1 -/* 80347DF4 90 1F 00 00 */ stw r0, 0(r31) -/* 80347DF8 38 78 00 00 */ addi r3, r24, 0 -/* 80347DFC 38 99 00 00 */ addi r4, r25, 0 -/* 80347E00 90 CD 91 D4 */ stw r6, NextCommandNumber(r13) -/* 80347E04 38 BA 00 00 */ addi r5, r26, 0 -/* 80347E08 38 DB 00 00 */ addi r6, r27, 0 -/* 80347E0C 4B FF FC 7D */ bl Read -/* 80347E10 48 00 00 88 */ b lbl_80347E98 -lbl_80347E14: -/* 80347E14 38 00 00 01 */ li r0, 1 -/* 80347E18 90 1F 00 00 */ stw r0, 0(r31) -/* 80347E1C 3C 60 43 1C */ lis r3, 0x431C /* 0x431BDE83@ha */ -/* 80347E20 38 03 DE 83 */ addi r0, r3, 0xDE83 /* 0x431BDE83@l */ -/* 80347E24 93 1F 00 04 */ stw r24, 4(r31) -/* 80347E28 7C 00 38 16 */ mulhwu r0, r0, r7 -/* 80347E2C 93 3F 00 08 */ stw r25, 8(r31) -/* 80347E30 93 5F 00 0C */ stw r26, 0xc(r31) -/* 80347E34 54 00 8B FE */ srwi r0, r0, 0xf -/* 80347E38 1C 60 01 F4 */ mulli r3, r0, 0x1f4 -/* 80347E3C 93 7F 00 10 */ stw r27, 0x10(r31) -/* 80347E40 38 00 FF FF */ li r0, -1 -/* 80347E44 90 1F 00 14 */ stw r0, 0x14(r31) -/* 80347E48 7C A9 28 10 */ subfc r5, r9, r5 -/* 80347E4C 7C 88 31 10 */ subfe r4, r8, r6 -/* 80347E50 54 60 E8 FE */ srwi r0, r3, 3 -/* 80347E54 90 CD 91 D4 */ stw r6, NextCommandNumber(r13) -/* 80347E58 7E E5 00 14 */ addc r23, r5, r0 -/* 80347E5C 7E C4 31 14 */ adde r22, r4, r6 -/* 80347E60 38 7F 00 40 */ addi r3, r31, 0x40 -/* 80347E64 4B FF 2A 95 */ bl OSCreateAlarm -/* 80347E68 3C 60 80 34 */ lis r3, AlarmHandler@ha /* 0x80347994@ha */ -/* 80347E6C 38 E3 79 94 */ addi r7, r3, AlarmHandler@l /* 0x80347994@l */ -/* 80347E70 38 D7 00 00 */ addi r6, r23, 0 -/* 80347E74 38 B6 00 00 */ addi r5, r22, 0 -/* 80347E78 38 7F 00 40 */ addi r3, r31, 0x40 -/* 80347E7C 4B FF 2C DD */ bl OSSetAlarm -/* 80347E80 48 00 00 18 */ b lbl_80347E98 -lbl_80347E84: -/* 80347E84 38 78 00 00 */ addi r3, r24, 0 -/* 80347E88 38 99 00 00 */ addi r4, r25, 0 -/* 80347E8C 38 BA 00 00 */ addi r5, r26, 0 -/* 80347E90 38 DB 00 00 */ addi r6, r27, 0 -/* 80347E94 4B FF FD 05 */ bl SeekTwiceBeforeRead -lbl_80347E98: -/* 80347E98 BA C1 00 18 */ lmw r22, 0x18(r1) -/* 80347E9C 38 60 00 01 */ li r3, 1 -/* 80347EA0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80347EA4 38 21 00 40 */ addi r1, r1, 0x40 -/* 80347EA8 7C 08 03 A6 */ mtlr r0 -/* 80347EAC 4E 80 00 20 */ blr diff --git a/asm/dolphin/gf/GFLight/GFSetChanAmbColor__F12_GXChannelID8_GXColor.s b/asm/dolphin/gf/GFLight/GFSetChanAmbColor__F12_GXChannelID8_GXColor.s deleted file mode 100644 index 2dfc348d6dd..00000000000 --- a/asm/dolphin/gf/GFLight/GFSetChanAmbColor__F12_GXChannelID8_GXColor.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_802CDE54: -/* 802CDE54 88 E4 00 03 */ lbz r7, 3(r4) -/* 802CDE58 88 C4 00 02 */ lbz r6, 2(r4) -/* 802CDE5C 88 A4 00 00 */ lbz r5, 0(r4) -/* 802CDE60 88 04 00 01 */ lbz r0, 1(r4) -/* 802CDE64 54 00 80 1E */ slwi r0, r0, 0x10 -/* 802CDE68 50 A0 C0 0E */ rlwimi r0, r5, 0x18, 0, 7 -/* 802CDE6C 50 C0 44 2E */ rlwimi r0, r6, 8, 0x10, 0x17 -/* 802CDE70 7C E5 03 78 */ or r5, r7, r0 -/* 802CDE74 38 00 00 10 */ li r0, 0x10 -/* 802CDE78 3C 80 CC 01 */ lis r4, 0xCC01 /* 0xCC008000@ha */ -/* 802CDE7C 98 04 80 00 */ stb r0, 0x8000(r4) /* 0xCC008000@l */ -/* 802CDE80 38 00 00 00 */ li r0, 0 -/* 802CDE84 B0 04 80 00 */ sth r0, -0x8000(r4) -/* 802CDE88 54 63 07 FE */ clrlwi r3, r3, 0x1f -/* 802CDE8C 38 03 10 0A */ addi r0, r3, 0x100a -/* 802CDE90 B0 04 80 00 */ sth r0, -0x8000(r4) -/* 802CDE94 90 A4 80 00 */ stw r5, -0x8000(r4) -/* 802CDE98 4E 80 00 20 */ blr diff --git a/asm/dolphin/gf/GFPixel/GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc.s b/asm/dolphin/gf/GFPixel/GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc.s deleted file mode 100644 index 252e834d4f2..00000000000 --- a/asm/dolphin/gf/GFPixel/GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc.s +++ /dev/null @@ -1,43 +0,0 @@ -lbl_802CE004: -/* 802CE004 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802CE008 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802CE00C 93 C1 00 08 */ stw r30, 8(r1) -/* 802CE010 38 00 00 61 */ li r0, 0x61 -/* 802CE014 3D 40 CC 01 */ lis r10, 0xCC01 /* 0xCC008000@ha */ -/* 802CE018 98 0A 80 00 */ stb r0, 0x8000(r10) /* 0xCC008000@l */ -/* 802CE01C 3B C0 00 00 */ li r30, 0 -/* 802CE020 2C 03 00 01 */ cmpwi r3, 1 -/* 802CE024 41 82 00 0C */ beq lbl_802CE030 -/* 802CE028 2C 03 00 03 */ cmpwi r3, 3 -/* 802CE02C 40 82 00 08 */ bne lbl_802CE034 -lbl_802CE030: -/* 802CE030 3B C0 00 01 */ li r30, 1 -lbl_802CE034: -/* 802CE034 54 DF 60 26 */ slwi r31, r6, 0xc -/* 802CE038 20 03 00 03 */ subfic r0, r3, 3 -/* 802CE03C 7C 00 00 34 */ cntlzw r0, r0 -/* 802CE040 54 0C 33 68 */ rlwinm r12, r0, 6, 0xd, 0x14 -/* 802CE044 54 8B 40 2E */ slwi r11, r4, 8 -/* 802CE048 54 AA 28 34 */ slwi r10, r5, 5 -/* 802CE04C 55 06 25 36 */ rlwinm r6, r8, 4, 0x14, 0x1b -/* 802CE050 54 E5 1D 78 */ rlwinm r5, r7, 3, 0x15, 0x1c -/* 802CE054 55 24 15 BA */ rlwinm r4, r9, 2, 0x16, 0x1d -/* 802CE058 20 03 00 02 */ subfic r0, r3, 2 -/* 802CE05C 7C 00 00 34 */ cntlzw r0, r0 -/* 802CE060 54 03 E5 FC */ rlwinm r3, r0, 0x1c, 0x17, 0x1e -/* 802CE064 57 C0 06 3E */ clrlwi r0, r30, 0x18 -/* 802CE068 7C 60 03 78 */ or r0, r3, r0 -/* 802CE06C 7C 80 03 78 */ or r0, r4, r0 -/* 802CE070 7C A0 03 78 */ or r0, r5, r0 -/* 802CE074 7C C0 03 78 */ or r0, r6, r0 -/* 802CE078 7D 40 03 78 */ or r0, r10, r0 -/* 802CE07C 7D 60 03 78 */ or r0, r11, r0 -/* 802CE080 7D 80 03 78 */ or r0, r12, r0 -/* 802CE084 7F E0 03 78 */ or r0, r31, r0 -/* 802CE088 64 00 41 00 */ oris r0, r0, 0x4100 -/* 802CE08C 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 802CE090 90 03 80 00 */ stw r0, 0x8000(r3) /* 0xCC008000@l */ -/* 802CE094 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802CE098 83 C1 00 08 */ lwz r30, 8(r1) -/* 802CE09C 38 21 00 10 */ addi r1, r1, 0x10 -/* 802CE0A0 4E 80 00 20 */ blr diff --git a/asm/dolphin/gf/GFPixel/GFSetFog__F10_GXFogTypeffff8_GXColor.s b/asm/dolphin/gf/GFPixel/GFSetFog__F10_GXFogTypeffff8_GXColor.s deleted file mode 100644 index c36adb2dbb4..00000000000 --- a/asm/dolphin/gf/GFPixel/GFSetFog__F10_GXFogTypeffff8_GXColor.s +++ /dev/null @@ -1,99 +0,0 @@ -lbl_802CDE9C: -/* 802CDE9C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802CDEA0 7C 08 02 A6 */ mflr r0 -/* 802CDEA4 90 01 00 34 */ stw r0, 0x34(r1) -/* 802CDEA8 39 61 00 30 */ addi r11, r1, 0x30 -/* 802CDEAC 48 09 43 2D */ bl _savegpr_28 -/* 802CDEB0 7C 7C 1B 78 */ mr r28, r3 -/* 802CDEB4 7C 9F 23 78 */ mr r31, r4 -/* 802CDEB8 FC 04 18 00 */ fcmpu cr0, f4, f3 -/* 802CDEBC 41 82 00 0C */ beq lbl_802CDEC8 -/* 802CDEC0 FC 02 08 00 */ fcmpu cr0, f2, f1 -/* 802CDEC4 40 82 00 14 */ bne lbl_802CDED8 -lbl_802CDEC8: -/* 802CDEC8 C0 A2 C5 68 */ lfs f5, lit_293(r2) -/* 802CDECC C0 62 C5 6C */ lfs f3, lit_294(r2) -/* 802CDED0 D0 A1 00 0C */ stfs f5, 0xc(r1) -/* 802CDED4 48 00 00 24 */ b lbl_802CDEF8 -lbl_802CDED8: -/* 802CDED8 EC A4 00 F2 */ fmuls f5, f4, f3 -/* 802CDEDC EC 64 18 28 */ fsubs f3, f4, f3 -/* 802CDEE0 EC 42 08 28 */ fsubs f2, f2, f1 -/* 802CDEE4 EC 03 00 B2 */ fmuls f0, f3, f2 -/* 802CDEE8 EC A5 00 24 */ fdivs f5, f5, f0 -/* 802CDEEC EC 64 18 24 */ fdivs f3, f4, f3 -/* 802CDEF0 EC 01 10 24 */ fdivs f0, f1, f2 -/* 802CDEF4 D0 01 00 0C */ stfs f0, 0xc(r1) -lbl_802CDEF8: -/* 802CDEF8 3B C0 00 01 */ li r30, 1 -/* 802CDEFC C0 22 C5 6C */ lfs f1, lit_294(r2) -/* 802CDF00 C8 02 C5 70 */ lfd f0, lit_295(r2) -/* 802CDF04 48 00 00 0C */ b lbl_802CDF10 -lbl_802CDF08: -/* 802CDF08 EC 63 00 72 */ fmuls f3, f3, f1 -/* 802CDF0C 3B DE 00 01 */ addi r30, r30, 1 -lbl_802CDF10: -/* 802CDF10 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 802CDF14 41 81 FF F4 */ bgt lbl_802CDF08 -/* 802CDF18 C8 02 C5 80 */ lfd f0, lit_297(r2) -/* 802CDF1C C0 42 C5 78 */ lfs f2, lit_296(r2) -/* 802CDF20 C0 22 C5 68 */ lfs f1, lit_293(r2) -/* 802CDF24 48 00 00 0C */ b lbl_802CDF30 -lbl_802CDF28: -/* 802CDF28 EC 63 00 B2 */ fmuls f3, f3, f2 -/* 802CDF2C 3B DE FF FF */ addi r30, r30, -1 -lbl_802CDF30: -/* 802CDF30 FC 03 08 40 */ fcmpo cr0, f3, f1 -/* 802CDF34 40 81 00 0C */ ble lbl_802CDF40 -/* 802CDF38 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 802CDF3C 41 80 FF EC */ blt lbl_802CDF28 -lbl_802CDF40: -/* 802CDF40 38 00 00 01 */ li r0, 1 -/* 802CDF44 7C 00 F0 30 */ slw r0, r0, r30 -/* 802CDF48 C8 22 C5 90 */ lfd f1, lit_301(r2) -/* 802CDF4C 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 802CDF50 90 01 00 14 */ stw r0, 0x14(r1) -/* 802CDF54 3C 00 43 30 */ lis r0, 0x4330 -/* 802CDF58 90 01 00 10 */ stw r0, 0x10(r1) -/* 802CDF5C C8 01 00 10 */ lfd f0, 0x10(r1) -/* 802CDF60 EC 00 08 28 */ fsubs f0, f0, f1 -/* 802CDF64 EC 05 00 24 */ fdivs f0, f5, f0 -/* 802CDF68 D0 01 00 08 */ stfs f0, 8(r1) -/* 802CDF6C 80 01 00 08 */ lwz r0, 8(r1) -/* 802CDF70 83 A1 00 0C */ lwz r29, 0xc(r1) -/* 802CDF74 38 80 00 61 */ li r4, 0x61 -/* 802CDF78 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 802CDF7C 98 83 80 00 */ stb r4, 0x8000(r3) /* 0xCC008000@l */ -/* 802CDF80 54 00 A3 3E */ srwi r0, r0, 0xc -/* 802CDF84 64 00 EE 00 */ oris r0, r0, 0xee00 -/* 802CDF88 90 03 80 00 */ stw r0, -0x8000(r3) -/* 802CDF8C 98 83 80 00 */ stb r4, -0x8000(r3) -/* 802CDF90 C0 02 C5 88 */ lfs f0, lit_298(r2) -/* 802CDF94 EC 20 00 F2 */ fmuls f1, f0, f3 -/* 802CDF98 48 09 41 15 */ bl __cvt_fp2unsigned -/* 802CDF9C 64 60 EF 00 */ oris r0, r3, 0xef00 -/* 802CDFA0 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */ -/* 802CDFA4 90 06 80 00 */ stw r0, 0x8000(r6) /* 0xCC008000@l */ -/* 802CDFA8 38 A0 00 61 */ li r5, 0x61 -/* 802CDFAC 98 A6 80 00 */ stb r5, -0x8000(r6) -/* 802CDFB0 67 C0 F0 00 */ oris r0, r30, 0xf000 -/* 802CDFB4 90 06 80 00 */ stw r0, -0x8000(r6) -/* 802CDFB8 98 A6 80 00 */ stb r5, -0x8000(r6) -/* 802CDFBC 57 80 A8 14 */ slwi r0, r28, 0x15 -/* 802CDFC0 53 A0 A3 3E */ rlwimi r0, r29, 0x14, 0xc, 0x1f -/* 802CDFC4 64 00 F1 00 */ oris r0, r0, 0xf100 -/* 802CDFC8 90 06 80 00 */ stw r0, -0x8000(r6) -/* 802CDFCC 88 9F 00 00 */ lbz r4, 0(r31) -/* 802CDFD0 88 7F 00 02 */ lbz r3, 2(r31) -/* 802CDFD4 88 1F 00 01 */ lbz r0, 1(r31) -/* 802CDFD8 50 03 44 2E */ rlwimi r3, r0, 8, 0x10, 0x17 -/* 802CDFDC 50 83 82 1E */ rlwimi r3, r4, 0x10, 8, 0xf -/* 802CDFE0 64 60 F2 00 */ oris r0, r3, 0xf200 -/* 802CDFE4 98 A6 80 00 */ stb r5, -0x8000(r6) -/* 802CDFE8 90 06 80 00 */ stw r0, -0x8000(r6) -/* 802CDFEC 39 61 00 30 */ addi r11, r1, 0x30 -/* 802CDFF0 48 09 42 35 */ bl _restgpr_28 -/* 802CDFF4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802CDFF8 7C 08 03 A6 */ mtlr r0 -/* 802CDFFC 38 21 00 30 */ addi r1, r1, 0x30 -/* 802CE000 4E 80 00 20 */ blr diff --git a/asm/dolphin/gf/GFPixel/GFSetZMode__FUc10_GXCompareUc.s b/asm/dolphin/gf/GFPixel/GFSetZMode__FUc10_GXCompareUc.s deleted file mode 100644 index d07b41a45a1..00000000000 --- a/asm/dolphin/gf/GFPixel/GFSetZMode__FUc10_GXCompareUc.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_802CE0A4: -/* 802CE0A4 38 00 00 61 */ li r0, 0x61 -/* 802CE0A8 3C C0 CC 01 */ lis r6, 0xCC01 /* 0xCC008000@ha */ -/* 802CE0AC 98 06 80 00 */ stb r0, 0x8000(r6) /* 0xCC008000@l */ -/* 802CE0B0 54 A5 25 36 */ rlwinm r5, r5, 4, 0x14, 0x1b -/* 802CE0B4 54 63 06 3E */ clrlwi r3, r3, 0x18 -/* 802CE0B8 54 80 08 3C */ slwi r0, r4, 1 -/* 802CE0BC 7C 60 03 78 */ or r0, r3, r0 -/* 802CE0C0 7C A0 03 78 */ or r0, r5, r0 -/* 802CE0C4 64 00 40 00 */ oris r0, r0, 0x4000 -/* 802CE0C8 90 06 80 00 */ stw r0, -0x8000(r6) -/* 802CE0CC 4E 80 00 20 */ blr diff --git a/asm/dolphin/gf/GFTev/GFSetTevColorS10__F11_GXTevRegID11_GXColorS10.s b/asm/dolphin/gf/GFTev/GFSetTevColorS10__F11_GXTevRegID11_GXColorS10.s deleted file mode 100644 index 39a1a42fd47..00000000000 --- a/asm/dolphin/gf/GFTev/GFSetTevColorS10__F11_GXTevRegID11_GXColorS10.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802CE0D0: -/* 802CE0D0 A8 C4 00 00 */ lha r6, 0(r4) -/* 802CE0D4 A8 04 00 06 */ lha r0, 6(r4) -/* 802CE0D8 54 05 62 66 */ rlwinm r5, r0, 0xc, 9, 0x13 -/* 802CE0DC 50 C5 05 7E */ rlwimi r5, r6, 0, 0x15, 0x1f -/* 802CE0E0 54 66 08 3C */ slwi r6, r3, 1 -/* 802CE0E4 38 06 00 E0 */ addi r0, r6, 0xe0 -/* 802CE0E8 7C A7 2B 78 */ mr r7, r5 -/* 802CE0EC 50 07 C0 0E */ rlwimi r7, r0, 0x18, 0, 7 -/* 802CE0F0 A8 A4 00 04 */ lha r5, 4(r4) -/* 802CE0F4 A8 04 00 02 */ lha r0, 2(r4) -/* 802CE0F8 54 03 62 66 */ rlwinm r3, r0, 0xc, 9, 0x13 -/* 802CE0FC 50 A3 05 7E */ rlwimi r3, r5, 0, 0x15, 0x1f -/* 802CE100 38 06 00 E1 */ addi r0, r6, 0xe1 -/* 802CE104 7C 64 1B 78 */ mr r4, r3 -/* 802CE108 50 04 C0 0E */ rlwimi r4, r0, 0x18, 0, 7 -/* 802CE10C 38 00 00 61 */ li r0, 0x61 -/* 802CE110 3C 60 CC 01 */ lis r3, 0xCC01 /* 0xCC008000@ha */ -/* 802CE114 98 03 80 00 */ stb r0, 0x8000(r3) /* 0xCC008000@l */ -/* 802CE118 90 E3 80 00 */ stw r7, -0x8000(r3) -/* 802CE11C 98 03 80 00 */ stb r0, -0x8000(r3) -/* 802CE120 90 83 80 00 */ stw r4, -0x8000(r3) -/* 802CE124 98 03 80 00 */ stb r0, -0x8000(r3) -/* 802CE128 90 83 80 00 */ stw r4, -0x8000(r3) -/* 802CE12C 98 03 80 00 */ stb r0, -0x8000(r3) -/* 802CE130 90 83 80 00 */ stw r4, -0x8000(r3) -/* 802CE134 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx44/C_MTXOrtho.s b/asm/dolphin/mtx/mtx44/C_MTXOrtho.s deleted file mode 100644 index 26f6b5812e2..00000000000 --- a/asm/dolphin/mtx/mtx44/C_MTXOrtho.s +++ /dev/null @@ -1,39 +0,0 @@ -lbl_80346FF8: -/* 80346FF8 ED 04 18 28 */ fsubs f8, f4, f3 -/* 80346FFC C1 22 CB 28 */ lfs f9, lit_99(r2) -/* 80347000 EC 01 10 28 */ fsubs f0, f1, f2 -/* 80347004 C0 E2 CB 2C */ lfs f7, lit_100(r2) -/* 80347008 EC 64 18 2A */ fadds f3, f4, f3 -/* 8034700C ED 49 40 24 */ fdivs f10, f9, f8 -/* 80347010 ED 09 00 24 */ fdivs f8, f9, f0 -/* 80347014 EC 87 02 B2 */ fmuls f4, f7, f10 -/* 80347018 FC 60 18 50 */ fneg f3, f3 -/* 8034701C EC 06 28 28 */ fsubs f0, f6, f5 -/* 80347020 D0 83 00 00 */ stfs f4, 0(r3) -/* 80347024 EC 21 10 2A */ fadds f1, f1, f2 -/* 80347028 EC 4A 00 F2 */ fmuls f2, f10, f3 -/* 8034702C C0 62 CB 30 */ lfs f3, lit_101(r2) -/* 80347030 FC 20 08 50 */ fneg f1, f1 -/* 80347034 D0 63 00 04 */ stfs f3, 4(r3) -/* 80347038 EC 89 00 24 */ fdivs f4, f9, f0 -/* 8034703C D0 63 00 08 */ stfs f3, 8(r3) -/* 80347040 D0 43 00 0C */ stfs f2, 0xc(r3) -/* 80347044 D0 63 00 10 */ stfs f3, 0x10(r3) -/* 80347048 EC 47 02 32 */ fmuls f2, f7, f8 -/* 8034704C FC 00 30 50 */ fneg f0, f6 -/* 80347050 EC 28 00 72 */ fmuls f1, f8, f1 -/* 80347054 D0 43 00 14 */ stfs f2, 0x14(r3) -/* 80347058 EC 00 01 32 */ fmuls f0, f0, f4 -/* 8034705C D0 63 00 18 */ stfs f3, 0x18(r3) -/* 80347060 D0 23 00 1C */ stfs f1, 0x1c(r3) -/* 80347064 D0 63 00 20 */ stfs f3, 0x20(r3) -/* 80347068 D0 63 00 24 */ stfs f3, 0x24(r3) -/* 8034706C C0 22 CB 34 */ lfs f1, lit_102(r2) -/* 80347070 EC 21 01 32 */ fmuls f1, f1, f4 -/* 80347074 D0 23 00 28 */ stfs f1, 0x28(r3) -/* 80347078 D0 03 00 2C */ stfs f0, 0x2c(r3) -/* 8034707C D0 63 00 30 */ stfs f3, 0x30(r3) -/* 80347080 D0 63 00 34 */ stfs f3, 0x34(r3) -/* 80347084 D0 63 00 38 */ stfs f3, 0x38(r3) -/* 80347088 D1 23 00 3C */ stfs f9, 0x3c(r3) -/* 8034708C 4E 80 00 20 */ blr diff --git a/asm/dolphin/mtx/mtx44/C_MTXPerspective.s b/asm/dolphin/mtx/mtx44/C_MTXPerspective.s deleted file mode 100644 index 0610b12c23c..00000000000 --- a/asm/dolphin/mtx/mtx44/C_MTXPerspective.s +++ /dev/null @@ -1,53 +0,0 @@ -lbl_80346F28: -/* 80346F28 7C 08 02 A6 */ mflr r0 -/* 80346F2C 90 01 00 04 */ stw r0, 4(r1) -/* 80346F30 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80346F34 DB E1 00 38 */ stfd f31, 0x38(r1) -/* 80346F38 FF E0 20 90 */ fmr f31, f4 -/* 80346F3C DB C1 00 30 */ stfd f30, 0x30(r1) -/* 80346F40 FF C0 18 90 */ fmr f30, f3 -/* 80346F44 DB A1 00 28 */ stfd f29, 0x28(r1) -/* 80346F48 FF A0 10 90 */ fmr f29, f2 -/* 80346F4C 93 E1 00 24 */ stw r31, 0x24(r1) -/* 80346F50 7C 7F 1B 78 */ mr r31, r3 -/* 80346F54 C0 A2 CB 38 */ lfs f5, lit_105(r2) -/* 80346F58 C0 02 CB 3C */ lfs f0, lit_106(r2) -/* 80346F5C EC 25 00 72 */ fmuls f1, f5, f1 -/* 80346F60 EC 20 00 72 */ fmuls f1, f0, f1 -/* 80346F64 48 02 5A 61 */ bl tanf -/* 80346F68 C0 62 CB 28 */ lfs f3, lit_99(r2) -/* 80346F6C EC 5F F0 28 */ fsubs f2, f31, f30 -/* 80346F70 EC 1F 07 B2 */ fmuls f0, f31, f30 -/* 80346F74 EC 83 08 24 */ fdivs f4, f3, f1 -/* 80346F78 EC 24 E8 24 */ fdivs f1, f4, f29 -/* 80346F7C D0 3F 00 00 */ stfs f1, 0(r31) -/* 80346F80 EC 63 10 24 */ fdivs f3, f3, f2 -/* 80346F84 C0 42 CB 30 */ lfs f2, lit_101(r2) -/* 80346F88 D0 5F 00 04 */ stfs f2, 4(r31) -/* 80346F8C D0 5F 00 08 */ stfs f2, 8(r31) -/* 80346F90 D0 5F 00 0C */ stfs f2, 0xc(r31) -/* 80346F94 D0 5F 00 10 */ stfs f2, 0x10(r31) -/* 80346F98 FC 20 F0 50 */ fneg f1, f30 -/* 80346F9C FC 00 00 50 */ fneg f0, f0 -/* 80346FA0 D0 9F 00 14 */ stfs f4, 0x14(r31) -/* 80346FA4 EC 21 00 F2 */ fmuls f1, f1, f3 -/* 80346FA8 D0 5F 00 18 */ stfs f2, 0x18(r31) -/* 80346FAC EC 03 00 32 */ fmuls f0, f3, f0 -/* 80346FB0 D0 5F 00 1C */ stfs f2, 0x1c(r31) -/* 80346FB4 D0 5F 00 20 */ stfs f2, 0x20(r31) -/* 80346FB8 D0 5F 00 24 */ stfs f2, 0x24(r31) -/* 80346FBC D0 3F 00 28 */ stfs f1, 0x28(r31) -/* 80346FC0 D0 1F 00 2C */ stfs f0, 0x2c(r31) -/* 80346FC4 D0 5F 00 30 */ stfs f2, 0x30(r31) -/* 80346FC8 D0 5F 00 34 */ stfs f2, 0x34(r31) -/* 80346FCC C0 02 CB 34 */ lfs f0, lit_102(r2) -/* 80346FD0 D0 1F 00 38 */ stfs f0, 0x38(r31) -/* 80346FD4 D0 5F 00 3C */ stfs f2, 0x3c(r31) -/* 80346FD8 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80346FDC CB E1 00 38 */ lfd f31, 0x38(r1) -/* 80346FE0 CB C1 00 30 */ lfd f30, 0x30(r1) -/* 80346FE4 CB A1 00 28 */ lfd f29, 0x28(r1) -/* 80346FE8 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 80346FEC 38 21 00 40 */ addi r1, r1, 0x40 -/* 80346FF0 7C 08 03 A6 */ mtlr r0 -/* 80346FF4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_MemCard/attach__15mDoMemCd_Ctrl_cFv.s b/asm/m_Do/m_Do_MemCard/attach__15mDoMemCd_Ctrl_cFv.s deleted file mode 100644 index eac52783d62..00000000000 --- a/asm/m_Do/m_Do_MemCard/attach__15mDoMemCd_Ctrl_cFv.s +++ /dev/null @@ -1,74 +0,0 @@ -lbl_80016FB8: -/* 80016FB8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80016FBC 7C 08 02 A6 */ mflr r0 -/* 80016FC0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80016FC4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80016FC8 7C 7F 1B 78 */ mr r31, r3 -/* 80016FCC 88 63 1F BC */ lbz r3, 0x1fbc(r3) -/* 80016FD0 38 81 00 0C */ addi r4, r1, 0xc -/* 80016FD4 38 A1 00 08 */ addi r5, r1, 8 -/* 80016FD8 48 33 FA 75 */ bl CARDProbeEx -/* 80016FDC 2C 03 FF FD */ cmpwi r3, -3 -/* 80016FE0 40 82 00 10 */ bne lbl_80016FF0 -/* 80016FE4 38 00 00 00 */ li r0, 0 -/* 80016FE8 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80016FEC 48 00 00 B8 */ b lbl_800170A4 -lbl_80016FF0: -/* 80016FF0 2C 03 FF 80 */ cmpwi r3, -128 -/* 80016FF4 40 82 00 10 */ bne lbl_80017004 -/* 80016FF8 38 00 00 0C */ li r0, 0xc -/* 80016FFC 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017000 48 00 00 A4 */ b lbl_800170A4 -lbl_80017004: -/* 80017004 2C 03 FF FE */ cmpwi r3, -2 -/* 80017008 40 82 00 10 */ bne lbl_80017018 -/* 8001700C 38 00 00 0A */ li r0, 0xa -/* 80017010 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017014 48 00 00 90 */ b lbl_800170A4 -lbl_80017018: -/* 80017018 80 01 00 08 */ lwz r0, 8(r1) -/* 8001701C 2C 00 20 00 */ cmpwi r0, 0x2000 -/* 80017020 41 82 00 10 */ beq lbl_80017030 -/* 80017024 38 00 00 0B */ li r0, 0xb -/* 80017028 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 8001702C 48 00 00 78 */ b lbl_800170A4 -lbl_80017030: -/* 80017030 7F E3 FB 78 */ mr r3, r31 -/* 80017034 48 00 01 15 */ bl mount__15mDoMemCd_Ctrl_cFv -/* 80017038 2C 03 00 00 */ cmpwi r3, 0 -/* 8001703C 41 82 00 68 */ beq lbl_800170A4 -/* 80017040 7F E3 FB 78 */ mr r3, r31 -/* 80017044 48 00 02 31 */ bl loadfile__15mDoMemCd_Ctrl_cFv -/* 80017048 2C 03 00 00 */ cmpwi r3, 0 -/* 8001704C 41 82 00 10 */ beq lbl_8001705C -/* 80017050 38 00 00 01 */ li r0, 1 -/* 80017054 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017058 48 00 00 4C */ b lbl_800170A4 -lbl_8001705C: -/* 8001705C 7F E3 FB 78 */ mr r3, r31 -/* 80017060 48 00 02 75 */ bl checkspace__15mDoMemCd_Ctrl_cFv -/* 80017064 2C 03 00 02 */ cmpwi r3, 2 -/* 80017068 41 82 00 34 */ beq lbl_8001709C -/* 8001706C 40 80 00 38 */ bge lbl_800170A4 -/* 80017070 2C 03 00 00 */ cmpwi r3, 0 -/* 80017074 41 82 00 10 */ beq lbl_80017084 -/* 80017078 40 80 00 18 */ bge lbl_80017090 -/* 8001707C 48 00 00 28 */ b lbl_800170A4 -/* 80017080 48 00 00 24 */ b lbl_800170A4 -lbl_80017084: -/* 80017084 38 00 00 02 */ li r0, 2 -/* 80017088 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 8001708C 48 00 00 18 */ b lbl_800170A4 -lbl_80017090: -/* 80017090 38 00 00 08 */ li r0, 8 -/* 80017094 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017098 48 00 00 0C */ b lbl_800170A4 -lbl_8001709C: -/* 8001709C 38 00 00 09 */ li r0, 9 -/* 800170A0 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -lbl_800170A4: -/* 800170A4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 800170A8 80 01 00 24 */ lwz r0, 0x24(r1) -/* 800170AC 7C 08 03 A6 */ mtlr r0 -/* 800170B0 38 21 00 20 */ addi r1, r1, 0x20 -/* 800170B4 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_MemCard/mount__15mDoMemCd_Ctrl_cFv.s b/asm/m_Do/m_Do_MemCard/mount__15mDoMemCd_Ctrl_cFv.s deleted file mode 100644 index c4fdba257fb..00000000000 --- a/asm/m_Do/m_Do_MemCard/mount__15mDoMemCd_Ctrl_cFv.s +++ /dev/null @@ -1,84 +0,0 @@ -lbl_80017148: -/* 80017148 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8001714C 7C 08 02 A6 */ mflr r0 -/* 80017150 90 01 00 14 */ stw r0, 0x14(r1) -/* 80017154 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80017158 7C 7F 1B 78 */ mr r31, r3 -/* 8001715C 88 63 1F BC */ lbz r3, 0x1fbc(r3) -/* 80017160 3C 80 80 3E */ lis r4, MemCardWorkArea0@ha /* 0x803E0F40@ha */ -/* 80017164 38 84 0F 40 */ addi r4, r4, MemCardWorkArea0@l /* 0x803E0F40@l */ -/* 80017168 38 A0 00 00 */ li r5, 0 -/* 8001716C 48 34 01 89 */ bl CARDMount -/* 80017170 2C 03 FF FB */ cmpwi r3, -5 -/* 80017174 41 82 00 44 */ beq lbl_800171B8 -/* 80017178 40 80 00 28 */ bge lbl_800171A0 -/* 8001717C 2C 03 FF F3 */ cmpwi r3, -13 -/* 80017180 41 82 00 CC */ beq lbl_8001724C -/* 80017184 40 80 00 10 */ bge lbl_80017194 -/* 80017188 2C 03 FF 80 */ cmpwi r3, -128 -/* 8001718C 41 82 00 2C */ beq lbl_800171B8 -/* 80017190 48 00 00 CC */ b lbl_8001725C -lbl_80017194: -/* 80017194 2C 03 FF FA */ cmpwi r3, -6 -/* 80017198 40 80 00 40 */ bge lbl_800171D8 -/* 8001719C 48 00 00 C0 */ b lbl_8001725C -lbl_800171A0: -/* 800171A0 2C 03 00 00 */ cmpwi r3, 0 -/* 800171A4 41 82 00 34 */ beq lbl_800171D8 -/* 800171A8 40 80 00 B4 */ bge lbl_8001725C -/* 800171AC 2C 03 FF FD */ cmpwi r3, -3 -/* 800171B0 41 82 00 18 */ beq lbl_800171C8 -/* 800171B4 48 00 00 A8 */ b lbl_8001725C -lbl_800171B8: -/* 800171B8 38 00 00 0C */ li r0, 0xc -/* 800171BC 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 800171C0 38 60 00 00 */ li r3, 0 -/* 800171C4 48 00 00 9C */ b lbl_80017260 -lbl_800171C8: -/* 800171C8 38 00 00 00 */ li r0, 0 -/* 800171CC 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 800171D0 38 60 00 00 */ li r3, 0 -/* 800171D4 48 00 00 8C */ b lbl_80017260 -lbl_800171D8: -/* 800171D8 88 7F 1F BC */ lbz r3, 0x1fbc(r31) -/* 800171DC 48 33 F7 19 */ bl CARDCheck -/* 800171E0 38 03 00 0D */ addi r0, r3, 0xd -/* 800171E4 28 00 00 0D */ cmplwi r0, 0xd -/* 800171E8 41 81 00 74 */ bgt lbl_8001725C -/* 800171EC 3C 60 80 3A */ lis r3, lit_3850@ha /* 0x803A3530@ha */ -/* 800171F0 38 63 35 30 */ addi r3, r3, lit_3850@l /* 0x803A3530@l */ -/* 800171F4 54 00 10 3A */ slwi r0, r0, 2 -/* 800171F8 7C 03 00 2E */ lwzx r0, r3, r0 -/* 800171FC 7C 09 03 A6 */ mtctr r0 -/* 80017200 4E 80 04 20 */ bctr -/* 80017204 38 60 00 01 */ li r3, 1 -/* 80017208 48 00 00 58 */ b lbl_80017260 -/* 8001720C 38 00 00 07 */ li r0, 7 -/* 80017210 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017214 38 60 00 00 */ li r3, 0 -/* 80017218 48 00 00 48 */ b lbl_80017260 -/* 8001721C 38 00 00 0C */ li r0, 0xc -/* 80017220 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017224 38 60 00 00 */ li r3, 0 -/* 80017228 48 00 00 38 */ b lbl_80017260 -/* 8001722C 38 00 00 00 */ li r0, 0 -/* 80017230 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017234 38 60 00 00 */ li r3, 0 -/* 80017238 48 00 00 28 */ b lbl_80017260 -/* 8001723C 38 00 00 06 */ li r0, 6 -/* 80017240 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017244 38 60 00 00 */ li r3, 0 -/* 80017248 48 00 00 18 */ b lbl_80017260 -lbl_8001724C: -/* 8001724C 38 00 00 06 */ li r0, 6 -/* 80017250 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 80017254 38 60 00 00 */ li r3, 0 -/* 80017258 48 00 00 08 */ b lbl_80017260 -lbl_8001725C: -/* 8001725C 38 60 00 00 */ li r3, 0 -lbl_80017260: -/* 80017260 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80017264 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80017268 7C 08 03 A6 */ mtlr r0 -/* 8001726C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80017270 4E 80 00 20 */ blr diff --git a/asm/m_Do/m_Do_MemCard/setCardState__15mDoMemCd_Ctrl_cFl.s b/asm/m_Do/m_Do_MemCard/setCardState__15mDoMemCd_Ctrl_cFl.s deleted file mode 100644 index a8556619682..00000000000 --- a/asm/m_Do/m_Do_MemCard/setCardState__15mDoMemCd_Ctrl_cFl.s +++ /dev/null @@ -1,56 +0,0 @@ -lbl_80017360: -/* 80017360 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80017364 7C 08 02 A6 */ mflr r0 -/* 80017368 90 01 00 14 */ stw r0, 0x14(r1) -/* 8001736C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80017370 7C 7F 1B 78 */ mr r31, r3 -/* 80017374 2C 04 FF FB */ cmpwi r4, -5 -/* 80017378 41 82 00 48 */ beq lbl_800173C0 -/* 8001737C 40 80 00 28 */ bge lbl_800173A4 -/* 80017380 2C 04 FF F3 */ cmpwi r4, -13 -/* 80017384 41 82 00 70 */ beq lbl_800173F4 -/* 80017388 40 80 00 10 */ bge lbl_80017398 -/* 8001738C 2C 04 FF 80 */ cmpwi r4, -128 -/* 80017390 41 82 00 30 */ beq lbl_800173C0 -/* 80017394 48 00 00 74 */ b lbl_80017408 -lbl_80017398: -/* 80017398 2C 04 FF FA */ cmpwi r4, -6 -/* 8001739C 40 80 00 3C */ bge lbl_800173D8 -/* 800173A0 48 00 00 68 */ b lbl_80017408 -lbl_800173A4: -/* 800173A4 2C 04 00 00 */ cmpwi r4, 0 -/* 800173A8 41 82 00 30 */ beq lbl_800173D8 -/* 800173AC 40 80 00 5C */ bge lbl_80017408 -/* 800173B0 2C 04 FF FD */ cmpwi r4, -3 -/* 800173B4 41 82 00 18 */ beq lbl_800173CC -/* 800173B8 40 80 00 50 */ bge lbl_80017408 -/* 800173BC 48 00 00 44 */ b lbl_80017400 -lbl_800173C0: -/* 800173C0 38 00 00 0C */ li r0, 0xc -/* 800173C4 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 800173C8 48 00 00 40 */ b lbl_80017408 -lbl_800173CC: -/* 800173CC 38 00 00 00 */ li r0, 0 -/* 800173D0 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 800173D4 48 00 00 34 */ b lbl_80017408 -lbl_800173D8: -/* 800173D8 88 7F 1F BC */ lbz r3, 0x1fbc(r31) -/* 800173DC 48 33 F5 19 */ bl CARDCheck -/* 800173E0 2C 03 00 00 */ cmpwi r3, 0 -/* 800173E4 41 82 00 24 */ beq lbl_80017408 -/* 800173E8 38 00 00 07 */ li r0, 7 -/* 800173EC 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 800173F0 48 00 00 18 */ b lbl_80017408 -lbl_800173F4: -/* 800173F4 38 00 00 06 */ li r0, 6 -/* 800173F8 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -/* 800173FC 48 00 00 0C */ b lbl_80017408 -lbl_80017400: -/* 80017400 38 00 00 02 */ li r0, 2 -/* 80017404 90 1F 1F C4 */ stw r0, 0x1fc4(r31) -lbl_80017408: -/* 80017408 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 8001740C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80017410 7C 08 03 A6 */ mtlr r0 -/* 80017414 38 21 00 10 */ addi r1, r1, 0x10 -/* 80017418 4E 80 00 20 */ blr diff --git a/include/d/a/d_a_npc.h b/include/d/a/d_a_npc.h index 67c63d578b3..b9b4e5e7191 100644 --- a/include/d/a/d_a_npc.h +++ b/include/d/a/d_a_npc.h @@ -164,11 +164,8 @@ public: /* 80146188 */ int chkPassed1(cXyz, int); /* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int); - cXyz* getPntPos(u16 i_idx) { - u16 tmpidx = i_idx; - - dStage_dPnt_c* tmppnt = &mpRoomPath->m_points[tmpidx]; - return &tmppnt->m_position; + inline cXyz& getPntPos(u16 i_idx) { + return mpRoomPath->m_points[i_idx].m_position; } int chkClose() { @@ -176,7 +173,7 @@ public: return roomPath; } - u16& getNumPnts() { + u16 getNumPnts() { dPath* path = mpRoomPath; return path->m_num; } diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h index f75483179f7..eb02183a845 100644 --- a/include/d/meter/d_meter2_info.h +++ b/include/d/meter/d_meter2_info.h @@ -153,6 +153,7 @@ public: u8 getLifeGaugeSE() { return mLifeGaugeSE; } const char* getSaveStageName() { return mSaveStageName; } void onShopTalkFlag() { mShopTalkFlag = true; } + void offShopTalkFlag() { mShopTalkFlag = false; } void setLightDropGetFlag(int index, u8 flag) { mLightDropGetFlag[index] = flag; } u8 getRentalBombBag() { return mRentalBombBagIdx; } void setTableMapRegionNo(u8 regionNo) { mTableMapRegionNo = regionNo; } diff --git a/include/d/shop/d_shop_system.h b/include/d/shop/d_shop_system.h index 52f93f85949..e7d0c9db22c 100644 --- a/include/d/shop/d_shop_system.h +++ b/include/d/shop/d_shop_system.h @@ -110,7 +110,7 @@ public: /* 8019A020 */ int seq_finish(fopAc_ac_c*, dMsgFlow_c*); /* 8019A0C0 */ bool seq_event(fopAc_ac_c*, dMsgFlow_c*); /* 8019A0D0 */ int shop_init(bool); - /* 8019A158 */ void shop_process(fopAc_ac_c*, dMsgFlow_c*); + /* 8019A158 */ int shop_process(fopAc_ac_c*, dMsgFlow_c*); /* 8019A238 */ void createShopItem(int); /* 8019A344 */ void setSeq(u8); /* 8019A354 */ void setSoldOutFlag(); diff --git a/include/dolphin/gx/GX.h b/include/dolphin/gx/GX.h index d1d57bdd396..b2c9f160122 100644 --- a/include/dolphin/gx/GX.h +++ b/include/dolphin/gx/GX.h @@ -20,10 +20,13 @@ extern "C" { #endif -// Pack value into bitfield // Pack value into bitfield #define GX_BITFIELD_SET(field, pos, size, value) (field) = __rlwimi((field), (value), 31 - (pos) - (size) + 1, (pos), (pos) + (size)-1) +#define INSERT_FIELD(reg, value, nbits, shift) \ + (reg) = ((u32) (reg) & ~(((1 << (nbits)) - 1) << (shift))) | \ + ((u32) (value) << (shift)); + #define GX_LOAD_BP_REG 0x61 #define GX_NOP 0 @@ -108,6 +111,19 @@ inline void GXTexCoord2s8(s8 x, s8 y) { GFX_FIFO(s8) = y; } + +inline void GFWriteBPCmd(u32 param_1) { + GXFIFO.u8 = 0x61; + GXFIFO.u32 = param_1; +} + +inline void GFFill(u16 param_1, u32 param_2) { + GXFIFO.u8 = 0x10; + GXFIFO.u16 = 0; + GXFIFO.u16 = param_1; + GXFIFO.u32 = param_2; +} + inline void i_GXEnd() {} #ifdef __cplusplus diff --git a/include/f_pc/f_pc_create_req.h b/include/f_pc/f_pc_create_req.h index dcdf3406f17..45ee59045c3 100644 --- a/include/f_pc/f_pc_create_req.h +++ b/include/f_pc/f_pc_create_req.h @@ -30,7 +30,7 @@ typedef struct create_request { layer_class* mpLayer; } create_request; // Size: 0x48 -BOOL fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId); +bool fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId); BOOL fpcCtRq_IsCreatingByID(unsigned int id); void fpcCtRq_CreateQTo(create_request* pReq); void fpcCtRq_ToCreateQ(create_request* pReq); diff --git a/include/f_pc/f_pc_layer.h b/include/f_pc/f_pc_layer.h index 78229474dfd..0f4084b8970 100644 --- a/include/f_pc/f_pc_layer.h +++ b/include/f_pc/f_pc_layer.h @@ -41,7 +41,7 @@ s32 fpcLy_ToQueue(layer_class* pLayer, int treeListIdx, create_tag_class* pTag); s32 fpcLy_QueueTo(layer_class* pLayer, create_tag_class* pTag); void fpcLy_Cancel(layer_class* pLayer); -BOOL fpcLy_CancelMethod(struct process_method_tag_class* pLayer); +bool fpcLy_CancelMethod(struct process_method_tag_class* pLayer); void fpcLy_CancelQTo(struct process_method_tag_class* pMthd); s32 fpcLy_ToCancelQ(layer_class* pLayer, struct process_method_tag_class* pMthd); diff --git a/libs/JSystem/JKernel/JKRExpHeap.cpp b/libs/JSystem/JKernel/JKRExpHeap.cpp index 7ff81a0eed0..5c656d0f38c 100644 --- a/libs/JSystem/JKernel/JKRExpHeap.cpp +++ b/libs/JSystem/JKernel/JKRExpHeap.cpp @@ -1147,33 +1147,21 @@ void JKRExpHeap::CMemBlock::initiate(JKRExpHeap::CMemBlock* prev, JKRExpHeap::CM /* 802D0830-802D0874 2CB170 0044+00 3/3 0/0 0/0 .text * allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */ -#ifdef NONMATCHING JKRExpHeap::CMemBlock* JKRExpHeap::CMemBlock::allocFore(u32 size, u8 groupId1, u8 alignment1, u8 groupId2, u8 alignment2) { CMemBlock* block = NULL; mGroupId = groupId1; mFlags = alignment1; if (getSize() >= size + sizeof(CMemBlock)) { - CMemBlock* newblock = (CMemBlock*)(size + (u32)this); - newblock[1].mGroupId = groupId2; - newblock[1].mFlags = alignment2; - newblock[1].size = this->size - (size + sizeof(CMemBlock)); + block = (CMemBlock*)(size + (u32)this); + block[1].mGroupId = groupId2; + block[1].mFlags = alignment2; + block[1].size = this->size - (size + sizeof(CMemBlock)); this->size = size; - block = newblock + 1; + block = block + 1; } return block; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm JKRExpHeap::CMemBlock* JKRExpHeap::CMemBlock::allocFore(u32 param_0, u8 param_1, u8 param_2, - u8 param_3, u8 param_4) { - nofralloc -#include "asm/JSystem/JKernel/JKRExpHeap/allocFore__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc.s" -} -#pragma pop -#endif /* 802D0874-802D08CC 2CB1B4 0058+00 1/1 0/0 0/0 .text * allocBack__Q210JKRExpHeap9CMemBlockFUlUcUcUcUc */ diff --git a/libs/JSystem/JKernel/JKRFileCache.cpp b/libs/JSystem/JKernel/JKRFileCache.cpp index e480f0bc2c1..b89aeaefdea 100644 --- a/libs/JSystem/JKernel/JKRFileCache.cpp +++ b/libs/JSystem/JKernel/JKRFileCache.cpp @@ -311,7 +311,6 @@ u32 JKRFileCache::readResource(void* dst, u32 dstLength, u32, const char* path) /* 802D50D4-802D5164 2CFA14 0090+00 1/0 0/0 0/0 .text removeResourceAll__12JKRFileCacheFv */ -#ifdef NONMATCHING void JKRFileCache::removeResourceAll(void) { ASSERT(isMounted()); @@ -319,22 +318,11 @@ void JKRFileCache::removeResourceAll(void) { iterator = mCacheBlockList.getFirst(); while (iterator != mCacheBlockList.getEnd()) { JKRFreeToHeap(mParentHeap, iterator->mMemoryPtr); - mCacheBlockList.remove(iterator.mLink); - JSUListIterator next = iterator++; - CCacheBlock* cacheBlock = next.getObject(); + mCacheBlockList.remove(&iterator.getObject()->mCacheBlockLink); + CCacheBlock* cacheBlock = (iterator++).getObject(); delete cacheBlock; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void JKRFileCache::removeResourceAll() { - nofralloc -#include "asm/JSystem/JKernel/JKRFileCache/removeResourceAll__12JKRFileCacheFv.s" -} -#pragma pop -#endif /* 802D5164-802D51F8 2CFAA4 0094+00 1/0 0/0 0/0 .text removeResource__12JKRFileCacheFPv */ diff --git a/libs/JSystem/JUtility/JUTFont.cpp b/libs/JSystem/JUtility/JUTFont.cpp index 0fd6536f985..aa571ef55b0 100644 --- a/libs/JSystem/JUtility/JUTFont.cpp +++ b/libs/JSystem/JUtility/JUTFont.cpp @@ -4,27 +4,16 @@ // #include "JSystem/JUtility/JUTFont.h" -#include "dol2asm.h" #include "dolphin/types.h" // // Forward References: // -extern "C" void __ct__7JUTFontFv(); -extern "C" void initialize_state__7JUTFontFv(); -extern "C" void setCharColor__7JUTFontFQ28JUtility6TColor(); -extern "C" void setGradColor__7JUTFontFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void drawString_size_scale__7JUTFontFffffPCcUlb(); - // // External References: // -extern "C" void _savegpr_27(); -extern "C" void _restgpr_27(); -extern "C" extern void* __vt__7JUTFont[17]; - // // Declarations: // @@ -61,33 +50,23 @@ void JUTFont::setGradColor(JUtility::TColor col1, JUtility::TColor col2) { /* 802DEE28-802DEF48 2D9768 0120+00 0/0 3/3 0/0 .text drawString_size_scale__7JUTFontFffffPCcUlb */ -#ifdef NONMATCHING f32 JUTFont::drawString_size_scale(f32 a1, f32 a2, f32 a3, f32 a4, const char* str, u32 usz, bool a7) { f32 temp = a1; for (; usz > 0; usz--, str++) { - u32 b = *(u8*)str; + u32 c = *(u8*)str; + u32 b = c; if (isLeadByte(b)) { str++; - b = (b << 8 | *(u8*)str); + b <<= 8; + b |= *(u8*)str; usz--; } - a1 += drawChar_scale(temp, a2, a3, a4, b, a7); + a1 += drawChar_scale(a1, a2, a3, a4, b, a7); a7 = 1; } return a1 - temp; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm f32 JUTFont::drawString_size_scale(f32 param_0, f32 param_1, f32 param_2, f32 param_3, - char const* param_4, u32 param_5, bool param_6) { - nofralloc -#include "asm/JSystem/JUtility/JUTFont/drawString_size_scale__7JUTFontFffffPCcUlb.s" -} -#pragma pop -#endif diff --git a/libs/dolphin/dvd/dvdfs.c b/libs/dolphin/dvd/dvdfs.c index be643958868..a691d59813b 100644 --- a/libs/dolphin/dvd/dvdfs.c +++ b/libs/dolphin/dvd/dvdfs.c @@ -6,7 +6,6 @@ #include "dolphin/dvd/dvdfs.h" #include "dolphin/dvd/dvd.h" #include "dolphin/os/OS.h" -#include "dol2asm.h" #include "dolphin/types.h" #include "MSL_C/MSL_Common/Src/ctype.h" @@ -74,14 +73,6 @@ void __DVDFSInit() { } /* ############################################################################################## */ -/* 803D1380-803D1448 02E4A0 00C8+00 1/1 0/0 0/0 .data @119 */ -SECTION_DATA static char lit_119[] = - "DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): specified directory " - "or file (%s) doesn't match standard 8.3 format. This is a temporary restriction and will be " - "removed soon\n"; - -/* 804509E0-804509E8 000460 0008+00 3/3 0/0 0/0 .sdata @118 */ -SECTION_SDATA static char lit_118[] = "dvdfs.c"; /* 80451768-8045176C 000C68 0004+00 4/4 0/0 0/0 .sbss currentDirectory */ static u32 currentDirectory; @@ -175,7 +166,13 @@ int DVDConvertPathToEntrynum(const char* pathPtr) { illegal = TRUE; if (illegal) - OSPanic(lit_118, 387, lit_119, origPathPtr); + OSPanic(__FILE__, 387, + "DVDConvertEntrynumToPath(possibly DVDOpen or DVDChangeDir or DVDOpenDir): " + "specified directory " + "or file (%s) doesn't match standard 8.3 format. This is a temporary " + "restriction and will be " + "removed soon\n", + origPathPtr); } else { for (ptr = pathPtr; (*ptr != '\0') && (*ptr != '/'); ptr++) ; @@ -336,22 +333,19 @@ BOOL DVDChangeDir(const char* dirName) { } /* ############################################################################################## */ -/* 803D1480-803D14B4 02E5A0 0034+00 1/1 0/0 0/0 .data @239 */ -SECTION_DATA static char lit_239[] = "DVDReadAsync(): specified area is out of the file "; #define DVD_MIN_TRANSFER_SIZE 32 /* 80348D54-80348E14 343694 00C0+00 0/0 2/2 0/0 .text DVDReadAsyncPrio */ -#ifdef NONMATCHING BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, DVDCallback callback, s32 prio) { if (!((0 <= offset) && (offset <= fileInfo->length))) { - OSPanic(lit_118, 750, lit_239); + OSPanic(__FILE__, 750, "DVDReadAsync(): specified area is out of the file "); } if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) { - OSPanic(lit_118, 756, lit_239); + OSPanic(__FILE__, 756, "DVDReadAsync(): specified area is out of the file "); } fileInfo->callback = callback; @@ -360,17 +354,6 @@ BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, return TRUE; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, - DVDCallback callback, s32 prio) { - nofralloc -#include "asm/dolphin/dvd/dvdfs/DVDReadAsyncPrio.s" -} -#pragma pop -#endif #ifndef offsetof #define offsetof(type, memb) ((u32) & ((type*)0)->memb) @@ -397,11 +380,11 @@ int DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 p int retVal; if (!((0 <= offset) && (offset <= fileInfo->length))) { - OSPanic(lit_118, 820, "DVDRead(): specified area is out of the file "); + OSPanic(__FILE__, 820, "DVDRead(): specified area is out of the file "); } if (!((0 <= offset + length) && (offset + length < fileInfo->length + DVD_MIN_TRANSFER_SIZE))) { - OSPanic(lit_118, 826, "DVDRead(): specified area is out of the file "); + OSPanic(__FILE__, 826, "DVDRead(): specified area is out of the file "); } block = &(fileInfo->block); @@ -443,9 +426,6 @@ int DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 p static void cbForReadSync(s32 result, DVDCommandBlock* block) { OSWakeupThread(&__DVDThreadQueue); } /* ############################################################################################## */ -/* 803D14E4-803D1520 02E604 003A+02 1/1 0/0 0/0 .data @311 */ -SECTION_DATA static char lit_311[] = "Warning: DVDOpenDir(): file '%s' was not found under %s.\n"; - /* 80348F80-80349040 3438C0 00C0+00 0/0 3/3 0/0 .text DVDOpenDir */ BOOL DVDOpenDir(const char* dirName, DVDDirectory* dir) { s32 entry; @@ -454,7 +434,7 @@ BOOL DVDOpenDir(const char* dirName, DVDDirectory* dir) { if (entry < 0) { DVDGetCurrentDir(currentDir, 128); - OSReport(lit_311, dirName, currentDir); + OSReport("Warning: DVDOpenDir(): file '%s' was not found under %s.\n", dirName, currentDir); return FALSE; } diff --git a/libs/dolphin/dvd/dvdlow.c b/libs/dolphin/dvd/dvdlow.c index 2ab0f3ab18f..f910fbaefb5 100644 --- a/libs/dolphin/dvd/dvdlow.c +++ b/libs/dolphin/dvd/dvdlow.c @@ -55,11 +55,17 @@ OSTime __OSGetSystemTime(); // Declarations: // +typedef struct DVDBuffer { + void* addr; + u32 length; + u32 offset; +} DVDBuffer; + typedef struct DVDCommand { - s32 _0; - void* _4; - u32 _8; - u32 _c; + s32 cmd; + void* addr; + u32 length; + u32 offset; DVDLowCallback callback; } DVDCommand; @@ -112,7 +118,7 @@ static volatile u32 NextCommandNumber; /* 80347674-803476B4 341FB4 0040+00 0/0 1/1 0/0 .text __DVDInitWA */ void __DVDInitWA() { NextCommandNumber = 0; - ((DVDCommand*)CommandList)[0]._0 = -1; + ((DVDCommand*)CommandList)[0].cmd = -1; __DVDLowSetWAType(0, 0); OSInitAlarm(); } @@ -128,23 +134,13 @@ static OSAlarm AlarmForTimeout; static OSAlarm AlarmForBreak; /* 8044C8E8-8044C8F4 079608 000C+00 0/1 0/0 0/0 .bss Prev */ -#pragma push -#pragma force_active on -static u32 Prev[3]; -#pragma pop +static DVDBuffer Prev; /* 8044C8F4-8044C900 079614 000C+00 0/2 0/0 0/0 .bss Curr */ -#pragma push -#pragma force_active on -static u32 Curr[3]; -#pragma pop +static DVDBuffer Curr; /* 804509D8-804509E0 000458 0004+04 2/2 0/0 0/0 .sdata FirstRead */ -SECTION_SDATA static BOOL FirstRead[1 + 1 /* padding */] = { - 0x00000001, - /* padding */ - 0x00000000, -}; +SECTION_SDATA static BOOL FirstRead = TRUE; /* 803476B4-80347994 341FF4 02E0+00 0/0 1/1 0/0 .text __DVDInterruptHandler */ void __DVDInterruptHandler(u32 arg0, OSContext* context) { @@ -157,10 +153,10 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) { OSContext localContext; if (LastCommandWasRead) { LastReadFinished = __OSGetSystemTime(); - FirstRead[0] = 0; - Prev[0] = Curr[0]; - Prev[1] = Curr[1]; - Prev[2] = Curr[2]; + FirstRead = FALSE; + Prev.addr = Curr.addr; + Prev.length = Curr.length; + Prev.offset = Curr.offset; if (StopAtNextInt == TRUE) { val |= 8; @@ -219,16 +215,16 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) { if (val & 1) { u32 num; DVDCommand* command; - s32 cmd0 = CommandList[num = NextCommandNumber]._0; + s32 cmd0 = CommandList[num = NextCommandNumber].cmd; if (cmd0 == 1) { NextCommandNumber++; command = &CommandList[num]; - Read(command->_4, command->_8, command->_c, command->callback); + Read(command->addr, command->length, command->offset, command->callback); rv = 1; } else if (cmd0 == 2) { NextCommandNumber++; command = &CommandList[num]; - DVDLowSeek(command->_c, command->callback); + DVDLowSeek(command->offset, command->callback); rv = 1; } else { rv = 0; @@ -238,7 +234,7 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) { return; } } else { - CommandList[0]._0 = -1; + CommandList[0].cmd = -1; NextCommandNumber = 0; } @@ -261,16 +257,16 @@ void __DVDInterruptHandler(u32 arg0, OSContext* context) { static void AlarmHandler(OSAlarm* alarm, OSContext* context) { DVDCommand* cmd; u32 num; - s32 cmd0 = CommandList[num = NextCommandNumber]._0; + s32 cmd0 = CommandList[num = NextCommandNumber].cmd; if (cmd0 == 1) { ++NextCommandNumber; cmd = &CommandList[num]; - Read(cmd->_4, cmd->_8, cmd->_c, cmd->callback); + Read(cmd->addr, cmd->length, cmd->offset, cmd->callback); } else if (cmd0 == 2) { ++NextCommandNumber; cmd = &CommandList[num]; - DVDLowSeek(cmd->_c, cmd->callback); + DVDLowSeek(cmd->offset, cmd->callback); } } @@ -326,96 +322,86 @@ void SeekTwiceBeforeRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { val = temp + WorkAroundSeekLocation[0]; } - CommandList[0]._0 = 2; - CommandList[0]._c = val; + CommandList[0].cmd = 2; + CommandList[0].offset = val; CommandList[0].callback = cb; - CommandList[1]._0 = 1; - CommandList[1]._4 = arg0; - CommandList[1]._8 = arg1; - CommandList[1]._c = arg2; + CommandList[1].cmd = 1; + CommandList[1].addr = arg0; + CommandList[1].length = arg1; + CommandList[1].offset = arg2; CommandList[1].callback = cb; - CommandList[2]._0 = -1; + CommandList[2].cmd = -1; NextCommandNumber = 0; DVDLowSeek(val, cb); } +BOOL HitCache() { + u32 uVar1 = (Prev.offset + Prev.length - 1) >> 15; + u32 uVar2 = (Curr.offset >> 15); + u32 iVar3 = (DVDGetCurrentDiskID()->is_streaming ? TRUE : FALSE) ? 5 : 15; + + if ((uVar2 > uVar1 - 2) || (uVar2 < uVar1 + iVar3 + 3)) { + return TRUE; + } + return FALSE; +} + +static void DoJustRead(void* addr, u32 length, u32 offset, DVDLowCallback callback) { + CommandList[0].cmd = -1; + NextCommandNumber = 0; + Read(addr, length, offset, callback); +} + +static void WaitBeforeRead(void* addr, u32 length, u32 offset, DVDLowCallback callback, + OSTime timeout) { + CommandList[0].cmd = 1; + CommandList[0].addr = addr; + CommandList[0].length = length; + CommandList[0].offset = offset; + CommandList[0].callback = callback; + CommandList[1].cmd = -1; + NextCommandNumber = 0; + OSCreateAlarm(&AlarmForWA); + OSSetAlarm(&AlarmForWA, timeout, AlarmHandler); +} + /* 80347C18-80347EB0 342558 0298+00 0/0 4/4 0/0 .text DVDLowRead */ -// Issues with alarm time calculation -#ifdef NONMATCHING -BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { +BOOL DVDLowRead(void* addr, u32 length, u32 offset, DVDLowCallback cb) { + OSTime diff; + u32 prev; + + __DIRegs[6] = length; + Curr.addr = addr; + Curr.length = length; + Curr.offset = offset; + if (WorkAroundType == 0) { - Curr[2] = -1; - NextCommandNumber = 0; - Read(arg0, arg1, arg2, cb); + DoJustRead(addr, length, offset, cb); } else if (WorkAroundType == 1) { - if (FirstRead[0]) { - SeekTwiceBeforeRead(arg0, arg1, arg2, cb); + if (FirstRead) { + SeekTwiceBeforeRead(addr, length, offset, cb); } else { - u32 curr2 = Curr[2] >> 15; - u32 prev1 = (Prev[2] + Prev[1] - 1) >> 15; - DVDDiskID* id = DVDGetCurrentDiskID(); - - BOOL is_streaming = id->is_streaming ? TRUE : FALSE; - u32 val; - BOOL val2; - if (is_streaming) { - val = 5; + if (!HitCache(&Curr, &Prev)) { + DoJustRead(addr, length, offset, cb); } else { - val = 15; - } - - if (curr2 > prev1 - 2 || curr2 < prev1 + (val + 3)) { - val2 = TRUE; - } else { - val2 = FALSE; - } - - if (!val2) { - CommandList[0]._0 = -1; - NextCommandNumber = 0; - Read(arg0, arg1, arg2, cb); - } else { - curr2 = Curr[2] >> 15; - prev1 = (Prev[2] + Prev[1] - 1) >> 15; - if (curr2 == prev1 || curr2 + 1 == prev1) { - OSTime diff = __OSGetSystemTime() - LastReadFinished; - OSTime five_ms = (OSTime)OSMillisecondsToTicks(5); - if (diff < five_ms) { - CommandList[0]._0 = -1; - NextCommandNumber = 0; - Read(arg0, arg1, arg2, cb); + prev = (Prev.offset + Prev.length - 1) >> 15; + if (prev == Curr.offset >> 15 || prev + 1 == Curr.offset >> 15) { + diff = __OSGetSystemTime() - LastReadFinished; + if (OSMillisecondsToTicks(5) < diff) { + DoJustRead(addr, length, offset, cb); } else { - OSTime temp; - temp = diff - five_ms + (OSTime)OSMicrosecondsToTicks(500); - CommandList[0]._0 = 1; - CommandList[0]._4 = arg0; - CommandList[0]._8 = arg1; - CommandList[0]._c = arg2; - CommandList[0].callback = cb; - CommandList[1]._0 = -1; - NextCommandNumber = 0; - OSCreateAlarm(&AlarmForWA); - OSSetAlarm(&AlarmForWA, temp, AlarmHandler); + WaitBeforeRead(addr, length, offset, cb, + OSMillisecondsToTicks(5) - diff + + OSMicrosecondsToTicks(500)); } } else { - SeekTwiceBeforeRead(arg0, arg1, arg2, cb); + SeekTwiceBeforeRead(addr, length, offset, cb); } } } } - return TRUE; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm BOOL DVDLowRead(void* arg0, u32 arg1, u32 arg2, DVDLowCallback cb) { - nofralloc -#include "asm/dolphin/dvd/dvdlow/DVDLowRead.s" -} -#pragma pop -#endif /* 80347EB0-80347F44 3427F0 0094+00 3/3 2/2 0/0 .text DVDLowSeek */ BOOL DVDLowSeek(u32 arg0, DVDLowCallback cb) { diff --git a/libs/dolphin/gf/GFGeometry.cpp b/libs/dolphin/gf/GFGeometry.cpp index 5ea86ad428f..a71b6b23d9d 100644 --- a/libs/dolphin/gf/GFGeometry.cpp +++ b/libs/dolphin/gf/GFGeometry.cpp @@ -6,13 +6,12 @@ #include "dolphin/gf/GFGeometry.h" #include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/gx/GX.h" // // Types: // -struct _GXCullMode {}; - // // Forward References: // @@ -43,6 +42,15 @@ SECTION_SDATA static u8 cm2hw[4 + 4 /* padding */] = { }; /* 802CDDC8-802CDE54 2C8708 008C+00 0/0 0/0 1/1 .text GFSetGenMode2__FUcUcUcUc11_GXCullMode */ +// reg alloc +#ifdef NONMATCHING +void GFSetGenMode2(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCullMode param_4) { + GFWriteBPCmd(0xFE07FC3F); + GFWriteBPCmd((param_0) | (param_1 << 4) | ((param_2 - 1) << 10) | (cm2hw[param_4] << 14) | (param_3 << 16)); + GFFill(0x1009, param_1); + GFFill(0x103f, param_0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -51,6 +59,7 @@ asm void GFSetGenMode2(u8 param_0, u8 param_1, u8 param_2, u8 param_3, _GXCullMo #include "asm/dolphin/gf/GFGeometry/GFSetGenMode2__FUcUcUcUc11_GXCullMode.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804508B0-804508B8 000330 0008+00 0/0 2/2 0/0 .sdata None */ diff --git a/libs/dolphin/gf/GFLight.cpp b/libs/dolphin/gf/GFLight.cpp index 60d0823606b..dcac87387cf 100644 --- a/libs/dolphin/gf/GFLight.cpp +++ b/libs/dolphin/gf/GFLight.cpp @@ -4,23 +4,19 @@ // #include "dolphin/gf/GFLight.h" -#include "dol2asm.h" #include "dolphin/types.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GX.h" // // Types: // -struct _GXColor {}; - -struct _GXChannelID {}; - // // Forward References: // -extern "C" void GFSetChanAmbColor__F12_GXChannelID8_GXColor(); - // // External References: // @@ -31,11 +27,7 @@ extern "C" void GFSetChanAmbColor__F12_GXChannelID8_GXColor(); /* 802CDE54-802CDE9C 2C8794 0048+00 0/0 0/0 1/1 .text GFSetChanAmbColor__F12_GXChannelID8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GFSetChanAmbColor(_GXChannelID param_0, _GXColor param_1) { - nofralloc -#include "asm/dolphin/gf/GFLight/GFSetChanAmbColor__F12_GXChannelID8_GXColor.s" -} -#pragma pop +void GFSetChanAmbColor(_GXChannelID param_0, _GXColor param_1) { + GFFill((param_0 & 1) + 0x100a, + param_1.r << 0x18 | param_1.g << 0x10 | param_1.b << 8 | param_1.a); +} \ No newline at end of file diff --git a/libs/dolphin/gf/GFPixel.cpp b/libs/dolphin/gf/GFPixel.cpp index 5214cbd5aeb..e5e23a61703 100644 --- a/libs/dolphin/gf/GFPixel.cpp +++ b/libs/dolphin/gf/GFPixel.cpp @@ -4,110 +4,80 @@ // #include "dolphin/gf/GFPixel.h" -#include "dol2asm.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GX.h" #include "dolphin/types.h" // // Types: // -struct _GXLogicOp {}; - -struct _GXFogType {}; - -struct _GXCompare {}; - -struct _GXColor {}; - -struct _GXBlendMode {}; - -struct _GXBlendFactor {}; - // // Forward References: // -extern "C" void GFSetFog__F10_GXFogTypeffff8_GXColor(); -extern "C" void -GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc(); -extern "C" void GFSetZMode__FUc10_GXCompareUc(); - // // External References: // -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_28(); - // // Declarations: // /* ############################################################################################## */ -/* 80455F68-80455F6C 004568 0004+00 1/1 0/0 0/0 .sdata2 @293 */ -SECTION_SDATA2 static u8 lit_293[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80455F6C-80455F70 00456C 0004+00 1/1 0/0 0/0 .sdata2 @294 */ -SECTION_SDATA2 static f32 lit_294 = 0.5f; - -/* 80455F70-80455F78 004570 0008+00 1/1 0/0 0/0 .sdata2 @295 */ -SECTION_SDATA2 static f64 lit_295 = 1.0; - -/* 80455F78-80455F80 004578 0004+04 1/1 0/0 0/0 .sdata2 @296 */ -SECTION_SDATA2 static f32 lit_296[1 + 1 /* padding */] = { - 2.0f, - /* padding */ - 0.0f, -}; - -/* 80455F80-80455F88 004580 0008+00 1/1 0/0 0/0 .sdata2 @297 */ -SECTION_SDATA2 static f64 lit_297 = 0.5; - -/* 80455F88-80455F90 004588 0004+04 1/1 0/0 0/0 .sdata2 @298 */ -SECTION_SDATA2 static f32 lit_298[1 + 1 /* padding */] = { - 8388638.0f, - /* padding */ - 0.0f, -}; - -/* 80455F90-80455F98 004590 0008+00 1/1 0/0 0/0 .sdata2 @301 */ -SECTION_SDATA2 static f64 lit_301 = 4503601774854144.0 /* cast s32 to float */; /* 802CDE9C-802CE004 2C87DC 0168+00 0/0 1/1 0/0 .text GFSetFog__F10_GXFogTypeffff8_GXColor */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GFSetFog(_GXFogType param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - _GXColor param_5) { - nofralloc -#include "asm/dolphin/gf/GFPixel/GFSetFog__F10_GXFogTypeffff8_GXColor.s" +void GFSetFog(_GXFogType param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, + _GXColor param_5) { + s32 r30; + s32 r30shift2; + u32 stack_c_u32; + f32 stack_c; + f32 r30shift; + f32 f3; + f32 f5; + if (param_4 == param_3 || param_2 == param_1) { + f5 = 0.0f; + f3 = 0.5f; + stack_c = 0.0f; + } else { + f5 = (param_4 * param_3) / ((param_4 - param_3) * (param_2 - param_1)); + f3 = param_4 / (param_4 - param_3); + stack_c = param_1 / (param_2 - param_1); + } + + r30 = 1; + + while (f3 > 1.0) { + f3 *= 0.5f; + r30++; + } + + while (f3 > 0.0f && f3 < 0.5) { + f3 *= 2.0f; + r30--; + } + + r30shift = (f5 / (1 << r30)); + r30shift2 = *(s32*)&r30shift; + stack_c_u32 = (*(u32*)&stack_c); + GFWriteBPCmd(((r30shift2 >> 12) & 0xfffff) | 0xee000000); + GFWriteBPCmd((u32)(8388638.0f * f3) | 0xef000000); + GFWriteBPCmd(r30 | 0xf0000000); + GFWriteBPCmd(((stack_c_u32 >> 12) & 0xfffff) | (((u32)param_0 << 21) & 0xffe00000) | 0xf1000000); + GFWriteBPCmd(param_5.b | param_5.g << 8 | param_5.r << 16 | 0xf2000000); } -#pragma pop /* 802CE004-802CE0A4 2C8944 00A0+00 0/0 1/1 0/0 .text * GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GFSetBlendModeEtc(_GXBlendMode param_0, _GXBlendFactor param_1, _GXBlendFactor param_2, - _GXLogicOp param_3, u8 param_4, u8 param_5, u8 param_6) { - nofralloc -#include "asm/dolphin/gf/GFPixel/GFSetBlendModeEtc__F12_GXBlendMode14_GXBlendFactor14_GXBlendFactor10_GXLogicOpUcUcUc.s" +void GFSetBlendModeEtc(_GXBlendMode param_0, _GXBlendFactor param_1, _GXBlendFactor param_2, + _GXLogicOp param_3, u8 param_4, u8 param_5, u8 param_6) { + GFWriteBPCmd(((param_0 == 1) || (param_0 == 3)) | (param_0 == 2) << 1 | param_6 << 2 | + param_4 << 3 | param_5 << 4 | param_2 << 5 | param_1 << 8 | (param_0 == 3) << 11 | + param_3 << 12 | 0x41000000); } -#pragma pop /* 802CE0A4-802CE0D0 2C89E4 002C+00 0/0 1/1 0/0 .text GFSetZMode__FUc10_GXCompareUc */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GFSetZMode(u8 param_0, _GXCompare param_1, u8 param_2) { - nofralloc -#include "asm/dolphin/gf/GFPixel/GFSetZMode__FUc10_GXCompareUc.s" +void GFSetZMode(u8 param_0, _GXCompare param_1, u8 param_2) { + GFWriteBPCmd(param_0 | param_1 << 1 | param_2 << 4 | 0x40000000); } -#pragma pop diff --git a/libs/dolphin/gf/GFTev.cpp b/libs/dolphin/gf/GFTev.cpp index 2bb3e4b6cee..263e88d5308 100644 --- a/libs/dolphin/gf/GFTev.cpp +++ b/libs/dolphin/gf/GFTev.cpp @@ -4,23 +4,19 @@ // #include "dolphin/gf/GFTev.h" -#include "dol2asm.h" +#include "dolphin/gx/GXEnum.h" +#include "dolphin/gx/GXStruct.h" +#include "dolphin/gx/GX.h" #include "dolphin/types.h" // // Types: // -struct _GXTevRegID {}; - -struct _GXColorS10 {}; - // // Forward References: // -extern "C" void GFSetTevColorS10__F11_GXTevRegID11_GXColorS10(); - // // External References: // @@ -31,11 +27,13 @@ extern "C" void GFSetTevColorS10__F11_GXTevRegID11_GXColorS10(); /* 802CE0D0-802CE138 2C8A10 0068+00 0/0 0/0 1/1 .text * GFSetTevColorS10__F11_GXTevRegID11_GXColorS10 */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void GFSetTevColorS10(_GXTevRegID param_0, _GXColorS10 param_1) { - nofralloc -#include "asm/dolphin/gf/GFTev/GFSetTevColorS10__F11_GXTevRegID11_GXColorS10.s" +void GFSetTevColorS10(_GXTevRegID param_0, _GXColorS10 param_1) { + u32 uVar1 = (param_1.r & 0x7ffU) | ((param_1.a & 0x7ffU) << 12) | + ((param_0 * 2 + 0xe0) << 24); + u32 uVar2 = (param_1.b & 0x7ffU) | ((param_1.g & 0x7ffU) << 12) | ((param_0 * 2 + 0xe1) << 24); + + GFWriteBPCmd(uVar1); + GFWriteBPCmd(uVar2); + GFWriteBPCmd(uVar2); + GFWriteBPCmd(uVar2); } -#pragma pop diff --git a/libs/dolphin/gf/Makefile b/libs/dolphin/gf/Makefile index dd5da0f01e9..a37112cfa56 100644 --- a/libs/dolphin/gf/Makefile +++ b/libs/dolphin/gf/Makefile @@ -15,6 +15,7 @@ LIBGF_A_O_FILES := \ $(BUILD_DIR)/libs/dolphin/gf/GFTev.o \ LIBGF_A_CFLAGS := \ + -inline auto \ LIBGF_A_LDFLAGS := \ -nodefaults \ diff --git a/libs/dolphin/mtx/Makefile b/libs/dolphin/mtx/Makefile index 8c5c92226e5..1b57ece5dcc 100644 --- a/libs/dolphin/mtx/Makefile +++ b/libs/dolphin/mtx/Makefile @@ -19,6 +19,7 @@ LIBMTX_A_O_FILES := \ LIBMTX_A_CFLAGS := \ -O4,p \ -lang=c \ + -inline auto \ LIBMTX_A_LDFLAGS := \ -nodefaults \ diff --git a/libs/dolphin/mtx/mtx44.c b/libs/dolphin/mtx/mtx44.c index baad94917a3..ce106d52384 100644 --- a/libs/dolphin/mtx/mtx44.c +++ b/libs/dolphin/mtx/mtx44.c @@ -12,32 +12,37 @@ // /* ############################################################################################## */ -/* 80456528-8045652C 004B28 0004+00 2/2 0/0 0/0 .sdata2 @99 */ -SECTION_SDATA2 static f32 lit_99 = 1.0f; -/* 8045652C-80456530 004B2C 0004+00 1/1 0/0 0/0 .sdata2 @100 */ -SECTION_SDATA2 static f32 lit_100 = 2.0f; +static void __C_MTXOrtho1(Mtx44 m, f32 l, f32 r, f32 t, f32 b) { + f32 temp_f10 = 1.0F / (r - l); + f32 temp_f8; + m[0][0] = 2.0F * temp_f10; + m[0][1] = 0.0F; + m[0][2] = 0.0F; + m[0][3] = temp_f10 * -(r + l); -/* 80456530-80456534 004B30 0004+00 2/2 0/0 0/0 .sdata2 @101 */ -SECTION_SDATA2 static u8 lit_101[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; + temp_f8 = 1.0F / (t - b); + m[1][0] = 0.0F; + m[1][1] = 2.0F * temp_f8; + m[1][2] = 0.0F; + m[1][3] = temp_f8 * -(t + b); +} -/* 80456534-80456538 004B34 0004+00 2/2 0/0 0/0 .sdata2 @102 */ -SECTION_SDATA2 static f32 lit_102 = -1.0f; +static void __C_MTXOrtho2(Mtx44 m, f32 f, f32 n) { + f32 temp_f4 = 1.0F / (f - n); + m[2][0] = 0.0F; + m[2][1] = 0.0F; + m[2][2] = -1.0F * temp_f4; + m[2][3] = -f * temp_f4; -/* 80456538-8045653C 004B38 0004+00 1/1 0/0 0/0 .sdata2 @105 */ -SECTION_SDATA2 static f32 lit_105 = 0.5f; - -/* 8045653C-80456540 004B3C 0004+00 1/1 0/0 0/0 .sdata2 @106 */ -SECTION_SDATA2 static f32 lit_106 = 0.01745329238474369f; + m[3][0] = 0.0F; + m[3][1] = 0.0F; + m[3][2] = 0.0F; + m[3][3] = 1.0F; +} /* 80346F28-80346FF8 341868 00D0+00 0/0 6/6 0/0 .text C_MTXPerspective */ // Functions match but has issues with float constants -#ifdef NONMATCHING void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f) { f32 temp_f3; @@ -68,55 +73,11 @@ void C_MTXPerspective(Mtx44 m, f32 fovY, f32 aspect, f32 n, f32 f) m[3][2] = -1.0F; m[3][3] = 0.0F; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void C_MTXPerspective(Mtx44 m, f32 fovy, f32 aspect, f32 near, f32 far) { - nofralloc -#include "asm/dolphin/mtx/mtx44/C_MTXPerspective.s" -} -#pragma pop -#endif /* 80346FF8-80347090 341938 0098+00 0/0 11/11 2/2 .text C_MTXOrtho */ -#ifdef NONMATCHING void C_MTXOrtho(Mtx44 m, f32 t, f32 b, f32 l, f32 r, f32 n, f32 f) { - f32 temp_f8; - f32 temp_f10; - f32 temp_f4; + __C_MTXOrtho1(m, l, r, t, b); - temp_f10 = 1.0F / (r - l); - m[0][0] = 2.0F * temp_f10; - m[0][1] = 0.0F; - m[0][2] = 0.0F; - m[0][3] = temp_f10 * -(r + l); - - temp_f8 = 1.0F / (t - b); - m[1][0] = 0.0F; - m[1][1] = 2.0F * temp_f8; - m[1][2] = 0.0F; - m[1][3] = temp_f8 * -(t + b); - - temp_f4 = 1.0F / (f - n); - m[2][0] = 0.0F; - m[2][1] = 0.0F; - m[2][2] = -1.0F * temp_f4; - m[2][3] = -f * temp_f4; - - m[3][0] = 0.0F; - m[3][1] = 0.0F; - m[3][2] = 0.0F; - m[3][3] = 1.0F; + __C_MTXOrtho2(m, f, n); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void C_MTXOrtho(Mtx44 m, f32 top, f32 bottom, f32 left, f32 right, f32 near, f32 far) { - nofralloc -#include "asm/dolphin/mtx/mtx44/C_MTXOrtho.s" -} -#pragma pop -#endif diff --git a/libs/dolphin/os/OSError.c b/libs/dolphin/os/OSError.c index f1727432fc1..e97b95c8265 100644 --- a/libs/dolphin/os/OSError.c +++ b/libs/dolphin/os/OSError.c @@ -18,9 +18,9 @@ volatile OSContext* __OSFPUContext : (OS_BASE_CACHED | 0x00D8); // External References: // -extern u32 __OSLastInterruptSrr0; -extern s16 __OSLastInterrupt[4]; -extern OSTime __OSLastInterruptTime; +extern volatile u32 __OSLastInterruptSrr0; +extern volatile s16 __OSLastInterrupt; +extern volatile OSTime __OSLastInterruptTime; // // Declarations: @@ -103,7 +103,10 @@ OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler) { /* ############################################################################################## */ /* 803CF918-803CF930 02CA38 0016+02 1/1 0/0 0/0 .data @13 */ +#pragma push +#pragma force_active on SECTION_DATA static char lit_13[] = " in \"%s\" on line %d.\n"; + #pragma pop // /* 803CF930-803CF958 02CA50 0026+02 0/0 0/0 0/0 .data @14 */ #pragma push @@ -321,7 +324,7 @@ void __OSUnhandledException(__OSException exception, OSContext* context, u32 dsi break; } - OSReport("\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n", __OSLastInterrupt[0], + OSReport("\nLast interrupt (%d): SRR0 = 0x%08x TB = 0x%016llx\n", __OSLastInterrupt, __OSLastInterruptSrr0, __OSLastInterruptTime); PPCHalt(); diff --git a/libs/dolphin/pad/Pad.c b/libs/dolphin/pad/Pad.c index d4ac7d1773d..9716ad03b68 100644 --- a/libs/dolphin/pad/Pad.c +++ b/libs/dolphin/pad/Pad.c @@ -44,7 +44,7 @@ extern u32 __PADFixBits; static u32 Type[4]; /* 8044CB80-8044CBB0 0798A0 0030+00 8/8 0/0 0/0 .bss Origin */ -static PADStatus Origin[4]; +static volatile PADStatus Origin[4]; /* 80450A24-80450A28 0004A4 0004+00 7/7 0/0 0/0 .sdata ResettingChan */ SECTION_SDATA static s32 ResettingChan = 0x00000020; diff --git a/src/d/a/d_a_npc.cpp b/src/d/a/d_a_npc.cpp index efa9296dc31..6135791a6dc 100644 --- a/src/d/a/d_a_npc.cpp +++ b/src/d/a/d_a_npc.cpp @@ -922,8 +922,6 @@ void daNpcT_Path_c::reverse() { } /* 80145DD0-80145E38 140710 0068+00 2/2 0/0 8/8 .text setNextIdx__13daNpcT_Path_cFi */ -#ifdef NONMATCHING -// getNumPnts inline appears to be wrong int daNpcT_Path_c::setNextIdx(int param_0) { u16 numPnts = getNumPnts(); @@ -934,16 +932,6 @@ int daNpcT_Path_c::setNextIdx(int param_0) { daNpcT_incIdx(param_0,mIdx,0,mDirection); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int daNpcT_Path_c::setNextIdx(int param_0) { - nofralloc -#include "asm/d/a/d_a_npc/setNextIdx__13daNpcT_Path_cFi.s" -} -#pragma pop -#endif /* 80145E38-80145FB4 140778 017C+00 0/0 0/0 1/1 .text getDstPos__13daNpcT_Path_cF4cXyzP4cXyzi */ #ifdef NONMATCHING diff --git a/src/d/a/d_a_obj.cpp b/src/d/a/d_a_obj.cpp index 7149519432d..2d13730aa7d 100644 --- a/src/d/a/d_a_obj.cpp +++ b/src/d/a/d_a_obj.cpp @@ -102,19 +102,24 @@ SECTION_SDATA2 static f32 lit_3671 = 1.0f; /* 80037038-80037180 031978 0148+00 4/4 0/0 0/0 .text eff_break_tsubo__5daObjFP10fopAc_ac_c4cXyzi */ #ifdef NONMATCHING +// Matches with literals void daObj::eff_break_tsubo(fopAc_ac_c* param_0, cXyz param_1, int param_2) { J3DModelData* tubo_bmd = (J3DModelData*)dComIfG_getObjectRes("Always", 0x20); J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42); + s32 roomNo = fopAcM_GetRoomNo(param_0); + + // not sure what's up with mEcallback. Probably the argument type for dComIfGp_particle_set is wrong. JPABaseEmitter* emitter = (JPABaseEmitter*)dComIfGp_particle_set( - 0x15C, ¶m_0->current.pos, NULL, NULL, 0xFF, dPa_modelEcallBack::getEcallback(), - fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1); + 0x15C, ¶m_0->current.pos, NULL, NULL, 0xFF, (dPa_modelEcallBack*)&dPa_modelEcallBack::mEcallback, + roomNo, NULL, NULL, ¶m_1); dPa_modelEcallBack::setModel(emitter, tubo_bmd, param_0->mTevStr, 3, tubo_btp, 0, param_2); + s32 roomNo2 = fopAcM_GetRoomNo(param_0); dComIfGp_particle_set(0x15D, ¶m_0->current.pos, NULL, NULL, 0xFF, - dPa_control_c::getTsuboSelectTexEcallBack(param_2), - fopAcM_GetRoomNo(param_0), NULL, NULL, ¶m_1); + dPa_control_c::getTsuboSelectTexEcallBack(param_2), + roomNo2, NULL, NULL, ¶m_1); } #else #pragma push diff --git a/src/d/save/d_save.cpp b/src/d/save/d_save.cpp index d4f2605ca36..251b3dce4c5 100644 --- a/src/d/save/d_save.cpp +++ b/src/d/save/d_save.cpp @@ -529,33 +529,21 @@ static u8 i_item_lst[23] = { }; /* 800332F8-80033354 02DC38 005C+00 2/2 0/0 0/0 .text setLineUpItem__17dSv_player_item_cFv */ -// this is close -#ifdef NONMATCHING void dSv_player_item_c::setLineUpItem() { - int i1 = 0; int i2 = 0; - for (; i1 < 24; i1++) { + for (int i1 = 0; i1 < 24; i1++) { mItemSlots[i1] = NO_ITEM; } for (int i1 = 0; i1 < 23; i1++) { - if (mItems[i_item_lst[i1]] != NO_ITEM) { - mItemSlots[i2] = i_item_lst[i1]; + u32 current = i_item_lst[i1]; + if (mItems[current] != NO_ITEM) { + mItemSlots[i2] = current; i2++; } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSv_player_item_c::setLineUpItem() { - nofralloc -#include "asm/d/save/d_save/setLineUpItem__17dSv_player_item_cFv.s" -} -#pragma pop -#endif u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const { if (i_slotNo < MAX_ITEM_SLOTS) { @@ -566,15 +554,14 @@ u8 dSv_player_item_c::getLineUpItem(int i_slotNo) const { } /* 80033370-80033450 02DCB0 00E0+00 1/1 2/2 0/0 .text setBottleItemIn__17dSv_player_item_cFUcUc */ -#ifdef NONMATCHING void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) { - u8 cur_item = dSv_item_rename(curItemIn); - u8 new_item = dSv_item_rename(newItemIn); + curItemIn = dSv_item_rename(curItemIn); + newItemIn = dSv_item_rename(newItemIn); for (int i = 0; i < 4; i++) { - if (cur_item == mItems[i + SLOT_11]) { - setItem(i + SLOT_11, new_item); - if (new_item == HOT_SPRING) { + if (curItemIn == mItems[i + SLOT_11]) { + setItem(i + SLOT_11, newItemIn); + if (newItemIn == HOT_SPRING) { dMeter2Info_setHotSpringTimer(i + SLOT_11); } @@ -587,34 +574,13 @@ void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) { } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSv_player_item_c::setBottleItemIn(u8 curItemIn, u8 newItemIn) { - nofralloc -#include "asm/d/save/d_save/setBottleItemIn__17dSv_player_item_cFUcUc.s" -} -#pragma pop -#endif /* 80033450-80033494 02DD90 0044+00 0/0 26/26 0/0 .text * setEmptyBottleItemIn__17dSv_player_item_cFUc */ -// this is 1 instruction off -#ifdef NONMATCHING void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) { - setBottleItemIn(EMPTY_BOTTLE, dSv_item_rename(i_itemNo)); + i_itemNo = dSv_item_rename(i_itemNo); + setBottleItemIn(EMPTY_BOTTLE, i_itemNo); } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSv_player_item_c::setEmptyBottleItemIn(u8 i_itemNo) { - nofralloc -#include "asm/d/save/d_save/setEmptyBottleItemIn__17dSv_player_item_cFUc.s" -} -#pragma pop -#endif void dSv_player_item_c::setEmptyBottle() { for (int i = 0; i < 4; i++) { @@ -636,33 +602,21 @@ void dSv_player_item_c::setEmptyBottle(u8 i_itemNo) { /* 80033598-800336BC 02DED8 0124+00 1/1 3/3 0/0 .text * setEquipBottleItemIn__17dSv_player_item_cFUcUc */ -// one instruction -#ifdef NONMATCHING void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) { - u8 new_item = dSv_item_rename(newItemIn); + newItemIn = dSv_item_rename(newItemIn); if (dComIfGs_getSelectItemIndex(curItemIn) >= SLOT_11 && dComIfGs_getSelectItemIndex(curItemIn) <= SLOT_14) { - if (new_item == HOT_SPRING) { + if (newItemIn == HOT_SPRING) { dMeter2Info_setHotSpringTimer(dComIfGs_getSelectItemIndex(curItemIn)); } - setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item); - dComIfGs_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item); - dComIfGp_setItem(dComIfGs_getSelectItemIndex(curItemIn), new_item); + setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn); + dComIfGs_setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn); + dComIfGp_setItem(dComIfGs_getSelectItemIndex(curItemIn), newItemIn); dComIfGp_setSelectItem(curItemIn); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void dSv_player_item_c::setEquipBottleItemIn(u8 curItemIn, u8 newItemIn) { - nofralloc -#include "asm/d/save/d_save/setEquipBottleItemIn__17dSv_player_item_cFUcUc.s" -} -#pragma pop -#endif void dSv_player_item_c::setEquipBottleItemEmpty(u8 curItemIn) { setEquipBottleItemIn(curItemIn, EMPTY_BOTTLE); @@ -1270,23 +1224,12 @@ BOOL dSv_memBit_c::isSwitch(int i_no) const { } /* 8003488C-800348C4 02F1CC 0038+00 1/1 0/0 0/0 .text revSwitch__12dSv_memBit_cFi */ -// instruction in wrong place -#ifdef NONMATCHING BOOL dSv_memBit_c::revSwitch(int i_no) { + u32 switchInd = i_no >> 5; u32 tmp = 1 << (i_no & 0x1F); - mSwitch[i_no >> 5] ^= tmp; - return mSwitch[i_no >> 5] & tmp ? TRUE : FALSE; + mSwitch[switchInd] ^= tmp; + return mSwitch[switchInd] & tmp ? TRUE : FALSE; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dSv_memBit_c::revSwitch(int i_no) { - nofralloc -#include "asm/d/save/d_save/revSwitch__12dSv_memBit_cFi.s" -} -#pragma pop -#endif void dSv_memBit_c::onItem(int i_no) { mItem[i_no >> 5] |= 1 << (i_no & 0x1F); @@ -1450,23 +1393,12 @@ BOOL dSv_zoneBit_c::isSwitch(int i_no) const { } /* 80034D78-80034DAC 02F6B8 0034+00 1/1 0/0 0/0 .text revSwitch__13dSv_zoneBit_cFi */ -// instruction in wrong place -#ifdef NONMATCHING BOOL dSv_zoneBit_c::revSwitch(int i_no) { + u32 switchInd = i_no >> 4; int uVar1 = 1 << (i_no & 0xF); - mSwitch[i_no >> 4] ^= uVar1; - return mSwitch[i_no >> 4] & uVar1 ? TRUE : FALSE; + mSwitch[switchInd] ^= uVar1; + return mSwitch[switchInd] & uVar1 ? TRUE : FALSE; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dSv_zoneBit_c::revSwitch(int i_no) { - nofralloc -#include "asm/d/save/d_save/revSwitch__13dSv_zoneBit_cFi.s" -} -#pragma pop -#endif void dSv_zoneBit_c::onOneSwitch(int i_no) { mRoomSwitch |= (u16)(1 << i_no); @@ -1772,19 +1704,20 @@ int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) { phi_r30 = true; } - char* save_ptr = card_ptr + (dataNum * 0xA94); // 0xA94 = Quest Log size + card_ptr = card_ptr + (dataNum * 0xA94); // 0xA94 = Quest Log size dSv_save_c* savedata = dComIfGs_getSaveData(); s64 play_time = (OSGetTime() - dComIfGs_getSaveStartTime()); - s64 total_time = (play_time + dComIfGs_getSaveTotalTime()) / (OS_BUS_CLOCK / 4); + s64 total_time = (play_time + dComIfGs_getSaveTotalTime()); + s64 play_time_secs = play_time / (OS_BUS_CLOCK / 4); // 3599940 = 999:59 in seconds - if (total_time < 3599940) { + if (play_time_secs < 3599940) { savedata->getPlayer().getPlayerInfo().setTotalTime(total_time); } savedata->getPlayer().getPlayerStatusB().setDateIpl(OSGetTime()); - memcpy(save_ptr, savedata, sizeof(dSv_save_c)); + memcpy(card_ptr, savedata, sizeof(dSv_save_c)); printf("Write size:%d\n", sizeof(dSv_save_c)); if (lantern_not_recovered == true) { @@ -1816,17 +1749,11 @@ asm int dSv_info_c::memory_to_card(char* card_ptr, int dataNum) { #endif /* ############################################################################################## */ -/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_8037927A = "LOAD size:%d\n"; -#pragma pop /* 80035A04-80035BD0 030344 01CC+00 0/0 2/2 0/0 .text card_to_memory__10dSv_info_cFPci */ -// memcpy param loads out of order -#ifdef NONMATCHING int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) { - memcpy(dComIfGs_getSaveData(), card_ptr + dataNum * 0xa94, sizeof(dSv_save_c)); + card_ptr = card_ptr + dataNum * 0xa94; + memcpy(dComIfGs_getSaveData(), card_ptr, sizeof(dSv_save_c)); if (OSGetSoundMode() == OS_SOUND_MODE_MONO) { g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(OS_SOUND_MODE_MONO); @@ -1834,8 +1761,8 @@ int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) { } else if (g_dComIfG_gameInfo.info.getPlayer().getConfig().getSound() == 2) { Z2AudioMgr::mAudioMgrPtr->setOutputMode(2); } else { - g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(SOUND_MODE_STEREO); - Z2AudioMgr::mAudioMgrPtr->setOutputMode(SOUND_MODE_STEREO); + g_dComIfG_gameInfo.info.getPlayer().getConfig().setSound(OS_SOUND_MODE_STEREO); + Z2AudioMgr::mAudioMgrPtr->setOutputMode(OS_SOUND_MODE_STEREO); } dSv_save_c* savedata = dComIfGs_getSaveData(); @@ -1865,49 +1792,22 @@ int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) { printf("LOAD size:%d\n", sizeof(dSv_save_c)); return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dSv_info_c::card_to_memory(char* card_ptr, int dataNum) { - nofralloc -#include "asm/d/save/d_save/card_to_memory__10dSv_info_cFPci.s" -} -#pragma pop -#endif /* ############################################################################################## */ -/* 80379234-80379234 005894 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80379288 = "INIT size:%d\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80379296 = "\0"; -#pragma pop /* 80035BD0-80035C88 030510 00B8+00 0/0 3/3 0/0 .text initdata_to_card__10dSv_info_cFPci */ -#ifdef NONMATCHING int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum) { - char* ptr = card_ptr + (dataNum * 0xa94); + card_ptr = card_ptr + (dataNum * 0xa94); dSv_save_c tmp; tmp.init(); tmp.getPlayer().getPlayerInfo().setPlayerName(""); tmp.getPlayer().getPlayerInfo().setHorseName(""); - memcpy(&ptr, &tmp, 0x958); + memcpy(card_ptr, &tmp, 0x958); printf("INIT size:%d\n", 0x958); return 0; } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm int dSv_info_c::initdata_to_card(char* card_ptr, int dataNum){nofralloc -#include "asm/d/save/d_save/initdata_to_card__10dSv_info_cFPci.s" -} -#pragma pop -#endif u16 const dSv_event_tmp_flag_c::tempBitLabels[185] = { 0xFFFF, 0xFFFF, 0xFF0F, 0xFEFF, 0x0040, 0xFDFF, 0xFCFF, 0x0020, 0x0080, 0x0010, 0x0008, 0x0004, diff --git a/src/d/shop/d_shop_system.cpp b/src/d/shop/d_shop_system.cpp index 9d4ec035c75..a67363b9cd9 100644 --- a/src/d/shop/d_shop_system.cpp +++ b/src/d/shop/d_shop_system.cpp @@ -361,6 +361,32 @@ struct shop_item_data { SECTION_DATA static shop_item_data item_seira_shop = { {{110.0f, 150.0f, -115.0f}, {160.0f, 150.0f, -115.0f}, {210.0f, 150.0f, -115.0f}}}; +#ifdef NONMATCHING +static processFunc process[22] = { + &dShopSystem_c::seq_wait, + &dShopSystem_c::seq_start, + &dShopSystem_c::seq_select_wait, + &dShopSystem_c::seq_select_start, + &dShopSystem_c::seq_select, + &dShopSystem_c::seq_moving, + &dShopSystem_c::seq_decide, + &dShopSystem_c::seq_choose, + &dShopSystem_c::seq_decide_yes, + &dShopSystem_c::seq_decide_no, + &dShopSystem_c::seq_finish, + (processFunc)&dShopSystem_c::seq_event, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, +}; +#else /* 803BB8E4-803BB8F0 -00001 000C+00 0/1 0/0 0/0 .data @4056 */ #pragma push #pragma force_active on @@ -749,6 +775,7 @@ SECTION_DATA static u8 process[144 + 120 /* padding */] = { 0x00, 0x00, }; +#endif /* 801974E4-801975C0 191E24 00DC+00 1/0 0/0 10/10 .text __dt__13dShopSystem_cFv */ dShopSystem_c::~dShopSystem_c() { @@ -2072,14 +2099,45 @@ int dShopSystem_c::shop_init(bool param_0) { /* 8019A158-8019A238 194A98 00E0+00 0/0 0/0 9/9 .text * shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c */ +// process array match issues +#ifdef NONMATCHING +int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { + int iVar1; + iVar1 = (this->*process[mSeq])(param_0, param_1); + + if (mWaitTimer != 0) { + mWaitTimer--; + } + if (field_0xf7a != 0) { + dMeter2Info_set2DVibration(); + field_0xf7a = 0; + } + if (iVar1 != 0) { + g_meter2_info.offShopTalkFlag(); + if (mSeq != 0) { + setSeq(0); + } + if (iVar1 != 2) { + mCursorPos = 0; + mLastCursorPos = 0; + } + } + if (mSeq != field_0xf71) { + field_0xf71 = mSeq; + field_0xf79 = 1; + } + return iVar1; +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { +asm int dShopSystem_c::shop_process(fopAc_ac_c* param_0, dMsgFlow_c* param_1) { nofralloc #include "asm/d/shop/d_shop_system/shop_process__13dShopSystem_cFP10fopAc_ac_cP10dMsgFlow_c.s" } #pragma pop +#endif /* ############################################################################################## */ /* 804506F8-80450700 -00001 0004+04 1/1 0/0 0/0 .sdata shop_item_pos_data_tbl */ diff --git a/src/f_pc/f_pc_create_req.cpp b/src/f_pc/f_pc_create_req.cpp index 3bbdcecb747..ae686f25184 100644 --- a/src/f_pc/f_pc_create_req.cpp +++ b/src/f_pc/f_pc_create_req.cpp @@ -19,9 +19,9 @@ /* 80020ACC-80020AE8 001C+00 s=1 e=0 z=0 None .text fpcCtRq_isCreatingByID__FP10create_tagPUi */ -BOOL fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId) { +bool fpcCtRq_isCreatingByID(create_tag* pTag, unsigned int* pId) { create_request* pReq = static_cast(pTag->mBase.mpTagData); - return checkEqual(*pId, pReq->mBsPcId); + return pReq->mBsPcId == *pId; } /* 80020AE8-80020B20 0038+00 s=0 e=2 z=0 None .text fpcCtRq_IsCreatingByID__FUi */ diff --git a/src/f_pc/f_pc_deletor.cpp b/src/f_pc/f_pc_deletor.cpp index 9478996c923..a0a77f09463 100644 --- a/src/f_pc/f_pc_deletor.cpp +++ b/src/f_pc/f_pc_deletor.cpp @@ -67,7 +67,7 @@ s32 fpcDt_ToDeleteQ(base_process_class* pProc) { if (cTg_IsUse(&pProc->mDtTg.mBase) != 0) { return 1; } else { - if (fpcBs_Is_JustOfType(g_fpcNd_type, pProc->mSubType) != 0) { + if (fpcBs_Is_JustOfType(g_fpcNd_type, pProc->mSubType)) { process_node_class* procNode = (process_node_class*)pProc; if (fpcNd_IsDeleteTiming(procNode) == 0) { return 0; diff --git a/src/f_pc/f_pc_layer.cpp b/src/f_pc/f_pc_layer.cpp index 0573b9db09a..2e06220f15c 100644 --- a/src/f_pc/f_pc_layer.cpp +++ b/src/f_pc/f_pc_layer.cpp @@ -29,8 +29,8 @@ s32 fpcLy_ToCancelQ(layer_class* pLayer, process_method_tag_class* pMthd) { /* 800215CC-800215F8 002C+00 s=1 e=0 z=0 None .text * fpcLy_CancelMethod__FP24process_method_tag_class */ -BOOL fpcLy_CancelMethod(process_method_tag_class* pLayer) { - return checkEqual(1, fpcMtdTg_Do(pLayer)); +bool fpcLy_CancelMethod(process_method_tag_class* pLayer) { + return fpcMtdTg_Do(pLayer) == 1; } /* 800215F8-8002161C 0024+00 s=0 e=1 z=0 None .text diff --git a/src/m_Do/m_Do_MemCard.cpp b/src/m_Do/m_Do_MemCard.cpp index 3ee1f436204..cd6c889b000 100644 --- a/src/m_Do/m_Do_MemCard.cpp +++ b/src/m_Do/m_Do_MemCard.cpp @@ -5,6 +5,7 @@ #include "m_Do/m_Do_MemCard.h" #include "JSystem/JKernel/JKRThread.h" +#include "JSystem/JGadget/binary.h" #include "MSL_C/MSL_Common/Src/string.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -15,47 +16,13 @@ // Forward References: // -extern "C" void __ct__15mDoMemCd_Ctrl_cFv(); -extern "C" void ThdInit__15mDoMemCd_Ctrl_cFv(); -extern "C" void main__15mDoMemCd_Ctrl_cFv(); -extern "C" void update__15mDoMemCd_Ctrl_cFv(); -extern "C" void load__15mDoMemCd_Ctrl_cFv(); -extern "C" void restore__15mDoMemCd_Ctrl_cFv(); -extern "C" void LoadSync__15mDoMemCd_Ctrl_cFPvUlUl(); -extern "C" void save__15mDoMemCd_Ctrl_cFPvUlUl(); -extern "C" void store__15mDoMemCd_Ctrl_cFv(); -extern "C" void SaveSync__15mDoMemCd_Ctrl_cFv(); -extern "C" void getStatus__15mDoMemCd_Ctrl_cFUl(); -extern "C" void command_format__15mDoMemCd_Ctrl_cFv(); -extern "C" void format__15mDoMemCd_Ctrl_cFv(); -extern "C" void FormatSync__15mDoMemCd_Ctrl_cFv(); -extern "C" void attach__15mDoMemCd_Ctrl_cFv(); -extern "C" void command_attach__15mDoMemCd_Ctrl_cFv(); -extern "C" void detach__15mDoMemCd_Ctrl_cFv(); extern "C" void mount__15mDoMemCd_Ctrl_cFv(); -extern "C" void loadfile__15mDoMemCd_Ctrl_cFv(); -extern "C" void checkspace__15mDoMemCd_Ctrl_cFv(); extern "C" void setCardState__15mDoMemCd_Ctrl_cFl(); -extern "C" static void mDoMemCd_main__FPv(); -extern "C" void __sinit_m_Do_MemCard_cpp(); -extern "C" extern char const* const m_Do_m_Do_MemCard__stringBase0; // // External References: // -extern "C" void mDoExt_getAssertHeap__Fv(); -extern "C" void mDoMemCdRWm_Store__FP12CARDFileInfoPvUl(); -extern "C" void mDoMemCdRWm_Restore__FP12CARDFileInfoPvUl(); -extern "C" void becomeCurrentHeap__7JKRHeapFv(); -extern "C" void __ct__9JKRThreadFP8OSThreadi(); -extern "C" void __dt__9JKRThreadFv(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; - // // Declarations: // @@ -378,18 +345,16 @@ s32 mDoMemCd_Ctrl_c::FormatSync() { } /* 80016FB8-800170B8 0118F8 0100+00 1/1 0/0 0/0 .text attach__15mDoMemCd_Ctrl_cFv */ -// switch has case issues -#ifdef NONMATCHING void mDoMemCd_Ctrl_c::attach() { s32 mem_size; s32 sect_size; s32 card_state = CARDProbeEx(mChannel, &mem_size, §_size); - if (card_state == CARD_ERROR_NOCARD) { + if (card_state == CARD_RESULT_NOCARD) { mCardState = 0; - } else if (card_state == CARD_ERROR_FATAL_ERROR) { + } else if (card_state == CARD_RESULT_FATAL_ERROR) { mCardState = 12; - } else if (card_state == CARD_ERROR_WRONGDEVICE) { + } else if (card_state == CARD_RESULT_WRONGDEVICE) { mCardState = 10; } else if (sect_size != 0x2000) { mCardState = 11; @@ -408,21 +373,13 @@ void mDoMemCd_Ctrl_c::attach() { case 2: mCardState = 9; break; + case 3: + break; } } } } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMemCd_Ctrl_c::attach() { - nofralloc -#include "asm/m_Do/m_Do_MemCard/attach__15mDoMemCd_Ctrl_cFv.s" -} -#pragma pop -#endif /* 800170B8-80017110 0119F8 0058+00 0/0 1/1 0/0 .text command_attach__15mDoMemCd_Ctrl_cFv */ @@ -442,36 +399,48 @@ void mDoMemCd_Ctrl_c::detach() { } /* ############################################################################################## */ -/* 803A3530-803A3568 -00001 0038+00 1/1 0/0 0/0 .data @3850 */ -SECTION_DATA static void* lit_3850[14] = { - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xF4), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xC4), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xD4), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xE4), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0x114), - (void*)(((char*)mount__15mDoMemCd_Ctrl_cFv) + 0xBC), -}; /* 803E0F40-803EAF40 00DC60 A000+00 1/1 0/0 0/0 .bss MemCardWorkArea0 */ static u8 MemCardWorkArea0[5 * 8 * 1024] ALIGN_DECL(32); /* 80017148-80017274 011A88 012C+00 2/1 0/0 0/0 .text mount__15mDoMemCd_Ctrl_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm s32 mDoMemCd_Ctrl_c::mount() { - nofralloc -#include "asm/m_Do/m_Do_MemCard/mount__15mDoMemCd_Ctrl_cFv.s" +s32 mDoMemCd_Ctrl_c::mount() { + s32 result = CARDMount(mChannel, MemCardWorkArea0, 0); + + switch (result) { + case CARD_RESULT_IOERROR: + case CARD_RESULT_FATAL_ERROR: + mCardState = 12; + return 0; + case CARD_RESULT_NOCARD: + mCardState = 0; + return 0; + case CARD_RESULT_BROKEN: + case CARD_RESULT_READY: + switch (CARDCheck(mChannel)) { + case CARD_RESULT_READY: + return 1; + case CARD_RESULT_BROKEN: + mCardState = 7; + return 0; + case CARD_RESULT_IOERROR: + mCardState = 12; + return 0; + case CARD_RESULT_NOCARD: + mCardState = 0; + return 0; + case CARD_RESULT_ENCODING: + mCardState = 6; + return 0; + } + break; + case CARD_RESULT_ENCODING: + mCardState = 6; + return 0; + } + + return 0; } -#pragma pop /* 80017274-800172D4 011BB4 0060+00 1/1 0/0 0/0 .text loadfile__15mDoMemCd_Ctrl_cFv */ s32 mDoMemCd_Ctrl_c::loadfile() { @@ -488,6 +457,26 @@ s32 mDoMemCd_Ctrl_c::loadfile() { } /* 800172D4-80017360 011C14 008C+00 1/1 0/0 0/0 .text checkspace__15mDoMemCd_Ctrl_cFv */ +// +#ifdef NONMATCHING +// final return statement +s32 mDoMemCd_Ctrl_c::checkspace() { + s32 bytesNotUsed, filesNotUsed; + s32 result; + result = CARDFreeBlocks(mChannel, &bytesNotUsed, &filesNotUsed); + + if (result) { + setCardState(result); + return 3; + } + + if (bytesNotUsed < 0x8000) { + return 1; + } + + return (filesNotUsed - 1 < 0); +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off @@ -496,43 +485,33 @@ asm s32 mDoMemCd_Ctrl_c::checkspace() { #include "asm/m_Do/m_Do_MemCard/checkspace__15mDoMemCd_Ctrl_cFv.s" } #pragma pop +#endif /* 80017360-8001741C 011CA0 00BC+00 5/5 0/0 0/0 .text setCardState__15mDoMemCd_Ctrl_cFl */ -// cases aren't fully correct -#ifdef NONMATCHING void mDoMemCd_Ctrl_c::setCardState(s32 param_0) { switch (param_0) { - case CARD_ERROR_IOERROR: - case CARD_ERROR_FATAL_ERROR: + case CARD_RESULT_IOERROR: + case CARD_RESULT_FATAL_ERROR: mCardState = 12; break; - case CARD_ERROR_NOCARD: + case CARD_RESULT_NOCARD: mCardState = 0; break; - case CARD_ERROR_READY: + case CARD_RESULT_BROKEN: + case CARD_RESULT_READY: if (CARDCheck(mChannel) != 0) { mCardState = 7; } break; - case CARD_ERROR_ENCODING: + case CARD_RESULT_ENCODING: mCardState = 6; break; - case CARD_ERROR_BROKEN: + case CARD_RESULT_NOFILE: mCardState = 2; break; } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void mDoMemCd_Ctrl_c::setCardState(s32 param_0) { - nofralloc -#include "asm/m_Do/m_Do_MemCard/setCardState__15mDoMemCd_Ctrl_cFl.s" -} -#pragma pop -#endif /* ############################################################################################## */ /* 803EAF40-803ECF40 017C60 2000+00 2/2 27/27 0/0 .bss g_mDoMemCd_control */ diff --git a/tools/frank.py b/tools/frank.py index 2165b0b6658..da83d4b92ee 100644 --- a/tools/frank.py +++ b/tools/frank.py @@ -91,9 +91,10 @@ while idx < len(profile_bytes) - 16: ADDI = 0x38 >> 2 LI = ADDI # an LI instruction is just an ADDI with RA=0 LMW = 0xB8 >> 2 + FDIVS = 0xEC >> 2 - if opcode_a == LWZ and \ - opcode_b in [LI, LFS] and \ + if opcode_a in [LWZ, LMW] and vanilla_inst_a[2] == 0x00 and \ + opcode_b in [LI, LFS, FDIVS] and \ vanilla_inst_a == profile_inst_b and \ vanilla_inst_b == profile_inst_a and \ vanilla_inst_c == profile_inst_c and \