This message is from the T13 list server.
How commonly do boot BIOS actually leave BSY and/or DRQ set? Do Linux/ Mac/ Windows/ etc. always begin life by repeating the resets that the t13.org texts say may complete slowly? Curiously yours, thanks in advance, Pat LaVarre P.S. I ask because lately I saw the bus trace: ... RD STATUS 1F7 50 RDY/DSC 6.070 US WR DRV/HEAD 1F6 B0 CHS/DRV1/HEAD=0 2.601 SEC WR FEATURES 1F1 00 UNKNOWN FEATURE 1.290 US RD STATUS 1F7 50 RDY/DSC 1.650 US WR DRV/HEAD 1F6 B0 CHS/DRV1/HEAD=0 1.440 US WR FEATURES 1F1 00 UNKNOWN FEATURE 1.200 US WR CYL LO 1F4 00 1.200 US WR CYL HI 1F5 08 1.230 US WR COMMAND 1F7 A0 ATAPI PACKET CMD 3.130 US RD STATUS 1F7 58 RDY/DSC/DRQ 15.96 SEC RD STATUS 1F7 58 RDY/DSC/DRQ 525.3 MS WR DRV/HEAD 1F6 E0 LBA/DRV0/HEAD=0 1.420 US ... That's right, this boot BIOS chooses to leave the device waiting indefinitely for Command Out bytes, and then gleefully proceeds to write DEV while BSY|DRQ. Could have been provoked by confusion over whether Atapi CO has an INTRQ or not, I suppose. Reminds me of a x13 byte .com abuse I once saw: :0100 BAF603 MOV DX,03F6 :0103 B004 MOV AL,04 :0105 EE OUT DX,AL :0106 31C0 XOR AX,AX :0108 EE OUT DX,AL :0109 BA7603 MOV DX,0376 :010C B004 MOV AL,04 :010E EE OUT DX,AL :010F 31C0 XOR AX,AX :0111 EE OUT DX,AL :0112 C3 RET Dos Debug.exe asm like that sends an SRST to the two legacy PC IDE busses no matter what was going on and without waiting for the SRST to complete. These two abuses might frequently cancel each other, if in combination they actually win the indeterminate races they provoke.
