ATA/ATAPI specification

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
johnsa
Member
Member
Posts: 296
Joined: Mon Oct 15, 2007 3:04 pm

ATA/ATAPI specification

Post by johnsa »

Hi,

Does anyone know where I can download the latest ata/atapi spec from?

I've read some of the tutorials on using PIO and LBA28/48 for hdd access and they've been very helpful, but to fully support and implement an hdd driver for my os I really want to know about using UDMA properly, atapi and setting the pio/udma modes for maximum transfer rates. Also how to identify/configure the devices properly and to obtain their respective geometry and feature support.

Thanks!
John
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Post by Brynet-Inc »

You could of at least searched around a little.... ;)

Several standards are indexed on Wikipedia.

Another useful site is http://www.ata-atapi.com/
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
johnsa
Member
Member
Posts: 296
Joined: Mon Oct 15, 2007 3:04 pm

Post by johnsa »

Thanks :)

Did make a quick google search and all the sites I came up with wanted $$ for the downloads/specs. Will check the wiki first in future ;)
User avatar
bewing
Member
Member
Posts: 1401
Joined: Wed Feb 07, 2007 1:45 pm
Location: Eugene, OR, US

RE: UDMA / ADMA

Post by bewing »

Once you understand the methodology of LBA disk transfers, sadly, all the rest of the implementation of DMA methods is specific to PCI (with its Bus Mastering DMA protocol over the PCI bus). Unfortunately, the PCI specs cost $1500, and I have never found a free copy. Basically, it's a matter of getting the BAR (base address register) out of the PCI configuration space of the PCI disk controller, as I understand it -- but I have not implemented it myself, yet. So, you will be able to find more info on various wikis about reading PCI configurations -- but I don't think you will find the official specs.
Pavia
Posts: 23
Joined: Mon Jun 25, 2007 2:54 pm
Location: Russia

Post by Pavia »

Last ata/atapi spec you can found on site
http://www.t13.org/

Example, seach :)
http://www.google.ru/search?complete=1& ... 13.org&lr=
Thanks

Did make a quick google search and all the sites I came up with wanted $$ for the downloads/specs. Will check the wiki first in future
You used not right Google :D
Unfortunately, the PCI specs cost $1500, and I have never found a free copy.
For programming UDMA you mast have

"Programming Interface for Bus Master IDE Controller" (IDE-BusMaster.pdf)
Last edited by Pavia on Fri Oct 19, 2007 5:36 am, edited 1 time in total.
Sorry, my bed english. =)
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Post by Combuster »

Free copy
<link>
Uhm, the PCI spec is copyrighted and downloading it that way is illegal. Please remove the link since authorities might consider that in violation of the law.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
Post Reply