HOME

TheInfoList



OR:

The COSMAC Elf was an RCA 1802 microprocessor-based computer described in a series of construction articles in ''
Popular Electronics ''Popular Electronics'' was an American magazine published by John August Media, LLC, and hosted at TechnicaCuriosa.com. The magazine was started by Ziff-Davis Publishing Company in October 1954 for electronics hobbyists and experimenters. It soo ...
''
magazine A magazine is a periodical publication, generally published on a regular schedule (often weekly or monthly), containing a variety of content. They are generally financed by advertising, purchase price, prepaid subscriptions, or by a combinatio ...
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
ROM Rom, or ROM may refer to: Biomechanics and medicine * Risk of mortality, a medical classification to estimate the likelihood of death for a patient * Rupture of membranes, a term used during pregnancy to describe a rupture of the amniotic sac * R ...
s and programs were entered directly with help of the
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
integrated DMA using 8 toggle switches and an Input push button. It featured two
hexadecimal In mathematics and computing, the hexadecimal (also base-16 or simply hex) numeral system is a positional numeral system that represents numbers using a radix (base) of 16. Unlike the decimal system representing numbers using 10 symbols, hexa ...
LED A light-emitting diode (LED) is a semiconductor Electronics, device that Light#Light sources, emits light when Electric current, current flows through it. Electrons in the semiconductor recombine with electron holes, releasing energy i ...
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 Colorburst is an analog video, composite video signal generated by a video-signal generator used to keep the chrominance subcarrier synchronized in a color television signal. By synchronizing an oscillator with the colorburst at the back porc ...
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 The COSMAC VIP (1977) IP means Video Interface Processorwas 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 purc ...
. In August 2006,
Nuts and Volts ''Nuts and Volts'' is a bimonthly 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 pr ...
magazine, along wit
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. Th

is a modern, simple COSMAC Elf-like
remake A remake is a film, television series, video game, song or similar form of entertainment that is based upon and retells the story of an earlier production in the same medium—e.g., a "new version of an existing film". A remake tells the same ...
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 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 ...
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. Tiny BASIC, a version of
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
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. Mike Riley has written an editor, assembler,
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming languages designed for ease of use. The original version was created by John G. Kemeny and Thomas E. Kurtz at Dartmouth College ...
and
FORTH Forth or FORTH may refer to: Arts and entertainment * ''forth'' magazine, an Internet magazine * ''Forth'' (album), by The Verve, 2008 * ''Forth'', a 2011 album by Proto-Kaw * Radio Forth, a group of independent local radio stations in Scotla ...
interpreters, a
BIOS In computing, BIOS (, ; Basic Input/Output System, also known as the System BIOS, ROM BIOS, BIOS ROM or PC BIOS) is firmware used to provide runtime services for operating systems and programs and to perform hardware initialization during the ...
, 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.


References

Construction Articles * * * * {{cite journal, last =Weisbecker , first =Joseph , date=July 1977 , title = Build the COSMAC Elf (Part 4 Pixie Graphics Display) , journal = Popular Electronics , volume = 12 , issue = 1 , pages = 41–46 , publisher = Ziff Davis


External links


Spare Time Gizmo's article on the Cosmac Elf 2000

Emma 02
including Cosmac Elf Emulator
SimElf
COSMAC Elf-ish CDP1802 Simulator, an extended web app in JavaScript, SimElf++ / COSMAC Elf2 Early microcomputers