Export to GitHub

usbloader-gui - issue #2225

EmuNAND: Custom path ignored if d2x cIOS is installed as v65535


Posted on Jul 8, 2013 by Quick Hippo

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 Rhino

Tested 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 Elephant

I replaced 30000 with a check to the stub version 65280

Status: Fixed

Labels:
Type-Defect Priority-Medium