# libmd12: a C model of the E-mu SP-1200 and SP-12 audio path

> A C99 library of the E-mu SP-1200 and SP-12 sampler audio path: pitch playback, filters, and the dynamic filter. The README says firmware behavior comes from running E-mu's operating-system code in a Z80 emulator, and make check runs the shipped suite.

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

## Requirements & limits

- **Prerequisites:** Needs a C99 compiler and make. make builds the library and command-line tools. The README says the table generators and checks also need Python 3 with NumPy and SciPy, ngspice, an arm-none-eabi toolchain, and QEMU.
- **Scope:** The README says the semitone and decay tables are E-mu's, read from SP-1200 OS 1.2, Rossum's SP-1200 OS 1.04, and the SP-12 Turbo 2.6 images it names. It points at dumped images in Lytrix/EMU-SP1200 for the required firmware inputs.
- **Testing evidence:** The README says make check runs 341 checks and make m7check runs those same 341 checks under QEMU for a Cortex-M7 with a single-precision FPU. It also reports filter comparisons with ngspice and with John Nolting's SP-12 recordings, which it says to download.
- **License:** LICENSE is the MIT License, copyright 2026 Stanislaw Przedzinkowski.

## Primary sources

1. <https://github.com/Mudb0y/libmd12/blob/427c8e38eaaeb76f5fb0e526f7a49c52cfd332bb/README.md>
2. <https://github.com/Mudb0y/libmd12/blob/427c8e38eaaeb76f5fb0e526f7a49c52cfd332bb/Makefile>
3. <https://github.com/Mudb0y/libmd12/blob/427c8e38eaaeb76f5fb0e526f7a49c52cfd332bb/LICENSE>

## More in Native binaries

- [reAL: a dsound.dll checked against Windows and ALchemy](https://awesomerea.org/resources/real-dsound-case/index.md) · Case study
- [Konami's Game Master: a matching MSX utility-cartridge disassembly](https://awesomerea.org/resources/konamis-game-master-disassembly-case/index.md) · Case study
- [dolnetbp: reconstructing GameCube network SDK libraries](https://awesomerea.org/resources/dolnetbp-case/index.md) · Case study
- [Dolphin SDK 2004 Libraries: decompiling GameCube SDK archives](https://awesomerea.org/resources/dolphin-sdk-2004-libraries-case/index.md) · Case study
- [dolsocketlibrary: reconstructing Dolphin networking libraries](https://awesomerea.org/resources/dolsocketlibrary-case/index.md) · Case study
- [open_rvl: decompiling the Wii SDK used in Wii Sports](https://awesomerea.org/resources/open-rvl-sdk-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.
