I still remmber an IDE code that would work with Samsung HDD's but not IBM hdd's. So it is possible to have disk/chipset specific code.
Thats buggy IDE hardware either the host chipset or the drive. I've written lowlevel IDE routines for another project that do direct LBA sector reads and the interface to that is outlined in a spec and not in anyway chipset specific.
now all we need someone to fix the code :-)
Pehaps we could get the bochs people to do it. Some e-mail to them with our modified routines from ADLO would at least generate some feeback on what they thought the most "correct" setup is.
But is it currently even a problem? What does the latest bochs bios do that the ADLO dosen't?