Experimental z386 MiSTer build gets id Software’s Quake running

Quake is now running on the experimental z386_MiSTer PC core. Not quickly, and not perfectly, but it runs. That’s a useful milestone for the FPGA-based x86 project because Quake asks a lot more from a PC than many of the DOS games the core has handled so far. The latest development work adds a working subset of x87 floating-point instructions, which gives z386_MiSTer enough of the missing hardware behaviour to start running id Software’s 1996 shooter. There’s still plenty of work to do. Performance is slow, x87 support isn’t complete, and this isn’t yet part of the current public release. Even so, Quake reaching a playable state shows where the core is heading.

Quake is now running on the experimental z386_MiSTer PC core. Not quickly, and not perfectly, but it runs. That’s a useful milestone for the FPGA-based x86 project because Quake asks a lot more from a PC than many of the DOS games the core has handled so far. The latest development work adds a working subset of x87 floating-point instructions, which gives z386_MiSTer enough of the missing hardware behaviour to start running id Software’s 1996 shooter. There’s still plenty of work to do. Performance is slow, x87 support isn’t complete, and this isn’t yet part of the current public release. Even so, Quake reaching a playable state shows where the core is heading.

What’s changed in z386_MiSTer

The biggest change is x87 support. Until now, z386_MiSTer didn’t provide the floating-point functions that some PC software expects. Quake relies heavily enough on those instructions that the game simply wasn’t a realistic target without them.

That ties directly into the hardware of the original 386 era. Intel’s 80386 CPU didn’t have a floating-point unit built into the processor itself. If you needed faster floating-point maths, you could pair the system with an Intel 80387 maths coprocessor. That extra chip handled the x87 instruction set used by technical applications, 3D software and some increasingly demanding games. Later processors brought that functionality onto the CPU itself.

The new z386 development work is starting to reproduce enough of that behaviour to make Quake run. It doesn’t mean there’s now a finished 80387 implementation hiding inside MiSTer. There isn’t. What it does show is that the core can now get through parts of Quake that previously depended on missing floating-point instructions. That’s a meaningful step.

What is z386_MiSTer?

z386_MiSTer is an experimental PC-compatible core for the MiSTer FPGA platform. At its heart is z386x, an x86 CPU design based around the original Intel 80386 microcode. It isn’t simply trying to duplicate a stock 386 clock for clock, though. The design adds features such as pipelining, a faster instruction front end and quicker paths for common operations.

The result is a machine that behaves broadly like a 386-class PC while pushing performance beyond what you’d expect from a straightforward recreation. That’s already visible in Doom. Published timedemo figures put z386_MiSTer at 29.7 frames per second at maximum detail, while the established ao486 MiSTer core manages 21.0 frames per second under the same test conditions.

The core also supports memory configurations from 16 MB up to 128 MB and includes ET4000-compatible SVGA graphics modes. There are some technical differences from ao486 as well. z386_MiSTer uses the MiSTer SDRAM module instead of relying on the DE10-Nano’s onboard DDR3 memory.

Development hasn’t focused only on speed. Recent work has covered protected-mode behaviour, VGA and SVGA compatibility, Windows 3.1, CPU identification, task switching and timing fixes. So while games make handy test cases, the wider aim is clearly a capable PC-compatible core.

Why Quake is such a tough test

Doom running well is one thing. Quake is another. When id Software released Quake in 1996, PC hardware was moving away from the 486 generation and toward Pentium systems. The engine used fully 3D environments, polygonal characters and a software renderer that could put serious pressure on the CPU even at 320 x 200.

That makes it a useful stress test for z386_MiSTer. Quake doesn’t just need the processor to throw pixels around quickly. It exercises floating-point operations, protected-mode DOS code, memory access, graphics, input and timing at the same time. Getting the game to start and run therefore checks much more than basic instruction compatibility.

And unlike Doom, Quake exposes the lack of x87 support very quickly. Adding even a partial implementation opens the door to software that previously had no realistic chance of working on the core.

It’s still development code

There’s one important catch. Quake support isn’t part of the current public z386_MiSTer release. The public build dated 6 August 2026 focuses on other compatibility work, including 386 task switching, interrupt handling, Windows 3.1 fixes and additional CPU instructions. The Quake demonstration comes from newer development work that hasn’t yet made its way into that release.

The x87 implementation also remains incomplete. So this shouldn’t be read as full 80387 compatibility or as evidence that every floating-point-heavy DOS program will suddenly work. Still, the direction is clear.

z386_MiSTer can now run software that was previously blocked by its lack of floating-point support. Quake happens to be a particularly demanding example, which makes it a useful benchmark for what comes next. Right now, it’s slow. But it runs, and that gives the developers a much tougher workload to test as x87 compatibility and CPU performance continue to improve.

Spread the love
error: