diff options
| author | Pheenoh <pheenoh@gmail.com> | 2021-01-03 21:08:33 -0500 |
|---|---|---|
| committer | Pheenoh <pheenoh@gmail.com> | 2021-01-03 21:08:33 -0500 |
| commit | 6f22d27503fa0445fe2282cb6257449e5ae87734 (patch) | |
| tree | c7993f2202ab7a8a14c29d903cab491f220822be /include | |
| parent | da3a14282827333ad9068891eebcfb43e9509286 (diff) | |
swap in memcpy for func_80003540, correct some minor issues in dvd.h and JKRDVDFile.h
Diffstat (limited to 'include')
24 files changed, 104 insertions, 70 deletions
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; |
