fabPlane Team Project · Audio

RetroMIDI 55

A small desktop MIDI sound module for DOS and retro computer music, inspired by the early-90s sound modules used with DOS PCs and the X68000. It is MT-32- and SC-55-compatible when you supply your own ROMs, and a General MIDI module without them.

Enclosure v0.4-dev printed · boards not yet fabricated

Enclosure
160 × 120 × 44 mm, 3D printed, six parts, no supports
Compute
Raspberry Pi CM5 (or BIGTREETECH CB1) on a 150 × 80 mm six-layer carrier
Sound
MT-32- and SC-55-compatible with your own ROMs; General MIDI without them
Display
Waveshare 1.9" 170 × 320 IPS, ST7789V2
Rear I/O
MIDI IN · OUT · THRU, line in/out, 2 × RCA, DA-15 gameport, USB-C

Loading 3D model…

3D preview needs WebGL · showing a still

v0.3 enclosure · drag to orbit · scroll or pinch to zoom

What we are building

General MIDI hardware from the early nineties still defines how thousands of DOS and PC-98/X68000 games are meant to sound. The Roland MT-32 and SC-55 are now expensive and ageing, and the most popular modern replacement, mt32-pi, is no longer maintained. RetroMIDI 55 is our take: a finished, plug-in-and-play module that sits on a desk, takes a real MIDI cable, and needs no computer to configure.

Inside, a Raspberry Pi Compute Module 5 runs open emulators: Munt for MT-32 / CM-32L compatibility and Nuked-SC55 for SC-55 compatibility. Both engines stay resident, one is active at a time, and the front-panel keys switch between them. Neither works without ROM images, which RetroMIDI 55 does not include: you supply them, dumped from hardware you own. Without ROMs, RetroMIDI 55 runs as a General MIDI module on an open SoundFont.

The case

The enclosure is a parametric CAD model that prints in six parts without supports and closes with M3 heat-set inserts. Its look is inspired by the early-90s MIDI sound modules that sat beside DOS PCs and the X68000: a black body with an orange stripe, an amber backlit display showing a 16-part level meter, and a row of eight keys for level, pan, reverb, chorus, mode, mute, part and instrument. The 3D view above is the v0.3 case; the Size vs MT-32 / SC-55 toggle places simple true-size outlines of those modules beside it for scale.

Every revision is checked in software before it is printed: an interference checker, a fit check that drops the real KiCad boards into the case with a clearance envelope for every plug, and printable full-size PCB mock-ups. The v0.4 case was printed on a Bambu X1C and adjusted from that fit check.

Electronics

FunctionPart
Module sockets2 × Amphenol 10164227-1004A1RLF (CM5 or CB1)
Audio DACTI PCM5102A over I²S
Headphone ampTI TPA6132A2
MIDI inputH11L1S opto-isolator, three DIN-5 jacks
Front controlsTI ADS1115 ADC, 74LVC595 shift register, Bourns PTV09A volume
Storage and hostPush-push microSD, Molex USB-A host, USB-C power

The board history runs from a bare Allwinner T113-i motherboard (v0.2 to v0.7, including a T113-S3 cost-down and an H616 variant), through Orange Pi Zero 2W add-ons, to the current cm5-addon v0.5-0.3 carrier. Placement on the CM5 carrier is done and routing is in progress. Front panel rev C is routed, DRC clean and quoted for manufacture.

Software

The emulation is ported behind a small platform layer (MIDI parser at 31,250 baud with running status and SysEx, a render loop, and audio, MIDI and storage interfaces). The same port runs as a bare-metal Cortex-A7 image under QEMU and as a desktop build on macOS and Linux, where Space Quest III and Akumajou Dracula (X68000) have already been played through it. Benchmarks against a 0.6 worst-block real-time budget show MT-32 at 0.36 and SC-55 at 0.47 on a 64-bit Allwinner H616 (Cortex-A53) with the T113's Cortex-A7 borderline, which is why the hardware moved up.

Status. The enclosure is at v0.4-dev and has been printed. No board has been fabricated yet; the next step is finishing routing on the CM5 carrier and ordering the front panel.

RetroMIDI 55 is an independent fabPlane project and is not affiliated with, endorsed by or sponsored by Roland Corporation. Roland, Sound Canvas, MT-32, SC-55, CM-32L and GS are trademarks of Roland Corporation, used here only to describe compatibility. RetroMIDI 55 includes no Roland firmware or ROM data; MT-32 and SC-55 compatibility requires ROM images dumped from hardware you own. Munt is used under the LGPL-2.1 and Nuked-SC55 under the GPL-2.0.