On Fri, Dec 28, 2001 at 09:24:14PM +1000, Chris Green wrote:
On Friday 28 December 2001 20:24, Andreas Mohr wrote:
I know for a fact that you need special raw sector ioctl()s at least for certain mixed-mode CDs...
Yeah I assumed there must have been something like that going on - I couldn't think of any other reason why it wouldn't have been done.
Right :) There are problems at least with certain mixed-mode CDs.
I don't know - does it make sense for wine to support something that seems to work at least some of the time, as opposed to not supporting it at all?
I think what should be done is to find out which mixed-mode CDs exactly are "special" and which ones aren't.
If not, are there any CDs in particular that you know of, that have the requirement for a raw ioctl() read, I might have here, so I could experiment with them?
I guess it might be music CDs with builtin biography data/programs often that are problematic.
If you get hold of such CDs, then you need to experiment with CDROMREADMODE2, CDROMREADMODE1 and/or CDROMREADRAW ioctl()s (in /usr/include/linux/cdrom.h) to get back sector data. I already verified once that you can get the CD label of "problematic" mixed-mode CDs this way. I couldn't figure out the mechanism that e.g. Windows uses to calculate the serial number of these CDs, though.
You might probably want to figure out a way to have misc/cdrom.c also support label and serial reading of problematic mixed-mode CDs, in a modular way (i.e. one that doesn't look too awful code-wise ;)