- fixed parameter list for function read_toc()

- minor cleanups
This commit is contained in:
Volker Ruppert 2006-02-20 21:58:05 +00:00
parent d364481bed
commit 0d4e34d124

View File

@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// $Id: cdrom_amigaos.cc,v 1.12 2005-12-27 13:21:25 vruppert Exp $ // $Id: cdrom_amigaos.cc,v 1.13 2006-02-20 21:58:05 vruppert Exp $
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
// //
// Copyright (C) 2000 MandrakeSoft S.A. // Copyright (C) 2000 MandrakeSoft S.A.
@ -146,10 +146,7 @@ cdrom_interface::insert_cdrom(char *dev)
if (CDIO->iotd_Req.io_Error != 0) if (CDIO->iotd_Req.io_Error != 0)
return false; return false;
else else
{
//bx_options.cdromd.inserted = 1;
return true; return true;
}
} }
@ -164,23 +161,25 @@ cdrom_interface::eject_cdrom()
cdb[4] = 0 | 2; cdb[4] = 0 | 2;
DoSCSI(0, 0,cdb,sizeof(cdb),SCSIF_READ); DoSCSI(0, 0,cdb,sizeof(cdb),SCSIF_READ);
//bx_options.cdromd.inserted = 1;
} }
bx_bool bx_bool
cdrom_interface::read_toc(Bit8u* buf, int* length, bx_bool msf, int start_track) cdrom_interface::read_toc(Bit8u* buf, int* length, bx_bool msf, int start_track, int format)
{ {
Bit8u cdb[10]; Bit8u cdb[10];
TOC *toc; TOC *toc;
toc = (TOC*) buf; toc = (TOC*) buf;
if (format != 0)
return false;
memset(cdb,0,sizeof(cdb)); memset(cdb,0,sizeof(cdb));
cdb[0] = SCSI_CD_READ_TOC; cdb[0] = SCSI_CD_READ_TOC;
if(msf) if (msf)
cdb[1] = 2; cdb[1] = 2;
else else
cdb[1] = 0; cdb[1] = 0;
@ -202,20 +201,17 @@ cdrom_interface::capacity()
CAPACITY cap; CAPACITY cap;
Bit8u cdb[10]; Bit8u cdb[10];
memset(cdb,0,sizeof(cdb)); memset(cdb,0,sizeof(cdb));
cdb[0] = SCSI_DA_READ_CAPACITY; cdb[0] = SCSI_DA_READ_CAPACITY;
int err; int err;
if ((err = DoSCSI ((UBYTE *)&cap, sizeof(cap), if ((err = DoSCSI((UBYTE *)&cap, sizeof(cap),
cdb, sizeof (cdb), cdb, sizeof (cdb),
(SCSIF_READ | SCSIF_AUTOSENSE))) == 0) (SCSIF_READ | SCSIF_AUTOSENSE))) == 0)
return(cap.sectors);
return(cap.sectors);
else else
BX_PANIC (("Couldn't get media capacity")); BX_PANIC (("Couldn't get media capacity"));
} }
bx_bool bx_bool
@ -228,7 +224,7 @@ cdrom_interface::read_block(Bit8u* buf, int lba, int blocksize)
DoIO((struct IORequest *)CDIO); DoIO((struct IORequest *)CDIO);
if (CDIO->iotd_Req.io_Error != 0) { if (CDIO->iotd_Req.io_Error != 0) {
BX_PANIC(("Error %d reading CD data sector: %ld\n", CDIO->iotd_Req.io_Error, lba)); BX_PANIC(("Error %d reading CD data sector: %ld", CDIO->iotd_Req.io_Error, lba));
return 0; return 0;
} }
return 1; return 1;
@ -267,8 +263,7 @@ int DoSCSI(UBYTE *data, int datasize, Bit8u *cmd,int cmdsize, UBYTE direction)
DoIO((struct IORequest *)CDIO); DoIO((struct IORequest *)CDIO);
if (CDIO->iotd_Req.io_Error != 0) { if (CDIO->iotd_Req.io_Error != 0) {
//BX_PANIC(("DoSCSI: error %d\n", CDIO->iotd_Req.io_Error)); BX_PANIC(("DoSCSI: error %d", CDIO->iotd_Req.io_Error));
//BX_PANIC(("SCSI Status: %d\n", scmd.scsi_Status));
} }
return CDIO->iotd_Req.io_Error; return CDIO->iotd_Req.io_Error;