Skip to main content
MCL8080+ Crams an Intel 8080 Emulator Into an ATTiny85

MCL8080+ Crams an Intel 8080 Emulator Into an ATTiny85

An 8 KB chip, an 8-pin DIP package, and a hand-tuned interpreter add up to a working 8080.

A new project crams a complete Intel 8080 interpreter into an 8 KB ATTiny85. What it teaches, what it can't do, and where to build it.

Yes — an Atmel ATTiny85, a chip with 8 KB of flash and 512 bytes of SRAM, can emulate an Intel 8080 well enough to run period-correct CP/M binaries at reduced clock speed. The MCL8080+ project, published this week on Hackaday, is the most-complete public implementation. It will not run a full BBS or a modern game, but as a proof-of-concept it lands cleanly, and the bill of materials is cheaper than a single Raspberry Pi Zero W.

What MCL8080+ actually does

The MCL8080+ project, documented in a Hackaday post and the author's GitHub repository, implements an Intel 8080 instruction decoder in hand-tuned AVR assembly running on an ATTiny85. The interpreter handles the complete 8080 instruction set, exposes a small simulated memory map through external SPI SRAM (because 512 bytes of internal SRAM is not enough for any real 8080 program), and emulates a serial-terminal I/O path so the user can type into a host PC and watch the 8080 program respond.

The reported clock-rate equivalence is in the kilohertz range — well under the 2 MHz of an original 8080 — but enough to run small CP/M binaries and toy BASIC interpreters. The result is more art project than usable retro-computing platform, which is exactly why it caught the maker community's attention.

Why this is interesting

The ATTiny85 is one of the smallest, cheapest microcontrollers still in production. It is an 8-pin DIP chip, runs on a coin cell, and sells in single quantities for under $2. Per Microchip's product page, the ATTiny85 has 8 KB of program flash, 512 bytes of SRAM, and a 20 MHz maximum clock speed. Fitting a full 8080 emulator in 8 KB of program memory required hand-tuning the AVR assembly so tightly that the author published the implementation as much for its tutorial value as for its runtime utility.

This is the kind of constraint-driven engineering that retro-computing makers find satisfying. It is also a useful exercise for builders who want to understand how interpreted-instruction emulation actually works at the cycle-counting level.

Per-platform comparison: what runs an 8080 emulator

PlatformFlashSRAM8080 emulation feasibilityApprox. cost
Atmel ATTiny858 KB512 BYes, with external SPI SRAM$1-$3
Arduino Uno (ATmega328P)32 KB2 KBYes, native$10-$25
Raspberry Pi Zero Wn/a (Linux)512 MBTrivially (Linux emulator)$15-$25
Raspberry Pi 4 8GBn/a (Linux)8 GBTrivially$75-$100

The interesting cell in that table is the first row: the ATTiny85 is the smallest chip that can realistically run an 8080 emulator, and the project's value is in proving that it is possible at all. For a maker who wants a useful retro-computing platform, a Raspberry Pi Zero W or Raspberry Pi 4 8GB is the practical answer.

Why an 8080 specifically?

The Intel 8080, released in 1974, is the spiritual ancestor of CP/M and a sizable chunk of early personal-computer software. Per the Intel 8080 Wikipedia entry, the chip was an 8-bit microprocessor with a 16-bit address bus, 8-bit data bus, and an instruction set of 78 distinct opcodes. The instruction set is small enough to fit an emulator into kilobytes of host program memory, and it has the historical pull of being the chip behind the Altair 8800, the IMSAI 8080, and the early CP/M software ecosystem.

For makers, the 8080 is the lowest-effort entry point into vintage emulation: smaller than the Z80, smaller than the 6502, and small enough that you can hand-code the interpreter rather than generate it.

What you would build with this

A maker who wants to actually use the project would pair the ATTiny85 with an external SPI SRAM chip (the MCL8080+ recommendation is a 23LC1024 — 128 KB of SRAM, $1-$2), a USB-to-serial bridge for the terminal, and a host PC running a serial terminal. The 8080 binary lives in flash on the ATTiny or in external storage; the emulator interprets the 8080 instructions and routes memory accesses through the SPI SRAM. CP/M's own minimal disk-image format can be served from a microSD card via SPI on a slightly larger build.

Boards like the 8BitDo SN30 Pro controller sit in the same maker-shelf neighborhood — small, cheap, USB-based, and built around constrained microcontrollers — though the controller is a finished product and the MCL8080+ is a kit.

Common pitfalls

  • Underestimating the SRAM constraint. The ATTiny85's 512 bytes of internal SRAM cannot hold any real 8080 program; external SPI SRAM is mandatory.
  • Skipping the cycle-counting work. The 8080 has documented timing behavior; sloppy emulators that ignore cycle counts run faster but break programs that expect realistic timing.
  • Treating it as a usable computer. This is a demo, not a daily driver. For actual CP/M, a Pi Zero W with a more mature emulator is far more practical.
  • Wiring the SPI bus loosely. The ATTiny85 has limited pins; sharing the SPI bus between SRAM and an SD card needs care.

When to use the MCL8080+ approach

This is an educational platform first. Build it if you want to understand how single-instruction-decoder emulators work at the assembly level, or if you specifically want a "smallest possible computer that runs 8080 code" demo. It is not a replacement for a Pi Zero running a more mainstream emulator when you want to actually use CP/M for anything.

What it teaches that a Pi-based emulator does not

The Pi-based emulator hides the interpreter loop inside a Linux process and a couple thousand lines of C. The ATTiny implementation lays the entire interpreter open in a few hundred lines of AVR assembly. Walking through that source code — and modifying it — is the closest most makers will come to understanding instruction-level emulation as a craft. That educational value is the project's real product, even more than the working CP/M binary.

Bottom line

MCL8080+ proves that an 8 KB ATTiny85 plus a small external SPI SRAM is enough to host an Intel 8080 emulator. Per the project's documentation and the Hackaday writeup, it runs at sub-megahertz effective speed, executes small CP/M binaries, and is built as a teaching tool. Most makers will build it to learn from it, not to use it daily. For actual retro-computing on cheap hardware, a Raspberry Pi Zero W plus an established emulator is the working answer; for a Linux-class homelab, a Raspberry Pi 4 8GB takes the same role for any vintage CPU.

Related guides

Why the ATTiny family still ships

Microchip continues to manufacture the ATTiny85 in 2026, twenty-plus years after the family's introduction. The reason is industrial: tens of millions of low-cost embedded products use the chip for the kind of small-job microcontroller work it has always been good at. That production volume keeps the chip available, documented, and cheap, which is exactly what hobby projects like MCL8080+ rely on.

How long this kind of project takes

Per the author's blog notes, the MCL8080+ took several months of evenings to bring up. The bulk of the work was the cycle-accurate instruction decoder; the SPI memory layer and serial I/O were comparatively quick. A maker copying the project from the published source can be running CP/M's command prompt in an afternoon.

What is missing from the demo

The MCL8080+ does not implement floppy-emulation timing, does not handle interrupts in a fully period-correct way, and does not run the original 8080 at native speed. None of those omissions are surprising for an 8 KB project; all of them are reasons the demo is a demo rather than a replacement for, say, Altair clone hardware.

Citations and sources

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

Products mentioned in this article

Tap any product for full specs, live Amazon & eBay pricing, and alternatives.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Find this retro hardware on eBay

Pre-2012 hardware isn't sold new on Amazon. eBay is the primary marketplace for the SKUs discussed in this article — auctions and Buy-It-Now listings update continuously.

Search eBay for "MCL8080 Crams Intel 8080 Emulator" Live listings →

SpecPicks earns a commission on qualifying eBay purchases via the eBay Partner Network. Prices and availability change frequently.

Frequently asked questions

What is the MCL8080+ project?
Per Hackaday, MCL8080+ is an Intel 8080 emulator that runs on an ATTiny85, an 8-pin microcontroller with very limited memory and clock speed. Fitting an 8-bit CPU emulator into such a constrained part is a notable feat of optimization. The project shows how far a small MCU can be pushed, and the linked writeup covers the implementation details and limitations.
Why emulate an Intel 8080 on a microcontroller?
The 8080 is historically important as an early microprocessor, and emulating it on a tiny modern chip is both an educational exercise and a demonstration of optimization. For makers it is a way to explore CPU internals, run vintage 8080 code, and appreciate how much capability fits in cheap silicon today. It is more about learning and craft than building a practical computer.
Is an ATTiny85 powerful enough for real retro software?
The ATTiny85 is extremely limited compared to a Raspberry Pi, so an 8080 emulator on it is constrained in speed and memory and suited to small programs rather than full vintage applications. For running fuller retro software, a Raspberry Pi Zero W or Pi 4 is a far more capable platform that can emulate many classic systems comfortably while still costing little.
What hardware should I get to start emulation projects?
For beginners, a Raspberry Pi Zero W kit is an inexpensive entry point for software emulation and small projects, while a Pi 4 8GB handles heavier multi-system emulation and homelab tasks. Pair either with a Bluetooth controller like the 8BitDo SN30 Pro for game input. These give a much friendlier starting point than squeezing emulation onto a bare ATTiny85.
Where can I read the full MCL8080+ details?
The complete description of MCL8080+, including how it overcomes the ATTiny85's constraints, is in the Hackaday article linked in the sources section. This brief is an editorial summary; for the implementation specifics, code, and the author's own notes, follow the source link rather than relying solely on this short overview.

Sources

— SpecPicks Editorial · Last verified 2026-06-12

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →