JKernel cleanup and DVD types (#59)

* JKRDecomp OK

* JKRFile and JKRDvdFile cleanup

* more DVD stuff and cleanup JKRDvdFile more

* formatting

* JKRHeap cleanup

* formatting

* JKRDisposer cleanup

* JKRAramBlock and JKRAramHeap cleanup

* fix merge error

* fixed comments

* forgot to save file...

* fix DVDCBcallback

Co-authored-by: Julgodis <>
This commit is contained in:
Jonathan Wase
2021-01-04 03:26:25 +01:00
committed by GitHub
parent 409257b111
commit 5217a4189e
13 changed files with 190 additions and 257 deletions
+22 -23
View File
@@ -11,45 +11,44 @@ class JSUFileInputStream;
class JKRDvdFile : public JKRFile {
public:
JKRDvdFile();
JKRDvdFile(char const*);
JKRDvdFile(const char*);
JKRDvdFile(long);
virtual ~JKRDvdFile();
void initiate(void);
s32 sync(void);
int getFileID() const { return this->file_info.start_address << 2; }
int getFileID() const { return mFileInfo.start_address << 2; }
const DVDFileInfo* getFileInfo() const { return &this->file_info; }
const DVDFileInfo& getFileInfo() const { return mFileInfo; }
int getStatus() { return DVDGetCommandBlockStatus(&this->file_info); }
int getStatus() { return DVDGetCommandBlockStatus(&mFileInfo.block); }
public:
/* vt[03] */ virtual bool open(char const*); /* override */
/* vt[03] */ virtual bool open(const char*); /* override */
/* vt[04] */ virtual void close(void); /* override */
/* vt[05] */ virtual s32 readData(void*, long, long); /* override */
/* vt[06] */ virtual s32 writeData(void const*, long, long); /* override */
/* vt[06] */ virtual s32 writeData(const void*, long, long); /* override */
/* vt[07] */ virtual s32 getFileSize(void) const; /* override */
/* vt[08] */ virtual bool open(long);
private:
OSMutex mMutex1;
OSMutex mMutex2;
JKRADCommand* field_0x4c;
OSThread* field_0x50;
JSUFileInputStream* field_0x54;
u32 field_0x58;
DVDFileInfo file_info;
// s32 mFileID;
// s32 mFileSize;
// u32 field_0x94;
JKRDvdFile* mDvdFile;
OSMessageQueue mQueue1;
OSMessage mMessages1[1];
OSMessageQueue mQueue2;
OSMessage mMessages2[1];
JSULink<JKRDvdFile> mDvdLink;
OSThread* mOSThread;
/* 0x00 */ // vtable
/* 0x04 */ // JKRFile
/* 0x1C */ OSMutex mMutex1;
/* 0x34 */ OSMutex mMutex2;
/* 0x4C */ u32 field_0x4c;
/* 0x50 */ u32 field_0x50;
/* 0x54 */ u32 field_0x54;
/* 0x58 */ u32 field_0x58;
/* 0x5C */ DVDFileInfo mFileInfo;
/* 0x98 */ JKRDvdFile* mDvdFile;
/* 0x9C */ OSMessageQueue mMessageQueue1;
/* 0xBC */ OSMessage mMessage1;
/* 0xC0 */ OSMessageQueue mMessageQueue2;
/* 0xE0 */ OSMessage mMessage2;
/* 0xE4 */ JSULink<JKRDvdFile> mDvdLink;
/* 0xF4 */ OSThread* mOSThread;
public:
static void doneProcess(long, DVDFileInfo*);