COSMAC ELF

COSMAC ELF with PIXIE Graphics Display
COSMAC ELF on display at the Computer History Museum. (Below the Altair 8800 computer and next to the TV Typewriter.)

The COSMAC ELF was an RCA 1802 microprocessor-based computer based on a series of construction articles in Popular Electronics magazine in 1976 and 1977. Through the back pages of electronics magazines, both Netronics and Quest Electronics offered low-priced kits that were based on this design. The system was a very early personal computer. It was operated without built-in ROMs and programs were entered directly with help of the CPU integrated DMA.

It featured two hexadecimal LED displays for output and a set of toggle switches or a hexadecimal keypad for input. The base configuration had 256 bytes of RAM, but expansion boards could raise that to 4096 or 32,768 bytes of RAM.

The original ELF design used a crystal with a frequency in the range of 1 to 2 MHz with the 1802's built in oscillator circuit.

A simple circuit used the DMA feature of the 1802 to permit entry of programs and data into RAM through the toggle switches. Entering a byte via the toggle switches and pressing the "input" button would enter a byte into RAM and display it on the pair of hex LEDs, then advance the DMA counter to the next location. A "memory protect" switch could be used to disable memory alteration. If an error was made in program entry, it could be corrected by turning on memory protect, turning off load mode (thus resetting the program counter to zero), turning on load mode, and pressing "input" to advance to the address of the incorrect data. After turning off memory protect, the correct value could be entered.

The fourth article of the series presented modifications to use a companion RCA 1861 “PIXIE” video generator IC. The PIXIE required a 1.76 MHz clock, and since that was an uncommon crystal frequency, usually a readily available 3.579545 MHz colorburst crystal was instead used in a separate oscillator circuit with a divide-by-two circuit to drive the clock inputs of both the microprocessor and PIXIE. Monochrome video output (with timing roughly approximating NTSC standard) could be generated using DMA operations interleaved with carefully arranged 1802 opcodes. The maximum resolution by the 1861 was 64h by 128v pixels. By changing the placement of instructions in the video display subroutine, pixel rows could be repeated to obtain lower resolutions, allowing the video display to be used even with 256 bytes of RAM.

A one-bit output from the microprocessor, the Q line, could be driven by software to produce sounds through an attached speaker or to save programs in RAM to a cassette recorder. Branch instructions in the 1802 instruction set could read the state of the EF1 through EF4 input lines, which were used to read the I keypad button and programs from the cassette recorder, along with input from peripherals such as a light pen.

Commercial versions

The original ELF computers were essentially home-built versions of the RCA Microtutor I and Microtutor II, which were RCA's demonstration boards for their CDP1801 and CDP1802 microprocessors.

Enhanced kits such as the Netronics Elf II and Quest Super Elf added features such as keypads for data entry, serial I/O, cassette interface, and the CDP1861 "Pixie" video chip. RCA later introduced their own expanded version as the COSMAC VIP.

In August 2006, Nuts and Volts magazine, along with Spare Time Gizmos released a project to build the "Cosmac Elf 2000," based on the original ELF, with some newer and easier to find components.

The Membership Card, is a modern COSMAC ELF remake.

Software

A series of newsletters and small booklets offered by Netronics and Quest contained 1802 machine language and CHIP-8 programs, along with schematics for expanding the ELF and adding peripherals, including a light pen.

Tiny BASIC, a version of BASIC offered by Tom Pittman, could be used to write small BASIC programs on the ELF that could display through the PIXIE display or TV-Typewriter hardware.

Mike Riley has written an editor, assembler, BASIC and FORTH interpreters, a BIOS, and the Elf/OS disk operating system that will run on expanded ELF systems, including the COSMAC Elf 2000.

References

    Construction Articles

    External links