36 for (UnitNumber = 0; UnitNumber <= DetectedCount; UnitNumber++)
66 if (DriveNumber < 0x80 || (DriveNumber & 0x0F) >= 2)
77 if (((DriveNumber & 0xF0) > 0x80) &&
CdDrive)
92 TRACE(
"XboxDiskReadLogicalSectors() DriveNumber: 0x%x SectorNumber: %I64d SectorCount: %d Buffer: 0x%x\n",
107 TRACE(
"XboxDiskGetDriveGeometry(0x%x)\n", DriveNumber);
#define DBG_DEFAULT_CHANNEL(ch)
PDEVICE_UNIT AtaGetDevice(IN UCHAR UnitNumber)
BOOLEAN AtaAtapiReadLogicalSectorsLBA(IN OUT PDEVICE_UNIT DeviceUnit, IN ULONGLONG SectorNumber, IN ULONG SectorCount, OUT PVOID Buffer)
BOOLEAN AtaInit(OUT PUCHAR DetectedCount)
ULONG BytesPerSector
Number of bytes per sector.
ULONG Cylinders
Number of cylinders on the disk.
ULONGLONG Sectors
Total number of disk sectors/LBA blocks.
ULONG SectorsPerTrack
Number of sectors per track.
ULONG Heads
Number of heads on the disk.
static PDEVICE_UNIT HardDrive
static BOOLEAN AtaInitialized
static PDEVICE_UNIT XboxDiskDriveNumberToDeviceUnit(UCHAR DriveNumber)
BOOLEAN XboxDiskReadLogicalSectors(IN UCHAR DriveNumber, IN ULONGLONG SectorNumber, IN ULONG SectorCount, OUT PVOID Buffer)
ULONG XboxDiskGetCacheableBlockCount(UCHAR DriveNumber)
BOOLEAN XboxDiskGetDriveGeometry(UCHAR DriveNumber, PGEOMETRY Geometry)
static PDEVICE_UNIT CdDrive
VOID XboxDiskInit(BOOLEAN Init)