Designing A CPU With Only Memory Chips

Four brown perf board circuits are visible in the foreground, each populated with many large DIP integrated circuits. The boards are connected with grey ribbon cable. Behind the boards a vacuum fluorescent display shows the words “DIY CPU.”

Building a simple 8-bit computer is a great way to understand computing fundamentals, but there’s only so much you can learn by building a system around an existing processor. If you want to learn more, you’ll have to go further and build the CPU yourself, as [MINT] demonstrated with his EPROMINT project (video in Polish, but with English subtitles).

The CPU began when [MINT] began experimenting with uses for his collection of old memory chips, and quickly realized that they could do quite a bit more than store data. After building a development board for single-chip based programmable logic, he decided to build a full CPU out of (E)EPROMs. The resulting circuit spans four large pieces of perfboard, weighs in at over half a kilogram, and took several weeks of soldering to create.

The star of the system is the ALU, which runs an instruction set inspired by the Z80, but with some optimizations and added features. In particular, it has new operations for multiplication, division, bitstream operations, more advanced bit shifting, and a wide range of mathematical functions, including exponents, roots, and trigonometric functions. [MINT] documented all of this in a nicely-formatted offline booklet, available under the project’s GitHub repository. It’s currently only possible to program for the CPU using opcodes or a custom flavor of assembly, but there are plans to write a C compiler for it.

Even without being able to write in a higher-level language than assembly, [MINT] was able to drive a VFD screen with the EPROMINT, which he used to display some clips from The Matrix. This provided an opportunity to demonstrate basic debugging methods, which involved dumping and analyzing the memory contents after a failed program execution.

Using memory chips as programmable logic gates is an interesting hack, and we’ve seen Lisp programs written to make this easier. Of course, this isn’t the first CPU we’ve seen built without any chips intended for logic operations.

Thanks to [Piotr] for the tip!

12 thoughts on “Designing A CPU With Only Memory Chips

  1. Back in the 90s, I was doing hardware design that involved FPGAs, and while I haven’t really kept up with the technology, back then there were manufacturers that were implementing FPGAs as arrays of cells they called look-up tables (LUTs). That is, little memory modules. Going back even farther, in the 80s I worked on the Tektronix 7L series Spectrum analyzers, which didn’t even have microprocessors, but they DID have ROM chips to display the correct reference level, based on switches that selected RF attenuation, IF gain, and video mode (10 dB/div, 2 dB/div, or linear voltage). So yeah, using memory as logic circuits has been a thing for a while.

    1. Yeah, LUT-based logic is still standard in FPGAs, or at least it is in Xilinx. (I’ve got no experience with anything else). The advantage being a 4 or 6-input LUT can take the place of a unit of several gates. And if you’re using an HDL to start with then they can just implement that rather than pretend to be the gates it’s synthesized-to.

  2. Hmmm…I’ve got a lot of wire wrap sockets (24/28 pin) and 27C256/512 chips. Very tempting with a powerful looking instruction set but I can see that this would be a daunting project and would not be inexpensive to duplicate working from scratch (sockets, UVEPROMS, blank boards are going up in price these days) as well as being very laborious to build. I haven’t delved into the design but I wonder what the “catch” is – clock speed? With that much wiring and that many chips, the theoretical and actual clock speeds might be very different, wire wrap OR PCB construction.

    I have a paper tape reader from the 1970’s with RS-232 serial handshaking output that uses no CPU – it gets by with a very small TTL PROM and some counters, which I thought was pretty amazing.

    1. Hi, MINT himself here. The CPU runs up to 8 MHz, but it can be sped up even more by using different chips. My build can calculate trigonometric functions in less than a microsecond. I am thinking about launching a merch with DIY kits for my CPU to make it much more affordable both when it comes to material cost and time required for the build. These are plans for rather far future, but stay tuned!

  3. I haven’t watched the video, but it seems like “…with only (E)EPROM chips” would be a better title; “…with only memory chips” had me scratching my head a second.

    Here’s the computer-from-scratch that lit the lightbulb for me. I guess I had just turned 16; maybe that’s why I never built it. I’ve been tempted over the last few years to give it a go.

    http://archive.org/details/BYTE-MAGAZINE-COMPLETE/197711_Byte_Magazine_Vol_02-11_Real_Time_Clocks/page/80/mode/1up

    1. Wow … what a throwback article! That was 6 years before I was gifted a subscription to Byte Magazine. What a treasure that was. I looked forward every month to the new issue showing up!

  4. i did designs like this back in the 90’s , eproms though tend to be slow tipicaly 150ns access times , making them slow for replacing devices like the 2600 bitslice components , high speed sram though with 20ns access times would yeald better perfromance but not without cost , not just price but the aditional hardware needed to preload the data into the ram on power up , but for other parts ie the microcode memory that does leave scope for live software programable microcode , and often a disirable feature , back then the use of pal’s saved a lot of space , but the LCA (logic cell array) was the only early version of a FPGA chip available at the time (64 *64 gates )

    1. im old now , but just going to leave this here for someone to experiment with , to create a “math co processor ” style compute device , not for pure math but one that can be used for live ai weighting tables , ie sort of a self correcting live updatable nural net element , yea it does sort of turn conventional cpu designs on its head but for applications like motor speed and positioning control, accelaration curves, and live load adjustment power curves its a winner ,

  5. Strong deja vu feeling. Earlier today this same link was mentioned by ryhu464 in the comments in the article:
    http://hackaday.com/2025/07/11/this-homebrew-cpu-got-its-start-in-the-1990s/

    The “Majsterkowanie i nie tylko” (http://www.youtube.com/@__MINT_) seems to be a quite interesting youtube channel. At the moment it has: 42.9K subscribers and 243 videos. I’m hoping they’ll grow a bit more now. I am having a bit of difficulty with the language (Probably Polish). Subtitles work for translation, but it’s not very clear from the list of video’s what they are about.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.