From 88bae35a9fe0da81d72db1bcc1273ac4d3f7f3d3 Mon Sep 17 00:00:00 2001 From: emu_kidid Date: Wed, 8 Nov 2023 12:41:29 +1030 Subject: [PATCH] - Fix possible hard stall when returning to the menu - Add GCLoader (FAT32) load support for GameCube - Bump version to 4.1 --- Gamecube/fileBrowser/fileBrowser-libfat.c | 7 +++++-- Gamecube/gc_plugin.c | 5 ++++- Gamecube/menu/MainFrame.cpp | 4 ++-- Gamecube/release/apps/wiiSX/meta.xml | 6 +++--- README | 10 ++++++++-- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/Gamecube/fileBrowser/fileBrowser-libfat.c b/Gamecube/fileBrowser/fileBrowser-libfat.c index a24d7174..0e998808 100644 --- a/Gamecube/fileBrowser/fileBrowser-libfat.c +++ b/Gamecube/fileBrowser/fileBrowser-libfat.c @@ -44,12 +44,12 @@ const DISC_INTERFACE* usb = &__io_usbstorage; const DISC_INTERFACE* dvd = &__io_wiidvd; const DISC_INTERFACE* carda = &__io_gcsda; const DISC_INTERFACE* cardb = &__io_gcsdb; - #else const DISC_INTERFACE* dvd = &__io_gcdvd; const DISC_INTERFACE* carda = &__io_gcsda; const DISC_INTERFACE* cardb = &__io_gcsdb; const DISC_INTERFACE* sd2sp2 = &__io_gcsd2; +const DISC_INTERFACE* gcloader = &__io_gcode; #endif fileBrowser_file topLevel_libfat_Default = @@ -231,7 +231,10 @@ int fileBrowser_libfat_init(fileBrowser_file* f){ return res; #else if(f->name[0] == 's') { - if(sd2sp2->startup()) { + if(gcloader->startup()) { + res = fatMountSimple ("sd", gcloader); + } + if(!res && sd2sp2->startup()) { res = fatMountSimple ("sd", sd2sp2); } if(!res && carda->startup()) { diff --git a/Gamecube/gc_plugin.c b/Gamecube/gc_plugin.c index b0e48b22..8b22e8d0 100644 --- a/Gamecube/gc_plugin.c +++ b/Gamecube/gc_plugin.c @@ -679,7 +679,7 @@ static void gc_vout_flip(const void *vram, int stride, int bgr24, if (menuActive) return; // clear the screen, and flush it - DEBUG_print("gc_vout_flip_null_vram",DBG_GPU1); + //DEBUG_print("gc_vout_flip_null_vram",DBG_GPU1); //Write menu/debug text on screen GXColor fontColor = {150,255,150,255}; @@ -848,6 +848,9 @@ void go(void) { plugin_call_rearmed_cbs(); psxCpu->Execute(); + + // remove this callback to avoid any issues when returning to the menu. + GX_SetDrawDoneCallback(NULL); } int OpenPlugins() { diff --git a/Gamecube/menu/MainFrame.cpp b/Gamecube/menu/MainFrame.cpp index 45469e5d..cdac5274 100644 --- a/Gamecube/menu/MainFrame.cpp +++ b/Gamecube/menu/MainFrame.cpp @@ -165,9 +165,9 @@ void Func_Credits() char CreditsInfo[512] = ""; #ifdef HW_RVL int iosversion = IOS_GetVersion(); - sprintf(CreditsInfo,"WiiSX Beta 4.0 - IOS %i\n", iosversion); + sprintf(CreditsInfo,"WiiSX Beta 4.1 - IOS %i\n", iosversion); #else - sprintf(CreditsInfo,"CubeSX Beta 4.0\n"); + sprintf(CreditsInfo,"CubeSX Beta 4.1\n"); #endif strcat(CreditsInfo,"\n"); strcat(CreditsInfo,"Wii64 Team:\n"); diff --git a/Gamecube/release/apps/wiiSX/meta.xml b/Gamecube/release/apps/wiiSX/meta.xml index 253cf28e..2ea7b1ad 100644 --- a/Gamecube/release/apps/wiiSX/meta.xml +++ b/Gamecube/release/apps/wiiSX/meta.xml @@ -2,8 +2,8 @@ WiiSX Wii64 Team - Beta 4.0 - 202310060000 + Beta 4.1 + 202311080000 PSX Emulator for Wii @@ -12,7 +12,7 @@ General Coder - emu_kidid Graphics & Menu Coder - sepp256 Audio & Core Coder - tehpola -The Wii64Team proudly presents WiiSX Beta 4.0 +The Wii64Team proudly presents WiiSX Beta 4.1 WiiSX is a port of PCSX to the Wii which uses the following: * pcsx-ReARMed * lightrec for dynamic recompilation diff --git a/README b/README index c89c66cb..c6215344 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ README : WiiSX / CubeSX -Beta 3.0 +Beta 4.1 LICENSE: This software is licensed under the GNU General Public License v2 @@ -13,9 +13,14 @@ LICENSE: QUICK USAGE: * ISOs can be .bin/.cue (Make sure .cue contains _relative_ directory!), .img, or .iso format * To install: Extract the contents of wiiSX-.zip to the root of your SD card + * SD Card detection order is as follows: + GameCube: GCLoader, SD2SP2, Slot A, Slot B. + Wii: Front SD, Slot A, Slot B. * For SD/USB: Put ISOs (.bin/.cue or other formats) in the directory named /wiisx/isos, All save types will automatically be placed in /wiisx/saves - * For DVD: ISOs may be anywhere on the disc + * For DVD: ISOs may be anywhere on the disc, in ISO9660 format. + GameCube: Currently broken due to libOGC issues with backups, XenoGC might still work. + Wii: Requires a disc drive capable of reading DVD-R. * For actual BIOS: Put SCPH1001.BIN in the directory on SD/USB named /wiisx/bios * Load the executable from the HBC or in the loader of your choice Once loaded, select 'Load ISO' and choose the source and select the ISO to load @@ -80,6 +85,7 @@ CREDITS: * Visit us on IRC. EFNet #gc-forever or www.gc-forever.com or https://github.com/emukidid/pcsxgc/ CHANGE LOG: + * See releases on github for these now, this section here is no longer maintained. Beta 4.0: * libpsxcore properly integrated, no more hacky mess to receive fixes from upstream * switch to upstream unai gpu plugin for a huge performance boost