COSMAC ELF

Last updated
COSMAC Elf
COSMAC ELF CHM.jpg
COSMAC Elf with Pixie Graphics Display
Release date1976;48 years ago (1976)
CPU RCA 1802
Memory256 bytes of RAM; expandable
Graphics RCA CDP1861
SoundBeeper
COSMAC Elf on display at the Computer History Museum. (Lower-middle left, below the Altair 8800 computer and next to the TV Typewriter.) Early Personal Computers.jpg
COSMAC Elf on display at the Computer History Museum. (Lower-middle left, below the Altair 8800 computer and next to the TV Typewriter.)

The COSMAC Elf was an RCA 1802 microprocessor-based computer described in 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, enhanced kits that were based on this design. The system was a very early single-board personal computer. It was operated without built-in ROMs and programs were entered directly with help of the CPU integrated DMA using 8 toggle switches and an Input push button.

Contents

It featured two hexadecimal LED displays for byte data value output and a set of 8 toggle switches for input. (a hexadecimal keypad was an optional extension) The base configuration had 256 bytes of RAM, but expansion projects could raise that to a power of two-based memory store, with an upper limit of 64K address space.

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 (CDP1861). 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. The resulting 1.7897725 MHz clock was close enough for the hardware to work. Monochrome video output (with timing roughly approximating NTSC standard) could be generated using DMA operations interleaved with carefully arranged 1802 opcodes as instructions in software. The maximum resolution of the 1861 was 64h by 128v rectangular pixels. By changing the placement of instructions in the video display control and interrupt routines, pixel rows could be repeated to obtain lower resolutions, allowing the video display to be used with 256 bytes of RAM (64×32 square pixels).

A one-bit output from the microprocessor, the Q line, could be driven by software to produce sounds through an attached speaker, to save programs in RAM to a cassette recorder, and for serial I/O output. Branch instructions in the 1802 instruction set could read the state of the EF1 through EF4 single bit value input lines, which were used to read the 'I' keypad (input) momentary pushbutton (typically EF4), programs from the cassette recorder through interface circuitry, serial I/O input, and input from peripherals such as a light pen. There are also seven 8-bit I/O ports available for decoding and interfacing.

Microcomputers

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

Enhanced kits such as the Netronics Elf II and Quest Super Elf added built-in features such as keypads for data entry, serial I/O, cassette interface, and the CDP1861 "Pixie" video chip. RCA later introduced their own similarly 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 and enhanced features, modules, and functionality, including the STG1861 Pixie Graphics Replacement board that is functionally equivalent to the now-rare RCA CDP1861 integrated circuit.

The Membership Card is a modern, simple COSMAC Elf-like remake for retrocomputing hobbyists that is designed to fit in an Altoids tin.

Various other hobbyist systems can be found on the Internet, including hardware emulators using FPGA and modern microcontrollers.

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. Other, similar information and hobbyist software projects can be found on the Internet. The only published book about the 1802 is Tom Swan's "Programmer’s Guide to the 1802" (1981), which has been made available as a PDF after being out of print for many years. [1]

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 low-resolution monochrome graphics display or TV-Typewriter hardware. Pittman also wrote a small booklet about the 1802 titled "A Short Course In Programming", which he has allowed to be published and made available online free of charge. [2] [3]

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.

Other languages available are noted at the RCA 1802 Wikipedia entry, including interpreters, compilers and assemblers.

Game cartridges for the RCA Studio II contain Chip-8 games, which can run on other 1802 systems. File dumps of these games can be found on the Internet.

Related Research Articles

<span class="mw-page-title-main">Motorola 6800</span> 8-bit microprocessor

The 6800 is an 8-bit microprocessor designed and first manufactured by Motorola in 1974. The MC6800 microprocessor was part of the M6800 Microcomputer System that also included serial and parallel interface ICs, RAM, ROM and other support chips. A significant design feature was that the M6800 family of ICs required only a single five-volt power supply at a time when most other microprocessors required three voltages. The M6800 Microcomputer System was announced in March 1974 and was in full production by the end of that year.

<span class="mw-page-title-main">Intel 8085</span> 8-bit microprocessor by Intel

The Intel 8085 ("eighty-eighty-five") is an 8-bit microprocessor produced by Intel and introduced in March 1976. It is the last 8-bit microprocessor developed by Intel.

<span class="mw-page-title-main">KIM-1</span> Single-board computer produced by MOS Technology

The KIM-1, short for Keyboard Input Monitor, is a small 6502-based single-board computer developed and produced by MOS Technology, Inc. and launched in 1976. It was very successful in that period, due to its low price and easy-access expandability.

<span class="mw-page-title-main">Altair 8800</span> Microcomputer designed in 1974

The Altair 8800 is a microcomputer designed in 1974 by MITS and based on the Intel 8080 CPU. Interest grew quickly after it was featured on the cover of the January 1975 issue of Popular Electronics and was sold by mail order through advertisements there, in Radio-Electronics, and in other hobbyist magazines. According to Harry Garland, the Altair 8800 was the product that catalyzed the microcomputer revolution of the 1970s. It was the first commercially successful personal computer. The computer bus designed for the Altair was to become a de facto standard in the form of the S-100 bus, and the first programming language for the machine was Microsoft's founding product, Altair BASIC.

<span class="mw-page-title-main">ELF II</span> 1978 microcomputer trainer kit by RCA

The Netronics ELF II was an early microcomputer trainer kit featuring the RCA 1802 microprocessor, 256 bytes of RAM, DMA-based bitmap graphics, hexadecimal keypad, two-digit hexadecimal LED display, a single "Q" LED, and 5 expansion slots. The system was developed and sold by Netronics Research and Development Limited in New Milford, CT, USA.

<span class="mw-page-title-main">RCA 1802</span> Early microprocessor

The COSMAC is an 8-bit microprocessor family introduced by RCA. It is historically notable as the first CMOS microprocessor. The first production model was the two-chip CDP1801R and CDP1801U, which were later combined into the single-chip CDP1802. The 1802 represented the majority of COSMAC production, and today the entire line is known simply as the RCA 1802.

<span class="mw-page-title-main">COSMAC VIP</span> 1977 microcomputer

The COSMAC VIP (1977) was an early microcomputer that was aimed at video games. Essentially, it was a COSMAC ELF with a supplementary CDP1861/CDP1864 video display chip. For a price of US$275, it could be purchased from RCA by mail order. It came in kit form, and had to be assembled. Its dimensions were 22 × 28 cm, and it had an RCA 1802 processor; along with a crystal clock operating at 1.76 MHz. It had 2 KB of RAM, which could be expanded to 4 KB on board, and 32 KB via an expansion slot. Its 5V DC CDP18S023 power supply had an output of 600 mA. I/O ports could be added to connect to sensors, interface relays, an ASCII keyboard, or a printer.

<span class="mw-page-title-main">CHIP-8</span> Interpreted programming language

CHIP-8 is an interpreted programming language, developed by Joseph Weisbecker on his 1802 microprocessor. It was initially used on the COSMAC VIP and Telmac 1800, which were 8-bit microcomputers made in the mid-1970s.

<span class="mw-page-title-main">RCA Studio II</span> Home video game consoles by RCA

The RCA Studio II is a home video game console made by RCA that debuted in January 1977. The graphics of Studio II games were black and white and resembled those of earlier Pong consoles and their clones. The Studio II also did not have joysticks or similar game controllers but instead used two ten-button keypads that were built into the console itself. The console was capable of making simple beep sounds with slight variations in tone and length. The Studio II included five built-in games.

The original Macintosh was a relatively simple machine, now of interest for its simplicity and for the fact that it was the first computer produced by Apple under the name Macintosh. The Macintosh used standard off-the-shelf components to the greatest extent possible, achieving a moderate price point by mixing complex LSI chips, readily customizable programmable array logic, and off-the-shelf components.

<span class="mw-page-title-main">Comx-35</span> Home computer based on the RCA 1802 microprocessor,

The COMX-35 was a home computer that was one of the very few systems to use the RCA 1802 microprocessor, the same microprocessor that is also used in some space probes.

<span class="mw-page-title-main">Microprocessor development board</span> Type of printed circuit board

A microprocessor development board is a printed circuit board containing a microprocessor and the minimal support logic needed for an electronic engineer or any person who wants to become acquainted with the microprocessor on the board and to learn to program it. It also served users of the microprocessor as a method to prototype applications in products.

<span class="mw-page-title-main">Dick Smith Super-80 Computer</span>

The Dick Smith Super-80 was a Zilog Z80 based kit computer developed as a joint venture between Electronics Australia magazine and Dick Smith Electronics.

<span class="mw-page-title-main">Explorer/85</span>

The Netronics Explorer 85 was an Intel 8085 based computer produced by Netronics R&D Ltd. located in New Milford, Connecticut between 1979 and 1984. Netronics also produced the more well known ELF II computer, and the ill-fated Explorer 88 computer.

Each time Intel launched a new microprocessor, they simultaneously provided a system development kit (SDK) allowing engineers, university students, and others to familiarise themselves with the new processor's concepts and features. The SDK single-board computers allowed the user to enter object code from a keyboard or upload it through a communication port, and then test run the code. The SDK boards provided a system monitor ROM to operate the keyboard and other interfaces. Kits varied in their specific features but generally offered optional memory and interface configurations, a serial terminal link, audio cassette storage, and EPROM program memory. Intel's Intellec development system could download code to the SDK boards.

<span class="mw-page-title-main">Single-board microcontroller</span> Microcontroller built onto a single printed circuit board

A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: a microprocessor, I/O circuits, a clock generator, RAM, stored program memory and any necessary support ICs. The intention is that the board is immediately useful to an application developer, without requiring them to spend time and effort to develop controller hardware.

The RCA CDP1861 was an integrated circuit Video Display Controller, released by the Radio Corporation of America (RCA) in the mid-1970s as a support chip for the RCA 1802 microprocessor. The chip cost in 1977 amounted to less than US$20.

Joseph A. Weisbecker was an early microprocessor and microcomputer designer and researcher, as well and designer of toys and games. He was a recipient of the David Sarnoff award for outstanding technical achievement, recipient of IEEE Computer magazine's "Best Paper" award, as well as several RCA lab awards for his work.

<span class="mw-page-title-main">Electronic Arrays 9002</span> 1976 microprocessor

The Electronic Arrays 9002, or EA9002, was an 8-bit microprocessor released in 1976. It was designed to be easy to implement in systems with few required support chips. It included 64 bytes of built-in RAM and could be directly connected to TTL devices. It was packaged in a 28-pin DIP which made it less expensive to implement than contemporary designs like the 40-pin MOS 6502 and Zilog Z80. Today it would be known as a microcontroller, although that term did not exist at the time.

<span class="mw-page-title-main">CyberVision 2001</span> 1978 home computer

The CyberVision 2001 was an early 8-bit home computer, distributed by Montgomery Ward in the late 1970s. Software was contained on stereo cassettes, allowing synchronized transmission of narrated audio recordings and sound effects from one channel and program data from the other. Home television sets were used for its display using an RF connector.

References

  1. Swan, Tom (1981). "Programmer's Guide to the 1802". Tom Swan Homepage. Tom Swan. Retrieved 19 August 2016.
  2. Pittman, Tom (1980). "A Short Course In Programming". COSMAC Elf. Dave Ruske. Retrieved 19 August 2016.
  3. Pittman, Tom (1980). "A Short Course In Programming". Itty Bitty Computers. Tom Pittman. Retrieved 19 August 2016.

Construction Articles