Project Update


4-bit TTL CPU wired without control circuitry.

The photo above shows the progress to date. It has changed quite a bit since the first prototype and I've expanded the breadboard to allow more space for each component that makes up the CPU. The program counter is wired to the Instruction RAM which in turn is wired to the Control ROM and Multiplexor.The Multiplexor is wired to the ALU, Program RAM and Accumulator. At the moment the control and clock lines are wired to load the Operand Data straight through to the Accumulator Data Bus so I can see what's going on and I've hard wired the Program Counter's input bus and control lines to switches to test and simulate 4-bit and 8-bit jump instructions. So far it seems to work flawlessly but that's not to say I won't have to troubleshoot it once it gets wired into the control circuitry. 

The Control circuitry is next on the agenda. This will be complicated so I'll write another entry detailing how it is wired up and how it works.


Nice machine bro! trying to engineer my own machine that is similar to this device, yet can execute instructions fast enough such that it can support a tv terminal output. I made a ttl tv interface board already. any advice and other resources? Could you post the schematics?

Thanks Josh,

Being that this is a 4-bit machine I think it might be too limited for interfacing with a TV or video monitor. Once I've got it finished, I'm planning on an 8-bit or larger version which would be better for a real display. I think I'll be using the 4 bits from the accumulator for output and I might try to synch that with some of the instructions or memory addresses to build a multiplexed grid to make it more interesting.

I'm changing some of the circuitry so I'll post more on the updated schematics a bit later. The program counter will remain the same but I'm changing the clock so I can single step throught the instructions or switch it to run and I'm working on the input/output for programming it via a 16 button hex keypad. I've got the keypad working but I have to interface it with the program RAM so I can deposit instructions with an input pushbutton.