Thanks for the links Irving. Yes just interested in the mechanicals and primarily IDE. I don't want to read or write, only position head which I think is called seek. For arguments sake assume the drive has 1024 blocks. If the head is at 512 and I want to read block 1024, does the drive have to be told the starting block is 512 and the number of blocks to read is 512 or does it use that info to calculate getting to block 1024 for the read? I assume the latter which would mean in order to get where you want to go, you need to know where you currently are. In that case, if one is lost there must be a way to reset to a known position? I've looked at a few drive datasheets but they don't cover this stuff.SATA or IDE interface? I assume you're not interested in accessing the data, just the mechanical functions? Neither interface gives direct control of the head positioning. Drives are treated as a contiguous stream of 512 byte blocks and the command protocol just requests a starting block and number of blocks to read and the drive does the rest. IDE would be much simpler interface, 16bit parallel I/F and a write pulse
Of course, if you want to access the mechanism that drives the head position you'll first need to figure out what type of mechanism it is, as various methods have been used.
https://allpinouts.org/pinouts/conn...a-sata-serial-advanced-technology-attachment/
https://pinoutguide.com/HD/AtaInternal_pinout.shtml