SimonSoft's IDE-hardware for ATARI-computers. Chapter 1, IDE-protocoll Port / Addresses used in ATARI: ------------------------------- HEX. DEC. : read : write $D100 (54528): data : data $D101 (54529): error : precomp (precomp is not used) $D102 (54530): sector count (sectors to r/w, 0=256 sectors) $D103 (54531): sector number (sector, 1 t/m max sec/cyl) $D104 (54532): cylinder low (0 t/m max) $D105 (54533): cylinder high $D106 (54534): Drive+Head (master xxx0xxxx, slave xxx1xxxx) $D107 (54535): Status : Command* *) Set :Cleared Bit 7 : busy :drive-logic is ready. Bit 6 : ready for command :busy or error. Bit 3 : ready for data (after command) :error (invalid sector/head/cylinder). Bit 1 : error during/after operation :data transfer succesfull. **) Read this register to clear bit 1 or set bit 3 in status-register. How to read/write : ------------------- 1) Read $D101 to clear any error-status. 2) Set requested drive+head (Master or Slave becomes now active) 3) Check if status bit7 is cleared and drive is ready for command. 4) Set requested sectornumber, cylinder and sector-count. 5) Write command in command-register. READ) command is $21 wait for status bit3 to set Check for error (corrupt data) Read 512 bytes of data outof the data-register WRITE) Command is $31 Wait for status bit3 to set Write 512 bytes of data into the data-register Wait for status bit7 to clear (busy) and set (ready) Check for error (corrupt write) (Edited 04-03-2000 By Mr. Atari. No warranty)