X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fcdintf.cpp;h=fbf227fef0f5f95d58a1fc56871f462a40c22063;hb=6d6e1b73eca47e97f2d092fda11ff85a10afb55b;hp=f6e647f202ee181adc485ac14bdb22161443756a;hpb=683f283e1328164c176618088c34408ea6c03cf7;p=virtualjaguar diff --git a/src/cdintf.cpp b/src/cdintf.cpp index f6e647f..fbf227f 100644 --- a/src/cdintf.cpp +++ b/src/cdintf.cpp @@ -35,10 +35,11 @@ #endif +/* static void TestCDIO(void) { // See what (if anything) is installed. - CdIo_t * p_cdio = cdio_open(0/*NULL*/, DRIVER_DEVICE); + CdIo_t * p_cdio = cdio_open(0, DRIVER_DEVICE); driver_id_t driver_id; if (p_cdio != NULL) @@ -52,6 +53,7 @@ static void TestCDIO(void) WriteLog("CDIO: A suitable CD-ROM driver was not found.\n\n"); } } +*/ // // *** OK, here's where we're going to attempt to put the platform agnostic CD interface *** @@ -61,51 +63,74 @@ static CdIo_t * cdioPtr = NULL; bool CDIntfInit(void) { - WriteLog("CDINTF: Init unimplemented!\n"); - return false; + cdioPtr = cdio_open(NULL, DRIVER_DEVICE); + + if (cdioPtr == NULL) + { + WriteLog("CDINTF: No suitable CD-ROM driver found.\n"); + return false; + } + + WriteLog("CDINTF: Successfully opened CD-ROM interface.\n"); + + return true; } void CDIntfDone(void) { + WriteLog("CDINTF: Shutting down CD-ROM subsystem.\n"); + + if (cdioPtr) + cdio_destroy(cdioPtr); } bool CDIntfReadBlock(uint32 sector, uint8 * buffer) { + // !!! FIX !!! WriteLog("CDINTF: ReadBlock unimplemented!\n"); return false; } uint32 CDIntfGetNumSessions(void) { + // !!! FIX !!! // Still need relevant code here... !!! FIX !!! return 2; } void CDIntfSelectDrive(uint32 driveNum) { + // !!! FIX !!! WriteLog("CDINTF: SelectDrive unimplemented!\n"); } uint32 CDIntfGetCurrentDrive(void) { + // !!! FIX !!! WriteLog("CDINTF: GetCurrentDrive unimplemented!\n"); return 0; } -const uint8 * CDIntfGetDriveName(uint32) +const uint8 * CDIntfGetDriveName(uint32 driveNum) { - WriteLog("CDINTF: GetDriveName unimplemented!\n"); - return NULL; + // driveNum is currently ignored... !!! FIX !!! + + uint8 * driveName = (uint8 *)cdio_get_default_device(cdioPtr); + WriteLog("CDINTF: The drive name for the current driver is %s.\n", driveName); + + return driveName; } uint8 CDIntfGetSessionInfo(uint32 session, uint32 offset) { + // !!! FIX !!! WriteLog("CDINTF: GetSessionInfo unimplemented!\n"); return 0xFF; } uint8 CDIntfGetTrackInfo(uint32 track, uint32 offset) { + // !!! FIX !!! WriteLog("CDINTF: GetTrackInfo unimplemented!\n"); return 0xFF; }