thanks Luciano,

unfortunatly the web page that you provided never provided any more information but through that web page i found that i had missed something. there is a line on the ide connector called ALE.

it is some sort of old ATX information strobe line and I did not connect this since it has not been used for years, but by doing this it was sending the drive crazy. once i had pulled it up to 5v through a resistor it was fine.

for further information, i found this by a man called wesley a lot more helpful. plus also the ata2 specfication paper which i found at the t13 website along with all the other specifications.

just for everyones reference before writing the read command, ALL of the logical block addresses MUST be written to, for example if you were wanting to read lba 0 (master boot record) then you would write 0 to ALL the appropriate registers, not just the lba 0-7 register like i did :P

thanks again Luciano, i know that not many people will be willing to touch this subject with a 50 foot barge pole but im sure ill be back in a bit asking more questions.

Also, if anyone else is having a go at this, then i would like to know how you are getting on.

cheers, phil