There's something there that caught my eye. Do you know whether there's a slave drive on the primary channel?
Right after the line
Code: Select all
DEBUG IDE try to detect disk 0:1
Code: Select all
DEBUG IDE disk 01 driverDetect:2899 expect interrupt
Code: Select all
DEBUG IDE disk 01 wait (poll) for interrupt 14 ack=0
I'll need to check the code that issues the 'identify' command for robustness, so that it doesn't crash if there's no/bogus data in the buffer (bug #1 - the actual crash), and hopefully adding an interrupt acknowledgement will stop the polling code from being fooled (bug #2) by that extra interrupt.