9801 HDD (dunno why it's A: but look at the free space) Looks like it's IDE driver expects there to be no delay between sectors in block mode so it can just read as fast as possible until the number of sectors per block is reached. Also, it tries to translate 512byte into 256byte sectors without some flag set the I haven't figured out yet.
Edit: Our IDE says that it only supports one sector per block but the bios tries to set it to 16 anyway. If an error is then returned it gives up but then hangs later because it expects the error status bit to be cleared without starting a new command.