Creative Music System or C/MS

My first sound card was the Creative Labs Sound Blaster Pro. Prior to this, my first PC only had a piezoelectric speaker. It could beep. That’s about it. It wasn’t even a real, paper cone speaker, so some clever hacks that could play 1-bit PCM sound didn’t work.

The Sound Blaster was amazing. But one thing always frustrated me. The Sound Blaster Pro had dual Yamaha OPL2 chips for stereo FM synthesis. But all of the stereo music I could find at the time was incompatible.

Older Sound Blasters had two different synthesis chips. The more common, Yamaha OPL2 chip, and the less common Philips SAA1099 chip. Most cards that supported the SAA1099 didn’t include them. They had empty sockets. You could purchase the chips and install them yourself.

They completely dropped support for them in the Sound Blaster Pro. All the stereo music I could find was in .CMS format and required the SAA1099 chips. I’m not sure I ever found any music that took advantage of the dual OPL2s.

While going through some OPL2 music recently, I found a few .CMS files, which took me down this rabbit hole. Unsurprisingly, you can emulate the SAA1099 chips. So for the first time, I can actually play these files.

Let’s Try It!

The following should let you participate in the synthesized glory using Debian 11. We will assume you have Debian (or Ubuntu) installed with some sort of desktop environment installed.

sudo apt install dosbox

You will need to modify the DOSBox configuration to emulate the SAA1099 chips. Go ahead and launch it and exit to create the default configuration:

dosbox

This should launch a new window with a Z:\> prompt. Go ahead and type exit and press enter.

DOSBox

Back in Linux, edit ~/.dosbox/dosbox-0.74-3.conf. Change these lines:

sbtype=sb16
oplmode=auto

to:

sbtype=gb
oplmode=cms

You’ll need some software and .CMS files. Grab the following:

https://archive.org/download/MEGA_ROM_1/MEGA_ROM_1.cdr 1

http://vgmpf.com/Wiki/images/8/8b/Creative_Music_System_Disks.zip

We assume these files ended up in ~/Downloads. Let’s create a cms directory and simplify some paths:

mkdir cms
cd cms
unzip ../Downloads/Creative_Music_System_Disks.zip
mv Creative\ Music\ System\ Disks/Master/ master
mv Creative\ Music\ System\ Disks/Organ/ organ
mv Creative\ Music\ System\ Disks/Song\ Disk\ 1/ sd1
mv Creative\ Music\ System\ Disks/Song\ Disk\ 2/ sd2
mv Creative\ Music\ System\ Disks/Utility\ Disk/ util
rmdir 'Creative Music System Disks'/
cp ~/cms/master/PLAYER.EXE ~/cms

You’ll also need at least CMSDRV.COM from rolfiles/cms1.zip in the MEGA_ROM_1 ISO:

sudo mount MEGA_ROM_1.cdr /mnt
cd ~/cms
unzip /mnt/rolfiles/cms1.zip
sudo umount /mnt

For some reason, the C/MS driver included with C/MS disks will not work, but the one from the CDROM does. There are also a few more music files there.

At this point, you should have everything. Run DOSBox:

dosbox

You will need to mount your ~/cms directory in Debian, and load the C/MS drivers from MEGA_ROM_1. Then you can play a song:

mount c ~/cms
C:
CMSDRV
PLAYER CARLOTTA /Q

DOSBox

You should hear some glorious 1980s synthesized music.

DOSBox

Additional

You should have about 50 unique song files to play. In the ~/cms/sd1 directory, there is a demo that’s worth experiencing. Run the following in DOSBox.

mount c ~/cms
mount d ~/cms/sd1
C:
CMSDRV
D:
DEMO

References

https://en.wikipedia.org/wiki/Philips_SAA1099

http://vgmpf.com/Wiki/index.php?title=SAA1099

http://www.vgmpf.com/Wiki/index.php/Creative_Music_System_(DOS)

https://www.DOSBox.com/wiki/DOSBox.conf


  1. https://archive.org/details/MEGA_ROM_1 The torrent option may be faster. ↩︎