Alright, so I did some fiddling around and got file reading from disc to work on a gamecube game, but it doesn't work on Wii. Naturally I'm assuming this is because the Wii's IOS is limiting me from directly interfacing with the hardware. So I went back to trying to figure out how to get IOS to work; Wiibrew says I must operate it through the IPC registers. Fair enough, but when trying to read or write them, Dolphin simply claims it's invalid memory. Figured I'd try 0xCD800000 instead of 0x0D800000, and that seemed to work, but while it seems to acknowledge the command (flag returns 0x2) it never seems to actually execute it (0x4)...or, at least, as it appears on the surface, but Dolphin reports creating a handle to it just fine. Figured maybe the flags just aren't updated and I can just pull the output, but that doesn't seem to be it either. Worst case scenario here, though, it seems to consistently produce the same ID, according to Dolphin. So I could just hardcode the fd on actually reading, after spinning a little while to ensure the IPC got it; though that seems like a not very elegant solution.
Update: nevermind literally 5 minutes after posting that long diatribe I went back to trying it with the non-IOS method and got it working by just changing the address to 0xCD806000. Thanks, with this I'll be able to do some fun stuff