Introduction

Table of Content


Content

This project is about designing, building, programming and utilizing a mini-computer based on Zilog Z80 microprocessor.

LC-81

LC-81 is a hobbist retro project, a home-brew minicomputer designed and built with technologies of the 1970s. Based on Zilog Z80 eight-bits microprocessor, if features a modular, extensible architecture and a legacy, nostalgic taste.

Motivation

The motivation for this project is both technical and cultural. In the technical side, I tried to produce a computer machine so simple that I can understand entirely from application software to chips and wires. In the cultural side I wanted to have a taste of an epoch (1970s) when minicomputers of this kind were popular and lovely.

LC-81 was conceived to be both simple and "historical correct" with respect to the assumed retro context. Unfortunately some legacy components such as punch tapes and magnetic tapes are out of my reach, so I will need to replace them with others such as audio cassettes and floppy disks, but the aim is still to keep the machine as old fashioned as possible even with these limitations.

The Minicomputer concept

Minicomputers was not a trivial concept in the 1960s. On the contrary, making computers with less power seamed to be the opposite of what computer manufacturers had been doing steadily from the very beginning: producing machines with increasing speed and capabilities.

Not even Science Fiction was able to anticipate a turn in this pattern. Movies such as “The Forbin Project” and “2001 a Space Oddysee” depicted centralized giant machines capable of producing human-like though just because of their inmense computer power. And power were directly related to size, hence the image of machines the size of a building.

The path that eventually lead to minicomputer has its roots, perhaps, in the SAGE project. In those days, the Air Defense asked for a sophisticated ground control system capable of making sense of radar data to anticipate the approaching of enemy aircrafts. With this end, an experimental computer named “Whirlwind” was designed and built at MIT using government funds. This machine was big and powerfull, actually the fastest machine ever built by that time, but the key to its success was due in part by the use of 16 bits word length, in contrast to 48 to 64 used in conventional main frame computers. More important, perhaps, is the intereactive fashion in which Whirlwind was operated. This inspired Ken Olsen, one of the participant engineers, to rethink computing all together and found Digital Equipment Corporation in 1957 to start manufacturing, two years layer, a new kind of computer soon known as “minicomputer”.

Minicomputers had small word length: from 12 to 18 bits and little memory: between 4 and 64 Kilo words. This contrasted to big mainframes with one or two megawords, 64 bits each. Minicomputer also  lacked the generouse troughput of large mainframes and they came with little software. The name “mini” was more than justified, but this also applied to the price tag, about two or three orders of magnitud less expensive, and that were a definitory advantange.

These more afordable machines made their ways into lands where conventional main frames were forbiden, such as clinic laboratories, machinary control and schools. They got closer to the public than never before so common people started to get involved. That was long before personal computers (micro-computers) entered the scene.

Design Considerations

Minicomputer vs. Personal Computer

The use of a Z80 microprocessor calls for a personal computer. However, LC-81 is not planned as such, it won't never have a keyboard, a video monitor and much less a mouse. Instead, it offers a traditional console made of switches and lamps that better resembles a DEC PDP11 than an Sinclair.

True minicomputer in the 70s were mostly used to control machinery and to analyze scientific data in laboratories among others, worth to mention that of function as network routers in the ARPANET.

LC-81 is much less powerful than those real machines but my plans as per applications are more in that direction.

Separation between Hardware and Software

From the operational point of view, there is no "built-in" software in the LC-81. On power-on or reset, the machine does not "boot", it rather goes to Halt mode and nothing else happens until the Operator operates the computer's front panel (Console) to enter or run Software from some place.

Software usually come from tape, but part of it resides in the Master Controller's EPROM, notably an Absolute Loader program that serves to bring software from external media into LC-81 memory. To start this or any other program, the Operator must enter its address in the Console, press the Load button, then the Start button. Software can also be entered into memory directly from the computer's Console, byte after byte, in binary.

Private and Shared Memory

The memory contained into the Master Controller Unit (MC) is said to be "private" because it is isolated from the EXT-BUS by the mean of 3rd-state buffers so no external device can gain access to it in any way.

Memory can be extended (up to 64KB total) by building an external Memory Unit. That memory would said to be "shared" because is accessible from both the CPU and DMA capable peripherals.

The use of a separate private and shared memory allows for concurrent operations between DMA operations and normal software execution as long as the later takes place in private memory.

Daisy Chained single-line Interrupt Architecture

The bus connecting all units in the LC-81 has only one line for interrupt request (IRQ) and one for interrupt acknowledge (IAK). Multiple nested interrupts are possible, however, because those lines are daisy-chained among units. The peripheral asserting the interrupt request opens the chain behind it to prevent others to interrupt, taking priority this way in the event of simultaneous interrupt requests.

This contrasts with having multiple IRQ lines in the bus and presents the advantage of simplicity in the bus at the expense of making things more complex in the peripheral design.

Considerations for Storage

Storage technology for the LC-81 minicomputer must be "historically correct". Flash drive, for example, is not a good choice in that respect. Real legacy devices, however, such as paper punch tapes are out of my reach so I am considering intermediate solutions such as audio tapes, floppy drives and EPROM cartridges.

In general, I am more mentally oriented to tapes rather than disks. One reason is simplicity, the other is that working with tapes is interesting because of the limitations imposed by its sequential nature.

Terminology

The terminology employed in the documentation of this project tries to reflect the historical context that LC-81 represents (1970s) to avoid confusion with terms found in modern systems such as UNIX and PCs.

For example, the operating system (currently under development) is referred to as a "Control Program", a term borrowed from IBM System/360's batch processing system; that is because mine is being designed for batch processing rather than time-sharing.

Architecture

The LC-81 mini-computer consists of various rack mount units interconnected together by the mean of a proprietary 37-lines parallel bus called EXT-BUS.

A minimal configuration comprises the Master Controller (MC) and some other unit. The MC provides the intelligence to the system containing the microprocessor (Zilog Z80 CPU) and the first 24 KB of memory. The other units provide I/O resources, memory extension and, perhaps, specific functionality for a specific application.

As many units as needed can be connected throughout the EXT-BUS to conform a large equipment. Examples of possible extra units are: Tape Drive Controller, Disk Controller, Serial Ports, Printer Controller, Real-Time Timer, GPIO and many others.

Construction

All circuits are built on prototyping boards conveniently mount on industrial 19 inches rack-mount trays. Blank panels were used to make the Console front.


Credits

My name is Armando Acosta. Comments and sugestions are welcome at: develacosta@gmail.com.