Hmmm... The final INSW was a word from the 8th hard disk sector(loading sector 0x48 as the next sector, becoming busy for 60000ns('reading the next sector from disk', with an IRQ following that delay to start reading the next sector from the disk controller)). It has 0x37 sectors(started out with 0x3F sectors) left to read from the disk. The next sector is supposed to be read at logical memory location 0x
At that point, I see no more disk access(except the status register), no page fault of any kind.
After that, I see it being busy for some time, then the status register becomes 0x90(when it raises the IRQ)?
It seems like it's resetting the device before the IRQ arrives? That 0x90 is actually Windows NT having reset the device.
Edit: Hmmm.... With earlier sectors, it reads the status register twice, reading 0x58. But the final one(when it resets after that), it reads it for a third time(also finding 0x58)?
Edit: Hmmm... I see the status register reads after a new sector arrives at EIP of 80407004. The REP INSW is at 80407042.
The status register reads are always at 0x80407004, including the strange third status register read after the sector where it resets the ATA controller?
Edit: This is what happens after the second status register being read: