There are basically two ways in which you can get involved with microcomputers on the nonprofessional level. You can buy one of several reasonably priced hobby computer kits, add a TV or typewriter terminal, and learn to use high-level language. On the other hand, you can build your own inexpensive system from scratch. This permits you to experiment with simple applications that do not require an expensive terminal or a large memory. You can communicate with the computer in a relatively simple language.
The "Elf" microcomputer project gives you the latter category of computer system -- for about $80. It is an excellent hardware and software trainer that uses machine language and can be easily expanded to do just about anything a full-blown microcomputer can. Packaging, however, is up to you.
The basic Elf has toggle-switch input, hex LED display, 256 bytes of RAM, four input lines and a latched output line. It can be used to play games, sequence lights, control motors, generate test pulses, count or time events, monitor intruder-alert devices, etc. You can do all these things while learning how to program in order to produce a "real" output to determine whether or not the program you designed works. If you prefer not to control or time things, a simple LED can be used to indicate whether or not your program works.
Our focus here is on the construction of the low-cost computer and some simple examples of programming.
Design Details. The heart of the Elf microcomputer is the new RCA CDP1802 COSMAC microprocessor chip that sells for less than $30. The chip can use any combination of standard RAM and ROM devices and can address up to 65,536 (65 k) bytes of memory. It has flexible programmed I/O and program-interrupt modes, an on-chip DMA (direct memory access), four I/O flag inputs directly tested by branch instructions, and a 16 x 16 matrix of registers for use as multiple program counters, data pointers, or data registers.
Other features of the 1802 chip include voltage operation between 3 and 12 volts dc at very low current drain, TTL compatibility, built-in clock, and simplified interfacing. There is also a built-in program load-