APOLLO181 was designed and built in 2012 by Gianluca G. (an Italian electronic engineer,
author of the homemade Z80/AM95 8-bit NANO COMPUTER) adopting early 1970s TTL technology and using original vintage components, with
retro style layout: one of the goals was in fact to obtain as much historical accuracy as was possible.
APOLLO181 is a pure 100% TTL
machine: for the microcode decoder have been used TTL FUSE PROMs, not CMOS EPROMs like generally done by the majority of the hobbyists making homemade
The machine was built on a single square foot perfboard, using extremely accurate soldering
with a miniature iron and sockets for over sixty TTL integrated circuits. Designed and tested with the aid of a current hardware
simulator, APOLLO181 originally run at 2.5 MHz, by using Low Power Schottky 74LS family chips.
Then, after being tested, nearly all integrated circuits were changed into pure Schottky
74S technology, a previous but faster TTL logic family introduced by Texas Instruments in 1970, which allowed APOLLO181 to run up to 3 MHz.
The project is based on the famous 74181 Integrated Circuit that is a TTL Arithmetic
and Logic Unit (ALU), frequently used in the 1970s during the third generation of computers. This chip is the hub of datapath
activity with its output the primary feedback path to the registers: as early minicomputers, APOLLO181 uses the content of
a memory location as one operand of the 74181, and an accumulator as the second operand. The result is stored back in the
You can find author’s research about history of the 74181 chip in commercial minicomputers on the following pages.
APOLLO181 uses 8-bit instruction word and 8-bit address bus which can access 256 Byte
of user program memory. The reason we classify it a 4-bit processor is that the internal registers and the arithmetic logic
unit perform computations on 4-bit ("a nibble") intermediate results: advantages of a shorter word are simpler circuits
and higher speed. Multi-nibble operations can be anyway performed by propagating carry or borrow flag, permitting powerful
8-, 16-, 24-, and even 32-bit computations (at reduced speed).
The reduced set of instructions consists of sixteen basic commands, which perform input and output interfacing,
conditional jumps and arthmetic and logic operations like addition, subtraction, increment, decrement, operand shifting, magnitude
comparison, Exclusive-OR, AND, NAND, OR, NOR, on 4-bit data words.
The move time for register-to-register transfers is 2,7 microseconds, which requires
two instructions and eight clock cycles. Just as a performance indicator, APOLLO181 processor is able to perform a 12-bit integer multiplication (giving a 24-bit long result) in less than 1,2 milliseconds.
A famous computer benchmark ("BM9", a Tom Fox algorithm written in BASIC in 1980 to find out prime numbers)
has been transposed on APOLLO181 to test the performance: the respectable result obtained proved its capability.
APOLLO181 is a multi-chip board and its peculiarity is that any employed TTL component was
described in the Bugbook® I & II (LOGIC & MEMORY EXPERIMENTS USING TTL INTEGRATED CIRCUITS, written by Dr.
Peter R. Rony © 1974, 1st edition), as a Gianluca's personal tribute to these books. By happy coincidence we are also approaching,
in 2014, the 40 years Bugbook® publication anniversary.
This project obviously aims to be more educational and recreational than being a practical
useful processor: the major limitations, compared with normal CPUs, are the maximum program length of only 256 instructions,
the lack of subroutine calls and the absence of memory manipulation instructions. The 256 Byte of RAM contains only the user
program, but we can use up to sixteen internal registers to store 4-bit temporary results. A simple way to expand the
number of registers up to 32 is to make read/write the input/output ports: the data written to one output port loops
back to the relative input port. In fact the processor is capable of driving sixteen 4-bit independent input and latched output
ports; later, a digital to analogue converter has been added. Thus, theoretical areas of application of APOLLO181 could be the same as microcontrollers: small domestic
appliances, white and brown goods, security systems, toys, office equipment and industrial control applications.
A part from having finite memory, APOLLO181 can theoretically be considered a Turing
complete machine: in the following pages you will find algorithm examples showing computation of the four fundamental
arithmetic operations, a light dimmer, a stepper-motor control, a chronograph, a famous computer benchmark originally written in BASIC and a minimal sound generator. The chronograph software includes complex combined arithmetic and logical
operations which are far enough away from the traditional use of the 74181 chip. Other algorithms show software tricks
to extend Apollo181's Instruction Set to the most common operations like SHIFT and ROTATE commands, invoke subprograms without CALL/RETURN statements, generate pseudo-random numbers or perform nested FOR/NEXT loops.
Let us start from watching APOLLO181 video presentation in Youtube and don't rush to download the schematic before having explored the following website pages...