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 too have been used TTL FUSE PROMs and not CMOS EPROMs like generally done by the majority of the hobbyists making
The machine was built using extremely accurate soldering with a miniature iron and sockets
for over sixty TTL integrated circuits on a single square foot perfboard. Designed and tested with the aid of a 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 (or 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 to find out prime numbers, written in BASIC in 1980)
has been transposed and implemented on APOLLO181 to test the performance: the respectable result obtained proved its
APOLLO181 is a multi-chip board and its peculiarity is that any TTL component employed
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.
Well, 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...