Fundamentals 10 min read

How One Maker Built a Fully Functional CPU from Vintage Memory Chips

A YouTuber known as MINT spent three months hand‑soldering old memory chips and 8‑bit logic components to create EPROMINT, a complete CPU with its own ALU, memory controller, I/O, interrupt system and a VFD display capable of playing low‑resolution video, and released all designs as open‑source on GitHub.

Liangxu Linux
Liangxu Linux
Liangxu Linux
How One Maker Built a Fully Functional CPU from Vintage Memory Chips

Project Overview

EPROMINT is a fully functional 8‑bit CPU constructed exclusively from discarded EPROM memory chips, discrete logic ICs, and hand soldering. The processor is capable of executing a custom instruction set, handling memory addressing, I/O, and a full interrupt system, and it can drive a VFD display to render a low‑resolution video clip.

Hardware Design

The design began with a minimal arithmetic‑logic unit (ALU) that only performed addition. After several iterations a more powerful ALU was created and the architecture was expanded into a modular, slot‑based system consisting of three core modules:

Memory Control Module : Provides data storage and address decoding, allowing the ALU output to be written to specific memory locations.

I/O and Program Storage Module : Holds program instructions and implements external I/O, enabling operations such as reading two memory locations, adding them, and storing the result.

Control (Instruction Dispatch) Module : Fetches instructions from program memory and coordinates the ALU, memory, and I/O modules.

The assembled processor weighs over 500 g and required extensive manual work for circuit layout, socket soldering, wiring, and debugging.

Instruction Set and Interrupt System

Each instruction is assigned an opcode; the control module decodes the opcode to activate the appropriate circuitry. Although the instructions appear simple (e.g., “read value at address X into register A”), their implementation involves memory control, address decoding, and register writes.

EPROMINT implements a full interrupt mechanism. When an external event triggers an interrupt, the current program counter (PC) is pushed onto a stack, execution jumps to an interrupt service routine, and after completion the PC is restored, allowing immediate response to button presses.

Firmware

More than 1 800 lines of hand‑written assembly code (≈120 KB) were created. The firmware includes:

Arithmetic functions (addition, subtraction, multiplication, division, logarithms, trigonometry).

Logical operations and bit manipulation.

I/O handling for LCD and high‑resolution VFD displays, including ASCII conversion.

A division loop that generates a stable 24 fps video signal, used to play a pixelated version of “The Matrix”.

During testing the CPU was challenged with a 256‑bit (100‑digit) decimal division; the system crashed, prompting a detailed debugging process that preserved RAM contents across power loss and traced logic step‑by‑step.

Open‑Source Release and Future Work

All design files, schematics, firmware, and documentation are released under an open‑source license and are available at: https://github.com/majsterkowanieinietylko/EPROMINT A public Google Drive folder also hosts the same resources. The next development milestone is a C compiler for EPROMINT, enabling programmers to write high‑level code for the processor.

Key Technical Takeaways

Demonstrates that a complete CPU can be built from legacy EPROMs and 8‑bit logic without modern ICs.

Shows practical implementation of opcode decoding, memory control, I/O interfacing, and stack‑based interrupt handling in discrete hardware.

Provides a substantial open‑source reference for retro‑computing enthusiasts and educators.

CPU designAssembly Languageretro computingDIY hardware
Liangxu Linux
Written by

Liangxu Linux

Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.