Stephen Imms and the COSMAC in 1978

Last updated Apr 25 2016. This is a one of a series of Web pages supporting the COSMAC 1802 microprocessor, as used in the 1802 Membership Card kit. Go to the linked Web page for details. This page edited by Herb Johnson, (c) Herb Johnson, except for content written by others. Contact Herb at, an email address is on that page..


Stephen Imms, April 2016 wrote me as follows below. He describes his early use of the RCA COSMAC 1802 development kits, as others used them at the time. - Herb

I found your page whilst looking for info on my Precision #954 tube tester. Thanks for having the schematic available. I haven't found the manual yet...

[On your Web site,] I read with interest about the old 1802. I had a demo unit many years ago & ran a number of experiments with it, including loading Tiny BASIC by hand (took 2 plus days...). I'll try and find my little article about my adventures & if you are interested in possibly including it on your page, let me know!

Stephen Imms

Here's the article from Stephen. Edits by me are in square brackets. BTW, he sold his COSMAC demo kit some years ago. - Herb

I'm a former Aviation Fire-Control (Missile) tech, got an ASEE and worked in 1979 for the Graduate School of Oceanography (Univ. of RI) Narragansett, RI. One day, in a box of surplus electronics, a couple of RCA supplied COSMAC demo board kits, showed up. We used to get large “Gaylord” boxes from Massachusetts Institute of Technology and other educational outfits from time to time. I’d remembered something about microprocessors from college a few years previously, and I also enjoyed reading about the 1802 in Popular Electronics. So I thought, “what the heck, I spend so much sea-time that I could certainly have a project to work on…”

Assembly took about a week or so and I was able to make the “Q” LED flash on and off with one of the short routines listed in the instruction manual. The board had provisions for (I think) 32 256 x 4 SRAMs. Only 2 or 4 of the expensive Silicon-on-Sapphire chips were supplied. That severely limited program size. The chips were 600-mil wide Ceramic packages and the included data sheet said that they were SOS.

Loading all of the available positions would yield a 2k memory array and the capability of loading and running Tiny Basic and other “Large” programs. I knew Tiny and wanted to run it on the board. I remember that populating the board to the full 2K would have cost about 1000 bucks, but there was absolutely no way that I could afford that much RAM…

I called RCA Headquarters in New Jersey and spoke to an RCA Applications Engineer about just populating the board with one of the new 2k x 8 SRAM chips (they had just announced). He said it would be IMPOSSIBLE, raising a red flag to me, BUT I was up to the challenge. I acquired a couple sample 6116’s from RCA & began to study the address decoding requirements. The eval board used a strange address decoding scheme (as I recall, hence the “Impossibility” referred by the tech-rep). I eventually figured out how to generate the address decoding “glue logic” using some 4000-series CMOS chips, assembled onto a small wire-wrapped board. The single 6116 was next! The “daughter board” with flying leads was soon “spliced” onto the main evaluation board.

Power UP!

So with baited breath I applied power – NO SMOKE!

The eval board uses the UT4 monitor (supplied as a mask-programmed RAM, 512 Bytes). I used it to look at the various memory locations, and yes indeed, I had a full 2k memory space. Because my address decoding was not too robust, I also had “Ghost Images” beyond the normal 2K addresses, but this would not be a problem.

One of the other techs had a paper tape image & mimeo sheets of Tiny Basic from a couple guys in Redmond, WA. YUP – you guessed it: Bill Gates. Sure wish I’d kept that paper… RCA were kind enough to supply Tiny Basic on paper, but since the eval kit did not have any program load feature except hand loading, I took the board, a power supply and the paper with me on my next month long expedition…

I don’t know if you have ever “Hand Loaded” any programs, but it sure is slow and you dare not make a single mistake. I was using an old Teletype machine running at, I think 110 or 300 BAUD, to load TINY. After an hour or so, I’d stop and put the kit away, BUT always keeping it powered up to retain the RAM image – Battery backup was NON-existent… Several times during each hourly session, I would check the image vs. the paper, and correct same as needed. TINY took the better part of a week-end to load and verify, but my workload on deck was interfering with my fun. Oh well… After successfully loading TINY, I was able to load and execute a number of BASIC programs, including a short routine I used to correct readings from Deep-Sea reversing Thermometers. Google that and find out how 19th century Oceanographers were able to measure ocean-bottom temperatures… All this time, I had to keep the board powered up, but as shipboard power is sometimes unreliable, I did get a glitch that corrupted TINY…

Back ashore and some months later, I learned of a unique chip by MOSTEK, that was a 2k by 8 and a tiny Lithium cell in a single package. Had to have one, and did get a couple pre­release samples from the vendor.

OK, so now I have a battery-backed up SRAM, but it was slightly different from the 6116… Back to the wire-wrapping tool, added a couple of small toggle switches, and voilla: a non­volatile 2k by 8. A couple experiments to see if loading specific locations with unique Hex values, reading back the same convinced me that the 2k space was viable. BUT “The proof of the pudding is in the eating”…

So I killed the power, waited a couple minutes and powered-it up again. Examination of the previous location revealed data retention. Excellent!

I wanted to load TINY again, but surely didn’t want to lug the old ASR-33 up to my small apartment. Luckily I was able to borrow a small CRT terminal from a colleague.

AGAIN… TINY took a weekend or more to load, but still I kept the eval board powered up the whole time. I thought I’d made no mistake, but TINY would not load. I finally found a few errors in my loaded image, easily corrected thanks to UT4 and up and away. I wrote a short random-number generator to see if BASIC worked – it did! A couple small programs also worked, but the acid test awaited.

Power DOWN

I switched the power supply off to ensure a graceful power droop. Waited a few minutes, powered up and still OK. So now to a real-world experiment: I decided to just yank the plug and see what would happen. The MOSTEK chip came thru with flying colors.

My experiments continued, and I sought a way to simplify the power requirements, the evaluation board requiring 3 power supplies and a huge terminal to operate.

So in the then-latest issue of Electronic Design, there was an advert by MAXIM electronics announcing the MAX232, a single supply chip with charge pumps that converted RS-232 to TTL and Vice-versa. The +12 and minus 12 Volts supplies were soon to be history. I etched a small PC board (thanks to Radio Shack’s etch kit) that plugged directly into the huge evaluation board. Tiring of hauling the large board around, I “cloned” RCA’s design and wire-wrapped a couple of small boards, about 5 by 8 inches vs. the eval boards 10 by 16 inches. My stack of small boards required just a +5 Volt supply. I used a very small “pocket terminal” to load and execute my programs. [So over time,] I ran a few Tiny BASIC programs and also did a bit of Machine Code programming.

Recent work

[Recently] I have been working with some simple PIC processors, including a purpose built board designed and programmed by myself and a former colleague at International Rectifier (now Infineon Technologies). You can see more about this application [on the Web site, it's a beacon which flashes a count of digits in the evening.]

- Stephen Imms

Contact information:
Herb Johnson
New Jersey, USA

This page and edited content is copyright Herb Johnson (c) 2016. Copyright of other contents beyond brief quotes, is held by those authors. Contact Herb at, an email address is available on that page..