I've been trying to get ATA (or IDE, still not entirely sure whether they're interchangeable terms) stuff working recently, and the Wiki has quite a lot of great information on the ATA PIO Mode
page. However, I like to read through the standards one I read the explanation for something in order to get a feel for exactly what I need to do to get my code working. On that note, I was trying to find some more definitive information for the different Commands that a ATA drive supports, and the kind of information they give back, since the wiki only seems to contain what directly relevant to reading and writing to and from the disk. They make mention of the IDENTIFY command and detail some of the important fields in it, but it would be nice to have a more complete description of how things could be done.
I'm not saying that the wiki should just become a pile of standards, because that's certainly going to lead to confusion, but some more concrete links would be nice. It also seems like there's no free (as in free beer) copy of the standard either, which of course makes it hard to get a complete idea of what many of the fields mean. So, I was just wondering if there's any way I can contribute or make suggestions to the wiki. I've applied for editing rights, so I'm waiting till then, but I wanted to check with the people who know what they're doing to make sure I'm not screwing anything up.
To start, I just wanted to put a link either in the section on the IDENTIFY command, or in the external links section, to a table I found that could be useful for people trying to figure out what the data returned from the IDENTIFY command meant: https://msdn.microsoft.com/en-us/library/windows/hardware/ff559006(v=vs.85).aspx
This page, at the very least, has a summary of most of the fields of the information returned by the IDENTIFY command, which might be useful if somebody's wants a particular piece of information from the drive, but doesn't know how to obtain it.
(As a side note, is there a good way to make an archive of that page, so that if it disappears in the future there's still a link to it on the wiki?)
I was also wondering if anybody had a summary or similar of the different ATA commands, what they did, and how to use them. The wiki only seems to talk about READ_SECTORS, READ_SECTORS_EXT, WRITE_SECTORS, WRITE_SECTORS_EXT, IDENTIFY and a few other commands, and it only really provides detailed instructions on how to use a select few of them. If not, if somebody had a technical document, I'd be happy to try and summarize it and put it on a new page on the wiki, so that other people can use it in the future (It seems hard to find a document which outlines the commands you can send to a drive and how to use them.)
Again, I just wanted to check that I had the right idea, and wasn't making a mess of the wiki, it's in pretty good condition now, and I want to help keep it that way. Let me know if there's anything I'm doing wrong or changes I need to make. The ATA PIO Mode page might not even be the right place for it, but it seems like a good of a place as any to put a link like that (unless a new page gets made about all the different ATA commands).