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
Back to Hardware/Projects page