1802 Computer Board

I got this on eBay for $18.95 in 2014. Looked interesting. It has 32 bytes of RAM in a 1824 and four 6301 256x4 PROMs. The PCB is marked "CR5T90". I emailed the seller but he couldn't tell me where it's from.

The same seller also listed a RAM board, but IMO he wanted too much for it.

The 1802 processor

The 1802 is a funny beast to those of us more used to "modern" 8 bit computers. It has a DMA mode where data is read from the bus and stored in memory at the current program counter, after which the program counter is incremented. Since you can also slow the 1802 clock down to DC, this means you can have the processor read a bank of switches, load it into memory, and move to the next memory location -- which is how the Cosmac ELF allowed the user to enter programs into RAM.

From http://www3.sk.sympatico.ca/jbayko/cpu2.html#Sec2Part3 (via archive.org)

Part I: RCA 1802, weirdness at its best (1974)

The RCA 1802 was an odd beast, extremely simple and fabricated in CMOS, which allowed it to run at 6.4 MHz or suspended with the clock stopped (very fast for 1974, but needing 10V, and with a bit-serial ALU to limit complexity). It was a single chip version of the previous two-chip 1801, an 8 bit processor, with 16 bit addressing, but the major features were its extreme simplicity, and the flexibility of its large register set. Simplicity was the primary design goal, and in that sense it was one of the first "RISC" chips.

It had sixteen 16-bit registers, which could be accessed as thirty-two 8 bit registers, and an accumulator D used for arithmetic and memory access - memory to D, then D to registers, and vice versa, using one 16-bit register as an address. This led to one person describing the 1802 as having 32 bytes of RAM and 65535 I/O ports. It also had early DMA support. A 4-bit control register P selected any one general register as the program counter, while control registers X and N selected registers for I/O Index, and the operand for current instruction. All instructions were 8 bits - a 4-bit op code (total of 16 operations) and 4-bit operand register stored in N.

Register R0 pointed to the address used by the DMA circutry. R1 pointed to the interrupt service routine. There was no status register, but a number of flags available corresponded to carry bit, four pin inputs and one output, and interrupt enable.

There was no real conditional branching (there were conditional skips which could implement it, though), no subroutine support, and no actual stack, but clever use of the register set allowed these to be implemented - for example, R2 was usually used for a stack pointer, and changing P to another register allowed jump to a subroutine. Similarly, on an interrupt P and X were saved (to register T), then R1 and R2 were selected for P and X until an RTI restored them.

A later version, the 1804, was enhanced, adding several Forth language primitives (Forth is commonly used in control applications), and on-chip ROM and RAM (the 1805 and 1806 variants omit ROM or RAM).

Apart from the COSMAC microcomputer kit, the 1802 saw action in some video games from RCA and Radio Shack, and the chip is the heart of the Voyager, Viking and Galileo (along with some AMD 2900 bit slice processors) probes. One reason for this is that a version of the 1802 used silicon on sapphire (SOS) technology, which leads to radiation and static resistance, ideal for space operation. Was still available from Harris Semiconductors before finally being discontinued. It's low power consumption made it ideal for other remote systems, such as in Plessey Payphones (UK) which were powered entirely through the phone line or from solar panels.

The "RCA RP-1802" name was later applied to a budget-priced cassette player.

(Note that the Viking and Voyagers did NOT use the 1802 but the Shuttle and Galileo did).

[Image] Hit Count
hits since 2017-11-20.

Back to Wouter's Page (This page last modified 2017-11-28)