swap in memcpy for func_80003540, correct some minor issues in dvd.h and JKRDVDFile.h

This commit is contained in:
Pheenoh
2021-01-03 21:08:33 -05:00
parent da3a142828
commit 6f22d27503
61 changed files with 221 additions and 189 deletions
@@ -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
@@ -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
+12 -11
View File
@@ -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];
@@ -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
@@ -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)
@@ -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)
@@ -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: