1234567891011121314151617181920212223242526272829303132333435363738 |
- ;;; ----------------------------------------------------------------------
- ;;; ATA IDE drive stuff
- IDE_REG_data = 0
- IDE_REG_error = 1 ; when reading
- IDE_REG_count = 2 ; number of sectors to read/write
- IDE_REG_LBA0 = 3
- IDE_REG_LBA8 = 4
- IDE_REG_LBA16 = 5
- IDE_REG_LBA24 = 6 ; b4 = drive#=0, b6=LBA=1, b5+7=1
- IDE_REG_sector = 3
- IDE_REG_cylinderlo = 4
- IDE_REG_cylinderhi = 5
- IDE_REG_head = 6 ; b4 = drive#, b6=LBA=0
- IDE_REG_status = 7 ; when reading
- IDE_REG_command = 7 ; when writing
- IDE_head_drive = 16 ; various bit fields
- IDE_head_LBA = 64
- IDE_head_extras = 128 + 32 ; required MFM codes
- IDE_status_Busy = 128
- IDE_status_Ready = 64
- IDE_status_DataReq = 8
- IDE_status_Err = 1
- IDE_DCR_SRST = $04
- IDE_CMD_IdentifyDrive = $EC
- IDE_CMD_Idle = $95
- IDE_CMD_InitDriveParams = $91
- IDE_CMD_ReadSector = $20
- IDE_CMD_Seek = $70
- IDE_CMD_Recalibrate = $10
- IDE_CMD_SetFeatures = $EF
- IDE_CMD_WriteSector = $30
- ;;; ----------------------------------------------------------------------
|