
usbloader-gui - issue #2225
EmuNAND: Custom path ignored if d2x cIOS is installed as v65535
If d2x cIOS is installed as v65535, USB Loader GX won't set a custom EmuNAND path, so the cIOS will always use the root of the selected device. I couldn't figure out why EmuNAND wasn't working for me, since I had it set to sd:/nand/ - then I discovered NAND directories in sd:/. Turns out it was because I had d2x v10-beta52 installed as v65535. (beta53-alt doesn't seem to work right with EmuNAND, but that's a known issue with d2x and doesn't concern ULGX.)
There's a few places in source/usbloader/NandEmu.cpp that only check the IOS revision and don't check if it's d2x:
source/usbloader/NandEmu.cpp::Nand_Mount(), line 59: if(rev >= 21 && rev < 30000)
source/usbloader/NandEmu.cpp::Nand_Enable(), line 132: if(rev >= 21 && rev < 30000)
These lines should both be changed to: if (IosLoader::IsD2X() || (rev >= 21 && rev < 30000))
I haven't been able to test this on my system yet, but it should work.
Bug noticed in revision: 1215
Steps to reproduce: 1. Install d2x cIOS with version == 65535. 2. Set ULGX EmuNAND path to sd:/nand/ or usb1:/nand/. 3. Install WAD in EmuNAND. 4. Run emulated channel.
Expected results: Emulated channel runs. Actual results: Black screen, and new EmuNAND directories created in sd:/ (e.g. import/, title/, etc.)
Workarounds: A. Install d2x cIOS with version == 21 or 21010. B. Set EmuNAND path to sd:/ or usb1:/.
Comment #1
Posted on Sep 8, 2013 by Swift RhinoTested and confirmed to be true. I'll mention this to cyan at some point, unless he's already seen this issue.
Comment #2
Posted on Sep 29, 2013 by Massive ElephantI replaced 30000 with a check to the stub version 65280
Status: Fixed
Labels:
Type-Defect
Priority-Medium