I'm slow to enter the discussion because I'm still
busy sorting my z80 parts and single board systems
instead of enjoying them :-(
I'm of 2 minds regarding the Z80:
The "classic" vs. the "embedded" mind-set.
The embedded solution:
I have a Zilog 50 MHz eZ80 development board with more built-in features
that I may ever use: ethernet, InfraRed,
a LOT of flash and static RAM.
My frustration is the lack of support and community activity
despite some high profile contests using the board.
A clever fellow made an expansion board that adds
2 compact flash slots so it runs CP/M really fast!
That appeals to me since it allows it to run stand-alone
even for editing, storing and compiling applications.
And there's still the programming/debugging pod
for using a host system to debug the system
should it require external assistance.
Back to the original query:
the Zilog ez80 board may be appealing because
- it's fast (50MHz) and has a lot built in:
MMU, RAM, flash ROM, serial and ethernet ports.
- allows much more powerful tools on the host system
for source control, compilers, debugging via the pod.
- others are using it too
The classic side:
My first "at home" computer was a Servo-8 single board computer
(6 MHz Z80B, 64k ram, 2 serial ports, parallel port, SASI port).
I chose that over the 4 MHz Z80A Ampro Littleboard.
It cost about $500 (with CP/M and schematics)
so I was really hesitant to interface it to my own things
until I had some experience with cheaper Z80 systems
(particularly since all the parts were soldered in!)
Long long ago I breadboarded a 4 MHz z80a with 10K static RAM
(intending to use battery backup).
I originally intended to use a front panel of
LEDs and toggle switches (inspired by the Altair).
I gave that up while wiring up all the switches,
and instead used a Timex Sinclair 1000 as the front panel
(hey, a keyboard and display!) to the dual-port static RAM.
(the Timex is a complete Z80 system with just 4 chips:
z80 CPU, ROM, RAM and Programmable Logic Array for the rest).
I still want to use discrete Z80 chips because
- I have a logic analyzer to watch it run
(I've disassembled some embedded z80 terminals using it)
- I like the way the Z80 family chips interface so directly,
even for vectored interrupt mode.
- I still want to explore "clever" tricks for memory management such as
. using the "M" line to differentiate instruction from data reads
. implementing true "cycle stealing"
(access to memory not currently active by the CPU).
I salvaged many z80 based devices (terminals, modems, terminal servers)
and pondered reverse engineering them to reprogram for my own uses.
Perhaps I'm too impatient but it seemed easier to just
start from scratch, or buy a single board system and work from there.
I suspect I'll finally get brave enough to just interface
the additional Z80 chips to the Servo-8 Z80B SBC
since I like that more than the ez80 (so far).
Jeffrey Jonas
e-mail: jeffj at
panix.com