On Feb 11, 2011, at 10:23 AM, <[email protected]> <[email protected]> wrote:
> Mixed CDs occur in some games, but some audio CDs > contain "bonus content" as well. > > On MacOS, mixed CDs are mounted as two volumes > - the audio part, > - the data/binary section > not unlike Gnome which also displays 2 disc icons on the desktop. > > On Linux, Wine manages to map both to a single CD-ROM > drive letter like D:, such that > - D:\data\foo.exe works as well as > - MCICDA: open D: type cdaudio alias D; play D work (but see bug 20555), > which mimics native's behaviour. > > On MacOS, we're not there yet. I've no idea how that can be made to work. > How would Wine on MacOS join the pieces? I guess I'd say that Wine should create a drive letter only for the data/binary section. I suspect that that's already the case due to the logic in mountmgr.sys/diskarb.c. Then, if some code needs to find the whole-media device that contains that section, it could use something like the get_parent_device() function in dlls/ntdll/cdrom.c. From there, it might have to enumerate the child entries to find the audio part. I don't know how one checks for that. Playing with such a mixed CD and /Developer/Applications/Utilities/IORegistryExplorer.app might be helpful in figuring that out. Cheers, Ken
