COSMAC ELF

Last updated
COSMAC Elf
COSMAC ELF CHM.jpg
COSMAC Elf with Pixie Graphics Display
Release date1976;47 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 software-binary compatible with the more-famous Intel 8080 with only two minor instructions added to support its added interrupt and serial input/output features. However, it requires less support circuitry, allowing simpler and less expensive microcomputer systems to be built. The "5" in the part number highlighted the fact that the 8085 uses a single +5-volt (V) power supply by using depletion-mode transistors, rather than requiring the +5 V, −5 V and +12 V supplies needed by the 8080. This capability matched that of the competing Z80, a popular 8080-derived CPU introduced the year before. These processors could be used in computers running the CP/M operating system.

<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">Intel 4004</span> 4-bit microprocessor

The Intel 4004 is a 4-bit central processing unit (CPU) released by Intel Corporation in 1971. Sold for US$60, it was the first commercially produced microprocessor, and the first in a long line of Intel CPUs.

<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 x 28 cm, and it had a 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 made on his 1802 Microprocessor. It was initially used on the COSMAC VIP and Telmac 1800 8-bit microcomputers in the mid-1970s. CHIP-8 programs are run on a CHIP-8 virtual machine. It was made to allow video games to be more easily programmed for these computers. The simplicity of CHIP-8, and its long history and popularity, has ensured that CHIP-8 emulators and programs are still being made to this day. It also gave inspiration to similar systems with certain limitations and compatibility independent of hardware called fantasy consoles.

<span class="mw-page-title-main">Fairchild F8</span> 8-bit microprocessor first shipped in 1975

The Fairchild F8 is an 8-bit microprocessor system from Fairchild Semiconductor, announced in 1974 and shipped in 1975. The original processor family included four main 40-pin integrated circuits (ICs); the 3850 CPU which was the arithmetic logic unit, the 3851 Program Storage Unit (PSU) which contained 1 KB of program ROM and handled instruction decoding, and the optional 3852 Dynamic Memory Interface (DMI) or 3853 Static Memory Interface (SMI) to control additional RAM or ROM holding the user programs or data. The 3854 DMA was another optional system that added direct memory access into the RAM controlled by the 3852.

<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">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.

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 researcher, as well as a gifted writer 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.

The NEC μCOM series is a series of microprocessors and microcontrollers manufactured by NEC in the 1970s and 1980s. The initial entries in the series were custom-designed 4 and 16-bit designs, but later models in the series were mostly based on the Intel 8080 and Zilog Z80 8-bit designs, and later, the Intel 8086 16-bit design. Most of the line was replaced in 1984 by the NEC V20, an Intel 8088 clone.

<span class="mw-page-title-main">Martin Research</span> American computer company (1974–1986)

Martin Research Ltd., later Qwint Systems, Inc., was an American computer company founded by Donald Paul Martin in Northbrook, Illinois, United States. The company released their Mike family of modular kit microcomputers starting in 1975. These computers, spanning several models based on the Intel 8008, 8080, and Zilog Z80 microprocessors, proved very popular among hobbyists who wanted an inexpensive trainer computer.

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