Homebrew Mini-Computer based on Z80 CPU

armandoacostawong@gmail.com

:: Overview

LC-81 is a hobbist retro project, a home-brew minicomputer designed and built with technologies of the 1970s. It is based on Zilog Z80, a 8-bits microprocessor that was popular on those days among "home computers" such as the Sinclair ZX Spectrum. LC-81, however, has been conceived as a "minicomputer"; it features a modular, extensible, design and can be operated from switches and lamps in the front panel rather than video monitor and keyboard.

I started this project in October 2010. By 2012 the the CPU module (namely "Master Controller") was complete and fully functional. The project was then abandoned until June 2016 that I started to build the first peripherals. Without peripherals, the computer is useless, and I plan to give it some use in my Electronics shop.

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 giving me the opportunity to intimate with the design very closely. In the cultural side I wanted to have a taste of an epoch of glory in Computer History (1970s) in which 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.

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 providing access to some peripheral. The MC provides the intelligence to the system containing the microprocessor (Zilog Z80 CPU) and the first 24 KB of memory. Other units must provide I/O resources such as serial ports and storage and perhaps specific functionality for a specific application.

It would be possible to add more memory to the system by building a separate Memory unit. Such memory is said to be "shared" because both the MC and DMA peripherals can make use of it; in contrast, the memory in the MC is said to be "private" because it is not accessible from the outside.

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

Console

LC-81 offers a "traditional" Control Panel or Console designed for machine operation and program debugging.

This Console operates based on discrete logic circuitry located in a "Console Controller Board" inside the Master Controller Unit. The Console becomes operational when the machine is halted. To halt the computer, a bus request is asserted to the microprocessor so the Console Controller can take the buses for reading or writing directly onto memory or I/O.

Construction

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


How this Site is Organized

Most of the technical info for this project can be found in section LC-81 Facts which keeps updated with the latest information available.

Extended technical descriptions such as that for the Master Controller unit (MC) take separate sections listed in the Home page.

The project Journal tells the story of how this project was (and is being) developed. Details of tests performed to different circuits as they was deveped can be found in this section.

Section References lists useful links and interesting books (mostly from the 1970s and 80s). A list of other home-brew mini-computers is also offered.

If you wonder how the LC-81 machine looks like, visit the section Pictures.

If you whish to contact me, feel free to send e-mails to: armandoacostawong@gmail.com. My name is Armando Acosta.