# Spice86

> PC emulator for executing, reverse engineering and rewriting real-mode DOS programs whose source code is unavailable. While a program runs it builds a control-flow graph, and on exit it dumps memory, execution flow, Ghidra-compatible symbols and a self-contained, runnable C# project whose generated functions override the original assembly, so analysts can rewrite them function by function into readable code while the program keeps working. It also provides a GDB remote server with custom analysis commands, a built-in debugger with a C-header structure viewer, an optional HTTP memory API and an MCP server whose tools cover CPU, memory, breakpoints, CFG and device state; an optional Ghidra plugin imports the dumps.

- Type: Tool
- Targets: Binary · Game
- Category: Game analysis tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-19
- Added to the catalog: 2026-10-19
- Original resource: <https://github.com/OpenRakis/Spice86>
- Primary source: <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/README.md>
- Catalog page: <https://awesomerea.org/resources/spice86/>
- Record JSON: <https://awesomerea.org/resources/spice86/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/spice86/index.md)

## Requirements & limits

- Releases are published on NuGet (16.1.0 at review, published 2026-08-05); the GitHub release tagged latest is a rolling development prerelease built from master with debug and release archives. The reviewed master commit (2026-10-13) declares 16.1.0. The project is a C# port and continuation of the original Java Spice86. Running and building need .NET 10 on Windows, macOS or Linux; source builds use dotnet build.
- The README lists 8086/8088 as fully implemented, with partial 80186, 80286 and 80386 support (no protected mode or paging, and no FPU beyond detection); 1 MB segmented memory with EMS, XMS and HMA; text, CGA, EGA, VGA and VESA VBE 1.2 graphics, with CGA and EGA best effort; a largely complete DOS 5.0 INT 21h; and Sound Blaster, OPL and Adlib Gold audio ported from DOSBox Staging, with MT-32 partial and unavailable on macOS. COMPATIBILITY.md says many programs do not run and lists tested games individually.
- The analyst supplies the DOS program and its files; the emulated C: drive defaults to the program folder. Dumps go to a subfolder named by the program's SHA-256 hash, and the generated project passes the expected checksum so overrides cannot run against a different binary. The GDB server starts by default on port 10000, and the MCP HTTP server is documented as enabled by default on port 8081. The Ghidra plugin is a separate repository that needs Java 17. The README suggests LLM assistance for rewriting generated functions and points to the project's Cryogenic rewrite of Cryo's Dune as a worked example.
- Apache-2.0; NOTICE credits the Aeon project, the README credits DOSBox Staging for ported sound code and as the model for CD and floppy emulation, and a prebuilt FastExpressionCompiler DLL is vendored in 3rdparty. Test resources are small DOS test programs, most with assembly sources in the repository.

## Primary sources

1. <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/README.md>
2. <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/README.md#L266-L290>
3. <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/COMPATIBILITY.md>
4. <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/doc/mcp.md>
5. <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/src/Directory.Build.props>
6. <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/LICENSE>
7. <https://github.com/OpenRakis/Spice86/blob/28a877fc64888f070e2dad95ddb739f3e1fe84a2/NOTICE>
8. <https://github.com/OpenRakis/Spice86/releases/tag/latest>
9. <https://www.nuget.org/packages/Spice86/16.1.0>

## More in Games

- [PS2 Web Recomp](https://awesomerea.org/resources/ps2-web-recomp/index.md) · Tool
- [xboxrecomp](https://awesomerea.org/resources/xboxrecomp/index.md) · Tool
- [PCSX-Redux](https://awesomerea.org/resources/pcsx-redux/index.md) · Tool
- [Il2CppInspector](https://awesomerea.org/resources/il2cppinspector/index.md) · Tool
- [MelonLoader](https://awesomerea.org/resources/melonloader/index.md) · Tool
- [BepInEx](https://awesomerea.org/resources/bepinex/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
