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.