diff --git a/asm/J3DGraphAnimator/J3DSkinDeform.s b/asm/J3DGraphAnimator/J3DSkinDeform.s index a5a550a018..b907fb929b 100644 --- a/asm/J3DGraphAnimator/J3DSkinDeform.s +++ b/asm/J3DGraphAnimator/J3DSkinDeform.s @@ -976,7 +976,7 @@ lbl_8032D470: /* 8032D478 0032A3B8 7C 94 02 14 */ add r4, r20, r0 /* 8032D47C 0032A3BC 38 84 00 04 */ addi r4, r4, 4 /* 8032D480 0032A3C0 7F 45 D3 78 */ mr r5, r26 -/* 8032D484 0032A3C4 4B CD 60 BD */ bl func_80003540 +/* 8032D484 0032A3C4 4B CD 60 BD */ bl memcpy /* 8032D488 0032A3C8 7E 73 CA 14 */ add r19, r19, r25 /* 8032D48C 0032A3CC 3A 31 00 01 */ addi r17, r17, 1 lbl_8032D490: diff --git a/asm/J3DGraphBase/J3DMatBlock.s b/asm/J3DGraphBase/J3DMatBlock.s index d57237b26d..6ed61c5890 100644 --- a/asm/J3DGraphBase/J3DMatBlock.s +++ b/asm/J3DGraphBase/J3DMatBlock.s @@ -9316,7 +9316,7 @@ lbl_803200FC: /* 80320144 0031D084 7C 64 1B 78 */ mr r4, r3 /* 80320148 0031D088 7C 7B F0 2E */ lwzx r3, r27, r30 /* 8032014C 0031D08C 38 A0 00 94 */ li r5, 0x94 -/* 80320150 0031D090 4B CE 33 F1 */ bl func_80003540 +/* 80320150 0031D090 4B CE 33 F1 */ bl memcpy /* 80320154 0031D094 7C 7B F0 2E */ lwzx r3, r27, r30 /* 80320158 0031D098 38 80 00 94 */ li r4, 0x94 /* 8032015C 0031D09C 48 01 B4 81 */ bl DCStoreRange @@ -9391,7 +9391,7 @@ lbl_80320218: /* 80320260 0031D1A0 7C 64 1B 78 */ mr r4, r3 /* 80320264 0031D1A4 7C 7B F0 2E */ lwzx r3, r27, r30 /* 80320268 0031D1A8 38 A0 00 94 */ li r5, 0x94 -/* 8032026C 0031D1AC 4B CE 32 D5 */ bl func_80003540 +/* 8032026C 0031D1AC 4B CE 32 D5 */ bl memcpy /* 80320270 0031D1B0 7C 7B F0 2E */ lwzx r3, r27, r30 /* 80320274 0031D1B4 38 80 00 94 */ li r4, 0x94 /* 80320278 0031D1B8 48 01 B3 65 */ bl DCStoreRange @@ -9474,7 +9474,7 @@ lbl_80320354: /* 8032039C 0031D2DC 7C 64 1B 78 */ mr r4, r3 /* 803203A0 0031D2E0 7C 7B F0 2E */ lwzx r3, r27, r30 /* 803203A4 0031D2E4 38 A0 00 94 */ li r5, 0x94 -/* 803203A8 0031D2E8 4B CE 31 99 */ bl func_80003540 +/* 803203A8 0031D2E8 4B CE 31 99 */ bl memcpy /* 803203AC 0031D2EC 7C 7B F0 2E */ lwzx r3, r27, r30 /* 803203B0 0031D2F0 38 80 00 94 */ li r4, 0x94 /* 803203B4 0031D2F4 48 01 B2 29 */ bl DCStoreRange diff --git a/asm/J3DGraphBase/J3DPacket.s b/asm/J3DGraphBase/J3DPacket.s index 64a6791ffb..00451b4c72 100644 --- a/asm/J3DGraphBase/J3DPacket.s +++ b/asm/J3DGraphBase/J3DPacket.s @@ -93,7 +93,7 @@ J3DDisplayListObj_NS_single_To_Double: lbl_803125B4: /* 803125B4 0030F4F4 80 9F 00 00 */ lwz r4, 0(r31) /* 803125B8 0030F4F8 80 BF 00 0C */ lwz r5, 0xc(r31) -/* 803125BC 0030F4FC 4B CF 0F 85 */ bl func_80003540 +/* 803125BC 0030F4FC 4B CF 0F 85 */ bl memcpy /* 803125C0 0030F500 80 7F 00 04 */ lwz r3, 4(r31) /* 803125C4 0030F504 80 9F 00 0C */ lwz r4, 0xc(r31) /* 803125C8 0030F508 48 02 90 15 */ bl DCStoreRange diff --git a/asm/J3DGraphBase/J3DShapeDraw.s b/asm/J3DGraphBase/J3DShapeDraw.s index a9e1e92e05..06dfe6a954 100644 --- a/asm/J3DGraphBase/J3DShapeDraw.s +++ b/asm/J3DGraphBase/J3DShapeDraw.s @@ -76,7 +76,7 @@ lbl_80314A00: /* 80314A0C 0031194C 7F A3 EB 78 */ mr r3, r29 /* 80314A10 00311950 7E 64 9B 78 */ mr r4, r19 /* 80314A14 00311954 7F 65 DB 78 */ mr r5, r27 -/* 80314A18 00311958 4B CE EB 29 */ bl func_80003540 +/* 80314A18 00311958 4B CE EB 29 */ bl memcpy /* 80314A1C 0031195C 7F BD DA 14 */ add r29, r29, r27 /* 80314A20 00311960 7C 1C 92 14 */ add r0, r28, r18 /* 80314A24 00311964 98 1D 00 00 */ stb r0, 0(r29) @@ -84,7 +84,7 @@ lbl_80314A00: /* 80314A2C 0031196C 7F A3 EB 78 */ mr r3, r29 /* 80314A30 00311970 7C 93 DA 14 */ add r4, r19, r27 /* 80314A34 00311974 7F 05 C3 78 */ mr r5, r24 -/* 80314A38 00311978 4B CE EB 09 */ bl func_80003540 +/* 80314A38 00311978 4B CE EB 09 */ bl memcpy /* 80314A3C 0031197C 7F BD C2 14 */ add r29, r29, r24 /* 80314A40 00311980 3A 94 00 01 */ addi r20, r20, 1 lbl_80314A44: diff --git a/asm/J3DGraphBase/J3DVertex.s b/asm/J3DGraphBase/J3DVertex.s index 4d161a94eb..f34e3cad48 100644 --- a/asm/J3DGraphBase/J3DVertex.s +++ b/asm/J3DGraphBase/J3DVertex.s @@ -153,7 +153,7 @@ lbl_803110E8: /* 803110EC 0030E02C 80 04 00 00 */ lwz r0, 0(r4) /* 803110F0 0030E030 80 84 00 18 */ lwz r4, 0x18(r4) /* 803110F4 0030E034 1C A0 00 0C */ mulli r5, r0, 0xc -/* 803110F8 0030E038 4B CF 24 49 */ bl func_80003540 +/* 803110F8 0030E038 4B CF 24 49 */ bl memcpy /* 803110FC 0030E03C 80 7F 00 00 */ lwz r3, 0(r31) /* 80311100 0030E040 80 03 00 00 */ lwz r0, 0(r3) /* 80311104 0030E044 7C 7F E8 2E */ lwzx r3, r31, r29 @@ -188,7 +188,7 @@ lbl_80311168: /* 80311170 0030E0B0 80 83 00 18 */ lwz r4, 0x18(r3) /* 80311174 0030E0B4 80 7F 00 08 */ lwz r3, 8(r31) /* 80311178 0030E0B8 1C A0 00 0C */ mulli r5, r0, 0xc -/* 8031117C 0030E0BC 4B CF 23 C5 */ bl func_80003540 +/* 8031117C 0030E0BC 4B CF 23 C5 */ bl memcpy /* 80311180 0030E0C0 80 7F 00 00 */ lwz r3, 0(r31) /* 80311184 0030E0C4 80 03 00 00 */ lwz r0, 0(r3) /* 80311188 0030E0C8 80 7F 00 08 */ lwz r3, 8(r31) @@ -234,7 +234,7 @@ lbl_80311208: /* 8031120C 0030E14C 80 04 00 04 */ lwz r0, 4(r4) /* 80311210 0030E150 80 84 00 1C */ lwz r4, 0x1c(r4) /* 80311214 0030E154 1C A0 00 0C */ mulli r5, r0, 0xc -/* 80311218 0030E158 4B CF 23 29 */ bl func_80003540 +/* 80311218 0030E158 4B CF 23 29 */ bl memcpy /* 8031121C 0030E15C 80 7F 00 00 */ lwz r3, 0(r31) /* 80311220 0030E160 80 03 00 04 */ lwz r0, 4(r3) /* 80311224 0030E164 7C 7F E8 2E */ lwzx r3, r31, r29 @@ -269,7 +269,7 @@ lbl_80311288: /* 80311290 0030E1D0 80 83 00 1C */ lwz r4, 0x1c(r3) /* 80311294 0030E1D4 80 7F 00 10 */ lwz r3, 0x10(r31) /* 80311298 0030E1D8 1C A0 00 0C */ mulli r5, r0, 0xc -/* 8031129C 0030E1DC 4B CF 22 A5 */ bl func_80003540 +/* 8031129C 0030E1DC 4B CF 22 A5 */ bl memcpy /* 803112A0 0030E1E0 80 7F 00 00 */ lwz r3, 0(r31) /* 803112A4 0030E1E4 80 03 00 04 */ lwz r0, 4(r3) /* 803112A8 0030E1E8 80 7F 00 10 */ lwz r3, 0x10(r31) diff --git a/asm/J3DGraphLoader/J3DClusterLoader.s b/asm/J3DGraphLoader/J3DClusterLoader.s index 9ee0be19ba..e11dadb6c6 100644 --- a/asm/J3DGraphLoader/J3DClusterLoader.s +++ b/asm/J3DGraphLoader/J3DClusterLoader.s @@ -237,7 +237,7 @@ lbl_803343F0: /* 80334450 00331390 7C 64 1B 78 */ mr r4, r3 /* 80334454 00331394 7F C3 F3 78 */ mr r3, r30 /* 80334458 00331398 7F E5 FB 78 */ mr r5, r31 -/* 8033445C 0033139C 4B CC F0 E5 */ bl func_80003540 +/* 8033445C 0033139C 4B CC F0 E5 */ bl memcpy /* 80334460 003313A0 80 7B 00 04 */ lwz r3, 4(r27) /* 80334464 003313A4 93 C3 00 08 */ stw r30, 8(r3) /* 80334468 003313A8 7C 1E CA 14 */ add r0, r30, r25 diff --git a/asm/JAudio2/JAUSectionHeap.s b/asm/JAudio2/JAUSectionHeap.s index 2aa1821810..646d80973d 100644 --- a/asm/JAudio2/JAUSectionHeap.s +++ b/asm/JAudio2/JAUSectionHeap.s @@ -586,7 +586,7 @@ JAUSection_NS_newStaticSeqData: /* 802A56FC 002A263C 41 82 00 18 */ beq lbl_802A5714 /* 802A5700 002A2640 7F C4 F3 78 */ mr r4, r30 /* 802A5704 002A2644 7F E5 FB 78 */ mr r5, r31 -/* 802A5708 002A2648 4B D5 DE 39 */ bl func_80003540 +/* 802A5708 002A2648 4B D5 DE 39 */ bl memcpy /* 802A570C 002A264C 38 60 00 01 */ li r3, 1 /* 802A5710 002A2650 48 00 00 08 */ b lbl_802A5718 lbl_802A5714: @@ -672,7 +672,7 @@ JAUSection_NS_newCopy: /* 802A5828 002A2768 41 82 00 10 */ beq lbl_802A5838 /* 802A582C 002A276C 7F A4 EB 78 */ mr r4, r29 /* 802A5830 002A2770 7F C5 F3 78 */ mr r5, r30 -/* 802A5834 002A2774 4B D5 DD 0D */ bl func_80003540 +/* 802A5834 002A2774 4B D5 DD 0D */ bl memcpy lbl_802A5838: /* 802A5838 002A2778 7F E3 FB 78 */ mr r3, r31 /* 802A583C 002A277C 39 61 00 20 */ addi r11, r1, 0x20 diff --git a/asm/JSupport/JSUMemoryStream.s b/asm/JSupport/JSUMemoryStream.s index 40459a4b21..a62fd30e7f 100644 --- a/asm/JSupport/JSUMemoryStream.s +++ b/asm/JSupport/JSUMemoryStream.s @@ -30,7 +30,7 @@ lbl_802DC568: /* 802DC574 002D94B4 80 1E 00 08 */ lwz r0, 8(r30) /* 802DC578 002D94B8 7C 80 2A 14 */ add r4, r0, r5 /* 802DC57C 002D94BC 7F E5 FB 78 */ mr r5, r31 -/* 802DC580 002D94C0 4B D2 6F C1 */ bl func_80003540 +/* 802DC580 002D94C0 4B D2 6F C1 */ bl memcpy /* 802DC584 002D94C4 80 1E 00 10 */ lwz r0, 0x10(r30) /* 802DC588 002D94C8 7C 00 FA 14 */ add r0, r0, r31 /* 802DC58C 002D94CC 90 1E 00 10 */ stw r0, 0x10(r30) diff --git a/asm/JUtility/JUTCacheFont.s b/asm/JUtility/JUTCacheFont.s index 38b1723fd2..4166326ba6 100644 --- a/asm/JUtility/JUTCacheFont.s +++ b/asm/JUtility/JUTCacheFont.s @@ -591,7 +591,7 @@ lbl_802DD994: /* 802DD994 002DA8D4 80 78 00 4C */ lwz r3, 0x4c(r24) /* 802DD998 002DA8D8 7F 44 D3 78 */ mr r4, r26 /* 802DD99C 002DA8DC 38 A0 00 20 */ li r5, 0x20 -/* 802DD9A0 002DA8E0 4B D2 5B A1 */ bl func_80003540 +/* 802DD9A0 002DA8E0 4B D2 5B A1 */ bl memcpy /* 802DD9A4 002DA8E4 80 78 00 4C */ lwz r3, 0x4c(r24) /* 802DD9A8 002DA8E8 A0 03 00 08 */ lhz r0, 8(r3) /* 802DD9AC 002DA8EC 54 04 10 3A */ slwi r4, r0, 2 @@ -604,7 +604,7 @@ lbl_802DD9C4: /* 802DD9C4 002DA904 7F C3 F3 78 */ mr r3, r30 /* 802DD9C8 002DA908 7F 44 D3 78 */ mr r4, r26 /* 802DD9CC 002DA90C 80 BA 00 04 */ lwz r5, 4(r26) -/* 802DD9D0 002DA910 4B D2 5B 71 */ bl func_80003540 +/* 802DD9D0 002DA910 4B D2 5B 71 */ bl memcpy /* 802DD9D4 002DA914 80 78 00 54 */ lwz r3, 0x54(r24) /* 802DD9D8 002DA918 7F C3 B9 2E */ stwx r30, r3, r23 /* 802DD9DC 002DA91C 80 1A 00 04 */ lwz r0, 4(r26) @@ -615,7 +615,7 @@ lbl_802DD9EC: /* 802DD9EC 002DA92C 7F A3 EB 78 */ mr r3, r29 /* 802DD9F0 002DA930 7F 44 D3 78 */ mr r4, r26 /* 802DD9F4 002DA934 38 A0 00 20 */ li r5, 0x20 -/* 802DD9F8 002DA938 4B D2 5B 49 */ bl func_80003540 +/* 802DD9F8 002DA938 4B D2 5B 49 */ bl memcpy /* 802DD9FC 002DA93C 38 7A 00 20 */ addi r3, r26, 0x20 /* 802DDA00 002DA940 7F 64 DB 78 */ mr r4, r27 /* 802DDA04 002DA944 80 BA 00 04 */ lwz r5, 4(r26) @@ -656,7 +656,7 @@ lbl_802DDA84: /* 802DDA84 002DA9C4 7F 83 E3 78 */ mr r3, r28 /* 802DDA88 002DA9C8 7F 44 D3 78 */ mr r4, r26 /* 802DDA8C 002DA9CC 80 BA 00 04 */ lwz r5, 4(r26) -/* 802DDA90 002DA9D0 4B D2 5A B1 */ bl func_80003540 +/* 802DDA90 002DA9D0 4B D2 5A B1 */ bl memcpy /* 802DDA94 002DA9D4 80 78 00 5C */ lwz r3, 0x5c(r24) /* 802DDA98 002DA9D8 7F 83 A9 2E */ stwx r28, r3, r21 /* 802DDA9C 002DA9DC A0 18 00 68 */ lhz r0, 0x68(r24) @@ -759,7 +759,7 @@ JUTCacheFont_NS_getGlyphFromAram: /* 802DDBE0 002DAB20 7C FE 3B 78 */ mr r30, r7 /* 802DDBE4 002DAB24 7F E3 FB 78 */ mr r3, r31 /* 802DDBE8 002DAB28 38 A0 00 20 */ li r5, 0x20 -/* 802DDBEC 002DAB2C 4B D2 59 55 */ bl func_80003540 +/* 802DDBEC 002DAB2C 4B D2 59 55 */ bl memcpy /* 802DDBF0 002DAB30 7F 63 DB 78 */ mr r3, r27 /* 802DDBF4 002DAB34 7F E4 FB 78 */ mr r4, r31 /* 802DDBF8 002DAB38 48 00 03 B5 */ bl JUTCacheFont_NS_prepend diff --git a/asm/JUtility/JUTException.s b/asm/JUtility/JUTException.s index ca2a02368e..baa570dc8f 100644 --- a/asm/JUtility/JUTException.s +++ b/asm/JUtility/JUTException.s @@ -271,7 +271,7 @@ lbl_802E2108: /* 802E2110 002DF050 3C 60 80 43 */ lis r3, lbl_804345A8@ha /* 802E2114 002DF054 38 63 45 A8 */ addi r3, r3, lbl_804345A8@l /* 802E2118 002DF058 38 A0 02 C8 */ li r5, 0x2c8 -/* 802E211C 002DF05C 4B D2 14 25 */ bl func_80003540 +/* 802E211C 002DF05C 4B D2 14 25 */ bl memcpy /* 802E2120 002DF060 48 05 9E D9 */ bl OSGetStackPointer /* 802E2124 002DF064 80 8D 8F 88 */ lwz r4, lbl_80451508-_SDA_BASE_(r13) /* 802E2128 002DF068 90 64 00 A0 */ stw r3, 0xa0(r4) diff --git a/asm/JUtility/JUTResource.s b/asm/JUtility/JUTResource.s index 77b0f1c4c4..8edb679ec9 100644 --- a/asm/JUtility/JUTResource.s +++ b/asm/JUtility/JUTResource.s @@ -69,7 +69,7 @@ JUTResReference_NS_getResource_X1_: /* 802DE158 002DB098 41 82 00 10 */ beq lbl_802DE168 /* 802DE15C 002DB09C 38 7D 00 02 */ addi r3, r29, 2 /* 802DE160 002DB0A0 38 84 00 02 */ addi r4, r4, 2 -/* 802DE164 002DB0A4 4B D2 53 DD */ bl func_80003540 +/* 802DE164 002DB0A4 4B D2 53 DD */ bl memcpy lbl_802DE168: /* 802DE168 002DB0A8 88 1D 00 00 */ lbz r0, 0(r29) /* 802DE16C 002DB0AC 28 00 00 02 */ cmplwi r0, 2 diff --git a/asm/SComponent/c/c_lib.s b/asm/SComponent/c/c_lib.s index 06c5db6240..19ecb6a9cc 100644 --- a/asm/SComponent/c/c_lib.s +++ b/asm/SComponent/c/c_lib.s @@ -8,7 +8,7 @@ cLib_memCpy: /* 8026F93C 0026C87C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8026F940 0026C880 7C 08 02 A6 */ mflr r0 /* 8026F944 0026C884 90 01 00 14 */ stw r0, 0x14(r1) -/* 8026F948 0026C888 4B D9 3B F9 */ bl func_80003540 +/* 8026F948 0026C888 4B D9 3B F9 */ bl memcpy /* 8026F94C 0026C88C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8026F950 0026C890 7C 08 03 A6 */ mtlr r0 /* 8026F954 0026C894 38 21 00 10 */ addi r1, r1, 0x10 diff --git a/asm/card/CARDBlock.s b/asm/card/CARDBlock.s index 27a3f229e8..58aac9082a 100644 --- a/asm/card/CARDBlock.s +++ b/asm/card/CARDBlock.s @@ -32,14 +32,14 @@ WriteCallback: /* 8035546C 003523AC 90 BF 00 88 */ stw r5, 0x88(r31) /* 80355470 003523B0 38 65 00 00 */ addi r3, r5, 0 /* 80355474 003523B4 38 A0 20 00 */ li r5, 0x2000 -/* 80355478 003523B8 4B CA E0 C9 */ bl func_80003540 +/* 80355478 003523B8 4B CA E0 C9 */ bl memcpy /* 8035547C 003523BC 48 00 00 18 */ b lbl_80355494 lbl_80355480: /* 80355480 003523C0 90 9F 00 88 */ stw r4, 0x88(r31) /* 80355484 003523C4 38 64 00 00 */ addi r3, r4, 0 /* 80355488 003523C8 38 85 00 00 */ addi r4, r5, 0 /* 8035548C 003523CC 38 A0 20 00 */ li r5, 0x2000 -/* 80355490 003523D0 4B CA E0 B1 */ bl func_80003540 +/* 80355490 003523D0 4B CA E0 B1 */ bl memcpy lbl_80355494: /* 80355494 003523D4 80 1F 00 D0 */ lwz r0, 0xd0(r31) /* 80355498 003523D8 28 00 00 00 */ cmplwi r0, 0 diff --git a/asm/card/CARDCheck.s b/asm/card/CARDCheck.s index e0908c30e9..e98894fafe 100644 --- a/asm/card/CARDCheck.s +++ b/asm/card/CARDCheck.s @@ -461,7 +461,7 @@ lbl_80355FD8: /* 80355FF8 00352F38 38 A0 20 00 */ li r5, 0x2000 /* 80355FFC 00352F3C 80 66 00 00 */ lwz r3, 0(r6) /* 80356000 00352F40 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80356004 00352F44 4B CA D5 3D */ bl func_80003540 +/* 80356004 00352F44 4B CA D5 3D */ bl memcpy /* 80356008 00352F48 48 00 00 20 */ b lbl_80356028 lbl_8035600C: /* 8035600C 00352F4C 80 01 00 1C */ lwz r0, 0x1c(r1) @@ -645,7 +645,7 @@ lbl_8035625C: /* 8035627C 003531BC 38 A0 20 00 */ li r5, 0x2000 /* 80356280 003531C0 80 66 00 00 */ lwz r3, 0(r6) /* 80356284 003531C4 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80356288 003531C8 4B CA D2 B9 */ bl func_80003540 +/* 80356288 003531C8 4B CA D2 B9 */ bl memcpy /* 8035628C 003531CC 48 00 00 20 */ b lbl_803562AC lbl_80356290: /* 80356290 003531D0 80 01 00 10 */ lwz r0, 0x10(r1) @@ -791,7 +791,7 @@ lbl_8035643C: /* 80356470 003533B0 54 00 10 3A */ slwi r0, r0, 2 /* 80356474 003533B4 7C 64 18 2E */ lwzx r3, r4, r3 /* 80356478 003533B8 7C 84 00 2E */ lwzx r4, r4, r0 -/* 8035647C 003533BC 4B CA D0 C5 */ bl func_80003540 +/* 8035647C 003533BC 4B CA D0 C5 */ bl memcpy /* 80356480 003533C0 3B A0 00 01 */ li r29, 1 /* 80356484 003533C4 48 00 00 3C */ b lbl_803564C0 lbl_80356488: @@ -807,7 +807,7 @@ lbl_80356488: /* 803564AC 003533EC 54 00 10 3A */ slwi r0, r0, 2 /* 803564B0 003533F0 7C 64 18 2E */ lwzx r3, r4, r3 /* 803564B4 003533F4 7C 84 00 2E */ lwzx r4, r4, r0 -/* 803564B8 003533F8 4B CA D0 89 */ bl func_80003540 +/* 803564B8 003533F8 4B CA D0 89 */ bl memcpy /* 803564BC 003533FC 3B C0 00 01 */ li r30, 1 lbl_803564C0: /* 803564C0 00353400 80 01 00 1C */ lwz r0, 0x1c(r1) @@ -1057,7 +1057,7 @@ lbl_80356828: /* 8035683C 0035377C 54 C0 10 3A */ slwi r0, r6, 2 /* 80356840 00353780 7C 64 18 2E */ lwzx r3, r4, r3 /* 80356844 00353784 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80356848 00353788 4B CA CC F9 */ bl func_80003540 +/* 80356848 00353788 4B CA CC F9 */ bl memcpy /* 8035684C 0035378C 2C 1D 00 00 */ cmpwi r29, 0 /* 80356850 00353790 41 82 00 24 */ beq lbl_80356874 /* 80356854 00353794 28 1A 00 00 */ cmplwi r26, 0 diff --git a/asm/card/CARDCreate.s b/asm/card/CARDCreate.s index 6557a8cc57..b1de4a2ccb 100644 --- a/asm/card/CARDCreate.s +++ b/asm/card/CARDCreate.s @@ -27,12 +27,12 @@ CreateCallbackFat: /* 80358154 00355094 54 00 30 32 */ slwi r0, r0, 6 /* 80358158 00355098 7F C3 02 14 */ add r30, r3, r0 /* 8035815C 0035509C 38 7E 00 00 */ addi r3, r30, 0 -/* 80358160 003550A0 4B CA B3 E1 */ bl func_80003540 +/* 80358160 003550A0 4B CA B3 E1 */ bl memcpy /* 80358164 003550A4 80 9F 01 0C */ lwz r4, 0x10c(r31) /* 80358168 003550A8 38 7E 00 04 */ addi r3, r30, 4 /* 8035816C 003550AC 38 A0 00 02 */ li r5, 2 /* 80358170 003550B0 38 84 00 04 */ addi r4, r4, 4 -/* 80358174 003550B4 4B CA B3 CD */ bl func_80003540 +/* 80358174 003550B4 4B CA B3 CD */ bl memcpy /* 80358178 003550B8 38 00 00 04 */ li r0, 4 /* 8035817C 003550BC 98 1E 00 34 */ stb r0, 0x34(r30) /* 80358180 003550C0 38 00 FF FF */ li r0, -1 diff --git a/asm/card/CARDDir.s b/asm/card/CARDDir.s index d6fa268c7b..e072d35390 100644 --- a/asm/card/CARDDir.s +++ b/asm/card/CARDDir.s @@ -31,14 +31,14 @@ WriteCallback_X1_: /* 803557D0 00352710 90 1F 00 84 */ stw r0, 0x84(r31) /* 803557D4 00352714 7C 03 03 78 */ mr r3, r0 /* 803557D8 00352718 38 A0 20 00 */ li r5, 0x2000 -/* 803557DC 0035271C 4B CA DD 65 */ bl func_80003540 +/* 803557DC 0035271C 4B CA DD 65 */ bl memcpy /* 803557E0 00352720 48 00 00 18 */ b lbl_803557F8 lbl_803557E4: /* 803557E4 00352724 90 9F 00 84 */ stw r4, 0x84(r31) /* 803557E8 00352728 38 64 00 00 */ addi r3, r4, 0 /* 803557EC 0035272C 7C 04 03 78 */ mr r4, r0 /* 803557F0 00352730 38 A0 20 00 */ li r5, 0x2000 -/* 803557F4 00352734 4B CA DD 4D */ bl func_80003540 +/* 803557F4 00352734 4B CA DD 4D */ bl memcpy lbl_803557F8: /* 803557F8 00352738 80 1F 00 D0 */ lwz r0, 0xd0(r31) /* 803557FC 0035273C 28 00 00 00 */ cmplwi r0, 0 diff --git a/asm/card/CARDFormat.s b/asm/card/CARDFormat.s index bfcfafc7b2..3b47722b2d 100644 --- a/asm/card/CARDFormat.s +++ b/asm/card/CARDFormat.s @@ -63,7 +63,7 @@ lbl_80357538: /* 80357548 00354488 80 9F 00 80 */ lwz r4, 0x80(r31) /* 8035754C 0035448C 80 7F 00 84 */ lwz r3, 0x84(r31) /* 80357550 00354490 38 84 40 00 */ addi r4, r4, 0x4000 -/* 80357554 00354494 4B CA BF ED */ bl func_80003540 +/* 80357554 00354494 4B CA BF ED */ bl memcpy /* 80357558 00354498 80 7F 00 80 */ lwz r3, 0x80(r31) /* 8035755C 0035449C 38 A0 20 00 */ li r5, 0x2000 /* 80357560 003544A0 38 03 60 00 */ addi r0, r3, 0x6000 @@ -72,7 +72,7 @@ lbl_80357538: /* 8035756C 003544AC 80 7F 00 88 */ lwz r3, 0x88(r31) /* 80357570 003544B0 3C 84 00 01 */ addis r4, r4, 1 /* 80357574 003544B4 38 84 80 00 */ addi r4, r4, -32768 -/* 80357578 003544B8 4B CA BF C9 */ bl func_80003540 +/* 80357578 003544B8 4B CA BF C9 */ bl memcpy lbl_8035757C: /* 8035757C 003544BC 83 BF 00 D0 */ lwz r29, 0xd0(r31) /* 80357580 003544C0 38 00 00 00 */ li r0, 0 diff --git a/asm/card/CARDStat.s b/asm/card/CARDStat.s index 5d9919cf32..4cf2229e9f 100644 --- a/asm/card/CARDStat.s +++ b/asm/card/CARDStat.s @@ -191,11 +191,11 @@ lbl_80358ED0: /* 80358EF4 00355E34 38 9D 00 00 */ addi r4, r29, 0 /* 80358EF8 00355E38 38 7F 00 28 */ addi r3, r31, 0x28 /* 80358EFC 00355E3C 38 A0 00 04 */ li r5, 4 -/* 80358F00 00355E40 4B CA A6 41 */ bl func_80003540 +/* 80358F00 00355E40 4B CA A6 41 */ bl memcpy /* 80358F04 00355E44 38 7F 00 2C */ addi r3, r31, 0x2c /* 80358F08 00355E48 38 9D 00 04 */ addi r4, r29, 4 /* 80358F0C 00355E4C 38 A0 00 02 */ li r5, 2 -/* 80358F10 00355E50 4B CA A6 31 */ bl func_80003540 +/* 80358F10 00355E50 4B CA A6 31 */ bl memcpy /* 80358F14 00355E54 80 A1 00 14 */ lwz r5, 0x14(r1) /* 80358F18 00355E58 7F E3 FB 78 */ mr r3, r31 /* 80358F1C 00355E5C A0 DD 00 38 */ lhz r6, 0x38(r29) @@ -204,7 +204,7 @@ lbl_80358ED0: /* 80358F28 00355E68 38 A0 00 20 */ li r5, 0x20 /* 80358F2C 00355E6C 7C 06 01 D6 */ mullw r0, r6, r0 /* 80358F30 00355E70 90 1F 00 20 */ stw r0, 0x20(r31) -/* 80358F34 00355E74 4B CA A6 0D */ bl func_80003540 +/* 80358F34 00355E74 4B CA A6 0D */ bl memcpy /* 80358F38 00355E78 80 1D 00 28 */ lwz r0, 0x28(r29) /* 80358F3C 00355E7C 38 7D 00 00 */ addi r3, r29, 0 /* 80358F40 00355E80 38 9F 00 00 */ addi r4, r31, 0 diff --git a/asm/clib.s b/asm/clib.s index f08a38163c..7291ef57d3 100644 --- a/asm/clib.s +++ b/asm/clib.s @@ -4520,7 +4520,7 @@ lbl_8036565C: /* 80365664 003625A4 41 82 00 3C */ beq lbl_803656A0 /* 80365668 003625A8 80 7A 00 24 */ lwz r3, 0x24(r26) /* 8036566C 003625AC 7F C4 F3 78 */ mr r4, r30 -/* 80365670 003625B0 4B C9 DE D1 */ bl func_80003540 +/* 80365670 003625B0 4B C9 DE D1 */ bl memcpy /* 80365674 003625B4 80 61 00 08 */ lwz r3, 8(r1) /* 80365678 003625B8 80 1A 00 24 */ lwz r0, 0x24(r26) /* 8036567C 003625BC 7F DE 1A 14 */ add r30, r30, r3 @@ -5964,7 +5964,7 @@ lbl_80366998: /* 80366998 003638D8 80 1E 00 00 */ lwz r0, 0(r30) /* 8036699C 003638DC 7F E5 FB 78 */ mr r5, r31 /* 803669A0 003638E0 7C 60 1A 14 */ add r3, r0, r3 -/* 803669A4 003638E4 4B C9 CB 9D */ bl func_80003540 +/* 803669A4 003638E4 4B C9 CB 9D */ bl memcpy /* 803669A8 003638E8 80 1E 00 08 */ lwz r0, 8(r30) /* 803669AC 003638EC 38 60 00 01 */ li r3, 1 /* 803669B0 003638F0 7C 00 FA 14 */ add r0, r0, r31 @@ -19763,7 +19763,7 @@ lbl_803726DC: /* 803726FC 0036F63C 40 80 00 20 */ bge lbl_8037271C /* 80372700 0036F640 7F 83 E3 78 */ mr r3, r28 /* 80372704 0036F644 7F E5 FB 78 */ mr r5, r31 -/* 80372708 0036F648 4B C9 0E 39 */ bl func_80003540 +/* 80372708 0036F648 4B C9 0E 39 */ bl memcpy /* 8037270C 0036F64C 80 1E 00 00 */ lwz r0, 0(r30) /* 80372710 0036F650 7C 00 FA 14 */ add r0, r0, r31 /* 80372714 0036F654 90 1E 00 00 */ stw r0, 0(r30) @@ -19771,11 +19771,11 @@ lbl_803726DC: lbl_8037271C: /* 8037271C 0036F65C 7F 83 E3 78 */ mr r3, r28 /* 80372720 0036F660 7F A5 EB 78 */ mr r5, r29 -/* 80372724 0036F664 4B C9 0E 1D */ bl func_80003540 +/* 80372724 0036F664 4B C9 0E 1D */ bl memcpy /* 80372728 0036F668 80 9E 00 08 */ lwz r4, 8(r30) /* 8037272C 0036F66C 7C 7C EA 14 */ add r3, r28, r29 /* 80372730 0036F670 7C BD F8 50 */ subf r5, r29, r31 -/* 80372734 0036F674 4B C9 0E 0D */ bl func_80003540 +/* 80372734 0036F674 4B C9 0E 0D */ bl memcpy /* 80372738 0036F678 80 1E 00 08 */ lwz r0, 8(r30) /* 8037273C 0036F67C 7C 00 FA 14 */ add r0, r0, r31 /* 80372740 0036F680 7C 1D 00 50 */ subf r0, r29, r0 @@ -19837,7 +19837,7 @@ lbl_803727E4: /* 80372804 0036F744 41 80 00 20 */ blt lbl_80372824 /* 80372808 0036F748 7F 84 E3 78 */ mr r4, r28 /* 8037280C 0036F74C 7F E5 FB 78 */ mr r5, r31 -/* 80372810 0036F750 4B C9 0D 31 */ bl func_80003540 +/* 80372810 0036F750 4B C9 0D 31 */ bl memcpy /* 80372814 0036F754 80 1E 00 04 */ lwz r0, 4(r30) /* 80372818 0036F758 7C 00 FA 14 */ add r0, r0, r31 /* 8037281C 0036F75C 90 1E 00 04 */ stw r0, 4(r30) @@ -19845,11 +19845,11 @@ lbl_803727E4: lbl_80372824: /* 80372824 0036F764 7F 84 E3 78 */ mr r4, r28 /* 80372828 0036F768 7F A5 EB 78 */ mr r5, r29 -/* 8037282C 0036F76C 4B C9 0D 15 */ bl func_80003540 +/* 8037282C 0036F76C 4B C9 0D 15 */ bl memcpy /* 80372830 0036F770 80 7E 00 08 */ lwz r3, 8(r30) /* 80372834 0036F774 7C 9C EA 14 */ add r4, r28, r29 /* 80372838 0036F778 7C BD F8 50 */ subf r5, r29, r31 -/* 8037283C 0036F77C 4B C9 0D 05 */ bl func_80003540 +/* 8037283C 0036F77C 4B C9 0D 05 */ bl memcpy /* 80372840 0036F780 80 1E 00 08 */ lwz r0, 8(r30) /* 80372844 0036F784 7C 00 FA 14 */ add r0, r0, r31 /* 80372848 0036F788 7C 1D 00 50 */ subf r0, r29, r0 diff --git a/asm/d/a/npc/d_a_npc_cd.s b/asm/d/a/npc/d_a_npc_cd.s index ebfb67d6e6..c1b1f4430a 100644 --- a/asm/d/a/npc/d_a_npc_cd.s +++ b/asm/d/a/npc/d_a_npc_cd.s @@ -1555,7 +1555,7 @@ lbl_801576A8: /* 801576B0 001545F0 7C 7E 1A 14 */ add r3, r30, r3 /* 801576B4 001545F4 7C 98 E2 14 */ add r4, r24, r28 /* 801576B8 001545F8 38 A0 00 14 */ li r5, 0x14 -/* 801576BC 001545FC 4B EA BE 85 */ bl func_80003540 +/* 801576BC 001545FC 4B EA BE 85 */ bl memcpy /* 801576C0 00154600 3A D6 00 01 */ addi r22, r22, 1 /* 801576C4 00154604 2C 16 00 0C */ cmpwi r22, 0xc /* 801576C8 00154608 3B 9C 00 14 */ addi r28, r28, 0x14 @@ -1566,7 +1566,7 @@ lbl_801576A8: /* 801576DC 0015461C 38 9F 11 64 */ addi r4, r31, 0x1164 /* 801576E0 00154620 7C 84 CA 14 */ add r4, r4, r25 /* 801576E4 00154624 38 A0 00 40 */ li r5, 0x40 -/* 801576E8 00154628 4B EA BE 59 */ bl func_80003540 +/* 801576E8 00154628 4B EA BE 59 */ bl memcpy /* 801576EC 0015462C 3A F7 00 01 */ addi r23, r23, 1 /* 801576F0 00154630 2C 17 00 10 */ cmpwi r23, 0x10 /* 801576F4 00154634 3B 39 00 40 */ addi r25, r25, 0x40 @@ -1589,7 +1589,7 @@ lbl_80157728: /* 80157730 00154670 7C 7E 1A 14 */ add r3, r30, r3 /* 80157734 00154674 7C 98 D2 14 */ add r4, r24, r26 /* 80157738 00154678 38 A0 00 14 */ li r5, 0x14 -/* 8015773C 0015467C 4B EA BE 05 */ bl func_80003540 +/* 8015773C 0015467C 4B EA BE 05 */ bl memcpy /* 80157740 00154680 3A F7 00 01 */ addi r23, r23, 1 /* 80157744 00154684 2C 17 00 0C */ cmpwi r23, 0xc /* 80157748 00154688 3B 5A 00 14 */ addi r26, r26, 0x14 @@ -1600,7 +1600,7 @@ lbl_80157728: /* 8015775C 0015469C 38 9F 22 84 */ addi r4, r31, 0x2284 /* 80157760 001546A0 7C 84 EA 14 */ add r4, r4, r29 /* 80157764 001546A4 38 A0 00 40 */ li r5, 0x40 -/* 80157768 001546A8 4B EA BD D9 */ bl func_80003540 +/* 80157768 001546A8 4B EA BD D9 */ bl memcpy /* 8015776C 001546AC 3A D6 00 01 */ addi r22, r22, 1 /* 80157770 001546B0 2C 16 00 0E */ cmpwi r22, 0xe /* 80157774 001546B4 3B BD 00 40 */ addi r29, r29, 0x40 diff --git a/asm/d/a/npc/d_a_npc_cd2.s b/asm/d/a/npc/d_a_npc_cd2.s index a85f09ed3f..4a0da90334 100644 --- a/asm/d/a/npc/d_a_npc_cd2.s +++ b/asm/d/a/npc/d_a_npc_cd2.s @@ -2858,7 +2858,7 @@ lbl_8015A580: /* 8015A588 001574C8 7C 7E 1A 14 */ add r3, r30, r3 /* 8015A58C 001574CC 7C 98 E2 14 */ add r4, r24, r28 /* 8015A590 001574D0 38 A0 00 14 */ li r5, 0x14 -/* 8015A594 001574D4 4B EA 8F AD */ bl func_80003540 +/* 8015A594 001574D4 4B EA 8F AD */ bl memcpy /* 8015A598 001574D8 3A D6 00 01 */ addi r22, r22, 1 /* 8015A59C 001574DC 2C 16 00 13 */ cmpwi r22, 0x13 /* 8015A5A0 001574E0 3B 9C 00 14 */ addi r28, r28, 0x14 @@ -2869,7 +2869,7 @@ lbl_8015A580: /* 8015A5B4 001574F4 38 9F 1C 04 */ addi r4, r31, 0x1c04 /* 8015A5B8 001574F8 7C 84 CA 14 */ add r4, r4, r25 /* 8015A5BC 001574FC 38 A0 00 40 */ li r5, 0x40 -/* 8015A5C0 00157500 4B EA 8F 81 */ bl func_80003540 +/* 8015A5C0 00157500 4B EA 8F 81 */ bl memcpy /* 8015A5C4 00157504 3A F7 00 01 */ addi r23, r23, 1 /* 8015A5C8 00157508 2C 17 00 10 */ cmpwi r23, 0x10 /* 8015A5CC 0015750C 3B 39 00 40 */ addi r25, r25, 0x40 @@ -2892,7 +2892,7 @@ lbl_8015A600: /* 8015A608 00157548 7C 7E 1A 14 */ add r3, r30, r3 /* 8015A60C 0015754C 7C 98 D2 14 */ add r4, r24, r26 /* 8015A610 00157550 38 A0 00 14 */ li r5, 0x14 -/* 8015A614 00157554 4B EA 8F 2D */ bl func_80003540 +/* 8015A614 00157554 4B EA 8F 2D */ bl memcpy /* 8015A618 00157558 3A F7 00 01 */ addi r23, r23, 1 /* 8015A61C 0015755C 2C 17 00 15 */ cmpwi r23, 0x15 /* 8015A620 00157560 3B 5A 00 14 */ addi r26, r26, 0x14 @@ -2903,7 +2903,7 @@ lbl_8015A600: /* 8015A634 00157574 38 9F 36 FC */ addi r4, r31, 0x36fc /* 8015A638 00157578 7C 84 EA 14 */ add r4, r4, r29 /* 8015A63C 0015757C 38 A0 00 40 */ li r5, 0x40 -/* 8015A640 00157580 4B EA 8F 01 */ bl func_80003540 +/* 8015A640 00157580 4B EA 8F 01 */ bl memcpy /* 8015A644 00157584 3A D6 00 01 */ addi r22, r22, 1 /* 8015A648 00157588 2C 16 00 0E */ cmpwi r22, 0xe /* 8015A64C 0015758C 3B BD 00 40 */ addi r29, r29, 0x40 diff --git a/asm/d/file/d_file_select.s b/asm/d/file/d_file_select.s index 86c8b74738..752aabb974 100644 --- a/asm/d/file/d_file_select.s +++ b/asm/d/file/d_file_select.s @@ -7182,7 +7182,7 @@ lbl_80189EBC: /* 80189F08 00186E48 38 84 03 B8 */ addi r4, r4, 0x3b8 /* 80189F0C 00186E4C 7C 9F 22 14 */ add r4, r31, r4 /* 80189F10 00186E50 38 A0 0A 94 */ li r5, 0xa94 -/* 80189F14 00186E54 4B E7 96 2D */ bl func_80003540 +/* 80189F14 00186E54 4B E7 96 2D */ bl memcpy /* 80189F18 00186E58 38 7F 03 B8 */ addi r3, r31, 0x3b8 /* 80189F1C 00186E5C 88 9F 02 6D */ lbz r4, 0x26d(r31) /* 80189F20 00186E60 4B E8 DE 19 */ bl mDoMemCdRWm_SetCheckSumGameData diff --git a/asm/d/menu/d_menu_dmap.s b/asm/d/menu/d_menu_dmap.s index 95994456bd..1105920ef1 100644 --- a/asm/d/menu/d_menu_dmap.s +++ b/asm/d/menu/d_menu_dmap.s @@ -3578,7 +3578,7 @@ lbl_801BB3E0: /* 801BB404 001B8344 7C 64 1B 78 */ mr r4, r3 /* 801BB408 001B8348 38 7F 0D 80 */ addi r3, r31, 0xd80 /* 801BB40C 001B834C 38 A0 00 14 */ li r5, 0x14 -/* 801BB410 001B8350 4B E4 81 31 */ bl func_80003540 +/* 801BB410 001B8350 4B E4 81 31 */ bl memcpy lbl_801BB414: /* 801BB414 001B8354 80 1F 0D 24 */ lwz r0, 0xd24(r31) /* 801BB418 001B8358 28 00 00 00 */ cmplwi r0, 0 diff --git a/asm/d/msg/d_msg_flow.s b/asm/d/msg/d_msg_flow.s index dcce4dfa15..bb8182b952 100644 --- a/asm/d/msg/d_msg_flow.s +++ b/asm/d/msg/d_msg_flow.s @@ -603,7 +603,7 @@ lbl_8024A728: /* 8024A728 00247668 38 61 00 08 */ addi r3, r1, 8 /* 8024A72C 0024766C 7F E4 FB 78 */ mr r4, r31 /* 8024A730 00247670 38 A0 00 04 */ li r5, 4 -/* 8024A734 00247674 4B DB 8E 0D */ bl func_80003540 +/* 8024A734 00247674 4B DB 8E 0D */ bl memcpy /* 8024A738 00247678 38 61 00 08 */ addi r3, r1, 8 /* 8024A73C 0024767C 7F 84 E3 78 */ mr r4, r28 /* 8024A740 00247680 48 11 E2 55 */ bl strcmp diff --git a/asm/d/save/d_save_HIO.s b/asm/d/save/d_save_HIO.s index e58b28c7e6..f29e3f5f4b 100644 --- a/asm/d/save/d_save_HIO.s +++ b/asm/d/save/d_save_HIO.s @@ -725,8 +725,8 @@ lbl_8025C59C: /* 8025C5C0 00259500 93 E1 00 0C */ stw r31, 0xc(r1) /* 8025C5C4 00259504 7C 7F 1B 79 */ or. r31, r3, r3 /* 8025C5C8 00259508 41 82 00 1C */ beq lbl_8025C5E4 -/* 8025C5CC 0025950C 3C A0 80 3C */ lis r5, lbl_803C3384@ha -/* 8025C5D0 00259510 38 05 33 84 */ addi r0, r5, lbl_803C3384@l +/* 8025C5CC 0025950C 3C A0 80 3C */ lis r5, HeapCheckTable@ha +/* 8025C5D0 00259510 38 05 33 84 */ addi r0, r5, HeapCheckTable@l /* 8025C5D4 00259514 90 1F 00 00 */ stw r0, 0(r31) /* 8025C5D8 00259518 7C 80 07 35 */ extsh. r0, r4 /* 8025C5DC 0025951C 40 81 00 08 */ ble lbl_8025C5E4 @@ -898,8 +898,8 @@ lbl_8025C824: lbl_8025C838: /* 8025C838 00259778 34 1F 00 10 */ addic. r0, r31, 0x10 /* 8025C83C 0025977C 41 82 00 10 */ beq lbl_8025C84C -/* 8025C840 00259780 3C 60 80 3C */ lis r3, lbl_803C3384@ha -/* 8025C844 00259784 38 03 33 84 */ addi r0, r3, lbl_803C3384@l +/* 8025C840 00259780 3C 60 80 3C */ lis r3, HeapCheckTable@ha +/* 8025C844 00259784 38 03 33 84 */ addi r0, r3, HeapCheckTable@l /* 8025C848 00259788 90 1F 00 10 */ stw r0, 0x10(r31) lbl_8025C84C: /* 8025C84C 0025978C 7C 80 07 35 */ extsh. r0, r4 @@ -1012,8 +1012,8 @@ lbl_8025C9BC: lbl_8025C9D0: /* 8025C9D0 00259910 34 1F 00 08 */ addic. r0, r31, 8 /* 8025C9D4 00259914 41 82 00 10 */ beq lbl_8025C9E4 -/* 8025C9D8 00259918 3C 60 80 3C */ lis r3, lbl_803C3384@ha -/* 8025C9DC 0025991C 38 03 33 84 */ addi r0, r3, lbl_803C3384@l +/* 8025C9D8 00259918 3C 60 80 3C */ lis r3, HeapCheckTable@ha +/* 8025C9DC 0025991C 38 03 33 84 */ addi r0, r3, HeapCheckTable@l /* 8025C9E0 00259920 90 1F 00 08 */ stw r0, 8(r31) lbl_8025C9E4: /* 8025C9E4 00259924 7C 80 07 35 */ extsh. r0, r4 diff --git a/asm/data.s b/asm/data.s index 4c5a9d7692..5f0f15d10a 100644 --- a/asm/data.s +++ b/asm/data.s @@ -2165,8 +2165,8 @@ lbl_803C336C: .global lbl_803C3378 lbl_803C3378: .incbin "baserom.dol", 0x3C0378, 0xC -.global lbl_803C3384 -lbl_803C3384: +.global HeapCheckTable +HeapCheckTable: .incbin "baserom.dol", 0x3C0384, 0xC .global lbl_803C3390 lbl_803C3390: diff --git a/asm/dvd/dvd.s b/asm/dvd/dvd.s index 933049da39..8d3ee4de08 100644 --- a/asm/dvd/dvd.s +++ b/asm/dvd/dvd.s @@ -655,7 +655,7 @@ lbl_80349968: /* 80349980 003468C0 80 6D 91 FC */ lwz r3, lbl_8045177C-_SDA_BASE_(r13) /* 80349984 003468C4 38 9F 00 20 */ addi r4, r31, 0x20 /* 80349988 003468C8 38 A0 00 20 */ li r5, 0x20 -/* 8034998C 003468CC 4B CB 9B B5 */ bl func_80003540 +/* 8034998C 003468CC 4B CB 9B B5 */ bl memcpy /* 80349990 003468D0 80 8D 91 F8 */ lwz r4, lbl_80451778-_SDA_BASE_(r13) /* 80349994 003468D4 38 00 00 01 */ li r0, 1 /* 80349998 003468D8 38 7F 00 00 */ addi r3, r31, 0 diff --git a/asm/dvd/fstload.s b/asm/dvd/fstload.s index 4ca51a73df..fe3d6980c5 100644 --- a/asm/dvd/fstload.s +++ b/asm/dvd/fstload.s @@ -113,7 +113,7 @@ lbl_8034BE64: /* 8034BE90 00348DD0 80 04 00 0C */ lwz r0, 0xc(r4) /* 8034BE94 00348DD4 90 1E 00 3C */ stw r0, 0x3c(r30) /* 8034BE98 00348DD8 80 8D 92 58 */ lwz r4, lbl_804517D8-_SDA_BASE_(r13) -/* 8034BE9C 00348DDC 4B CB 76 A5 */ bl func_80003540 +/* 8034BE9C 00348DDC 4B CB 76 A5 */ bl memcpy /* 8034BEA0 00348DE0 38 6D 84 80 */ addi r3, r13, lbl_80450A00-_SDA_BASE_ /* 8034BEA4 00348DE4 4C C6 31 82 */ crclr 6 /* 8034BEA8 00348DE8 4B CB AC 15 */ bl OSReport diff --git a/asm/init.s b/asm/init.s index b066dc7c5e..46f727fb57 100644 --- a/asm/init.s +++ b/asm/init.s @@ -197,7 +197,7 @@ lbl_8000336C: /* 80003388 00000388 41 82 00 1C */ beq lbl_800033A4 /* 8000338C 0000038C 7F E3 FB 78 */ mr r3, r31 /* 80003390 00000390 7F C5 F3 78 */ mr r5, r30 -/* 80003394 00000394 48 00 01 AD */ bl func_80003540 +/* 80003394 00000394 48 00 01 AD */ bl memcpy /* 80003398 00000398 7F E3 FB 78 */ mr r3, r31 /* 8000339C 0000039C 7F C4 F3 78 */ mr r4, r30 /* 800033A0 000003A0 48 00 00 85 */ bl func_80003424 @@ -333,8 +333,8 @@ lbl_80003530: /* 80003538 00000538 40 82 FF F8 */ bne lbl_80003530 /* 8000353C 0000053C 4E 80 00 20 */ blr -.global func_80003540 -func_80003540: +.global memcpy +memcpy: /* 80003540 00000540 7C 04 18 40 */ cmplw r4, r3 /* 80003544 00000544 41 80 00 28 */ blt lbl_8000356C /* 80003548 00000548 38 84 FF FF */ addi r4, r4, -1 diff --git a/asm/m/Do/m_Do_MemCard.s b/asm/m/Do/m_Do_MemCard.s index 240325c6bf..57ac7c43c0 100644 --- a/asm/m/Do/m_Do_MemCard.s +++ b/asm/m/Do/m_Do_MemCard.s @@ -294,7 +294,7 @@ lbl_80016AEC: /* 80016B08 00013A48 7F 83 E3 78 */ mr r3, r28 /* 80016B0C 00013A4C 7C 9B F2 14 */ add r4, r27, r30 /* 80016B10 00013A50 7F A5 EB 78 */ mr r5, r29 -/* 80016B14 00013A54 4B FE CA 2D */ bl func_80003540 +/* 80016B14 00013A54 4B FE CA 2D */ bl memcpy /* 80016B18 00013A58 38 00 00 01 */ li r0, 1 /* 80016B1C 00013A5C 90 1B 1F C4 */ stw r0, 0x1fc4(r27) /* 80016B20 00013A60 3B E0 00 01 */ li r31, 1 @@ -334,7 +334,7 @@ mDoMemCd_Ctrl_c_NS_save: /* 80016B8C 00013ACC 7C 7C FA 14 */ add r3, r28, r31 /* 80016B90 00013AD0 7F A4 EB 78 */ mr r4, r29 /* 80016B94 00013AD4 7F C5 F3 78 */ mr r5, r30 -/* 80016B98 00013AD8 4B FE C9 A9 */ bl func_80003540 +/* 80016B98 00013AD8 4B FE C9 A9 */ bl memcpy /* 80016B9C 00013ADC 38 00 00 00 */ li r0, 0 /* 80016BA0 00013AE0 90 1C 1F C8 */ stw r0, 0x1fc8(r28) /* 80016BA4 00013AE4 38 00 00 02 */ li r0, 2 diff --git a/asm/m/Do/m_Do_MemCardRWmng.s b/asm/m/Do/m_Do_MemCardRWmng.s index e308f9aabf..41903ea0e1 100644 --- a/asm/m/Do/m_Do_MemCardRWmng.s +++ b/asm/m/Do/m_Do_MemCardRWmng.s @@ -68,7 +68,7 @@ lbl_80017554: /* 8001757C 000144BC 38 63 00 08 */ addi r3, r3, 8 /* 80017580 000144C0 7F C4 F3 78 */ mr r4, r30 /* 80017584 000144C4 7F E5 FB 78 */ mr r5, r31 -/* 80017588 000144C8 4B FE BF B9 */ bl func_80003540 +/* 80017588 000144C8 4B FE BF B9 */ bl memcpy /* 8001758C 000144CC 38 00 00 00 */ li r0, 0 /* 80017590 000144D0 90 1C 00 00 */ stw r0, 0(r28) /* 80017594 000144D4 7F 83 E3 78 */ mr r3, r28 @@ -201,7 +201,7 @@ lbl_8001772C: /* 80017760 000146A0 38 78 00 08 */ addi r3, r24, 8 /* 80017764 000146A4 38 97 00 08 */ addi r4, r23, 8 /* 80017768 000146A8 38 A0 0A 94 */ li r5, 0xa94 -/* 8001776C 000146AC 4B FE BD D5 */ bl func_80003540 +/* 8001776C 000146AC 4B FE BD D5 */ bl memcpy /* 80017770 000146B0 3B 20 00 01 */ li r25, 1 lbl_80017774: /* 80017774 000146B4 2C 1B 00 00 */ cmpwi r27, 0 @@ -211,7 +211,7 @@ lbl_80017774: /* 80017784 000146C4 38 78 0A 9C */ addi r3, r24, 0xa9c /* 80017788 000146C8 38 97 0A 9C */ addi r4, r23, 0xa9c /* 8001778C 000146CC 38 A0 0A 94 */ li r5, 0xa94 -/* 80017790 000146D0 4B FE BD B1 */ bl func_80003540 +/* 80017790 000146D0 4B FE BD B1 */ bl memcpy /* 80017794 000146D4 3B 20 00 01 */ li r25, 1 lbl_80017798: /* 80017798 000146D8 2C 1C 00 00 */ cmpwi r28, 0 @@ -221,7 +221,7 @@ lbl_80017798: /* 800177A8 000146E8 38 78 15 30 */ addi r3, r24, 0x1530 /* 800177AC 000146EC 38 97 15 30 */ addi r4, r23, 0x1530 /* 800177B0 000146F0 38 A0 0A 94 */ li r5, 0xa94 -/* 800177B4 000146F4 4B FE BD 8D */ bl func_80003540 +/* 800177B4 000146F4 4B FE BD 8D */ bl memcpy /* 800177B8 000146F8 3B 20 00 01 */ li r25, 1 lbl_800177BC: /* 800177BC 000146FC 7E 83 A3 78 */ mr r3, r20 @@ -254,7 +254,7 @@ lbl_8001781C: /* 8001781C 0001475C 7E A3 AB 78 */ mr r3, r21 /* 80017820 00014760 38 98 00 08 */ addi r4, r24, 8 /* 80017824 00014764 7E C5 B3 78 */ mr r5, r22 -/* 80017828 00014768 4B FE BD 19 */ bl func_80003540 +/* 80017828 00014768 4B FE BD 19 */ bl memcpy /* 8001782C 0001476C 80 18 00 04 */ lwz r0, 4(r24) /* 80017830 00014770 3C 60 80 3F */ lis r3, lbl_803EAF40@ha /* 80017834 00014774 38 63 AF 40 */ addi r3, r3, lbl_803EAF40@l @@ -330,34 +330,34 @@ mDoMemCdRWm_BuildHeader: /* 8001793C 0001487C A0 1D 00 0A */ lhz r0, 0xa(r29) /* 80017940 00014880 54 05 08 3C */ slwi r5, r0, 1 /* 80017944 00014884 38 A5 0C 00 */ addi r5, r5, 0xc00 -/* 80017948 00014888 4B FE BB F9 */ bl func_80003540 +/* 80017948 00014888 4B FE BB F9 */ bl memcpy /* 8001794C 0001488C 38 7F 0E 00 */ addi r3, r31, 0xe00 /* 80017950 00014890 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 80017954 00014894 7C 9E 02 14 */ add r4, r30, r0 /* 80017958 00014898 38 A0 04 00 */ li r5, 0x400 -/* 8001795C 0001489C 4B FE BB E5 */ bl func_80003540 +/* 8001795C 0001489C 4B FE BB E5 */ bl memcpy /* 80017960 000148A0 38 7F 12 00 */ addi r3, r31, 0x1200 /* 80017964 000148A4 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 80017968 000148A8 7C 9E 02 14 */ add r4, r30, r0 /* 8001796C 000148AC 38 A0 04 00 */ li r5, 0x400 -/* 80017970 000148B0 4B FE BB D1 */ bl func_80003540 +/* 80017970 000148B0 4B FE BB D1 */ bl memcpy /* 80017974 000148B4 38 7F 16 00 */ addi r3, r31, 0x1600 /* 80017978 000148B8 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 8001797C 000148BC 7C 9E 02 14 */ add r4, r30, r0 /* 80017980 000148C0 38 A0 04 00 */ li r5, 0x400 -/* 80017984 000148C4 4B FE BB BD */ bl func_80003540 +/* 80017984 000148C4 4B FE BB BD */ bl memcpy /* 80017988 000148C8 38 7F 1A 00 */ addi r3, r31, 0x1a00 /* 8001798C 000148CC 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 80017990 000148D0 7C 9E 02 14 */ add r4, r30, r0 /* 80017994 000148D4 38 A0 04 00 */ li r5, 0x400 -/* 80017998 000148D8 4B FE BB A9 */ bl func_80003540 +/* 80017998 000148D8 4B FE BB A9 */ bl memcpy /* 8001799C 000148DC 38 7F 1E 00 */ addi r3, r31, 0x1e00 /* 800179A0 000148E0 80 1E 00 1C */ lwz r0, 0x1c(r30) /* 800179A4 000148E4 7C 9E 02 14 */ add r4, r30, r0 /* 800179A8 000148E8 A0 1E 00 0A */ lhz r0, 0xa(r30) /* 800179AC 000148EC 54 05 08 3C */ slwi r5, r0, 1 /* 800179B0 000148F0 38 A5 04 00 */ addi r5, r5, 0x400 -/* 800179B4 000148F4 4B FE BB 8D */ bl func_80003540 +/* 800179B4 000148F4 4B FE BB 8D */ bl memcpy /* 800179B8 000148F8 80 7C 5C F0 */ lwz r3, 0x5cf0(r28) /* 800179BC 000148FC 81 83 00 00 */ lwz r12, 0(r3) /* 800179C0 00014900 81 8C 00 24 */ lwz r12, 0x24(r12) diff --git a/asm/os/OS.s b/asm/os/OS.s index b35d591f2e..7f5aae5914 100644 --- a/asm/os/OS.s +++ b/asm/os/OS.s @@ -505,7 +505,7 @@ OSExceptionInit: /* 8033A4AC 003373EC 7E A4 00 50 */ subf r21, r4, r0 /* 8033A4B0 003373F0 7E 83 A3 78 */ mr r3, r20 /* 8033A4B4 003373F4 7E A5 AB 78 */ mr r5, r21 -/* 8033A4B8 003373F8 4B CC 90 89 */ bl func_80003540 +/* 8033A4B8 003373F8 4B CC 90 89 */ bl memcpy /* 8033A4BC 003373FC 7E 83 A3 78 */ mr r3, r20 /* 8033A4C0 00337400 7E A4 AB 78 */ mr r4, r21 /* 8033A4C4 00337404 48 00 11 49 */ bl DCFlushRangeNoSync @@ -564,7 +564,7 @@ lbl_8033A548: /* 8033A574 003374B4 7E A3 AB 78 */ mr r3, r21 /* 8033A578 003374B8 7F E4 FB 78 */ mr r4, r31 /* 8033A57C 003374BC 7F 65 DB 78 */ mr r5, r27 -/* 8033A580 003374C0 4B CC 8F C1 */ bl func_80003540 +/* 8033A580 003374C0 4B CC 8F C1 */ bl memcpy /* 8033A584 003374C4 48 00 00 90 */ b lbl_8033A614 lbl_8033A588: /* 8033A588 003374C8 7E A4 AB 78 */ mr r4, r21 @@ -612,7 +612,7 @@ lbl_8033A614: /* 8033A61C 0033755C 7E E5 BB 78 */ mr r5, r23 /* 8033A620 00337560 3E 83 80 00 */ addis r20, r3, 0x8000 /* 8033A624 00337564 7E 83 A3 78 */ mr r3, r20 -/* 8033A628 00337568 4B CC 8F 19 */ bl func_80003540 +/* 8033A628 00337568 4B CC 8F 19 */ bl memcpy /* 8033A62C 0033756C 7E 83 A3 78 */ mr r3, r20 /* 8033A630 00337570 7E E4 BB 78 */ mr r4, r23 /* 8033A634 00337574 48 00 0F D9 */ bl DCFlushRangeNoSync diff --git a/asm/os/OSAudioSystem.s b/asm/os/OSAudioSystem.s index ad15f85e9f..dfc485eebe 100644 --- a/asm/os/OSAudioSystem.s +++ b/asm/os/OSAudioSystem.s @@ -13,12 +13,12 @@ __OSInitAudioSystem: /* 8033B2EC 0033822C 3C 80 81 00 */ lis r4, 0x8100 /* 8033B2F0 00338230 38 A0 00 80 */ li r5, 0x80 /* 8033B2F4 00338234 38 63 FF 80 */ addi r3, r3, -128 -/* 8033B2F8 00338238 4B CC 82 49 */ bl func_80003540 +/* 8033B2F8 00338238 4B CC 82 49 */ bl memcpy /* 8033B2FC 0033823C 3C 60 80 3D */ lis r3, lbl_803CF490@ha /* 8033B300 00338240 38 83 F4 90 */ addi r4, r3, lbl_803CF490@l /* 8033B304 00338244 3C 60 81 00 */ lis r3, 0x8100 /* 8033B308 00338248 38 A0 00 80 */ li r5, 0x80 -/* 8033B30C 0033824C 4B CC 82 35 */ bl func_80003540 +/* 8033B30C 0033824C 4B CC 82 35 */ bl memcpy /* 8033B310 00338250 3C 60 81 00 */ lis r3, 0x8100 /* 8033B314 00338254 38 80 00 80 */ li r4, 0x80 /* 8033B318 00338258 48 00 02 95 */ bl DCFlushRange @@ -121,7 +121,7 @@ lbl_8033B460: /* 8033B470 003383B0 38 83 FF 80 */ addi r4, r3, -128 /* 8033B474 003383B4 3C 60 81 00 */ lis r3, 0x8100 /* 8033B478 003383B8 38 A0 00 80 */ li r5, 0x80 -/* 8033B47C 003383BC 4B CC 80 C5 */ bl func_80003540 +/* 8033B47C 003383BC 4B CC 80 C5 */ bl memcpy /* 8033B480 003383C0 BB 21 00 14 */ lmw r25, 0x14(r1) /* 8033B484 003383C4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8033B488 003383C8 38 21 00 30 */ addi r1, r1, 0x30 diff --git a/asm/os/OSExec.s b/asm/os/OSExec.s index dc2c197d0e..7622de9ab8 100644 --- a/asm/os/OSExec.s +++ b/asm/os/OSExec.s @@ -181,7 +181,7 @@ __OSGetExecParams: /* 8033CCD0 00339C10 7C 05 20 40 */ cmplw r5, r4 /* 8033CCD4 00339C14 41 81 00 10 */ bgt lbl_8033CCE4 /* 8033CCD8 00339C18 38 A0 00 1C */ li r5, 0x1c -/* 8033CCDC 00339C1C 4B CC 68 65 */ bl func_80003540 +/* 8033CCDC 00339C1C 4B CC 68 65 */ bl memcpy /* 8033CCE0 00339C20 48 00 00 0C */ b lbl_8033CCEC lbl_8033CCE4: /* 8033CCE4 00339C24 38 00 00 00 */ li r0, 0 @@ -462,7 +462,7 @@ lbl_8033D064: /* 8033D090 00339FD0 7F 63 DB 78 */ mr r3, r27 /* 8033D094 00339FD4 7F E4 FB 78 */ mr r4, r31 /* 8033D098 00339FD8 38 A0 00 1C */ li r5, 0x1c -/* 8033D09C 00339FDC 4B CC 64 A5 */ bl func_80003540 +/* 8033D09C 00339FDC 4B CC 64 A5 */ bl memcpy /* 8033D0A0 00339FE0 3C 80 80 00 */ lis r4, 0x800030F0@ha /* 8033D0A4 00339FE4 81 81 00 C0 */ lwz r12, 0xc0(r1) /* 8033D0A8 00339FE8 3C 60 80 00 */ lis r3, OSReport@ha @@ -521,7 +521,7 @@ lbl_8033D11C: /* 8033D15C 0033A09C 7F 63 DB 78 */ mr r3, r27 /* 8033D160 0033A0A0 7F E4 FB 78 */ mr r4, r31 /* 8033D164 0033A0A4 38 A0 00 1C */ li r5, 0x1c -/* 8033D168 0033A0A8 4B CC 63 D9 */ bl func_80003540 +/* 8033D168 0033A0A8 4B CC 63 D9 */ bl memcpy /* 8033D16C 0033A0AC 3C 80 80 00 */ lis r4, 0x800030F0@ha /* 8033D170 0033A0B0 3C 60 CC 00 */ lis r3, 0xCC003000@ha /* 8033D174 0033A0B4 93 64 30 F0 */ stw r27, 0x800030F0@l(r4) diff --git a/asm/os/OSSync.s b/asm/os/OSSync.s index 067f32434a..2af0d22900 100644 --- a/asm/os/OSSync.s +++ b/asm/os/OSSync.s @@ -34,7 +34,7 @@ __OSInitSystemCall: /* 80340A64 0033D9A4 38 84 0A 20 */ addi r4, r4, __OSSystemCallVectorStart @l /* 80340A68 0033D9A8 7F E3 FB 78 */ mr r3, r31 /* 80340A6C 0033D9AC 7C A4 00 50 */ subf r5, r4, r0 -/* 80340A70 0033D9B0 4B CC 2A D1 */ bl func_80003540 +/* 80340A70 0033D9B0 4B CC 2A D1 */ bl memcpy /* 80340A74 0033D9B4 7F E3 FB 78 */ mr r3, r31 /* 80340A78 0033D9B8 38 80 01 00 */ li r4, 0x100 /* 80340A7C 0033D9BC 4B FF AB 91 */ bl DCFlushRangeNoSync diff --git a/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s b/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s index 22bbf11847..a144b1e851 100644 --- a/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s +++ b/include/JSystem/JKernel/JKRAram/asm/func_802D2CE4.s @@ -19,7 +19,7 @@ lbl_802D2D1C: lbl_802D2D20: /* 802D2D20 002CFC60 7F C3 F3 78 */ mr r3, r30 /* 802D2D24 002CFC64 7F A5 EB 78 */ mr r5, r29 -/* 802D2D28 002CFC68 4B D3 08 19 */ bl func_80003540 +/* 802D2D28 002CFC68 4B D3 08 19 */ bl memcpy /* 802D2D2C 002CFC6C 7F FE EA 14 */ add r31, r30, r29 /* 802D2D30 002CFC70 80 0D 8E 50 */ lwz r0, lbl_804513D0-_SDA_BASE_(r13) /* 802D2D34 002CFC74 7F 9F 00 50 */ subf r28, r31, r0 diff --git a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DB49C.s b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DB49C.s index 58a8fff621..b0f6f467d5 100644 --- a/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DB49C.s +++ b/include/JSystem/JKernel/JKRDvdAramRipper/asm/func_802DB49C.s @@ -19,7 +19,7 @@ lbl_802DB4D4: lbl_802DB4D8: /* 802DB4D8 002D8418 7F A3 EB 78 */ mr r3, r29 /* 802DB4DC 002D841C 7F C5 F3 78 */ mr r5, r30 -/* 802DB4E0 002D8420 4B D2 80 61 */ bl func_80003540 +/* 802DB4E0 002D8420 4B D2 80 61 */ bl memcpy /* 802DB4E4 002D8424 7F DD F2 14 */ add r30, r29, r30 /* 802DB4E8 002D8428 80 0D 8E EC */ lwz r0, lbl_8045146C-_SDA_BASE_(r13) /* 802DB4EC 002D842C 7F FE 00 50 */ subf r31, r30, r0 diff --git a/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h index 991f245e4a..6191bf98b4 100644 --- a/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h +++ b/include/JSystem/JKernel/JKRDvdFile/JKRDvdFile.h @@ -6,7 +6,8 @@ #include "dvd/dvd.h" #include "global.h" -class DVDFileInfo; +class JKRADCommand; +class JSUFileInputStream; class JKRDvdFile : public JKRFile { public: JKRDvdFile(); @@ -17,11 +18,11 @@ public: void initiate(void); s32 sync(void); - int getFileID() const { return this->mFileID << 2; } + int getFileID() const { return this->file_info.start_address << 2; } - const u8* getFileInfo() const { return this->mDvdCommandBlock; } + const DVDFileInfo* getFileInfo() const { return &this->file_info; } - int getStatus() { return DVDGetCommandBlockStatus(&this->mDvdCommandBlock[0]); } + int getStatus() { return DVDGetCommandBlockStatus(&this->file_info); } public: /* vt[03] */ virtual bool open(char const*); /* override */ @@ -34,14 +35,14 @@ public: private: OSMutex mMutex1; OSMutex mMutex2; - u32 field_0x4c; - u32 field_0x50; - u32 field_0x54; + JKRADCommand* field_0x4c; + OSThread* field_0x50; + JSUFileInputStream* field_0x54; u32 field_0x58; - u8 mDvdCommandBlock[48]; - s32 mFileID; - s32 mFileSize; - u32 field_0x94; + DVDFileInfo file_info; + // s32 mFileID; + // s32 mFileSize; + // u32 field_0x94; JKRDvdFile* mDvdFile; OSMessageQueue mQueue1; OSMessage mMessages1[1]; diff --git a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA6D8.s b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA6D8.s index 59cb364ae4..a4934b2458 100644 --- a/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA6D8.s +++ b/include/JSystem/JKernel/JKRDvdRipper/asm/func_802DA6D8.s @@ -19,7 +19,7 @@ lbl_802DA710: lbl_802DA714: /* 802DA714 002D7654 7F 83 E3 78 */ mr r3, r28 /* 802DA718 002D7658 7F A5 EB 78 */ mr r5, r29 -/* 802DA71C 002D765C 4B D2 8E 25 */ bl func_80003540 +/* 802DA71C 002D765C 4B D2 8E 25 */ bl memcpy /* 802DA720 002D7660 7F BC EA 14 */ add r29, r28, r29 /* 802DA724 002D7664 80 0D 8E AC */ lwz r0, lbl_8045142C-_SDA_BASE_(r13) /* 802DA728 002D7668 7F DD 00 50 */ subf r30, r29, r0 diff --git a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s index 2aa0703277..9cf2764e95 100644 --- a/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s +++ b/include/JSystem/JKernel/JKRFileCache/asm/func_802D4F64.s @@ -42,7 +42,7 @@ lbl_802D4FF4: /* 802D4FF4 002D1F34 7F 83 E3 78 */ mr r3, r28 /* 802D4FF8 002D1F38 80 84 00 1C */ lwz r4, 0x1c(r4) /* 802D4FFC 002D1F3C 7F C5 F3 78 */ mr r5, r30 -/* 802D5000 002D1F40 4B D2 E5 41 */ bl func_80003540 +/* 802D5000 002D1F40 4B D2 E5 41 */ bl memcpy /* 802D5004 002D1F44 4B FF FF 9C */ b lbl_802D4FA0 lbl_802D5008: /* 802D5008 002D1F48 80 6D 8D F0 */ lwz r3, lbl_80451370-_SDA_BASE_(r13) diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s index 2e5a23f182..5464766f70 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6E10.s @@ -18,7 +18,7 @@ lbl_802D6E40: /* 802D6E48 002D3D88 41 82 00 14 */ beq lbl_802D6E5C /* 802D6E4C 002D3D8C 7F A3 EB 78 */ mr r3, r29 /* 802D6E50 002D3D90 7F E5 FB 78 */ mr r5, r31 -/* 802D6E54 002D3D94 4B D2 C6 ED */ bl func_80003540 +/* 802D6E54 002D3D94 4B D2 C6 ED */ bl memcpy /* 802D6E58 002D3D98 48 00 00 50 */ b lbl_802D6EA8 lbl_802D6E5C: /* 802D6E5C 002D3D9C 80 06 00 04 */ lwz r0, 4(r6) diff --git a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s index d77400871b..7f6f9b4032 100644 --- a/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s +++ b/include/JSystem/JKernel/JKRMemArchive/asm/func_802D6F5C.s @@ -20,7 +20,7 @@ lbl_802D6F98: /* 802D6F98 002D3ED8 7C A3 2B 78 */ mr r3, r5 /* 802D6F9C 002D3EDC 7D 04 43 78 */ mr r4, r8 /* 802D6FA0 002D3EE0 7F E5 FB 78 */ mr r5, r31 -/* 802D6FA4 002D3EE4 4B D2 C5 9D */ bl func_80003540 +/* 802D6FA4 002D3EE4 4B D2 C5 9D */ bl memcpy /* 802D6FA8 002D3EE8 7F E3 FB 78 */ mr r3, r31 /* 802D6FAC 002D3EEC 48 00 00 70 */ b lbl_802D701C lbl_802D6FB0: diff --git a/include/d/d_attention/asm/func_80071240.s b/include/d/d_attention/asm/func_80071240.s index 413867e42b..2342ab4989 100644 --- a/include/d/d_attention/asm/func_80071240.s +++ b/include/d/d_attention/asm/func_80071240.s @@ -21,7 +21,7 @@ /* 80071290 0006E1D0 38 84 03 38 */ addi r4, r4, 0x338 /* 80071294 0006E1D4 7C 9F 22 14 */ add r4, r31, r4 /* 80071298 0006E1D8 38 A0 00 14 */ li r5, 0x14 -/* 8007129C 0006E1DC 4B F9 22 A5 */ bl func_80003540 +/* 8007129C 0006E1DC 4B F9 22 A5 */ bl memcpy /* 800712A0 0006E1E0 C0 02 8C 50 */ lfs f0, lbl_80452650-_SDA2_BASE_(r2) /* 800712A4 0006E1E4 D0 1F 03 38 */ stfs f0, 0x338(r31) lbl_800712A8: diff --git a/include/d/d_attention/asm/func_800716B8.s b/include/d/d_attention/asm/func_800716B8.s index faaa882703..c8dd29dc2d 100644 --- a/include/d/d_attention/asm/func_800716B8.s +++ b/include/d/d_attention/asm/func_800716B8.s @@ -30,15 +30,15 @@ lbl_80071710: /* 80071724 0006E664 38 61 00 08 */ addi r3, r1, 8 /* 80071728 0006E668 7F 44 D3 78 */ mr r4, r26 /* 8007172C 0006E66C 38 A0 00 14 */ li r5, 0x14 -/* 80071730 0006E670 4B F9 1E 11 */ bl func_80003540 +/* 80071730 0006E670 4B F9 1E 11 */ bl memcpy /* 80071734 0006E674 7F 43 D3 78 */ mr r3, r26 /* 80071738 0006E678 7F 64 DB 78 */ mr r4, r27 /* 8007173C 0006E67C 38 A0 00 14 */ li r5, 0x14 -/* 80071740 0006E680 4B F9 1E 01 */ bl func_80003540 +/* 80071740 0006E680 4B F9 1E 01 */ bl memcpy /* 80071744 0006E684 7F 63 DB 78 */ mr r3, r27 /* 80071748 0006E688 38 81 00 08 */ addi r4, r1, 8 /* 8007174C 0006E68C 38 A0 00 14 */ li r5, 0x14 -/* 80071750 0006E690 4B F9 1D F1 */ bl func_80003540 +/* 80071750 0006E690 4B F9 1D F1 */ bl memcpy lbl_80071754: /* 80071754 0006E694 3A F7 00 01 */ addi r23, r23, 1 /* 80071758 0006E698 3B DE 00 14 */ addi r30, r30, 0x14 @@ -71,15 +71,15 @@ lbl_8007179C: /* 800717B0 0006E6F0 38 61 00 08 */ addi r3, r1, 8 /* 800717B4 0006E6F4 7F 44 D3 78 */ mr r4, r26 /* 800717B8 0006E6F8 38 A0 00 14 */ li r5, 0x14 -/* 800717BC 0006E6FC 4B F9 1D 85 */ bl func_80003540 +/* 800717BC 0006E6FC 4B F9 1D 85 */ bl memcpy /* 800717C0 0006E700 7F 43 D3 78 */ mr r3, r26 /* 800717C4 0006E704 7F 64 DB 78 */ mr r4, r27 /* 800717C8 0006E708 38 A0 00 14 */ li r5, 0x14 -/* 800717CC 0006E70C 4B F9 1D 75 */ bl func_80003540 +/* 800717CC 0006E70C 4B F9 1D 75 */ bl memcpy /* 800717D0 0006E710 7F 63 DB 78 */ mr r3, r27 /* 800717D4 0006E714 38 81 00 08 */ addi r4, r1, 8 /* 800717D8 0006E718 38 A0 00 14 */ li r5, 0x14 -/* 800717DC 0006E71C 4B F9 1D 65 */ bl func_80003540 +/* 800717DC 0006E71C 4B F9 1D 65 */ bl memcpy lbl_800717E0: /* 800717E0 0006E720 3A D6 00 01 */ addi r22, r22, 1 /* 800717E4 0006E724 3B BD 00 14 */ addi r29, r29, 0x14 @@ -111,15 +111,15 @@ lbl_80071828: /* 8007183C 0006E77C 38 61 00 08 */ addi r3, r1, 8 /* 80071840 0006E780 7F 44 D3 78 */ mr r4, r26 /* 80071844 0006E784 38 A0 00 14 */ li r5, 0x14 -/* 80071848 0006E788 4B F9 1C F9 */ bl func_80003540 +/* 80071848 0006E788 4B F9 1C F9 */ bl memcpy /* 8007184C 0006E78C 7F 43 D3 78 */ mr r3, r26 /* 80071850 0006E790 7F 64 DB 78 */ mr r4, r27 /* 80071854 0006E794 38 A0 00 14 */ li r5, 0x14 -/* 80071858 0006E798 4B F9 1C E9 */ bl func_80003540 +/* 80071858 0006E798 4B F9 1C E9 */ bl memcpy /* 8007185C 0006E79C 7F 63 DB 78 */ mr r3, r27 /* 80071860 0006E7A0 38 81 00 08 */ addi r4, r1, 8 /* 80071864 0006E7A4 38 A0 00 14 */ li r5, 0x14 -/* 80071868 0006E7A8 4B F9 1C D9 */ bl func_80003540 +/* 80071868 0006E7A8 4B F9 1C D9 */ bl memcpy lbl_8007186C: /* 8007186C 0006E7AC 3A F7 00 01 */ addi r23, r23, 1 /* 80071870 0006E7B0 3B DE 00 14 */ addi r30, r30, 0x14 diff --git a/include/d/d_kankyo/asm/func_801A4420.s b/include/d/d_kankyo/asm/func_801A4420.s index 535361b7b2..6e1ba081fe 100644 --- a/include/d/d_kankyo/asm/func_801A4420.s +++ b/include/d/d_kankyo/asm/func_801A4420.s @@ -528,7 +528,7 @@ lbl_801A4BBC: /* 801A4BE0 001A1B20 38 63 00 18 */ addi r3, r3, 0x18 /* 801A4BE4 001A1B24 38 84 10 AC */ addi r4, r4, 0x10ac /* 801A4BE8 001A1B28 38 A0 00 14 */ li r5, 0x14 -/* 801A4BEC 001A1B2C 4B E5 E9 55 */ bl func_80003540 +/* 801A4BEC 001A1B2C 4B E5 E9 55 */ bl memcpy lbl_801A4BF0: /* 801A4BF0 001A1B30 39 61 00 90 */ addi r11, r1, 0x90 /* 801A4BF4 001A1B34 48 1B D6 19 */ bl _restgpr_22 diff --git a/include/d/d_kankyo/asm/func_801A7A40.s b/include/d/d_kankyo/asm/func_801A7A40.s index 227013f229..6143b510a4 100644 --- a/include/d/d_kankyo/asm/func_801A7A40.s +++ b/include/d/d_kankyo/asm/func_801A7A40.s @@ -13,7 +13,7 @@ /* 801A7A70 001A49B0 38 63 07 64 */ addi r3, r3, 0x764 /* 801A7A74 001A49B4 7C A4 2B 78 */ mr r4, r5 /* 801A7A78 001A49B8 38 A0 00 20 */ li r5, 0x20 -/* 801A7A7C 001A49BC 4B E5 BA C5 */ bl func_80003540 +/* 801A7A7C 001A49BC 4B E5 BA C5 */ bl memcpy /* 801A7A80 001A49C0 38 9E 00 01 */ addi r4, r30, 1 /* 801A7A84 001A49C4 3C 60 80 43 */ lis r3, lbl_8042CA54@ha /* 801A7A88 001A49C8 38 03 CA 54 */ addi r0, r3, lbl_8042CA54@l diff --git a/include/d/d_meter2/d_meter2_info/asm/func_8021C250.s b/include/d/d_meter2/d_meter2_info/asm/func_8021C250.s index f6360c462b..9ba9114fb8 100644 --- a/include/d/d_meter2/d_meter2_info/asm/func_8021C250.s +++ b/include/d/d_meter2/d_meter2_info/asm/func_8021C250.s @@ -50,7 +50,7 @@ lbl_8021C2DC: /* 8021C30C 0021924C 7F E3 FB 78 */ mr r3, r31 /* 8021C310 00219250 38 9B 00 10 */ addi r4, r27, 0x10 /* 8021C314 00219254 38 A0 00 14 */ li r5, 0x14 -/* 8021C318 00219258 4B DE 72 29 */ bl func_80003540 +/* 8021C318 00219258 4B DE 72 29 */ bl memcpy /* 8021C31C 0021925C 48 00 00 3C */ b lbl_8021C358 lbl_8021C320: /* 8021C320 00219260 38 C6 00 01 */ addi r6, r6, 1 diff --git a/include/d/d_meter2/d_meter2_info/asm/func_8021C370.s b/include/d/d_meter2/d_meter2_info/asm/func_8021C370.s index 0550f332a2..5fab653968 100644 --- a/include/d/d_meter2/d_meter2_info/asm/func_8021C370.s +++ b/include/d/d_meter2/d_meter2_info/asm/func_8021C370.s @@ -103,7 +103,7 @@ lbl_8021C4D8: /* 8021C4E0 00219420 7F E3 FB 78 */ mr r3, r31 /* 8021C4E4 00219424 38 85 00 10 */ addi r4, r5, 0x10 /* 8021C4E8 00219428 38 A0 00 14 */ li r5, 0x14 -/* 8021C4EC 0021942C 4B DE 70 55 */ bl func_80003540 +/* 8021C4EC 0021942C 4B DE 70 55 */ bl memcpy /* 8021C4F0 00219430 48 00 00 3C */ b lbl_8021C52C lbl_8021C4F4: /* 8021C4F4 00219434 38 E7 00 01 */ addi r7, r7, 1 diff --git a/include/d/d_meter2/d_meter2_info/asm/func_8021C544.s b/include/d/d_meter2/d_meter2_info/asm/func_8021C544.s index 986d0bc7e3..33c4d3ca62 100644 --- a/include/d/d_meter2/d_meter2_info/asm/func_8021C544.s +++ b/include/d/d_meter2/d_meter2_info/asm/func_8021C544.s @@ -70,7 +70,7 @@ lbl_8021C638: /* 8021C640 00219580 7F E3 FB 78 */ mr r3, r31 /* 8021C644 00219584 38 84 00 10 */ addi r4, r4, 0x10 /* 8021C648 00219588 38 A0 00 14 */ li r5, 0x14 -/* 8021C64C 0021958C 4B DE 6E F5 */ bl func_80003540 +/* 8021C64C 0021958C 4B DE 6E F5 */ bl memcpy /* 8021C650 00219590 48 00 00 3C */ b lbl_8021C68C lbl_8021C654: /* 8021C654 00219594 38 E7 00 01 */ addi r7, r7, 1 diff --git a/include/d/d_save/d_save/asm/func_80035798.s b/include/d/d_save/d_save/asm/func_80035798.s index 2f10db059e..3996d8debe 100644 --- a/include/d/d_save/d_save/asm/func_80035798.s +++ b/include/d/d_save/d_save/asm/func_80035798.s @@ -107,7 +107,7 @@ lbl_80035928: /* 80035934 00032874 7F 83 E3 78 */ mr r3, r28 /* 80035938 00032878 7F 04 C3 78 */ mr r4, r24 /* 8003593C 0003287C 38 A0 09 58 */ li r5, 0x958 -/* 80035940 00032880 4B FC DC 01 */ bl func_80003540 +/* 80035940 00032880 4B FC DC 01 */ bl memcpy /* 80035944 00032884 3C 60 80 38 */ lis r3, lbl_80379234@ha /* 80035948 00032888 38 63 92 34 */ addi r3, r3, lbl_80379234@l /* 8003594C 0003288C 38 63 00 29 */ addi r3, r3, 0x29 diff --git a/include/d/d_save/d_save/asm/func_80035A04.s b/include/d/d_save/d_save/asm/func_80035A04.s index d444f167a1..eea46745ab 100644 --- a/include/d/d_save/d_save/asm/func_80035A04.s +++ b/include/d/d_save/d_save/asm/func_80035A04.s @@ -8,7 +8,7 @@ /* 80035A20 00032960 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 80035A24 00032964 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 80035A28 00032968 38 A0 09 58 */ li r5, 0x958 -/* 80035A2C 0003296C 4B FC DB 15 */ bl func_80003540 +/* 80035A2C 0003296C 4B FC DB 15 */ bl memcpy /* 80035A30 00032970 48 30 AB 61 */ bl OSGetSoundMode /* 80035A34 00032974 28 03 00 00 */ cmplwi r3, 0 /* 80035A38 00032978 40 82 00 28 */ bne lbl_80035A60 diff --git a/include/d/d_save/d_save/asm/func_80035BD0.s b/include/d/d_save/d_save/asm/func_80035BD0.s index 8b41f155c9..d2f6415a33 100644 --- a/include/d/d_save/d_save/asm/func_80035BD0.s +++ b/include/d/d_save/d_save/asm/func_80035BD0.s @@ -31,7 +31,7 @@ /* 80035C48 00032B88 7F E3 FB 78 */ mr r3, r31 /* 80035C4C 00032B8C 38 81 00 08 */ addi r4, r1, 8 /* 80035C50 00032B90 38 A0 09 58 */ li r5, 0x958 -/* 80035C54 00032B94 4B FC D8 ED */ bl func_80003540 +/* 80035C54 00032B94 4B FC D8 ED */ bl memcpy /* 80035C58 00032B98 3C 60 80 38 */ lis r3, lbl_80379234@ha /* 80035C5C 00032B9C 38 63 92 34 */ addi r3, r3, lbl_80379234@l /* 80035C60 00032BA0 38 63 00 54 */ addi r3, r3, 0x54 diff --git a/include/d/d_save/d_save_HIO/asm/func_8025BB78.s b/include/d/d_save/d_save_HIO/asm/func_8025BB78.s index 626d263085..a40aad1368 100644 --- a/include/d/d_save/d_save_HIO/asm/func_8025BB78.s +++ b/include/d/d_save/d_save_HIO/asm/func_8025BB78.s @@ -1,5 +1,5 @@ -/* 8025BB78 00258AB8 3C 80 80 3C */ lis r4, lbl_803C3384@ha -/* 8025BB7C 00258ABC 38 04 33 84 */ addi r0, r4, lbl_803C3384@l +/* 8025BB78 00258AB8 3C 80 80 3C */ lis r4, HeapCheckTable@ha +/* 8025BB7C 00258ABC 38 04 33 84 */ addi r0, r4, HeapCheckTable@l /* 8025BB80 00258AC0 90 03 00 00 */ stw r0, 0(r3) /* 8025BB84 00258AC4 38 C0 00 00 */ li r6, 0 /* 8025BB88 00258AC8 38 80 00 00 */ li r4, 0 diff --git a/include/d/d_save/d_save_HIO/d_save_HIO.h b/include/d/d_save/d_save_HIO/d_save_HIO.h index 8d133e4af0..4438514f66 100644 --- a/include/d/d_save/d_save_HIO/d_save_HIO.h +++ b/include/d/d_save/d_save_HIO/d_save_HIO.h @@ -2,6 +2,7 @@ #define D_SAVE_HIO_H_ #include "dolphin/types.h" +#include "m_Do/m_Do_main/m_Do_main.h" struct dSvBit_childSwPerfectionHIO_c_vtable { u32* unk0; diff --git a/include/dvd/dvd.h b/include/dvd/dvd.h index c85048ed7d..aecba905e2 100644 --- a/include/dvd/dvd.h +++ b/include/dvd/dvd.h @@ -20,15 +20,50 @@ typedef enum DVDState { } DVDState; } -class DVDFileInfo; +class DVDDiskID { + char game_name[4]; + char company[2]; + u8 disk_number; + u8 game_version; + u8 is_streaming; + u8 streaming_buffer_size; + u8 padding[22]; +}; + +class DVDCommandBlock { +public: + DVDCommandBlock* next; + DVDCommandBlock* previous; + u32 command; + s32 state; + u32 offset; + u32 length; + void* buffer; + u32 current_transfer_size; + u32 transferred_size; + DVDDiskID* disk_id; + u8 callback[4]; + void* user_data; +}; + +//typedef void (*DVDCallback)(u32 result, DVDFileInfo *info); + +class DVDFileInfo { +public: + DVDCommandBlock block; + u32 start_address; + u32 length; + u8 callback[4]; +}; + extern "C" { -s32 DVDOpen(const char*, u8[48]); -s32 DVDClose(u8[48]); -void DVDReadPrio(void); +s32 DVDOpen(const char*, DVDFileInfo*); +s32 DVDClose(DVDFileInfo*); +void DVDReadPrio(DVDFileInfo*, void*, s32, s32, s32); void DVDGetCurrentDiskID(void); -s32 DVDFastOpen(long, u8[48]); -int DVDGetCommandBlockStatus(u8[48]); -s32 DVDReadAsyncPrio(u8[48], void*, long, long, void (*)(long, DVDFileInfo*), long); +s32 DVDFastOpen(long, DVDFileInfo*); +int DVDGetCommandBlockStatus(DVDFileInfo*); +s32 DVDReadAsyncPrio(DVDFileInfo*, void*, long, long, void (*)(long, DVDFileInfo*), long); void DVDConvertPathToEntrynum(void); DVDState DVDGetDriveStatus(void); s32 DVDCheckDisk(void); diff --git a/include/functions.h b/include/functions.h index fde457c3c2..2b59245463 100644 --- a/include/functions.h +++ b/include/functions.h @@ -88,7 +88,6 @@ void off__15dSv_zoneActor_cFi(void); void is__15dSv_zoneActor_cCFi(void); void onEventBit__11dSv_event_cFUs(void); void func_8036687C(void); -void func_80003540(void); void func_80362324(void); void countUsed__FP10JKRExpHeap(void); void JUTReport(void); @@ -156,7 +155,7 @@ void JUTWarningConsole(void); void JUTWarningConsole_f(void); void VIWaitForRetrace(void); void func_80361C24(void); -void func_80003540(void); +void memcpy(void*,void*,int); void func_80365470(void); void func_803688DC(void); void func_80368ABC(void); @@ -179,14 +178,12 @@ void JKRDvdRipper_NS_loadToMainRAM_X1_(void); void func_80003458(void); void func_803650D0(void); void JKRDecomp_NS_orderSync(void); -void func_80003540(void); void JKRAramHeap_NS_alloc(void); void JKRAram_NS_aramToMainRam(void); void JKRDvdAramRipper_NS_loadToAram(void); void JKRAram_NS_mainRamToAram(void); void JKRAramPiece_NS_sendCommand(void); void __RAS_OSDisableInterrupts_begin(void); -void func_80003540(void); void func_80361C24(void); void JSUInputStream_NS_read(void); void JSURandomInputStream_NS_seek(void); @@ -307,7 +304,6 @@ void is__15dSv_zoneActor_cCFi(void); void onEventBit__11dSv_event_cFUs(void); void func_8036687C(void); -void func_80003540(void); void func_80362324(void); void countUsed__FP10JKRExpHeap(void); @@ -380,7 +376,6 @@ void JUTWarningConsole_f(void); void func_80361C24(void); -void func_80003540(void); void func_80365470(void); void func_803688DC(void); void func_80368ABC(void); @@ -406,7 +401,6 @@ void func_80003458(void); void func_803650D0(void); void JKRDecomp_NS_orderSync(void); -void func_80003540(void); void JKRAramHeap_NS_alloc(void); void JKRAram_NS_aramToMainRam(void); @@ -415,7 +409,6 @@ void JKRAram_NS_mainRamToAram(void); void JKRAramPiece_NS_sendCommand(void); void __RAS_OSDisableInterrupts_begin(void); -void func_80003540(void); void func_80361C24(void); void JSUInputStream_NS_read(void); @@ -449,22 +442,22 @@ void common_init__6JUTXfbFl(void); } // DVD -class DVDFileInfo; -extern "C" { -s32 DVDOpen(const char*, u8[48]); -s32 DVDClose(u8[48]); -void DVDReadPrio(void); -void DVDGetCurrentDiskID(void); -s32 DVDFastOpen(long, u8[48]); -int DVDGetCommandBlockStatus(u8[48]); -s32 DVDReadAsyncPrio(u8[48], void*, long, long, void (*)(long, DVDFileInfo*), long); -void DVDConvertPathToEntrynum(void); +// class DVDFileInfo; +// extern "C" { +// s32 DVDOpen(const char*, DVDFileInfo*); +// s32 DVDClose(DVDFileInfo*); +// void DVDReadPrio(DVDFileInfo*, void*, s32, s32, s32); +// void DVDGetCurrentDiskID(void); +// s32 DVDFastOpen(long, u8[48]); +// int DVDGetCommandBlockStatus(u8[48]); +// s32 DVDReadAsyncPrio(u8[48], void*, long, long, void (*)(long, DVDFileInfo*), long); +// void DVDConvertPathToEntrynum(void); -void DVDChangeDir(void); -void DVDCloseDir(void); -void DVDOpenDir(void); -void DVDReadDir(void); -} +// void DVDChangeDir(void); +// void DVDCloseDir(void); +// void DVDOpenDir(void); +// void DVDReadDir(void); +// } class mDoCPd_c; extern "C" { diff --git a/include/m_Do/m_Do_main/asm/func_8000614C.s b/include/m_Do/m_Do_main/asm/func_8000614C.s index 846283d09c..1116931cac 100644 --- a/include/m_Do/m_Do_main/asm/func_8000614C.s +++ b/include/m_Do/m_Do_main/asm/func_8000614C.s @@ -21,7 +21,7 @@ /* 8000619C 000030DC 38 63 2E E0 */ addi r3, r3, lbl_803A2EE0@l /* 800061A0 000030E0 38 81 00 20 */ addi r4, r1, 0x20 /* 800061A4 000030E4 38 A0 00 11 */ li r5, 0x11 -/* 800061A8 000030E8 4B FF D3 99 */ bl func_80003540 +/* 800061A8 000030E8 4B FF D3 99 */ bl memcpy /* 800061AC 000030EC 38 61 00 40 */ addi r3, r1, 0x40 /* 800061B0 000030F0 48 34 27 A9 */ bl DVDClose lbl_800061B4: diff --git a/include/m_Do/m_Do_main/m_Do_main.h b/include/m_Do/m_Do_main/m_Do_main.h index 302c5c188f..90086a1cd8 100644 --- a/include/m_Do/m_Do_main/m_Do_main.h +++ b/include/m_Do/m_Do_main/m_Do_main.h @@ -7,6 +7,9 @@ public: void CheckHeap1(void); s32 getUsedCount(void) const; void heapDisplay(void) const; + u32& getUsedCountRef() { return used_count; } + u32& getTotalUsedSizeRef() { return total_used_size; } + JKRExpHeap* getHeap() { return heap; } private: char* names[2]; @@ -17,4 +20,6 @@ private: u32 heap_size; u32 used_count; u32 total_used_size; -}; \ No newline at end of file +}; + +extern HeapCheck* HeapCheckTable[8]; \ No newline at end of file diff --git a/include/variables.h b/include/variables.h index c76d3e67c3..2bd4665b05 100644 --- a/include/variables.h +++ b/include/variables.h @@ -9,7 +9,6 @@ extern char lbl_80379234[0x64]; extern char lbl_803739A0[0x310]; extern void* lbl_80451368; extern u32 _sRumbleSupported; -extern u8 lbl_803C3384; extern u8 lbl_803A2EF4; extern u8 lbl_803A2EE0; extern u8 lbl_80450B19; diff --git a/libs/JSystem/JKernel/JKRDvdFile.cpp b/libs/JSystem/JKernel/JKRDvdFile.cpp index a17dddd9e1..c3e23b5bbf 100644 --- a/libs/JSystem/JKernel/JKRDvdFile.cpp +++ b/libs/JSystem/JKernel/JKRDvdFile.cpp @@ -57,7 +57,7 @@ void JKRDvdFile::initiate(void) { // #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9850.s" bool JKRDvdFile::open(char const* param_1) { if (!this->mIsAvailable) { - this->mIsAvailable = DVDOpen(param_1, this->mDvdCommandBlock); + this->mIsAvailable = DVDOpen(param_1, &this->file_info); if (this->mIsAvailable) { lbl_8043436C.append(&this->mDvdLink); this->getStatus(); @@ -69,7 +69,7 @@ bool JKRDvdFile::open(char const* param_1) { // #include "JSystem/JKernel/JKRDvdFile/asm/func_802D98C4.s" bool JKRDvdFile::open(long param_1) { if (!this->mIsAvailable) { - this->mIsAvailable = DVDFastOpen(param_1, this->mDvdCommandBlock); + this->mIsAvailable = DVDFastOpen(param_1, &this->file_info); if (this->mIsAvailable) { lbl_8043436C.append(&this->mDvdLink); this->getStatus(); @@ -81,7 +81,7 @@ bool JKRDvdFile::open(long param_1) { // #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9938.s" void JKRDvdFile::close() { if (this->mIsAvailable) { - s32 result = DVDClose(this->mDvdCommandBlock); + s32 result = DVDClose(&this->file_info); if (result != 0) { this->mIsAvailable = false; lbl_8043436C.remove(&this->mDvdLink); @@ -109,7 +109,7 @@ s32 JKRDvdFile::readData(void* param_1, long length, long param_3) { this->mOSThread = OSGetCurrentThread(); s32 result = -1; - s32 readAsyncResult = DVDReadAsyncPrio(this->mDvdCommandBlock, param_1, length, param_3, + s32 readAsyncResult = DVDReadAsyncPrio(&this->file_info, param_1, length, param_3, JKRDvdFile::doneProcess, 2); if (readAsyncResult) { result = this->sync(); @@ -145,5 +145,5 @@ void JKRDvdFile::doneProcess(long id, DVDFileInfo* fileInfo) { // #include "JSystem/JKernel/JKRDvdFile/asm/func_802D9AF8.s" s32 JKRDvdFile::getFileSize(void) const { - return this->mFileSize; + return this->file_info.length; } diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 427d5d6a72..dbf281f51a 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -31,32 +31,26 @@ void HeapCheck::CheckHeap1(void) { } #ifdef NONMATCHING -extern u8 lbl_803A2EF4[0x4c]; -extern u8 m_cpadInfo[0x100]; - -void CheckHeap(u32 param_1) { - HeapCheck* currentHeap; - s32 unk; - +void CheckHeap(u32 controller_pad_no) { mDoMch_HeapCheckAll(); OSCheckActiveThreads(); - unk = 0; + bool unk = false; - if ((((m_cpadInfo + 0x30)[param_1 * 0x10] & 0xffffffef) == 0x60) && - (((m_cpadInfo + 0x30)[param_1 * 0x10] & 0x10) != 0)) { - unk = 1; + // if L + R + Z is pressed... + if (((m_cpadInfo[controller_pad_no].mButtonFlags & ~0x10) == 0x60) && m_cpadInfo[controller_pad_no].mPressedButtonFlags & 0x10) { + unk = true; } for (int i = 0; i < 8; i++) { - ((HeapCheck*)lbl_803A2EF4[i])->CheckHeap1(); - + HeapCheckTable[i]->CheckHeap1(); if (unk) { - currentHeap = (HeapCheck*)lbl_803A2EF4[i * 4]; - s32 current_used_count = currentHeap->getUsedCount(); - currentHeap->used_count = current_used_count; - s32 current_total_used_size = currentHeap->heap->getTotalUsedSize(); - currentHeap->total_used_size = current_total_used_size; + HeapCheck* currentHeap = HeapCheckTable[i]; + s32 used_count = currentHeap->getUsedCount(); + + currentHeap->getUsedCountRef() = used_count; + used_count = currentHeap->getHeap()->getTotalUsedSize(); + currentHeap->getTotalUsedSizeRef() = used_count; } } } @@ -122,16 +116,20 @@ asm void Debug_console(u32) { } #ifdef NONMATCHING +extern u8 lbl_803739a0[0x310]; +extern char lbl_803a2ee0[20]; +extern void memcpy(void*,void*,int); + void LOAD_COPYDATE(void*) { s32 dvd_status; char buffer[32]; DVDFileInfo file_info; - dvd_status = DVDOpen(lbl_803739a0 + 0x283, &file_info); + dvd_status = DVDOpen((const char*)lbl_803739a0 + 0x283, &file_info); if (dvd_status) { DVDReadPrio(&file_info, buffer, 32, 0, 2); - memcpy(memcpy_string, buffer, 17); + memcpy(lbl_803a2ee0, buffer, 17); DVDClose(&file_info); } return;