OK, some progress!
After having redetected the i440fx hardware, an Execute Device/Drive diagnostic command bugfix and the NOIDE registry entry removed, the hard drive gets properly loaded with it's drivers 😁 No more error 10!
I also notice that on the i440fx, a "IRQ Holder for PCI Steering" is added, with the IRQ that's assigned in the BIOS in it 😁 Some surprise progress!
Don't know what happens when I add the primary slave back (it was temporarily removed from the system to simplify testing the new execute device diagnostic command).
Edit: OK. Now the DMA option is present on the hard disk at least, on to testing (I'll check and test the CD-ROM drives later)...
So far it looks fine. I'll see what a boot with DMA (which should be the PCI IDE busmastering that's now actually emulated) enabled does... Fingers crossed...
Edit: The issue of rebooting having the CD-ROM drives disappear for some reason remains...
Edit: I see a Read DMA command after proper documented initialization of the DMA controller...
Then the initial timeout for the read to take place from the drive...
DMA command bit 0 set...
PRDT loaded correctly...
Written to RAM...
Finishing the PRDT entry eventually, clearing status bit 0...
Hmmm... No more DMA after the first sector has been transferred using DMA... Perhaps na IRQ issue...
Edit: Indeed, the final interrupt after the sector(s) were read was missing for DMA(they weren't there for non-DMA transfers, which was still unadjusted).
Edit: The same for interrupts needing to be surpressed for reads from ATAPI device sectors, which were missing as well (they were issuing IRQs for each transferred sector).
Edit: The Read DMA and Write DMA seems to work from what I can see (didn't check with the Windows driver status yet). I see it transferring reads and writes using DMA now 😁
Edit: Just found some more bugs in DMA handling with the ATAPI drives (the error conditions not stopping DMA transfers, unused ATAPI read sector results, spin response pausing DMA transfers until ready, mode sense raising IRQs in DMA mode, various other ATAPI functions raising IRQs in DMA modes).