The January 1975 issue of Popular Electronics magazine had a breakthrough project on the cover. The Altair 8800 -- World's First Microcomputer Kit to Rival Commercial Models". (Click on the link to read the original article.)
One thing that struck me about microcomputers back then was how big they were. Big impressive boxes (with big impressive marketing claims) seemed to be the norm -- even when the boxes (and marketing claims) were mostly full of hot air. Conventional wisdom says that they had to be big, due to the limitations of the technology at the time.
But, is that really true? We had pocket calculators before the Altair. They are all microcomputers, too. The HP-35 scientific calculator came out 3 years before the Altair, and had considerably more computing power at a lower price. And... it fit in your shirt pocket!
So I got to wondering... Could we have built an 8080 microcomputer, like the famous Altair 8800, but in a pocket-sized package? No modern parts; no PICs or Atmels or other modern micro "wizard behind the curtain" to make it work. It's got to be built with vintage parts and through-hole techniques; just as it would have been back then. It must be user programmable; not simply running a fixed program like the HP-35. And, it's got to have a real front panel, like the Altair with its classic switches and blinkie-lights! I set out to try.
I had previously built a reproduction of the August 1976 Popular Electronics "COSMAC Elf microcomputer" in an Altoids tin. I called it the 1802 Membership Card. It used the RCA 1802 microprocessor, which is a natural for battery operation. That project turned out very well. I made it available in kit form, and hundreds have been sold (click the link for details).
But the 8080 proved to be a much harder nut to crack. It isn't quite a complete CPU by itself; it needed a few support chips to finish the job. It also needed three supply voltages; +5v, +12v, and -5v. That made it tough to power it from a single-voltage power supply or battery.
I couldn't find a way to pack it all in without "cheating" (using modern parts or construction methods). So I backed off, and designed a version of the Membership Card around the Z80 instead. The Z80 is a derivitive of the 8080 (runs the same software) and is much simpler to use hardware-wise. It was successful, so the Z80 Membership Card kit is also available (click link for details).
But I kept thinking and "schematicizing". I couldn't fit the 8080, its support circuitry, memory, and I/O onto one Altoid-sized board (like my 1802 and Z80 versions). It was Josh Bensadon (the guy in the picture above) that provided the "Aha!" idea. He said, "You'll need a second Front Panel board anyway. So put the CPU on the Front Panel, so everyone can see that it's a real 8080. It can be the 'CPU board' as well as the 'Front Panel board'. Put the memory and I/O on the second board."
That worked! The "CPU board" has the 8080, its support chips, and a switchmode power supply to provide the 3 voltages needed. That left room to include the "Front Panel" switches and lights. Borrowing from the Heathkit H8 (another classic 8080 microcomputer from the 1970's), I used software to drive the Front Panel for improved functionality and to save parts. I managed to lay it out, and get it built.
The second board has the memory and I/O. The bus interface between the two is the same as the Z80 Membership Card. Like the old Altair S-100 bus, cards can be interchanged between them, and new cards can be designed that will work with both.
This card has the rest of the circuitry needed to make a complete working computer like the original Altair 8800. At the time the photo was taken, a few parts still hadn't been installed.
Here is a description of the software as it exists today (version 0.5). On power-up, there is a brief self-test. Then the Monitor program runs, and responds to the Front Panel switches, and commands on the serial input.
The Address LEDs will display the address of the "tick" counter, and the Data LEDs will display the contents of this counter. Changing the address will continuously show the contents of the selected location.
Front panel operation:
Keys: 8 DATA keys - Press to toggle the respective bit in Data, High Address, or Low Address. 1 RESET key - Press and hold 2 seconds to reset the 8080. 1 MODE key - Steps display between High Address, Low Address, Data, and Monitor modes. The LEDs flash for the group selected. 1 NEXT key - Increments the address to the next location. Press D7 and then NEXT to decrement address to previous location. Hold down NEXT to auto-repeat. 1 RUN key - Turns on RUN LED and jumps to (executes) program at the current address. LEDs: 16 - Address LEDs 8 - Data LEDs 4 - Mode LEDs (User, Monitor, Disk read, Disk write)
The serial monitor starts up at 38.4K baud. To select a different baud rate, press and hold the D4 key for 9600, D5 for 19.2K, D6 for 38.4K, or D7 for 38.4K (the default), then press the RESET key. Commands are:
MENU> The monitor's prompt, when it is waiting for your input. B - set BAUD rate. 1=9600, 2=19.2K, 3=38.4K, 4=38.4K may be faster but miss characters. C - go to CP/M. D xxxx yyyy - Dump memory from address xxxx to address yyyy. E xxxx - Edit memory starting at address xxxx. xxxx : yy address xxxx and its contents yy. Press ENTER for next, xxxx : yy zz zz or a new value zz, then ENTER to change it. The value is read and displayed again to confirm the write. Press ESC to exit. F - Format RAM disk K - Checksum RAM disk M - Memory bank select (ROM or banked RAM) G xxxx - Go (Execute) program at address xxxx O xx yy - Output yy to port xx I xx - Input from port xx R xxxx - Read Sector xxxx (from 0-0DFF is RAM, 0E00-0E4F is ROM) W xxxx - Write Sector xxxx (same range) X R or S - XMODEM R=receive, S=send T - Toggle timer on/off L - Toggle Front Panel on/off V - View address and its contents on Front Panel
With a 32k ROM and 512K RAM, the Altaid 8800 runs the CP/M-80 operating system with a 61K TPA and 448K RAM-disk with battery backup. Two standard CP/M transient programs, PIP.COM and XM.COM (XMODEM) are pre-loaded. XMODEM can be used to load or save files or entire disk images from a host computer.
Ready to build your own? A parts kit with the bare boards, crystal, resistor networks, diodes, capacitors, and other discrete parts is available now. We're working to offer a complete kit of parts; but if you have a well-stocked junk box or don't mind ordering parts yourself, this will get you started.
The current CPU card is rev.C, and the current MIO card is rev.B. Here are the changes to update the previous cards, for developers who have the earlier revisions.CPU card rev.A fixes:
The Altaid 8800 uses RST7 for its hardware interrupts (serial, switches, LEDs, and timer). But CP/M's DDT debugger also uses RST7 for its breakpoint marker. You can't use the same interrupt for both! CP/M's creator provided a patch for DDT (Application Note #07) to use RST6 instead. This is DDT6.COM, which is included in the downloadable Altaid 8800 disk image.
This is still a "work in progress"; but should give you an idea of where we're at. If you look at the Z80 Membership Card, you'll also see where we're going! Feel free to contact us with comments, critiques, or complaints.
By Lee A. Hart. Last update 3/12/2021.
Go to TOP ........ Go to HOME ........ Questions? Comments? Email me for details.
Web hosting provided by Innovative Computers.