I have developed a new sound driver for the Mega Drive. It runs on the 68000 (using the Z80 exclusively for PCM sample playback) and has the following features:
Code: Select all
Runs on the 68000 with the Z80 controlling PCM playback.
16 monophonic tracks that can be used for BGM or sound effects. Each track can be assigned to a channel with 4 levels of priority.
Can use any combination of FM, PSG and PCM sound sources.
FM3 special mode:
Can assign each or a pair of FM3 operators to one or more separate tracks with volume control.
PCM playback modes:
2 channel PCM playback at ~17.5 kHz with volume control
Compact sequence format
Sound data can be compiled from MML files using ctrmml
Various effects supported:
PSG volume envelopes
Pitch envelopes
Portamento
Fade in/out
Song volume and tempo control
Equal temperament scale with 256 steps per semitone, allowing for easy detune or pitch slide effects.
Unencumbered source code
Fully position-independent code - supports any assembler or toolchain by including the binary blob.
Uses approximately 1 kb (1024 bytes) of RAM.
Integration with SGDK
The sound driver is free software under the zlib license, and is available here: https://github.com/superctr/MDSDRV.
The test ROMs are available in the "Releases" page. I have tested them using a Mega Everdrive Pro on a Japanese VA0 Model 1 and European VA6 Model 1 console.