z386: An Open-Source 80386 Built Around Original Microcode

TL;DR

z386 is an open-source FPGA implementation of the Intel 80386 microprocessor, built around recovered original microcode. It can run DOS, protected-mode programs, and classic games, representing a significant step in hardware reconstruction.

The z386 project, an open-source FPGA implementation of the Intel 80386 microprocessor, has achieved a milestone by successfully booting DOS 6 and DOS 7, and running protected-mode software, including classic games. This development allows researchers and enthusiasts to explore the original 386 microarchitecture in hardware form, based on recovered microcode.

The z386 CPU is built around the original 386 microcode, which has been recovered and disassembled by researchers. The project is designed to reproduce key aspects of the original microarchitecture, including microcode ROM, instruction prefetch, decode logic, and address translation units. It runs at a clock speed comparable to a 70MHz 386 or low-end 486, with performance benchmarks showing it can handle software like Doom and Cannon Fodder. The implementation uses FPGA-friendly techniques, such as DSP blocks for multiplication and a 16 KB cache, to balance accuracy and practicality. The project is a continuation of previous efforts, notably the z8086, and benefits from shared microcode disassembly work from the community, including reenigne and others.

According to the project creator, the goal was to create a faithful reconstruction that is both educational and functional, capable of running real software. The design includes major units such as prefetch, decode, microcode sequencer, ALU, segmentation, protection, paging, and memory interface, mirroring the original 386 architecture. The project has demonstrated the ability to run complex protected-mode software, a significant step forward in hardware archaeology.

Why It Matters

This development matters because it provides a tangible, hardware-based window into the original 386 microarchitecture, which has been largely inaccessible since the microcode was proprietary. It enables detailed study of the processor’s design and operation, offering educational value and insights into early PC architecture. For the retro computing community, it represents a milestone in hardware reconstruction, potentially inspiring further projects and preserving computing history in a functional form.

Digital IO Board Kit, Project Starter Kit for DE10 FPGA for MisterFPGA, SDRAM V2.9 for Multi Gaming Console

Digital IO Board Kit, Project Starter Kit for DE10 FPGA for MisterFPGA, SDRAM V2.9 for Multi Gaming Console

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Background

The 80386 was a pivotal processor introduced by Intel in 1985, featuring protected mode, paging, and a 32-bit architecture that laid the groundwork for modern x86 systems. Prior efforts to emulate or reconstruct the 386 in hardware have been limited or theoretical. The recent recovery and disassembly of the original microcode, shared by the community, has enabled projects like z386 to move from software emulation to hardware implementation. The project builds on previous FPGA CPU efforts, such as z8086, and benefits from detailed microcode analysis that has only recently become available.

“The goal was to create a faithful, educational, and functional replica of the 386 microarchitecture based on original microcode.”

— Project creator

“The recovered microcode provides unprecedented insight into the 386’s internal operations, enabling accurate hardware reconstruction.”

— Community microcode disassembler team

Digilent Basys 3 Artix-7 FPGA Trainer Board: Recommended for Introductory Users

Designed for students and beginners looking to understand Digital Logic, fundamentals of FPGAs

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What Remains Unclear

It is not yet clear how closely the current FPGA implementation matches the original 386 microarchitecture in all details, or how well it handles all edge cases and rare instructions. The project is still in development, with ongoing testing and refinement needed to improve accuracy and performance. Additionally, the full extent of microcode disassembly and interpretation remains a work in progress, and some microarchitectural features may be simplified or approximated.

Amazon

Intel 80386 microcode disassembly book

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

What’s Next

The next steps include further testing with a broader set of software, optimizing performance, and possibly expanding microcode coverage. Developers aim to refine the microarchitecture fidelity and explore more complex protected-mode applications. Community collaboration and microcode analysis are expected to continue, potentially leading to more accurate or complete reconstructions of the 386 microarchitecture.

Signature Design by Ashley Carynhurst Farmhouse Large Leg Home Office Desk, 2 Storage Drawers, Vintage Bronze Hardware, Wood, 60.25" Wide, Antique White

Signature Design by Ashley Carynhurst Farmhouse Large Leg Home Office Desk, 2 Storage Drawers, Vintage Bronze Hardware, Wood, 60.25" Wide, Antique White

LARGE HOME OFFICE DESK: This desk brings casual-cool functionality to your home office. Be your own executive with…

As an affiliate, we earn on qualifying purchases.

As an affiliate, we earn on qualifying purchases.

Key Questions

What is z386?

z386 is an open-source FPGA-based implementation of the Intel 80386 microprocessor, built around recovered original microcode, capable of running DOS and protected-mode software.

Why is this project significant?

It provides a hardware-based reconstruction of the 386 architecture, offering educational insights and preserving a key step in computing history that was previously only accessible via software emulation.

Can z386 run all 386 software?

Currently, it can run many DOS-based and protected-mode programs, including classic games like Doom, but full compatibility with all software remains under development.

How accurate is the microcode implementation?

The project is based on recovered and disassembled microcode, but some microarchitectural features may be simplified or approximated as development continues.

What are the future plans for z386?

Future efforts focus on expanding microcode coverage, improving performance, and testing with a wider range of software to enhance fidelity and usability.

Source: Hacker News

You May Also Like

Maryland citizens hit with $2B power grid upgrade for out-of-state AI

Maryland citizens may pay $1.6 billion over ten years for grid upgrades driven by out-of-state data centers, according to state officials’ complaint to FERC.

Energy Storage Breakthroughs: Powering Gadgets and Grids

The transformative energy storage breakthroughs are revolutionizing power for gadgets and grids, and their potential to reshape our sustainable future is just beginning.

How Privacy-Preserving AI Could Reshape Adoption

Discover how privacy-preserving AI could reshape adoption by building trust through advanced security, but the full impact depends on…

AI tool for radiotherapy can support the global effort to eliminate cervical cancer

A new AI tool effectively plans radiotherapy for cervical cancer, potentially expanding access and saving lives in low-income countries, according to recent trial results.