On Tue, 7 Oct 1997 00:34:46 -0400 Steven J Tucker writes: >On Mon, 6 Oct 1997, WF AUTOMA=?iso-8859-1?Q?=C7=C3O ?= wrote: > >> Hummm, i think that the transfer used in the old PC was with the >Pins Control >> (strobe/Init/Error), not with Data Bus! > >Interesting trick, probably off topic. :) The DATA outputs are > unidirectional, but reading that register actually reads the state of > the latches. > >If you set the output latches of the port HIGH, then drag the > outputs low (most have current limiting resistors) and read the data >latch, > it reads those lines as low. The old ones used a 74LS373 to drive the outputs, this chip has heavy-duty outputs of 24 mA source and 48 mA sink. Any "current limiting resistor" is on the order of 30 ohms and intended to damp ringing on the line rather than limit the DC current. Newer cards amy not have as much drive, so if your project was tested on one of those it may not work with an old one. Forcing all 8 lines low may overheat the driver chip, though you could get away with one or 2 there's really no need to. On "bi-directional" ports, writing a 1 to bit 5 of X7A will turn off the drivers on the data bus and allow external data to be read in from X78. Nearly all new cards have at least this "advanced" feature, though there may be a jumper to disable it and force the old mode of operation. > >I once needed just 1 more active low input on a project, this worked >fine and > never damaged the port. I had to boost the drain by using the 2 >leftover > gates of an inverter, but it worked :) The 4 control lines driven by X7A are open-collector with pullup resistors on the printer card, so they can be set high, but will read low if an external device pulls them low. The value of the pull-up resistor varies between 1 and 4.7K depending on the card. These are useful for I2C devices. The 5 status lines on X79 are input only. Some of the lines in both ports are logically inverted between the register bits and the pin, but this is entirely standard between different cards.