Last visit was: Tue Dec 16, 2025 7:49 pm
It is currently Tue Dec 16, 2025 7:49 pm



 [ 7 posts ] 
 The MAX Stack Computer Project 
Author Message
User avatar

Joined: Sun Dec 19, 2021 1:36 pm
Posts: 107
Location: Michigan USA
My new design project is a stack computer named MAX built using TTL integrated circuits. This project has many similarites to other projects I have described here: The TTL-Retro, the LALU Computer and my recent experiments with the Harris RTX2000 CPU.

Stack Computers are natural Forth machines. While exploring the RTX2000 two things really stood out: Direct Threading and Machine Opcodes corresponding to Forth Primitives. Writing assembly code by hand for the RTX approaches coding in Forth. Direct threading is a very powerful hardware feature.

My goal with MAX is to create a computer from scratch which can be programmed directly using opcodes corresponding to Forth instructions. Higher level Forth instructions can be created by using the direct threading.

I've decided to start simple and work with an 8 bit machine. (The TTL-Retro was a 12 bit machine, and LALU was a 16 bit machine.) You might say MAX will be a canonical stack machine built in hardware. The CPU will be my own design burned into ROM, similar to LALU. The ALU will start by simply using NAND IC's, and likely progress to a Lookup Arithmetic Logic Unit (LALU).

I plan to make provision for multiple stacks: Data, Return, Code and Keyboard. The Code Stack holds the program code. The Keyboard stack handles Input/Output to the operator, which can be a serial stream.

The MAX design will be using TTL. A key learning for me has been the realization of the efficacy of using negative logic. NAND gates and active lows are your friend! It really is amazing how much simpler things become regards the glue logic.

Anyway, that's the plan. More to follow regards the hardware. Michael


Thu Nov 27, 2025 1:18 pm WWW

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1864
Certainly sounds interesting... how is the user's serial I/O a stack though? It feels like it needs to be a queue.


Thu Nov 27, 2025 6:53 pm
User avatar

Joined: Sun Dec 19, 2021 1:36 pm
Posts: 107
Location: Michigan USA
Yes, the Keyboard Stack is used as a queue by resetting the counter after the input text stream has been received. (FIFO instead of LIFO)

To minimize construction costs I decided to use a standard 100mm square size for the MAX PCB's. This size allows purchase of 5 boards for $5, plus shipping and tariffs, from PCBWAY. Each board of MAX has a 50 pin connector to the bus, which is simply a passive backplane.

The first board I will describe is the Clock/Oscillator board. I am using a canned 1 MHZ oscillator as the timebase, and generate 6 rings or phases using the circuit shown in the attached schematic. There is nothing special about this design, and it is similar to what was used on TTL-Retro and LALU.

I also generate a quadrature clock for the bus, which can be a convenience for some of the TTL glue logic. I used an oscilloscope to verify the pulses are correct, and that the reset circuit works correctly. Unused board space was filled with prototyping work areas.


You do not have the required permissions to view the files attached to this post.


Fri Nov 28, 2025 12:47 pm WWW

Joined: Mon Oct 07, 2019 2:41 am
Posts: 885
Real men use a 74H04. :)
A 4.92 Mhz or 1.288 Mhz osc could be a better choice if plan to have a serial device or some sort of time generation logic,
Remote single step ,and single clock step could be option for later system debugging.
The only major fault I see is no power on reset, with a 555 timer.


You do not have the required permissions to view the files attached to this post.


Sat Nov 29, 2025 9:49 pm
User avatar

Joined: Sun Dec 19, 2021 1:36 pm
Posts: 107
Location: Michigan USA
Here is an update on the MAX Stack Computer. Attached are 2 photos: The MAX computer assembled, and the individual boards. At the moment we have: Clock Card, Data Stack Card, ROM Stack Card, Controller Card, ALU Card, and Bias Card. Probably the most significant mistake was reversing the data line sequence on the ROM stack (fixed with ribbon cable.) The Bias Card is useful for development because I can bias bus lines High or Low depending on my tests. I am using a programmed ROM for the MAX controller. I expect to split the controller into two ROM's going forward: Hardware Controller and Stack Controller.

I have spent a lot of time experimenting with the architecture. I have decided to use the A register on the ALU as the TOS (Top of Stack). I am also still evolving on the exact format for the 8 bit instructions. I also want to incorporate stack counter presets loaded from the bus for jumping, and other purposes. At this point I plan to clean up the circuit diagrams, fix the PCBs and do another spin from here. Michael


You do not have the required permissions to view the files attached to this post.


Sat Dec 13, 2025 6:40 pm WWW

Joined: Mon Oct 07, 2019 2:41 am
Posts: 885
Looks very nice.


Last edited by oldben on Sat Dec 13, 2025 10:32 pm, edited 1 time in total.



Sat Dec 13, 2025 8:43 pm

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1864
That's not a great comment Ben. People make the projects they want to make.


Sat Dec 13, 2025 8:48 pm
 [ 7 posts ] 

Who is online

Users browsing this forum: claudebot and 29 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software