--- BasiliskII/src/disk.cpp 2002/02/07 16:10:55 1.14 +++ BasiliskII/src/disk.cpp 2008/01/01 09:40:31 1.19 @@ -1,7 +1,7 @@ /* * disk.cpp - Generic disk driver * - * Basilisk II (C) 1997-2002 Christian Bauer + * Basilisk II (C) 1997-2008 Christian Bauer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -326,7 +326,7 @@ int16 DiskPrime(uint32 pb, uint32 dce) size_t length = ReadMacInt32(pb + ioReqCount); loff_t position = ReadMacInt32(dce + dCtlPosition); if (ReadMacInt16(pb + ioPosMode) & 0x100) // 64 bit positioning - position = ((loff_t)ReadMacInt32(pb + ioWPosOffset) << 32) || ReadMacInt32(pb + ioWPosOffset + 4); + position = ((loff_t)ReadMacInt32(pb + ioWPosOffset) << 32) | ReadMacInt32(pb + ioWPosOffset + 4); if ((length & 0x1ff) || (position & 0x1ff)) return paramErr; @@ -510,6 +510,22 @@ int16 DiskStatus(uint32 pb, uint32 dce) Mac2Mac_memcpy(pb + csParam, info->status, 22); return noErr; + case 44: // get startup partition status: http://developer.apple.com/documentation/Hardware/DeviceManagers/ata/ata_ref/ATA.21.html + printf("WARNING: DiskStatus(44:'get startup partition status') Not Implemented\n"); + return statusErr; + + case 45: // get partition write protect status: http://developer.apple.com/documentation/Hardware/DeviceManagers/ata/ata_ref/ATA.23.html + printf("WARNING: DiskStatus(45:'get partition write protect status') Not Implemented\n"); + return statusErr; + + case 46: // get partition mount status: http://developer.apple.com/documentation/Hardware/DeviceManagers/ata/ata_ref/ATA.22.html + printf("WARNING: DiskStatus(46:'get partition mount status') Not Implemented\n"); + return statusErr; + + case 70: // get power mode status: http://developer.apple.com/documentation/Hardware/DeviceManagers/ata/ata_ref/ATA.24.html + printf("WARNING: DiskStatus(70:'get power mode status') Not Implemented\n"); + return statusErr; + default: printf("WARNING: Unknown DiskStatus(%d)\n", code); return statusErr;