home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / MAXONPASCAL2.DMS / in.adf / INCLUDE / devices / trackdisk.h < prev   
Encoding:
Text File  |  1994-07-25  |  3.4 KB  |  148 lines

  1. {$if not def DEVICES_TRACKDISK_H} CONST DEVICES_TRACKDISK_H=0;
  2.  
  3. { *********************************************************************
  4.   ** KickPascal-Include-Datei "devices/trackdisk.h" zu Kickstart 3.0 **
  5.   ********************************************************************* }
  6.  
  7. TYPE p_IOExtTD = ^IOExtTD;
  8. TYPE p_DriveGeometry = ^DriveGeometry;
  9. TYPE p_TDU_PublicUnit = ^TDU_PublicUnit;
  10.  
  11. {$if not def EXEC_IO_H;incl "exec/io.h";endif}
  12. {$if not def EXEC_DEVICES_H;incl "exec/devices.h";endif}
  13.  
  14. CONST
  15.  NUMSECS     = 11;
  16.  NUMUNITS    = 4;
  17.  TD_SECTOR   = 512;
  18.  TD_SECSHIFT = 9;
  19.  
  20.  CONST TD_NAME = "trackdisk.device";
  21.  
  22.  
  23.  CONST TDF_EXTCOM = $8000;
  24.  
  25. CONST
  26.  TD_MOTOR         = (CMD_NONSTD+0);
  27.  TD_SEEK          = (CMD_NONSTD+1);
  28.  TD_FORMAT        = (CMD_NONSTD+2);
  29.  TD_REMOVE        = (CMD_NONSTD+3);
  30.  TD_CHANGENUM     = (CMD_NONSTD+4);
  31.  TD_CHANGESTATE   = (CMD_NONSTD+5);
  32.  TD_PROTSTATUS    = (CMD_NONSTD+6);
  33.  TD_RAWREAD       = (CMD_NONSTD+7);
  34.  TD_RAWWRITE      = (CMD_NONSTD+8);
  35.  TD_GETDRIVETYPE  = (CMD_NONSTD+9);
  36.  TD_GETNUMTRACKS  = (CMD_NONSTD+10);
  37.  TD_ADDCHANGEINT  = (CMD_NONSTD+11);
  38.  TD_REMCHANGEINT  = (CMD_NONSTD+12);
  39.  TD_GETGEOMETRY   = (CMD_NONSTD+13);
  40.  TD_EJECT         = (CMD_NONSTD+14);
  41.  TD_LASTCOMM      = (CMD_NONSTD+15);
  42.  
  43.  ETD_WRITE    = (CMD_WRITE or TDF_EXTCOM);
  44.  ETD_READ     = (CMD_READ or TDF_EXTCOM);
  45.  ETD_MOTOR    = (TD_MOTOR or TDF_EXTCOM);
  46.  ETD_SEEK     = (TD_SEEK or TDF_EXTCOM);
  47.  ETD_FORMAT   = (TD_FORMAT or TDF_EXTCOM);
  48.  ETD_UPDATE   = (CMD_UPDATE or TDF_EXTCOM);
  49.  ETD_CLEAR    = (CMD_CLEAR or TDF_EXTCOM);
  50.  ETD_RAWREAD  = (TD_RAWREAD or TDF_EXTCOM);
  51.  ETD_RAWWRITE = (TD_RAWWRITE or TDF_EXTCOM);
  52.  
  53. TYPE IOExtTD = RECORD
  54.  iotd_Req      : IOStdReq;
  55.  iotd_Count    : Long;
  56.  iotd_SecLabel : Long;
  57. END;
  58.  
  59. TYPE DriveGeometry = RECORD
  60.  dg_SectorSize   : Long;
  61.  dg_TotalSectors : Long;
  62.  dg_Cylinders    : Long;
  63.  dg_CylSectors   : Long;
  64.  dg_Heads        : Long;
  65.  dg_TrackSectors : Long;
  66.  dg_BufMemType   : Long;
  67.  dg_DeviceType   : Byte;
  68.  dg_Flags        : Byte;
  69.  dg_Reserved     : Word;
  70. END;
  71.  
  72. CONST
  73.  DG_DIRECT_ACCESS     = 0;
  74.  DG_SEQUENTIAL_ACCESS = 1;
  75.  DG_PRINTER           = 2;
  76.  DG_PROCESSOR         = 3;
  77.  DG_WORM              = 4;
  78.  DG_CDROM             = 5;
  79.  DG_SCANNER           = 6;
  80.  DG_OPTICAL_DISK      = 7;
  81.  DG_MEDIUM_CHANGER    = 8;
  82.  DG_COMMUNICATION     = 9;
  83.  DG_UNKNOWN           = 31;
  84.  
  85. CONST
  86.  DGB_REMOVABLE = 0;
  87.  DGF_REMOVABLE = 1;
  88.  
  89. CONST
  90.  IOTDB_INDEXSYNC = 4;
  91.  IOTDF_INDEXSYNC = $10;
  92.  
  93. CONST
  94.  IOTDB_WORDSYNC  = 5;
  95.  IOTDF_WORDSYNC  = $20;
  96.  
  97.  
  98. CONST TD_LABELSIZE = 16;
  99.  
  100. CONST
  101.  TDB_ALLOW_NON_3_5  = 0;
  102.  TDF_ALLOW_NON_3_5  = $1;
  103.  
  104. CONST
  105.  DRIVE3_5        = 1;
  106.  DRIVE5_25       = 2;
  107.  DRIVE3_5_150RPM = 3;
  108.  
  109.  
  110. CONST
  111.  TDERR_NotSpecified   = 20;
  112.  TDERR_NoSecHdr       = 21;
  113.  TDERR_BadSecPreamble = 22;
  114.  TDERR_BadSecID       = 23;
  115.  TDERR_BadHdrSum      = 24;
  116.  TDERR_BadSecSum      = 25;
  117.  TDERR_TooFewSecs     = 26;
  118.  TDERR_BadSecHdr      = 27;
  119.  TDERR_WriteProt      = 28;
  120.  TDERR_DiskChanged    = 29;
  121.  TDERR_SeekError      = 30;
  122.  TDERR_NoMem          = 31;
  123.  TDERR_BadUnitNum     = 32;
  124.  TDERR_BadDriveType   = 33;
  125.  TDERR_DriveInUse     = 34;
  126.  TDERR_PostReset      = 35;
  127.  
  128.  
  129. TYPE TDU_PublicUnit = RECORD
  130.  tdu_Unit           : Unit;
  131.  tdu_Comp01Track    : Word;
  132.  tdu_Comp10Track    : Word;
  133.  tdu_Comp11Track    : Word;
  134.  tdu_StepDelay      : Long;
  135.  tdu_SettleDelay    : Long;
  136.  tdu_RetryCnt       : Byte;
  137.  tdu_PubFlags       : Byte;
  138.  tdu_CurrTrk        : Word;
  139.  tdu_CalibrateDelay : Long;
  140.  tdu_Counter        : Long;
  141. END;
  142.  
  143. CONST
  144.  TDPB_NOCLICK  = 0;
  145.  TDPF_NOCLICK  = $1;
  146.  
  147. {$endif}
  148.