3 ms·
> Even better, the original IBM PC was capable of a "direction-switching" handshake that allowed the peripheral to use the full 8 bit data bus to return data. T
by mikepavone 4y ago
> Even better, the original IBM PC was capable of a "direction-switching" handshake that allowed the peripheral to use the full 8 bit data bus to return data. This feature was apparently unused and disappeared from subsequent PCs, which is ironic considering later events.
I guess this is talking about the XT and AT, but the article kind of makes it sound like this simple bidirectional mode was gone from all PCs after the 5150 when it in fact came back with the PS/2 and remained present on clones long after that. You generally needed to set the right parallel port mode in the BIOS, but I was using this simple bidirectional mode for communicating with a Sega Genesis over its controller port in the mid-2000s.
- jcrawfordor 4y agoSorry, that is a bit unclear. You're right, sort of the oddest thing about IBM's basic bidirectional mode (which is pretty much equivalent to byte mode in 1284) is that support for it went away only briefly. I sort of wonder about the internal events at IBM here, one would think they were probably starting to develop applications for bidirectional mode at the same time they stopped including it, since they brought it back pretty quickly. Something I didn't make clear enough in general is that, as with several other interfaces, the modern "parallel port" is pretty much a clone of the PS/2 specifically.
- mikepavone 4y ago> You're right, sort of the oddest thing about IBM's basic bidirectional mode (which is pretty much equivalent to byte mode in 1284) is that support for it went away only briefly. I sort of wonder about the internal events at IBM here, one would think they were probably starting to develop applications for bidirectional mode at the same time they stopped including it, since they brought it back pretty quickly. You got me curious about this and so I looked into it a bit further. I managed to find IBM's technical documentation[0] for the original printer original printer port card and it looks like it only sort of supports bidirectional use of the data pins. It supports reading the state of the data pins, but it seems this was intended to be used for diagnostic purposes. There's no way to disable the output drivers for these pins like there are on later bidirectional ports. The manual does mention that if something happens to drive the pins the result of reading the port will be that value ORed with whatever was written previously (though I've seen claims elsewhere that it's actually more of an AND), but it also cautions that driving these pins externallly is "in violation of usage ground rules". Apparently some folks did use it this way though and perhaps that's what inspired making it properly supported in the PS/2. It's unclear where this idea that the original PC had this feature, but it went away came from. I looked at the manual for the AT's serial/parallel combo card[1] and the parallel port portion is almost identical. I guess it's possible the hack to use unidirectional didn't work in some 3rd party cards or clones. [0] https://minuszerodegrees.net/oa/OA%20-%20IBM%20Printer%20Adapter.pdf https://minuszerodegrees.net/oa/OA%20-%20IBM%20Printer%20Ada... [1] https://www.minuszerodegrees.net/oa/OA%20-%20IBM%20PC%20AT%20Serial_Parallel%20Adapter.pdf https://www.minuszerodegrees.net/oa/OA%20-%20IBM%20PC%20AT%2...