Secret Tools of the Old Crow: Roll Your Own ICE Boards

Hey folks, Crow here.  Thirty years ago the hardware development tool suite for the small-business engineer was often cobbled together in-house from whatever could be afforded.  In my case as I worked with the Zilog Z8 microcontroller series my main development tools were CP/M and MS-DOS macro assemblers,  my trusty 1409 EPROM programmer and eraser, a hobbyist ROM emulator built from a kit and in the case of the 18-pin DIP Z8 parts a set of hand-made boards that brought out the proper pins from a 40-pin part to an 18-pin header.  Program flash ROM wasn’t so hot in those days, everything was either externally-attached EPROMs, internal one-time PROM or factory masked ROM, the last of which you didn’t tape out until you were very sure your code was robust.  Suffice to say, I stuck with the ROMless versions of the microcontroller and attached my own EPROM and RAM (usually 8K of each).  Whatever I/O was needed beyond the 16 pins leftover after assigning two Z8 ports as address and multiplexed address/data busses had to be memory-mapped.

My 40-pin Z8 designs settled around a common core circuit.  Early versions from 1984 and 1985 used the Zilog “Protopack Emulator,” a 40-pin ceramic DIP device that had a 24-pin EPROM socket affixed to the top of the package and came in 2K and 4K ROM versions.  The internal RAM of the Z8 was originally 128 bytes, organized as sixteen split-addressable 16-bit registers.  These were loaded a byte at a time, but could otherwise be used for 16-bit operations and memory address pointers.  The remaining memory locations were available for scratchpad use, but also served as the stack area.

Zilog also started to offer 18-pin version in the early 1990s.  One such was the Z86E04, which had 1Kx8 of “one-time programmable” ROM.  The problem was, I had no in-circuit emulator, or ICE as it was called, for the 18-pin Z8 series.  In order to be able to develop firmware intended for these 18-pin parts I devised a set of 40-pin to 18-pin adapters I made as small, single-sided circuit boards that would hold a 40-pin Z8, provide an 18-pin socket header.  In this manner I was able to write code on a DOS PC, dump the object file to the ROM emulator through a parallel port (remember those?) and attach the ROM emulator’s 28-pin cable which I hacked to also support 24-pin parts to a protopack Z8 installed in one of my 40-to-18 pin adapter which was then installed in the target socket of the device being designed.

The first unit I made for this was a three-phase digital ammeter intended to measure the 400-Amp currents seen in power control for industrial applications.  My unit used CTs, or current transformers, which were placed on each buss bar of a three-phase power controller and reduced the 0 to 400A scale down to a 0 to 5A scale.  The trick to reading the resulting current was to treat it as the input to a full-wave rectifier and use the non-linear output voltage as the input to a A/D converter.  Of course, my A/D converter was a discrete system made from a comparator, voltage reference and one of the Z8’s internal counter/timers and was not terribly fast at 10 conversions/sec, but it was accurate.  The conversions were sent through a look-up table to linearize the response and displayed.  Amazingly, my original prototype still works.  The LED displays used an RCA chip, the CA3161, which had an interesting feature I will write about in an upcoming blog.

Old Crow's Z8 Devtools

In 1995 I managed to get Zilog’s actual Z8 CCP board, which was a real boon as it meant code could be assembled and transferred to the board without needing my DIY emulation parts.  This is the precursor to the modern compile and upload to flash method.  Of course the Z8 CCP board led to my development of my (in)famous “mod chip,” but that is a story for another day.  Cheers!  –Crow

Z8 CCP/ICE board

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here:

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in!

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community!

CircuitPython – The easiest way to program microcontrollers –

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.