Lee Hart sent me the guldurndest thing for Christmas:
One of his RCA COSMAC CDP1802 Face Card kits. I needed
a distraction from a number of things, starting but not ending with
publisher disputes. Lee's Face Card was just the ticket. I haven't
done much PCB soldering in the last few years. Most of what I have
done in the electronics sphere was point-to-point, generally on
tube circuits. I hadn't soldered a 40-pin DIP in, well,
um...decades?
There's a knack to it, and I had to dig around a little to find
my roll of Ersin .022 Sn63 solder, but after a few minutes' careful
practice it all came back. The kit doesn't include a 40-pin socket,
but I always socket CPUs. The CPU chip I used (see above) has a
distinguished history: It was the very same chip I ordered for my
original COSMAC Elf project in the fall of
1976. Later it migrated to
my second, heavily hacked Elf design (
here's the board mounted on what really was a scrap Xerox
3100 platen cover) with ten banks of CMOS memory (2,560 bytes!)
a breadboard block, and a hex keypad. That second Elf board, in
turn, became one of two CDP 1802 machines in my well-known robot
Cosmo Klein:
Cosmo and I did the SF con circuit from 1978 to the
early 80s, and we were actually featured in Look Magazine,
as well as an early cable TV program that no one saw.
So I have a certain history with RCA's peculiar COSMAC
architecture, and have built a number of peculiar computers with
it. I'm pretty sure none of them were ever quite as peculiar as
Lee's Face Card. Why? The Face Card has no memory, volatile or
nonvolatile. It does not run software. Actually, it's strapped
specifically so that it doesn't run software. (More on
this in a moment.) What it does is light up groups of LEDs to make
an animated face. How it does this is, well, peculiar: The LEDs are
driven from the 1802 chip's address lines. The data bus is left
floating. The 1802, when reset, begins executing code starting at
address 0000 in memory. If there's no memory and the data bus is
floating, the chip just executes empty air. The patterns that
appear on the address lines aren't quite random, but close enough
so that the LED eyebrows, face, and mouth move in almost random
variations. Oh, and the clock speed? One cycle per
second.
Peculiar enough for you?
One of the data bus lines has to be pulled high to prevent the
binary instruction 00 from executing. This is the HALT opcode, and
if empty air delivers 00 to the data bus, the Face Card will freeze
and the face pattern will no longer change.
I have special affection for the Face Card because one of the
two COSMAC machines in Cosmo displayed an animated face on a
portable TV atop his body. Cosmo could look around, smile, frown,
and (on a touchtone signal from my 2M HT) lick his chops.
I built the Face Card in about an hour and a half. I'm careful,
I work slowly, and I test most components before soldering them
into a circuit board. It worked as designed when I turned it on.
Theoretically, the system can run on any power source from 4-6VDC.
I found that a 5V supply didn't quite cut it. Some of the LEDs
didn't light fully, and the patterns seemed to get "stuck" now and
then. The board has been running at 6V for two days now, and things
are brighter and livelier. They'll be even livelier when I cut the
clock generator resistor in half and double the clock speed to
two cycles per second.
$19.95 + $5 shipping. CPU socket not included, but I think using
one is a good idea.
Highly recommended.