diff --git a/builds/genplus_cube.dol b/builds/genplus_cube.dol index 7e26b03..f39ebc7 100644 Binary files a/builds/genplus_cube.dol and b/builds/genplus_cube.dol differ diff --git a/builds/genplus_wii.dol b/builds/genplus_wii.dol index d4a4752..361aa19 100644 Binary files a/builds/genplus_wii.dol and b/builds/genplus_wii.dol differ diff --git a/gx/fileio/file_load.c b/gx/fileio/file_load.c index 242b832..2b6c977 100644 --- a/gx/fileio/file_load.c +++ b/gx/fileio/file_load.c @@ -82,13 +82,13 @@ static u8 dvdInited = 0; static u8 dvdMounted = 0; #ifndef HW_RVL -static bool dvdStartup() +static bool dvdStartup(DISC_INTERFACE *disc) { DVD_Mount(); return true; } -static bool dvdIsInserted() +static bool dvdIsInserted(DISC_INTERFACE *disc) { return true; } @@ -112,8 +112,8 @@ static int MountDVD(void) DVD_Init(); /* patch libogc DVD interface which appears to be broken on Gamecube */ - dvd->startup = (FN_MEDIUM_STARTUP)dvdStartup; - dvd->isInserted = (FN_MEDIUM_ISINSERTED)dvdIsInserted; + *(FN_MEDIUM_STARTUP *)&dvd->startup = dvdStartup; + *(FN_MEDIUM_ISINSERTED *)&dvd->isInserted = dvdIsInserted; #endif dvdInited = 1; } @@ -127,7 +127,11 @@ static int MountDVD(void) } /* check if disc is found */ +#ifdef HW_RVL if(!dvd->isInserted()) +#else + if(!dvd->isInserted(dvd)) +#endif { GUI_WaitPrompt("Error","No Disc inserted !"); return 0; diff --git a/gx/fileio/file_slot.c b/gx/fileio/file_slot.c index bd2ef7a..9d31bf6 100644 --- a/gx/fileio/file_slot.c +++ b/gx/fileio/file_slot.c @@ -47,6 +47,9 @@ /** * libOGC CARD System Work Area */ +#ifndef CARD_WORKAREA +#define CARD_WORKAREA CARD_WORKAREA_SIZE +#endif static u8 SysArea[CARD_WORKAREA] ATTRIBUTE_ALIGN (32); /* Mega CD backup RAM stuff */ diff --git a/gx/main.c b/gx/main.c index 352285d..0f51fea 100644 --- a/gx/main.c +++ b/gx/main.c @@ -319,8 +319,8 @@ void shutdown(void) #ifdef HW_RVL /* unmount all devices */ ISO9660_Unmount("dvd:"); - fatUnmount("sd"); - fatUnmount("usb"); + fatUnmount("sd:"); + fatUnmount("usb:"); /* shutdown all devices */ DI_Close();