Last written March 30 2014, update Oct 18 2018. Written by Herb Johnson, (c) Herb Johnson, except for content quoted extensively from others. 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.
In April 2013, Bill Degnan posted on his site and in various public vintage-computing groups, about his recently-acquired RCA COSMAC Microkit. This was a 1974-75 product of RCA for development of their new COSMAC microprocessor, later called the COSMAC 1802. Most of these kits were used internally to RCA; this kit came from an RCA engineer. Bill "dumped" the two 1702 ROM contents and asked around for assistance. This caught my attention, and I processed the ROM dump into a rough 1802 disassembly. As I've been working with vintage and modern 1802 computers, I gathered further information and background, and created this Web page. I obtained a better disassembly (copy available below) and some additional information. - Herb Johnson
I described above how I was provided with a ROM dump of a MicroKit ROM set. One issue with the ROM dump is that 1702's produce data as "inverted" or "active low". Also, people familiar with 1802 code, saw that the dump "made more sense" if the data was inverted. I rewrote a simple C program I had, into a "hex inverter", and I gave Bill Degnan, an inverted data dump.
Some time later in Nov 2013, I came across a Web site devoted to the 1806 processor used in a Nokia cellphone product, the Norway "ATF II", a 1980's "Nokia MD 59 LS mobile telephone for BeNeLux Cartelephone System". Among other things, the site offered a simple 1806 disassembler. The disassembler needed Intel hex format records: I hand-worked the hex data dump into some incorrect (bad checksum) but proper formatted files. And so, I used that disassembler to produce a rough assembly listing for Bill's MicroKit.
The disassembler does not produce "lables" for jumps or branches. So I added those. Also I added some commentary about what looks like operation of the monitor. But I'm not an 1802 expert, so others may have better ideas about what this code is doing. Hint: I did not check for embedded text or use of ASCII characters. And, I don't have a MicroKit manual with how-to-use information. The later "MicroTutor" (which appears to use the same CPU board as this MicroKit) has a manual available from me and possibly others.
In March 2014, I discovered how close the COSMAC "UT4" ROM monitor is, to the MicroKit code. But I had to hand-type in the UT4 source from RCA's "Design Ideas Book for the CDP1802 COSMAC Microprocessor" BMP 802 book. Then assemble and verify that code against the hex codes in the book listing. Then, a more tedious process, to compare the UT4 source with the simple disassembly source, and produce a new source. The new source produces the same binary as the ROM dump; but incorporates as much as possible all the UT4 source and commentary.
See this UT4 Web page for more information about the UT4 COSMAC ROM monitor. Also, see about a variation of UT4 called "IDIOT" in recent use.
The ZIP file at this Web linkcontains:
The RCA MicroKit ROM dump by Bill Degnan, with (inverted) 1702 PROM data.
An Intel Hex file with the data inverted back to 1802/1 code by Herb Johnson.
A simple disasembly with some commentary and code lables, done by Herb Johnson.
A modified version of COSMAC UT4 ROM monitor to match the code in the simple disassembly
UT4 source typed, assembled, verified by Herb Johnson March 2014
Links to Degan's site and to the disassembler Web site of Herman Robers.
2018: Bill Degnan reports in October 2018, he's obtained documentation on the RCA Microkit. Those docs described the chassis slots his kit's boards are assigned to. With boards inserted and tested carefully, he's started to operate his RCA Microkit. Results are incomplete as of my last check of his site.
One consideration about his use of a UT4-like ROM monitor, is that the monitor implements a software UART as a SEVEN-bit data frame, not 8-bit as became common. I was informed in 2018 on this as a problem, with another UT4 varient called "IDIOT" which is in recent use. On the linked Web page, in a section "More about serial hardware, ROM and RAM", I describe that a recieving serial terminal or computer may need to be set for both "8-bit" UART operation AND "force incoming data to 7 bit". Otherwise the recieving computer or terminal may ignore incoming 7-bit serial characters from IDIOT. The Microkit ROM may produce similar problems.
In late March 2014, I had email discussions with engineer Lee Hart, about his early experience with RCA's COSMAC and the MicroKit. In 1978 he produced an 1802 based controller called BASYS, using a varient of the UT4 ROM he called "IDIOT". He continues today with work on the 1802 to the present day. Here's how he was introduced to the 1802. - Herb
RCA put on a presentation (mostly) on their 4000-series CMOS [of small scale logic ICs], and incidentally on their microcomputer products for a bunch of us [Eastman] Kodak engineers at the Kodak Apparatus Division or KAD. My best recollection is that it was around 1975. We "bought into" the 4000-series, and used a lot of it. But KAD Purchasing had a sweetheart deal with Motorola, so we had to use Motorola [6800 series] micros.
I was sufficiently interested anyway. RCA had a Microtutor, and a Microkit, both 1801 based. At the end of the meeting, the rep loaned me the Microkit overnight. (I was easily impressed). No price was ever mentioned for the Microtutor. I think the later Microtutor II listed at around $300. When I returned [the MicroKit], he gave me a free sample of the then-just-out 1802. I built my own computer with it.
I copied the Microtutor setup; CPU on one board, memory on a second. But I had a motherboard with no parts on it (just connectors), and a front panel on a third board. The Popular Electronics [COSMAC] Elf articles came out, and I improved my design by copying from it.
In 1976 I also moonlighted for Metrosonics. I designed a sound level meter for them with mostly 4000-series logic. It was successful, but [too] big. They wanted to convert it into a hand-held product; so around 1977 they bought an RCA Microkit, and were programming on it to do the same job with an 1802.
[The MicroKit] had over a dozen little boards to make a working system. Ours had a teletype and 4K of memory initially, I think. We upgraded that later to run FORTH. FORTH also required changing the CPU board to a [single CPU chip] 1802, and [adding] the RCA 8" floppy disk system (which cost more than the development system had).
It wound up that we couldn't get the program to fit into the available CMOS EPROMs. They bought FORTH, and wrote the sound level meter software in it. That shrunk it enough to fit. We also found that we could use a bipolar (fusible link) PROM for the program. They were available in larger sizes than CMOS EPROMs. They also had the useful feature that all we had to do to chip-select it, was to switch its VCC [power]! It drew zero current when not powered. On reset, the PROM was copied into RAM, then simply left off. The program then executed from RAM for minimum power. The resulting sound level meter was about the size of a pocket calculator, and ran for a couple days on a 9v transistor radio battery.
- from Lee Hart, edited by Herb Johnson
I have some dates for and documents about 1802 development on this Web page.
Summaries and links to 1973, 1974, 1975 RCA Research Reports
a variation of UT4 called "IDIOT" in recent use.
The A18 MS-DOS 16 bit/32-bit cross assembler I used.
- Herb Johnson
This page and edited content is copyright Herb Johnson (c) 2018. Copyright of other contents beyond brief quotes, is held by those authors. Contact Herb at www.retrotechnology.com, an email address is available on that page..