This thing has a 2.5 Mhz Z80A, an 8K RAM chip, and some glue logic to permit
software on the PC to fill the RAM with Z80 code and data, let it run, and
come back later to fetch the fruits of the Z80's labor. With this baby in
my PC, I can write parallel processing programs that increase performance
by, uh, well, by a margin that may be measurable! Eatcher hearts out!
Seriously though, it's marvelously useless. I really just wanted to see if a
coprocessor board would be easy to slap together or not, and it was. I
was thinking about doing one with a 56000 on it to do some audio stuff with.
With the Z80, it's really just a joke that only a hardware geek can laugh at.
It works as intended, but a 2.5 Mhz Z80 in a 486 PC is sort of like having a
three year old around to help you change a tire.
I've fallen into the habit of doing all my construction with point-to-point
soldering and wire-wrapping wire. I use a 12 watt pencil soldering
iron for all the little stuff, and I usually solder pull-up resistors and
anti-glitch capacitors right to the back of the board. Soldering with
wire-wrap seems to keep things very clean, and the wire holds its shape
so well that I can route them any which way. The disadvantage is that
plated-through perfboard is the only way to go with this technique, which
is more expensive. I can't find plated-through prototyping boards for
16-bit ISA slots for under $60, but at least with wire-wrap wire, it takes
so little solder that the boards can be stripped of parts and re-used quite
a few times before it's time to buy another one.
The clock circuit is kinda cool. It's about as simple as you can get,
with a 2.4576 Mhz crystal, a .01uf cap, two surface mount resistors,
and two inverters of a 74LS04 wired front to back as an astable oscillator.
It's a simple clock that one could find on just about any S-100 processor
board during the late 70's. What I liked about this was that I used a couple
of surface mount resistors, laid right across the .1" solder pads on the
board. The entire clock circuit used no wire at all, except for the blue
wire you see going to the Z80. Surface mount resistors and capacitors are
easy to scavange with my little 12 watt pencil soldering iron and a pair
of tweezers. Get one of those magnifying lamps though, or it'll be eyestrain
city.

Here's a fragment of 8086 asm that controls the Z80 card:
DSKBUF = 8192 ; Size of RAM chip
CARDIO = 234H ; Z-80 enable/disable port address
RAMSEG = 0D000H ; Z-80 program RAM segment address
...
mov cx, DSKBUF ; Load up to 8K of Z-80 program code
mov bx, [filehandle1]
push ds
mov dx, RAMSEG ; Location of Z-80 RAM
mov ds, dx
xor dx, dx
mov ax, 3F00h
int 21h ; Read file directly into RAM chip
pop ds
mov dx, offset read_err_msg
jc main100 ; disk error
mov bx, [filehandle1] ; Close input file
mov ax, 3E00H
int 21H
;
;--- Raise Z-80 ~RESET line and let it run...
;
mov dx, CARDIO
mov al, 1 ; Enable Z-80
out dx, al
About two years ago, I wrote that I'd be amazed if anyone ever actually read all this ridiculousness. Well, I'm amazed, because I just looked and discovered that as of Jan '00, a different person is downloading the schematics almost every day. It is very good to know that there are some Z80 hardware (and software) hackers out there! Got something put together? Email me a JPG or send me a link and I'll post it here!
300 dpi schematics (200K)
layout.gif (216K) is a diagram of chip placement on the prototype board shown in the pictures above.
If you are having difficulty downloading z80schem.zip via FTP, here are the individual files that it contains. Alas, both pkzip and winzip were unable to compress any of these GIFs. These images are about 2480x3000 pixels in size, intended for printing on a 300dpi B&W printer. Don't bother looking at them in your browser; you'll just see a giant NAND gate filling your entire screen. Shift-click on them to save them to your hard disk.
complist.txt (small) The component list
schem1.gif (78K) ISA interface buffering, addr & IO decoding, control lines.
schem2.gif (78K) Z80, RAM, clock, and isolation buffers while Z80 is running
cpuram.gif (43K) Z80 and 8Kx8 static RAM chip pinouts
6264.txt (1K) 6264 8Kx8 / Sony 5864PN-12L / 2186/7 pinouts