It hadn't occurred to me that PATA/IDE could be so simple to speak. Now I'm excited about the possibility of being able to dump a 25 or 30-year-old IDE drive I have that my USB adapter doesn't want to talk to (via another SATA-to-IDE adapter).
The README says this option relies on the kernel's "ATA framework" (presumably for the protocol/non-interfacing logic?). Is that part of the "talking to a drive" stack very much to have to implement? Or do you know of any existing code for microcontrollers?
Depends on what you want to do :)
If you just want to read/write sectors of 512 bytes at a time, it's pretty easy to implement even on a simple MCU.
There's a couple of registers which need to be set:
https://wiki.osdev.org/ATA_PIO_Mode
and you can then just read/write the data from the parallel lines.
Here's a similar project using an ATmega32:
https://github.com/zwostein/idetrol
(i used this code, ported to ARM to check my hardware before I wrote the kerneldriver)
Wow, that's amazing. Nowadays a 3$ board from aliexpress can do the same (with SD card or USB drive instead) and much more - more formats supported, Bluetooth etc. How the technology progressed.
Who doesn't want a micropython board with gigabytes of code space ? :-)