commit
a4caf603cb
3 changed files with 49 additions and 3 deletions
|
|
@ -746,13 +746,13 @@ config.libs = [
|
|||
},
|
||||
{
|
||||
"lib": "msm",
|
||||
"mw_version": config.linker_version,
|
||||
"mw_version": "GC/1.2.5n",
|
||||
"cflags": cflags_msm,
|
||||
"host": False,
|
||||
"objects": [
|
||||
Object(NonMatching, "msm/msmsys.c"),
|
||||
Object(NonMatching, "msm/msmmem.c"),
|
||||
Object(NonMatching, "msm/msmfio.c"),
|
||||
Object(Matching, "msm/msmfio.c"),
|
||||
Object(NonMatching, "msm/msmmus.c"),
|
||||
Object(NonMatching, "msm/msmse.c"),
|
||||
Object(NonMatching, "msm/msmstream.c"),
|
||||
|
|
|
|||
|
|
@ -118,7 +118,10 @@ s32 DVDConvertPathToEntrynum(char* pathPtr);
|
|||
|
||||
BOOL DVDReadAsyncPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset,
|
||||
DVDCallback callback, s32 prio);
|
||||
|
||||
|
||||
BOOL DVDReadPrio(DVDFileInfo* fileInfo, void* addr, s32 length, s32 offset, s32 prio);
|
||||
|
||||
|
||||
#define DVDReadAsync(fileInfo, addr, length, offset, callback) \
|
||||
DVDReadAsyncPrio((fileInfo), (addr), (length), (offset), (callback), 2)
|
||||
#define DVDRead(fileInfo, addr, length, offset) \
|
||||
|
|
|
|||
43
src/msm/msmfio.c
Normal file
43
src/msm/msmfio.c
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
#include "dolphin.h"
|
||||
|
||||
struct msmFio {
|
||||
BOOL (*open)(s32, DVDFileInfo *);
|
||||
BOOL (*read)(DVDFileInfo *, void *, s32, s32, s32);
|
||||
BOOL (*close)(DVDFileInfo *);
|
||||
};
|
||||
|
||||
static struct msmFio fio;
|
||||
|
||||
BOOL msmFioClose(DVDFileInfo *fileInfo)
|
||||
{
|
||||
return fio.close(fileInfo);
|
||||
}
|
||||
|
||||
BOOL msmFioRead(DVDFileInfo *fileInfo, void *addr, s32 length, s32 offset)
|
||||
{
|
||||
return fio.read(fileInfo, addr, length, offset, 2);
|
||||
}
|
||||
|
||||
BOOL msmFioOpen(s32 entrynum, DVDFileInfo *fileInfo)
|
||||
{
|
||||
return fio.open(entrynum, fileInfo);
|
||||
}
|
||||
|
||||
void msmFioInit(void *open, void *read, void *close)
|
||||
{
|
||||
if(open) {
|
||||
fio.open = open;
|
||||
} else {
|
||||
fio.open = DVDFastOpen;
|
||||
}
|
||||
if(read) {
|
||||
fio.read = read;
|
||||
} else {
|
||||
fio.read = DVDReadPrio;
|
||||
}
|
||||
if(close) {
|
||||
fio.close = close;
|
||||
} else {
|
||||
fio.close = DVDClose;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue