VOGONS


First post, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

Is there a good place documenting the IDE commands, their parameters and their expected responses?

For example for floppy disk controller I have this: http://www.isdaman.com/alsos/hardware/fdc/floppy.htm. Which is great!
In fact same guy has good documentation for IDE here: http://www.isdaman.com/alsos/hardware/hdc/. However most of it is aimed at more advanced HW (ATA-6 for example).

I've looked at existing emulator implementations (like Unipcemu and PCEM) and I learned a lot but they also seem to mash more things together (ATA, ATAPI, IDE, CDROM).

What I am looking for is: hey if you want to read send LBA address (sector, cylinder, head) and _THIS_ command and then the controller will call _THIS_ IRQ and give you back _THIS_ structure to tell you how your read went.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 1 of 6, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

Found another good description:

ftp://ftp.seagate.com/acrobat/reference/111-1c.pdf

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 2 of 6, by superfury

User metadata
Rank l33t++
Rank
l33t++

My emulation is based on two specifications only: ATA-1 for emulated harddisks and ATA/ATAPI-4 for CD-ROM drives(still buggy for some unknown reasons).

Yes, both are combined into a single version, using either ATA-1(HDD only) or ATA/ATAPI-4(CD-ROM only). And even so, only implemented the mandatory commands(and read/write many commands, since XT-IDE strangely seems to assume they exist with autodetection, even though they aren't mandatory).

Last edited by superfury on 2017-08-30, 10:10. Edited 1 time in total.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 3 of 6, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie
superfury wrote:

Yes, both are combined into a single version, using either ATA-1(HDD only) or ATA/ATAPI-4(CD-ROM only).

Yes that is fine. I will be doing exactly the same thing. However when you learn that is a bit less clear 😀

superfury wrote:

And even so, only implemented the mandatory commands(and read/write many commands, since XT-IDE strangely seems to assume they exist with autodetection, even though they aren't mandatory).

That makes sense. My aim will initially be the same.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 5 of 6, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Me, too. Personally, I'd also make sure good WD1003 compatibility is assured.
http://geekscomputer.blogspot.de/2008/07/ata- … mmands-set.html
http://www.vcfed.org/forum/archive/index.php/t-41445.html

Edit: Also have a look at an older release of PCE. If you need more documentation, have a look at archive.org.
Magazines and PC repair/compendium books from the mid-80s do often contain valuable information.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 6, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

Thank you Jepael and Jo22, those are good pointers. I'll see if I can compile a list of resources and put it here for other to use.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/