Hi
I need a more native way for my program to "talk" to hard disks (partly for the reasons in thsi linked thread, amongst others :
http://forum.lazarus.freepascal.org/index.php/topic,29987.msg190306.html#msg190306). i.e. instead of using WinAPI calls like CreateFileW and so on, that rely on what the OS understands of the hardware, I actually need to ask the disks ATA controller questions and get the answers directly. This means I need to write (or find) a disk driver that I can distribute with my program.
Other than this (
http://wiki.lazarus.freepascal.org/Target_NativeNT) and a few articles about existing keyboard, mouse and video card driver units, info seems to be a little slim. I have a copy of the 2005 ATA specifications, but working out how the various flags in that specification correspond to writing of a driver with FPC, I have no idea.
Does anyone have any links to either projects that teach you the basics of writing hardware drivers, existing disk drivers with accompanying API (not sure if I could use this:
https://github.com/zero-point/diskdriver) or any general advice on achieving this.
Yes : I know it will not be easy. Yes, I know it will mean bit level values and so on. Yes, I know it's not a task for someone who has never done it before. But we have to start somewhere. Thus my question.
Ted