TD4 CPU
Here is a schematic from the Internet:
(source: http://kamakurium.com/wp-content/uploads/2016/01/cpu_td4.jpg)
The entire CPU has only 12 TTL chips. Yes it has a switch based ROM! The schematic also shows the 12 OpCodes. It is not perfect, you cannot add the two main registers together and it cannot access any RAM. The author is Iku Watanabe, his book is available from Amazon but it is in Japanese:
I like most of the design but I want to map the full 16 OpCodes and make room for an address register. Yes I want to access some RAM.
Flashing LEDs
Most of the units have lots of LEDs that really add to the special effects when it is running:
(source: http://img.makebooth.com/b21065f903ae8f138b1b21cd28bcbef5,jpeg)
One guy even build a relay version:
(source: http://www.geocities.jp/team_zero_three/TD4/td4r_ldb_imm_.jpg)
AlanX
Super cool! Sometime back I "built" (well, on a FPGA) something similar using a single 4-bit Am2901 slice. Of course that is cheating, because 1 slice contains the equivalent of up to 10 74XX TTL chips (74181 + 2 7489 + bunch of MUXs) https://github.com/zpekic/tinycomputer
Here is one of sample programs I wrote for it, but not even sure any more what it does :-)
; //Test program 2
; .org 0 //fill program memory starting at location 0
0000 00 ;loop: Q = INPUT[0] // read value from port 0
0001 5B ; B = Q // store to b to initialize count
0002 54 ;dsp2: A = 0
0003 51 ; A++
0004 51 ; A++
0005 51 ; A++
0006 1E ;disp: OUTPUT[A] = Q // put q to outputs 3, 2, 1
0007 52 ; A--
0008 FD FD; IF(A != 0) GOTO disp
000A 1E ; OUTPUT[A] = Q // put q to output 0
000B 4F ; Q-- // decrement q
000C 5A ; B-- // decrement counter
000D FE F4; IF (B != 0) GOTO dsp2 //repeat until 0 reached
000F F6 F0; GOTO loop
; //end of test program!