![]() |
  Homebrew Mini-Computer based on Z80 CPU |
armandoacostawong@gmail.com |
-- Sorted in ascendant order (Most recent bottom).
10/24/2010
Taking this project was not a trivial decision. I had being working on a previous mini-computer project for one year and a half. That were based on discrete HCMOS logic and it promised to take yet another year of hard work before completion. That's why I decided to take a "short-cut" which is this, LC-81, based on 8-bits microprocessor instead of discrete logic.
The historical prospective is different, of course, but is still valid for my learning objective. I've only shifted the historical context from the mid 1960s to the early 1980... just to say.
Here is the URL for the previous (incomplete) project, called Heritage/1: http://www.armandoacosta.com/cpu/.
11/15/2010
Only three weeks and the machine's design is pretty much finished. This contrasts with Heritage/1 which design took about one year to mature. However, since this machine employs "modern" technology, I've had to justify to my self its reason to exists within an arguably historical context. Nevertheless the project is following a rapid pace and that is exactly the idea.
A rudimentary chassis for the prototype was also built and the CPU Board was "prepared" (IC sockets and connectors put in place, as well as some passive components) so I can start wiring right away.
Here are the schematics in their third revision. They will surely change after testing.
12/04/2010
It was not my intention, initially, to publish the progress of this project as I've done with Heritage/1. However, a web site is also a tool for my self and I needed it, so I finally decided to go ahead with the web site.
Unlike the previous one, this is being written directly in HTML, not in PHP/MySQL. It seems that I'm tending to make things simpler nowadays...
12/14/2010
Wiring is going well, maybe I can finish by this weekend. The board was "prepared" last month but actual wiring started two weeks later... yes, I'm lasy.
Today I also wired (to completion) a little board that holds the status LEDs in the Master Ccontroller front panel.
12/16/2010
The CPU Board has been finished. Not tested yet, so the real "fun" has not started yet...
12/17/2010
Today I setup my bench to properly (calmed, I mean) test what I had so far. To my surprise, the thing worked in the first attempt: at least the oscillator oscillated and the microprocessor did "something"... according to the scope's readings.
12/20/2010
I did more testing on the CPU Board but having it now inside the chassis instead of aside on my bench. Surprisely the problem that I had with the INT and DMA switches disappeared as a result of the move. The problem consisted in that the machine entered Halt Mode as soon as I actuated the INT or DMA switches up. It seems obvious that it was a noise problem although the power lines look not too much noisy on the scope and the supply voltage keeps steady at 5.26V with and without load. Board consumption is about 200 mA.
Well, problem "solved", I guess... The CPU Board seems OK now but not much can be done with it until I can write content into memory. So I need the Console Controller which is going to be my very first tool.
I drafted a block diagram of the circuit a few days ago, pretty much based on ideas previously developed for Heritage/1. Today I drawn it using TinyCAD and tomorrow the actual circuit design will begin. Refer to Quick Card for more on this.
12/21/2010
I've kept testing the circuit at times looking for little flaws but today I found big one: a terrible mistake in the logic designed to make the machine to run in STEP Mode.
1/9/2011
I have to declare this, my first attempt to design LC-81, closed. The avalanche of mistakes committed represent important lessons for me to learn. It's good to learn from mistakes; and the first and most important of all is that projects of this kind should no be planned for short-term completion.
I will take my time to start over from the very beginning. I think I'll still want to produce a mini-computer based on Zilog Z80 microprocessor utilizing the "traditional" Console I already built. But it must comfortably fit within a clean concept leading to the idea of "data processors"... another word for "embedded systems".