COSMAC Elf Calculator Gets New Firmware

Everyone remembers their first. Their first CPU, that is. For many of us, it was the RCA 1802 thanks to the COSMAC Elf articles that ran in Popular Electronics. The later versions of the chip family were much better but were never as popular, but the 1805 did find its way into a printing calculator for dimensions from a company named Boyd. Some of these recently showed up on the surplus market and–of course–were subsequently hacked.

[Bill Rowe] is active in the groups that still work with the 1802. Because of some specialized uses you can still get the chips readily, some four decades after they were new. Other computers at the time were difficult to build and relatively expensive, while for $100 almost anyone could wire wrap a simple 1802-based computer together in a weekend or less.

While the 1802 was inexpensive and simple to use compared to other parts of its time, it didn’t have the most robust instruction set for modern languages like C. However, the assembly language is simple and regular, so it is easy to learn. [Josh Bensadon] disassembled the code and commented it, giving everyone a basis to start from.

[Bill] replaced the old 4K EPROM on the device with a 2K flash EEPROM. No UV erase cycle needed! The display used an IC that had an option to display hex, so that was easy. The reduced memory means [Bill] is linking without the math routines, which is ironic considering the device’s original function.

The new code implements a simple monitor and a small interpreted “language” to simplify writing new code. Oddly, the calculator has two other CPUs that drive the printer (but neither are 180x devices). No word if anyone’s going to break into those anytime soon.

If [Bill’s] name sound familiar, you might know him Olduino project. This is another 1802 board that can accept some Arduino shields and supports C programming–quite a feat for a machine with no built-in stack to speak of.

The Elf made the 1802 famous because it was the first computer you could reasonably build in a weekend with just a few parts you probably couldn’t scrounge. The design was simple and even if you bought everything as a kit, you’d be out about $100. That was more than it sounds like now, but way better than other small computers of the day. We’ve seen some great modern builds of the Elf. You can even run one in your browser if you don’t feel like melting solder.

Thanks [Eric] for the tip.

18 thoughts on “COSMAC Elf Calculator Gets New Firmware

  1. My first cpu was the CDC “Cyber” 6400. 60 bit words, no byte addressing. 15 and 30 bit instructions, punch cards handed across the counter. It was a big day when I actually got past the counter and ran the card reader myself.

    1. I never got past that counter, but submitting a deck close to midnight in summer got me almost instant turnaround: CDC 6400 UA computer center (then at Speedway and Highland)

  2. Ah, the 1802. It was in the least expensive computer (a Qwest Elf) that my father could buy me as a boy. A strange beast with an instruction set sort-of between old computer architectures and what we consider more modern ISAs. It had some cool features though. Any of the 16 data registers (IIRC) could act as the program counter which made for some fun games about running different pieces of code by just switching the PC, but no proper subroutine support. It also had an instruction called SEX, which of course, titivated the nerdy middle-school version of myself to no end.

  3. I was in high school when the the Radio Electronics series came out. I wasn’t allowed to photocopy or take the magazines out of the school library. I hand copied the entire article series into a notebook and hand reproduced all the schematics and drawings. After 35 years I still have that note book. It was my introduction to digital and CPU design. It went a long way to teach me what was under the hood of computers and how hardware and software interacted.

    Great to see folks still have surviving hardware out there.

    1. Epic. I have my notebooks and hand drawn schematics from those days as well. I built a version of the magazine ELF spread over multiple perf boards and aluminum chassis then got a Netronics Elf and built peripherals for that. Both are still in my basement and the original 40 year old 1802 processor is still thrashing instructions on one of my olduinos.

  4. The 1802 was designed so the program counter could just cycle through, which meant the address bus could cycle through RAM. That meant one could load RAM with a bit of circuitry, and no need for a monitor in ROM. That, and the fact that there was a radiation hardened version meant it was good for satellites. If anything failed, new software could easily be reloaded. Since it was CMOS, it could be left on without much current draw, so one didn’t have to keep reloading a program

    But in retrospect, the 1802 wasn’t so unique. There were various articles about jamming a NOP cc onto the data bus of a CPU, which would then cause the address bus to advance. This was for both the 8085 and later the 68000, but I don’t think the CPU mattered. Don Lancaster had the same thing in his concept of “Cheap Video”, though to cycle through RAM to get the data out for the video output.

    Now it seems obvious, but back then it didn’t. So one could do things simply, with the 1802, or hard, with a hardware front panel like the Altair 8800, or use rom based monitor (but you needed to develop the software, without having a computer to develop on.
    Likely if you did software, you got something else. But if hardware was your first interest, the 1802 made it simple to build your own computer.


    1. The LOAD feature was important for remote applications like spacecraft. The amateur radio OSCAR satellites used 1802s so they could reload new programs from Earth. Radiation levels at Jupiter were so high that the Galileo spacecraft did many program reloads to work around failing hardware and bad memory locations.

      The DMA feature was important because it allowed the slow 182 to still do fast things (like video and disk interfaces). Later microcomputers could “bury” the problem with lots of extra hardware and software; but these weren’t practical in 1976.

      Low speed seems like a detriment in today’s “fast times”. But remember that power consumption goes down as speed goes down. So 1802’s got used in lots of battery and solar-powered devices. I have a solar-powered Elf in an Altoids tin, complete with solar panel on the lid, that runs as long as there’s light.

      The 1802 is a prime example of “Running light without overbyte” as Dr. Dobbs used to say. :-)

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.