
How to build your own ZX80/ZX81
Please note that you are NOT allowed to reproduce any of this page elsewhere on the Web without my permission!
This page details the construction of your own ZX80. Follow this link to build an NMI generator which, when used with the ZX80 circuit detailed below and the ZX81 ROM, will produce a FULLY FUNCTIONING ZX81 USING OFF-THE-SHELF COMPONENTS.
by Grant Searle
Last update: 22nd Jan 2010
** Jan 09 - Accurately re-drawn schematic
(vector graphics) - see it
here
(Adobe reader 7 or higher needed)**
** May 09 - Version 2 of the NMI generator (exact timings) to convert the ZX80 into a ZX81
here**
** Jan 10 - Accurately redrawn front and back foil patterns of the real ZX80
issue 2 board now available here (I believe I
am the first and only one on the Net to do this!)**
Introduction
Construction
Parts List
Circuit Diagram
ROM images
Keyboard overlay
Pictures of the finished ZX80
Software
Pics of the original ZX80 kit
Links to other sites of interest
For many years now I have been working with the latest technology using high-powered computers. However, nothing nowadays can replace the time when the first home microcomputers hit the streets. I am a keen collector of the home computer era. Follow this link to see my current collection. In those days you HAD to make your programs fit the hardware and memory available. This added to the enjoyment of programming to see something you had written to fit in a few K spring to life. The later ZX81 is very similar to the ZX80 except a lot of the ICs in the 80 has been merged into one chip. As a result, you can learn a lot about the workings of the ZX81 by referring to the ZX80 circuit. I have several computers from the start of the 80's but have always liked the Sinclair ZX80 for the following reasons:
1. It was so tacky :)
2. It did not have a single dedicated IC in sight.
It is because of the second reason this page has come into existence. Here I show you how to build your own piece of history. Virtually all parts for the ZX80 are available from most of the larger electronic companies. The remaining parts (the Z80 processor, normally) can be picked up cheaply from eBay.
I must point out this is not a job for the absolute beginner. You will need to blow your own EPROM image and it will probably be a distinct advantage to have access to an oscilloscope in case it doesn't work. I can assure you the circuit supplied here DOES work without any modifications.
I have, however made the following modifications for my own version:
1. I originally used a 6264 SRAM to make the base memory 8K instead of 1K. I have since
replaced this with a 62256 (a 32K x 8 chip) to bring the memory up to the "full
16K" (the unused address line is tied to a power line).
2. I could not get the ceramic resonator. Instead I used a crystal and used a load
capacitance of 47pF.
The complete computer is built on a large piece of perforated stripboard. All digital connections are made using wire-wrap wire as this is a lot thinner than conventional hook-up wire so the data and address bundles can be tied to form a neat layout. The positioning of the ICs in relation to each other matches the positioning in the original ZX80.
I recommend printing the circuit out on an A3 sheet if possible. The pin numbers are easier to read on my re-drawn schematic than on the original scan.
Begin construction by positioning the IC sockets (see my pictures below for guidance), ensuring there is sufficient space between then to make all of the connections, and position the remaining components.
I would recommend that you adopt a layout similar to Sinclair's (that is what I did).
Here is my re-drawn version of the layout found in the ZX80 assembly manual:
Click on
this image to see a large version (c) Grant Searle.
When you click on the image using Internet Explorer or Firefox, the large
version will be displayed bit it will be scaled to fit the window, and will not
display the image at
it's best. You normally need to click on the image which is then displayed to
zoom in full-size.
The pale-green components are not actually used in the circuit, but there are
spaces for them on the PCB.
Here is my version:
Click on this image to see a large version.
As you can see, the component placement is in a similar manner to the original. The two original RAM chips replaced with a single larger one instead.
Next I recommend wiring the data and address buses for the top half of the circuit. As each wire is soldered it, mark it off on the circuit diagram. This helps avoid any errors resulting from missing connections. Wire in the logic ICs, resistors, capacitors and diodes. As virtually all pins on every IC are to be connected, any errors made will become obvious as more connections are made. For initial testing, there is no need to wire the keyboard into the circuit.
Once all components are soldered and without any ICs inserted into the sockets, connect a continuity tester between the power supply pins. If a short exists then check the underside of the board for any missing track breaks or flakes of copper between tracks. If all is well connect a power supply (current regulated to 500mA if possible). Check the +5V and 0V connections on each IC socket. Turn off the supply and insert the ICs. Turn on the power supply and the television or monitor. If the circuit is working then expect a power consumption of around 310mA. If using a TV then adjust the tuning to get a picture (note: the display of black text on white will require the brightness control of the TV to be turned up). A working circuit should show an inverse "K" in the bottom left of the screen. If all is well then wire in the keyboard if not already done.
This is a full list of discrete components required to build the stripboard ZX80 excluding any hardware such as power supplies, nuts and bolts etc.
Component Type Qty No IC1 Z80A 1 IC2 2732 4K EPROM 1 (NB. 2532 EPROM on original board) IC3/4 6264 8K SRAM 1 (NB. 2 x 2114's on original board) IC5 74LS373 1 IC6-8 74LS157 3 IC9 74LS165 1 IC10 74LS365 1 IC11,12 74LS00 2 IC13 74LS04 1 IC14,15 74LS05 2 IC16 74LS10 1 IC17 74LS32 1 IC18,19 74LS74 2 IC20 74LS86 1 IC21 74LS93 1 IC22 7805 1 D3-10 1N4148 8 X1 6.5MHz Xtal or 1 ceramic resonator C1-6,12,13 47nF 8 C8 22uF 1 C9,11,14, 15 47pF 4 C10 1uF 1 R29 180R 1 R35 1M 1 R1,3-11,18, 22,23,27, 30,34 1K 16 R32 330R 1 R21 220K 1 R13-16,? 47K 6 R2,25 470R 2 R19 2k2 1 SW1-40 SPST Push 40 Wire wrap cable for interconenctions 1 reel (25m) 3.5mm Jack Socket 2 Phono socket 1 Vero Board 1 40 Pin DIL socket 1 28 Pin DIL socket 1 20 Pin DIL socket 1 16 Pin DIL socket 5 14 Pin DIL socket 11
Back to contents
I used this diagram to build my version of the ZX80. As a result, I know it is correct, apart from the following errors on the original schematic:
- Thanks to Ismael Pérez for finding many of the errors !
I have painstakingly redrawn this circuit using vector-based graphics so it
can be scaled with NO pixellation!
I have kept my version as faithful to the original circuit as is possible, but I
have corrected the errors on the original schematic that I have mentioned above and I have added
the missing pin numbers (4,10 and 13) on IC19 near the bottom-right of the
scanned circuit. Apart from that, everything on my redrawn circuit is very
accurately placed. I resized the scanned version to A3 and over-layed my new
version on top of the scanned version while I was developing it. For most of
the diagram, my placement is well within 0.5mm of the original when scaled to be
the same overall size of the original.
Adobe reader 7.0 or higher is required to open the PDF - you will get an error
message if you use an older version.
Click here to get this re-drawn version (PDF format)
Click here to download the original scanned ZX80 circuit
These are exact (as far as is possible) replicas of the original issue 2
board. Nearly all tracks and component placements on the board are within 0.5mm
of the original. The only exception is on the top layer at the keyboard. The
keyboard overlay is stuck onto the board and I did not want to damage my ZX80
trying to remove it. However, the tracks are partially visible through the board
from the other side (through the fibreglass PCB) and I also used a continuity
tester to confirm.
I had removed the modulator, heatsink and the ICs which were in sockets to
ensure that I could see the hidden tracks. Tracks that were underneath the
soldered-in ICs were visible if I viewed closely from the side of the chip, and
again, I used a continuity tester to confirm.
A ZIP file containing the foil patterns can be download HERE (currently version 1.0)
These are 600DPI prints in a PDF file (far higher resolution than you would
ever need for etching), so you will need Adobe reader 7.0 or higher to
view them. When printing from Adobe Acrobat reader, make sure you set Page
Scaling to be "None".
I have included marks to indicate the board corners and I have also included
rulers along the edges marked in millimetres to allow you to confirm the
printout is to the correct scale.
These can be printed onto acetate (laser printer recommended) for producing a
double-sided PCB using UV photo-etching.
There are several websites available to give you best guidance on producing
double-sided boards.
All areas of the board that have pads above and below each other must be connected together. Where this is a component, simply solder the top and bottom tracks to the component. If no component is to be placed at the hole then you will need to solder a wire through from the top layer to the bottom. This also needs to be done by the keyboard pads. However, if you are going to engineer a suitable flat key panel, then obviously these connections need to be as low as possible on the top side. So, I would recommend, for these particular connections, using a single strand of wire from a multi-stranded cable (only low current, so thin wire is fine) then press it flat against the top of the board before soldering. Solder the top side using as little solder as possible. Also, run solder over all of the key pad areas to raise them up a fraction. Then, if necessary, use a small file to flatten the soldered wires as close to the board as possible.
Soldering the IC sockets are more problematic on double-sided boards as you
need to make solder connections to the top layer as well as the bottom. Using
normal sockets this will be impossible as the plastic on the socket would
obscure where you need to solder.
I recommend two ways of soldering the sockets:
1. Purchase wire-wrap sockets. These have very long pins so you will be able to
mount the sockets a small distance from the board, allowing sufficient space to
enable a fine-tipped soldering iron to complete the top layer solder joint.
or
2. (Cheaper option) Buy turned-pin sockets then use a pair of pliers to squeeze
the plastic on the socket, breaking it and allowing the metal pins to be
removed. Then, take a spare chip (or another socket), push these metal sockets
that you have extracted onto the pins. You can then insert the chip/socket into
the PCB as normal and solder the top and bottom track connections to the
individual sockets. Then, pull out the chip and the soldered socket pins will
then be neatly aligned and soldered.
Please note that my original board uses 2 x 2114 SRAM chips and a 2532 EPROM
(which is slightly different pin-out to a 2732). So, if you cannot
obtain them then you could either make an adapter board to plug into the
original sockets, modify the PCB layout as appropriate or it may be possible to
leave the ROM and RAM areas of the PCB empty and build an add-on board to plug
into the expansion bus instead (not verified, so you will need to check).
The pin-outs for the 2532 and 2732 chips here:
| 2732 | Original ROM pinout | |||
| A7 | Vcc | A7 | Vcc | |
| A6 | A8 | A6 | A8 | |
| A5 | A9 | A5 | A9 | |
| A4 | A11 | A4 | /CS2 * | |
| A3 | /G | A3 | /CS1 | |
| A2 | A10 | A2 | A10 | |
| A1 | /E | A1 | A11 | |
| A0 | D7 | A0 | D7 | |
| D0 | D6 | D0 | D6 | |
| D1 | D5 | D1 | D5 | |
| D2 | D4 | D2 | D4 | |
| Vss | D3 | Vss | D3 |
* - "/CS2" connection is the second chip select on the ROM version (normally connected to A12 so that
the ROM is only enabled in the lower-4K of the 8K map). My original ZX80 has a
2532 which does not have this second chip select so this pin on the 2532 EPROM
is actually
snipped and connected directly to Vcc. The 2732 EPROM does, however, have 2 chip
selects (/G and /E) so both can be used with a small wiring change.
As you can see, there is a small difference on the right-hand side for the 2732.
If you use a 2732 then you can either modify the layout or bend the 2 pins out
and run short wires to the correct points (ie. swap them).
Also note that although I have checked the tracks thoroughly, I have not yet build a ZX80 using my PCB foil patterns so it is impossible for them to be 100% verified (although I am confident that they are correct). If you intend to use them, please remember this.
For component placement, I recommend that you refer to the original ZX80 below. Click on the image to enlarge it:
The ZX80 ROM is 4K long. I actually burnt it into an 8K EPROM as that was the smallest I had in my spares box.
Click here to download the ROM in binary format
You can also use the ZX81 ROM image (8K):
Click here to download the ROM in binary format
For the ZX81 ROM to work you must take A12 to the appropriate address line on the ROM and ground the /OE pin.
I actually now use a 16KB ROM with BOTH images blown into it with a switch on the A13 line to determine whether to run the ZX81 or ZX80 image.
The overlay here is sized to fit over a set of miniature tactile pushbuttons set at 0.3 inches between centres. You can either resize as necessary or cut out the keys to place on standard keys.
I have spent a lot of time on these overlays to make them as faithful to the originals as possible.
Click
on the image to view a 600DPI version (c) Grant Searle!
When you click on the image using Internet Explorer or Firefox, the large version will be displayed scaled to fit the window, and will not show them at their best. You normally need to click on the image which is then displayed to zoom in full-size.
Higher resolutions are available (as I drew them using vector graphics so I can rescale as much as required). Please let me know if you want them.
For best results, these need to be printed onto glossy photo paper.
Pictures of my finished version (ZX80 only)
Pictures of my ZX80 with NMI option (making it into a ZX81)
Will be here shortly!
ZX80
Follow this link to go to my ZX80 software page, featuring a flicker-free space invaders game for you to type in!
ZX81
A software archive for the ZX81 is available at ftp.nvg.unit.no. (No archives on
the Net for the ZX80 at the moment. If I can, I will move my ZX80 tapes into this area).
These files are in the ".P" format as used by XTENDER, the ZX81 emulator. To use
these on a real ZX81, you can build a VERY simple cable connected to the parallel port and
use this program by Wilf
Rigter to send the files to the ZX81.
Links to other sites of interest
My pages
Build your
own ZX80 - my page showing
you how to build this old micro
|__
ZX80 to
ZX81 conversion - build the NMI generator needed to convert the ZX80 circuit
into a ZX81
|__
ZX80
software - Type in a Space Invaders game into the ZX80
Build your own Jupiter Ace - my page showing
you how to build this old micro
Build your own UK101 - my page showing you how to build
a greatly simplified version of this old micro
Pong - Pictures of
my build of the Atari classic arcade game
My
Machines - My collection of classic 80's micros
Other user's pages
ZX81 Rules - Wilf Rigter's
excellently detailed pages for ZX81 circuitry. He was a great help with the
ZX80/81 video details
Rodney Knapp's
homebuilt micros - lots of information on the ZX81 computer which he has
built
Paul Robson's ZX80 and ZX81
Emulator - excellent freeware emulator
The German ZX-TEAM
- Sinclair enthusiasts page by Peter Liebert-Adelt
"The" software
archive for the ZX81 - at ftp.nvg.unit.no
XTender homepage - another excellent
emulator (shareware) by Carlo Delhez
I hope this page has been useful.
Grant.
To contact me, my current eMail address can be found here. Please note that this address may change to avoid spam.