unit Trackdisk;

INTERFACE
uses Exec;


type
	pIOExtTD = ^tIOExtTD;
	tIOExtTD = record
		iotd_Req: tIOStdReq;
		iotd_Count: long;
		iotd_SecLabel: long;
		end;

	pTDU_PublicUnit = ^tTDU_PublicUnit;
	tTDU_PublicUnit = record
		tdu_Unit: tUnit;
		tdu_Comp01Track: word;
		tdu_Comp10Track: word;
		tdu_Comp11Track: word;
		tdu_StepDelay: long;
		tdu_SettleDelay: long;
		tdu_RetryCnt: byte;
		end;



const
	TD_CHANGENUM = $D;
	TD_REMOVE = $C;
	TDERR_PostReset = $23;
	TD_SECTOR = $200;
	ETD_WRITE = $8003;
	TD_LABELSIZE = $10;
	ETD_SEEK = $800A;
	TDB_ALLOW_NON_3_5 = 0;
	ETD_MOTOR = $8009;
	TDERR_WriteProt = $1C;
	TDF_ALLOW_NON_3_5 = 1;
	TDERR_BadSecPreamble = $16;
	TD_REMCHANGEINT = $15;
	TDERR_BadSecSum = $19;
	DRIVE5_25 = 2;
	TDERR_BadHdrSum = $18;
	ETD_RAWREAD = $8010;
	TDERR_NoSecHdr = $15;
	TD_NAME = 'trackdisk.device';
	ETD_RAWWRITE = $8011;
	NUMSECS = $B;
	NUMUNITS = 4;
	TD_SEEK = $A;
	TD_SECSHIFT = 9;
	TD_MOTOR = 9;
	TDERR_DiskChanged = $1D;
	TD_CHANGESTATE = $E;
	TD_PROTSTATUS = $F;
	TD_LASTCOMM = $16;
	IOTDB_INDEXSYNC = 4;
	TDERR_NoMem = $1F;
	TDERR_BadUnitNum = $20;
	IOTDF_INDEXSYNC = $10;
	TDERR_BadDriveType = $21;
	TD_GETNUMTRACKS = $13;
	TDERR_BadSecID = $17;
	TDERR_DriveInUse = $22;
	TD_RAWREAD = $10;
	TD_GETDRIVETYPE = $12;
	ETD_UPDATE = $8004;
	TDERR_TooFewSecs = $1A;
	ETD_FORMAT = $800B;
	TD_RAWWRITE = $11;
	ETD_CLEAR = $8005;
	DRIVE3_5 = 1;
	TDF_EXTCOM = $8000;
	TDERR_NotSpecified = $14;
	TDERR_SeekError = $1E;
	TD_ADDCHANGEINT = $14;
	ETD_READ = $8002;
	TD_FORMAT = $B;
	TDERR_BadSecHdr = $1B;


IMPLEMENTATION
end.
