Link to home
Start Free TrialLog in
Avatar of miket_w
miket_w

asked on

Interfacing with a Serial ATA Hard drive in DOS

Hello,

I am trying to interface with a SATA hdd using its controller IO port. I want to send the drive an IDENTIFY command (0xEC) to the hdd command register and then extract the result (such as HDD name, serial no etc). I already have code that interfaces with IDE harddrives and returns the correct information (outputs ID command to port 01F0, Primary IDE channel address).

I can only get a blank response from the SATA controller (base address EC00h in this instance) so I am assuming using this controler is different in how it works. Does anyone know how I can send an IDENTIFY command to the serial ata controllers port and retrieve the info successfully?
According to serial ata documentation the command is the same..
My application is written in C, but the port IO routines are simple asm routines.

If anyone can point me in the right direction on how to interface with serial ata it would be appreciated.


ASKER CERTIFIED SOLUTION
Avatar of sunnycoder
sunnycoder
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial