Home | AVR | FPGA | M680x | Zilog Z8 | Zilog Z80 | Hitachi SH | Transputer | Linux | DOS

 

Jump back to front page Jump to download site map 

Zilog products


Image of assembled prototype

Printer buffer & multiplexer (using UARTs)

 
Download schematic PDF
(80KB PDF)
Download z80 firmware source code.
(21KB zip)
This design results in a z80 based printer buffer and multiplexer. The original design purpose to the project was to provide a way three university computers could drive one printer via RS232 serial UART's.

Software handshaking (XON, XOFF) is used to control the data flow to those computers that do not have direct control of the printer at any given moment.

Computers will get control of the printer when a suitable idle period (about 500mS) has elapsed by the current controlling computer.

All data speeds in and out of the buffer can be 1200pbs, 2400bps, 4800bps and 9600bps. Using a 4MHz z80 it just kept up with constant data loads into all inputs.

The firmware did, however, need to employ a number of software tricks to ensure no data loss occurred under load.

The hardware included a 4MHz z80 CPU, 8K ROM, 2K RAM, two z80 DART's and a local 5 volt power supply.

The source code is self explanatory with a lot of comments showing the way.

When the buffer is idle for a period of time it will spend its idle cycles searching for Perfect numbers.

The code is written in assembler and includes functions to add, subtract, multiply, remainder, and divide in multi-digit numbers up to 256 digits.

The program also provides a diagnostic access through the printer's serial port. You need to replace the printer with a character terminal and then type "abcdcba". A message will display showing access success.

Download z80 firmware source code.

(4KB zip)
This is simply a program whose only purpose it is to search for Perfect numbers.

It runs on the same hardware as the printer buffer with all output messages sent to a character terminal attached to one of the UARTs.

The algorithm for calculating these numbers is similar to Prime numbers accept the results are rare.

The code is written in assembler and includes functions to add, subtract, multiply, remainder, and divide in multi-digit numbers up to 256 digits.

 

This page last updated: 07-Feb-03 Au EST