Using this circuit on Printer Port, one could drive 256 Relays or 16K LEDs as Dot Matrix display. It can be used to drive a Large size multiplexed LED dot matrix display or Latched Relay-Solenoid-Motor-Lamp Array Drivers.
This circuit can be modified for a Static drive output or a fast changing output like a Waveform Generator. You can also make it a 16 Bit waveform generator. The frequency limited to the speed of the port or a fraction of it, depending on 8bit, 16bit or 32bit.
Now I have Some Explaining to do. Latch the U7 with a 8 Bit Data to address the device you want to talk to. So one among the 32 Output Devices can be Selected by a combination of G1-G2 of U5-U8 and U7 8 Bits, Split into Two Nibbles for Upper and Lower 16 Devices. That means 16 * 2 = 32 Devices of 1 Byte each,. 32 * 8 = 256 if my calculations are correct. Please verify.
One of the decoders U5 or U8 decode their respective nibble and output a Low on Selected device to Latch Data on the Chosen one (74HCT373). Why HCT ? Speed is good, low power and CMOS ! and works with TTL too. It Interfaced well for me on a Card with Both TTL and CMOS levels, with a Fast uC.
The 74HCT373 outputs are current amplified and isolated by darlingtons and optoisolators. Both source and sink examples shown. This circuit was not tested and documented properly. So there may be things missing. It is just a Concept design..