ISA sound card emulation on the Raspberry Pi Pico's RP2040 microcontroller. PicoGUS can emulate:
- Gravis Ultrasound (GUS) - the primary focus of PicoGUS, hence the name
- AdLib (OPL2)
- MPU-401 (with intelligent mode) - outputs MIDI data on 3.5mm MIDI TRS connector
- Tandy 3-voice
- CMS/Game Blaster
Current status: Beta! See the main wiki page for current status and the compatibility list for support status of various DOS programs and other system compatibility notes. This project has a heavy demoscene focus due to the GUS's history so that's what I've concentrated on, but GUS support in games is quickly improving.
Want to make your own beta PicoGUS? See the build guide. Important caveat: due to the specs of the Pico, assumptions made by programs written to use the GUS, the imprecise nature of emulation, and the varying specs of retro DOS PC hardware, some things will likely never be perfect. This is still a work in progress.
Have a PicoGUS and want to use it? See the configuring and using your PicoGUS guide.
Want to support PicoGUS? I have a limited number of machines to test PicoGUS in and donating either money or motherboards would be greatly appreciated and help increase the compatibility of PicoGUS.
You can donate via PayPal or Ko-Fi:
Looking for the original project, using Raspberry Pi 3/4? See the pigus repo.
See/hear PicoGUS in action on YouTube:
- Raspberry Pi Pico C/C++ SDK
pico_audio_i2s
from pico-extrasstdio_async_uart
from PicoCart64gus-x.cpp
adapted from DOSBox-X- OPL/AdLib emulation from rp2040-doom (based on emu8950)
- MPU-401 emulation adapted from HardMPU and DOSBox-X
- Tandy 3-voice emulation based on code contributed by Aaron Giles, adapted from DREAMM
- CMS emulation based on code contributed by Aaron Giles, adapted from DREAMM
The hardware portions of this repository (hw/ directory) are licensed under the CERN OHL version 2, permissive.
The software portions of this repository (sw/, pgusinit/ directories) are licensed under the GNU GPL version 2.