# slopgs: reconstructing Microsoft GS Wavetable Synth

> slopgs reconstructs the behavior of the Windows XP SP3 Microsoft GS Wavetable Synth driver in a portable C synthesizer. Its engine renders MIDI using gm.dls, with native and WebAssembly builds. MIDI probes and spectrogram comparisons against reference recordings guide refinements to synthesis behavior.

- Type: Case study
- Targets: Binary
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-11-06
- Added to the catalog: 2026-11-08
- Original resource: <https://github.com/sloptainment/slopgs>
- Primary source: <https://github.com/sloptainment/slopgs/blob/9eb9433d9a6d8dff5de9d57a58cd417406e7e212/README.adoc>
- Catalog page: <https://awesomerea.org/resources/slopgs-case/>
- Record JSON: <https://awesomerea.org/resources/slopgs-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/slopgs-case/index.md)

## Requirements & limits

- **Prerequisites:** A C compiler is required for msgs-render; GCC is the tested compiler.
- **Prerequisites:** Clang is required to build msgs.wasm.
- **Prerequisites:** Supply gm.dls from a Windows installation for MIDI rendering.
- **Scope:** The oracle accepts only the Windows XP SP3 swmidi.sys build 5.1.2600.5512, supplied separately.
- **License:** No licence file in the repository.

## Primary sources

1. <https://github.com/sloptainment/slopgs/blob/9eb9433d9a6d8dff5de9d57a58cd417406e7e212/README.adoc>
2. <https://github.com/sloptainment/slopgs/blob/9eb9433d9a6d8dff5de9d57a58cd417406e7e212/Makefile>
3. <https://github.com/sloptainment/slopgs/blob/9eb9433d9a6d8dff5de9d57a58cd417406e7e212/artifacts/oracle/README.md>

## More in Native binaries

- [Surface Pro 11: reconstructing native Linux audio behavior](https://awesomerea.org/resources/sp11x1e-audio-case/index.md) · Case study
- [uniq-reconstruction: rebuilding GNU uniq from behavioral probes](https://awesomerea.org/resources/uniq-reconstruction-case/index.md) · Case study
- [Watcom C 6.5: reconstructing damaged runtime libraries](https://awesomerea.org/resources/watcom-c-6-5-restoration-case/index.md) · Case study
- [IOReport: investigating and decompiling Apple’s reporting library](https://awesomerea.org/resources/ioreport-decompile-case/index.md) · Case study
- [dargh: reconstructing Dynamic Animation Replacer for Skyrim](https://awesomerea.org/resources/dargh-case/index.md) · Case study
- [ndec-re: reconstructing an MS-DOS encryption program](https://awesomerea.org/resources/ndec-re-case/index.md) · Case study

## 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.
