The Printer Sharer will allow two PCs to share one parallel (Centronics) printer without manual intervention. Users simply print from their software applications as usual, and the printer sharer lets the data through on a first-come first-served basis. The computer that comes second receives a “busy” signal until the first computer has finished. Most software, including Windows 3.1 Print Manager, will happily wait for the printer to become available.
Having compiled the Centronics information, the next stage was to decide which signals from the printer go to both computers regardless, and which have to be switched.
Signal lines notated ERROR- and PAPER-OUT are connected directly from the printer to both computers since they are relevant all the time.
Signal lines ACK-, BUSY and SELECT are connected to both computers (by IC3) when the circuit is in the idle state (neither computer wanting to print). When one computer starts sending data, these three signals are switched away from the other computer. The pull-up resistors to the left of IC3 control the state of the lines at this time. ACK1- is held high because this is it’s normal state and SELECT is held high to tell the computer that the printer is on-line. The BUSY signal is also high to tell the computer that the printer is currently busy.
These levels mimic the signals sent when the printer is actually printing a line of text, rather than receiving data. In this state the computer will not send data – most programs will simply wait for the printer, which is exactly what we want.
All five signals to the computers are buffered by open-collector buffers (IC4 and IC5) with 4K7 pull-up resistors on the outputs. This prevents conflict if the computer they are driving is switched off. Unfortunately the 7407 is only available in standard TTL, there is no LS or HCT versions.
When the Printer Sharer is idle, the control lines to IC3, DIS1 and DIS2 (Disable), are both low thereby allowing the three signals from the printer to reach both computers as described above. When a computer is printing, the DIS line relating to the other computer goes high.
IC3 (74LS244) is a non-inverting buffer with tri-state outputs. When the Output Enable pin is low the data on the D terminals is passed through to the Q terminals, when OE is high the outputs are tri-state.
The device used for IC1 and IC2 (74LS541) are similar to IC3, except the buffers are controlled as one bank of eight instead of two banks of four. The pin-outs are also in a more convenient order, with all the inputs down one side and the outputs down the other side.
IC1 and IC2 are used to buffer the data lines from the computers to the printer. In the idle stare, the control signals EN1- and EN2- (Enable-) are high so IC1 and IC2 are both disabled. The printer data lines will be high due to pull-up resistors within the printer. When a computer is sending data the appropriate line goes low, coupling the data lines to the printer.
Visit Here for more.