VOGONS


Reply 20 of 22, by douglar

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2024-05-13, 05:31:

I've seen a drive with broken IOCHREADY output that pulls the line constantly low, and thus halts the ISA bus completely as soon as it is connected. That drive happens to work on a Tekram DC-680, which constantly runs the IDE drives in PIO 0, and obviously without IOCHRDY. As PIO 0 is faster than the default ISA port I/O timing in most systems, all drives that work on that Tekram controller should work fine with the IOCHRDY jumper removed.

Is this why most computers lock up tight when you plug the IDE cable in backwards?

Reply 21 of 22, by mkarcher

User metadata
Rank l33t
Rank
l33t
douglar wrote on 2024-05-13, 11:09:
mkarcher wrote on 2024-05-13, 05:31:

I've seen a drive with broken IOCHREADY output that pulls the line constantly low, and thus halts the ISA bus completely as soon as it is connected.

Is this why most computers lock up tight when you plug the IDE cable in backwards?

That might be one contribution, but it most likely is not the only reason. https://superuser.com/a/786635 has a nice picture of the IDE connector pin assignments. Another very notable issue with a cable plugged in backwards is that Pin 1 (RESET) is connected to Pin 40 on the IDE drive, which is grounded. Because usually the Molex connector is still in place on the hard drive when you plug the IDE cable backwards, you can assume grounded pins to have proper ground, even with the cable turned around. While RESET is active high on the ISA bus, so this doesn't force a permanent reset, it can prevent any reset pulse from happening, preventing system initialization.

Furthermore, D0,D1 and D3 are grounded if the cable is plugged in backwards, but as there typically is a buffer chip on D0-D7 on IDE controllers, this does not immediately kill the ISA bus. A more serious issue is connecting most of the bus control lines to D8-D15, which are often unbuffered on very cheap controllers. So depending on the data pattern on the bus, the drive starts seeing bus cycles. Especially, as soon as /CS1FX and /DIOR are low (that is D8 and D14 are low, the drive plugged in backwards sees it as "read request from the drive"), it starts outputting data on its data pins, which are connected to bus control pins. Again, this will most likely disturb bus operation.

Reply 22 of 22, by douglar

User metadata
Rank Oldbie
Rank
Oldbie
mkarcher wrote on 2024-05-17, 13:38:

Furthermore, D0,D1 and D3 are grounded if the cable is plugged in backwards, but as there typically is a buffer chip on D0-D7 on IDE controllers, this does not immediately kill the ISA bus. A more serious issue is connecting most of the bus control lines to D8-D15, which are often unbuffered on very cheap controllers. So depending on the data pattern on the bus, the drive starts seeing bus cycles. Especially, as soon as /CS1FX and /DIOR are low (that is D8 and D14 are low, the drive plugged in backwards sees it as "read request from the drive"), it starts outputting data on its data pins, which are connected to bus control pins. Again, this will most likely disturb bus operation.

Thanks for the detailed explanation. I appreciate it.

And every time I stare at a black screen waiting for the POST beep that never comes, I count my blessing that the inverted IDE cable hasn't had the same impact as a swapped P8 & P9. I got P8 & P9 wrong once. I was working desktop support at a library in 1989. When I turned on the power, I didn't get the age old "beep and the seek" of the 5150. Instead I got a spectacular 3 foot long jet of green smoke and one completely amazed librarian. "Maybe it will work if you try turning it on again" Lol!