COSMAC ELF
Encyclopedia
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 ROM
s 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 byte
s 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.
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.
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.
RCA 1802
The RCA CDP1802, also known as the COSMAC , is an 8-bit CMOS microprocessor introduced by RCA in early 1976. It is being by Intersil Corporation as a high-reliability microprocessor...
microprocessor-based computer based on a series of construction articles in Popular Electronics
Popular Electronics
Popular Electronics was an American magazine started by Ziff-Davis Publishing in October 1954 for electronics hobbyists and experimenters. It soon became the "World's Largest-Selling Electronics Magazine". The circulation was 240,151 in April 1957 and 400,000 by 1963. Ziff-Davis published Popular...
magazine
Magazine
Magazines, periodicals, glossies or serials are publications, generally published on a regular schedule, containing a variety of articles. They are generally financed by advertising, by a purchase price, by pre-paid magazine subscriptions, or all three...
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
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...
. It was operated without built-in ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...
s and programs were entered directly with help of the CPU integrated DMA.
It featured two hexadecimal
Hexadecimal
In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...
LED
Light-emitting diode
A light-emitting diode is a semiconductor light source. LEDs are used as indicator lamps in many devices and are increasingly used for other lighting...
displays for output and a set of toggle switches or a hexadecimal keypad
Keypad
A keypad is a set of buttons arranged in a block or "pad" which usually bear digits, symbols and usually a complete set of alphabetical letters. If it mostly contains numbers then it can also be called a numeric keypad...
for input.
The base configuration had 256 byte
Byte
The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits. Historically, a byte was the number of bits used to encode a single character of text in a computer and for this reason it is the basic addressable element in many computer...
s of RAM
Ram
-Animals:*Ram, an uncastrated male sheep*Ram cichlid, a species of freshwater fish endemic to Colombia and Venezuela-Military:*Battering ram*Ramming, a military tactic in which one vehicle runs into another...
, 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
Colorburst
Colorburst is a analog video, composite video signal generated by a video-signal generator used to keep the chrominance subcarrier synchronized in a color television signal...
crystal was instead used in a separate oscillator circuit with a divide-by-two circuit to drive the clock inputs of both the microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...
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 RCARCA
RCA Corporation, founded as the Radio Corporation of America, was an American electronics company in existence from 1919 to 1986. The RCA trademark is currently owned by the French conglomerate Technicolor SA through RCA Trademark Management S.A., a company owned by Technicolor...
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
Video Display Controller
A Video Display Controller or VDC is an integrated circuit which is the main component in a video signal generator, a device responsible for the production of a TV video signal in a computing or game system...
chip. RCA later introduced their own expanded version as the COSMAC VIP
COSMAC VIP
The COSMAC VIP was an early microcomputer that was aimed at video games. 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...
.
In August 2006, Nuts and Volts
Nuts and Volts
Nuts and Volts is a monthly American magazine for the hands-on hobbyist, design engineer, technician, and experimenter. It has been published by T&L Publications since 1980 and leans heavily toward microcontroller and digital electronics projects-History:...
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.
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
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
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
BASIC
BASIC is a family of general-purpose, high-level programming languages whose design philosophy emphasizes ease of use - the name is an acronym from Beginner's All-purpose Symbolic Instruction Code....
and FORTH
Forth
Forth is a structured, imperative, reflective, concatenative, extensible, stack-based computer programming language and programming environment...
interpreters, a BIOS
BIOS
In IBM PC compatible computers, the basic input/output system , also known as the System BIOS or ROM BIOS , is a de facto standard defining a firmware interface....
, and the Elf/OS disk operating system
Disk operating system
Disk Operating System and disk operating system , most often abbreviated as DOS, refers to an operating system software used in most computers that provides the abstraction and management of secondary storage devices and the information on them...
that will run on expanded ELF systems, including the COSMAC Elf 2000.
External links
- Spare Time Gizmo's article on the Cosmac Elf 2000
- Emma 02 including Cosmac Elf Emulator