nxdk
nxdk copied to clipboard
XLaunchXBE cannot launch paths that start with "d:"
Calling XLaunchXBE with a path that starts with d:
or D:
fails to launch the XBE.
Passing an explicit expanded path (i.e., prefixing with \Device\CdRom0
) works, as does passing a path with no drive prefix at all).
I'm guessing this is due to the table at https://github.com/XboxDev/nxdk/blob/master/lib/hal/fileio.c#L15 that expands the d:
prefix to \??\D:\
.
Example project to repro the issue at abaire/nxdk_launch_test
I'm guessing this is due to the table at https://github.com/XboxDev/nxdk/blob/master/lib/hal/fileio.c#L15 that expands the
d:
prefix to\??\D:\
.
Yes; these are old OpenXDK functions (which suck). They have a lot of edge cases and hardcoded behaviour.
Those old functions should be rewritten for libnxdk in https://github.com/XboxDev/nxdk/tree/master/lib/nxdk (with proper mapping and mounting / unmounting handled by the kernel, as intended by MS).