Intro: Build Your Own Z80 Microcomputer
First Efex computer designed in 1998 by myself and dedicated to my son Efe, initial version was 4Mhz, 4 kb memory and simple out of standard serial comunication protocols.
This winter I decided to re-design and improve this Project and let other hobbiests can build their own z-80 computers.
Current version is V2 and added following fetures;
-Standard 2400 baud software UART
-Moduler monitor software design
-Intel hex file download over serial port
-8K ROM, 8K RAM
-Cassette interface (under construction)
-LCD interface (under construction)
-Minimal chip count version (under construction) this 3 features will be added shortly and will be publish here
Step 1: Circuit
Circuit composed of clock circuit (74LS04), Adress decoder (74LS139),CPU, EPROM, RAM, two PIO’s (82c55), Rs-232 level converter (Max 232), 4x4 keypad encoder (74c922).
As you can see there is no critical and hard to find parts (may be 74c922 but I promise in newer versions it wont be necessary).
Main idea was simplicity so that I connected 7 segment displays directly to 82c55 outs. Dont worry there is enough sink current to drive leds. In new produced board I used common anode type displays but you can find common anode version rom program in software page below.
By software UART, maximum baudrate can achieve is 2400 BAUD.
For cassette interface recommended baudrate is 110.
I realised circuit by wire wrapping. (efex.dsn file is for proteus circuit design suite.)
Step 2: Monitor Program
Here is Monitor program in intel hex format.
In test circuit I used AT29c010A instead of 27c64 EPROM.
You may use any kind of ROM (even NVRAMS)
Memory organisation is as follows;
2000H-3FFFH:RAM (Memory organisation is important for stack and system variables)
3FE0H: STACK START ADRESS
3F00H-3F45H: SYSTEM VARIABLES
Communication format is; 2400-8-N-1
INTEL HEX download routine: Display adress jumps automaticaly to downloaded program's start adress
NOTE: MONITOR PROGRAM IN THIS INSTRUCTABLE CHANGED. Please download new v3 hex file;
Whats new; Intel hex save added, User definable RUN adress added bug free version
Computer boots with a hot start. No memory change. This mean if you use battery backuped RAM, you may save your programs.
Display Shows version name shortly then 2100H and the data contained by prompted adress.
when you typed hex keypad, last two displays shows the data that you pressed.
if you press enter, computer writes the data into promt adress, shows shortly to verify then adress increases and shows its content again.
To run program, you wrote or download you must press 'Shift' key first and RUN key (on 3) simultaneously.
than follow messages on display. If you press reset button, no data loose. just starts from 0000h
RUN: SHIFT + 3 (Asks adress and Runs user programs)
LOAD: SHIFT + 2 (Downloads intelhex programs over serial port by terminal software)
SAVE : SHIFT +1 (Saves programs as intel hex file by serial port)
To change display adress: Press ADDRIN buton continously during typing in hex keypad
Whats Next: CSAVE and CLOAD (cassette saving), FILL and COPY commands, DUMP command and DISASSEMBLY coming soon.. :)
If you realise this Project, please inform me with pictures.
Prize will be source code of this version and some hiddedn features of ROM program.
Thank you for your interest
Dr.Mustafa Kemal PEKER