• Please review our updated Terms and Rules here

Creative Music System / Game Blaster clone

veovis

Member
Joined
Jun 21, 2017
Messages
20
Location
Virginia, USA
Greetings,

I have been interested in the Creative CMS or Game Blaster cards for quite some time but since the cards are fairly rare I haven't been able to obtain one. I stumbled across the work by Tronix described here and saw that he had some success at building a clone of the CMS card.

Tronix had problems with a large amount of noise making it into the output of his card but this was likely due to the lack of a good ground plane and separation of the audio from the digital signals.

Since I haven't been able to find an actual CMS card I decided to build my own based on the work by Tronix and the Sergey's auto detection circuit. In the end, I modified Sergey's auto detection circuit because it allowed the card to respond to addresses that it really shouldn't respond to. While I was at it, I added a jumper to set the card's IO address anywhere from 210 through 260 like the original creative card.

I decided to use the same TEA2025 amplifier that Creative used on the Game Blaster cards. Based on the pictures of the card that I was able to find, it looks like the amplifier on Creative's card is very similar to the reference example in the TEA2025 datasheet so I used the capacitor values from the datasheet.

The result is what I hope is an accurate sounding clone that should have nearly 100% compatibility with the CMS / Game Blaster. Due to the problems that Tronix experienced, I decided to go straight to a 2 layer PCB design and tried to keep the analog signals as far as possible from the digital lines.

I got my prototype PCBs back from the fab last week and built one of them this weekend. The card is detected by the Creative testcard utility and the audio output appears to be quite good. There is a little bit of background noise in the output when the card is not playing but it is not objectionable. In fact the noise level is about the same as the background noise level of the Sound Blaster 16 that I have in the same system.

REVA.jpg

One problem I encountered was I didn't have a 10k dual audio taper pot that was short enough to fit through the bracket once the card is installed in an ISA slot. So, I soldered 4 resistors in it's place to create a fixed output that is somewhere around line level. It looks a bit odd because the PCB footprint is for a pot but it works!

I think I may actually leave it that way because that way I can run the output of my clone card into the line in of another audio card to have both CMS and Sound Blaster support in the same system coming out the same set of speakers. I currently have my card set to address 220 and a SB 16 set to address 240 which appears to work fairly well.

I don't have a real CMS or Game Blaster card to compare to so I don't know how accurate the sound output is but it sounds pretty good to me.

Here are some quick recordings I made:

Compatibility appears to be very good. So far the card has worked in everything I have tried including Bubble Bobble which I understand doesn't normally work when using a Sound Blaster with the CMS chips.

The board layout and Eagle project files for my prototype is available here if anyone is interested.
 
Great project, and thanks for making the files and layout available!

No problem, I think it is important to make things like this available so that the hardware can live on in one form or another.

Be warned, I am not an electronics expert by any means - just a hobbyist and I am sure my project files and PCB design reflect that. I am just pleased that the card actually works and so far I haven't found any major problems with it.
 
I take it you had to order a certain minimum number of PCBs?
In which case, are you interested in selling a few to people such as myself, who may want to build their own clone (I already built the Lo-Tech Tandy card)?
Alternatively, I'd also be interested in one if you assemble it yourself.
 
I take it you had to order a certain minimum number of PCBs?
In which case, are you interested in selling a few to people such as myself, who may want to build their own clone (I already built the Lo-Tech Tandy card)?
Alternatively, I'd also be interested in one if you assemble it yourself.

I had to order 10 PCBs and I believe the fab sent me 12 or 13 boards so I certainly do have some spares that I can sell if people are interested.

Not sure what shipping will be to The Netherlands - I will have to get an estimate and get back to you.

All components are through-hole so the boards are quite easy to assemble. I used a socket for all ICs except for the amp because the datasheet specifically advises against using a socket for some reason (probably noise levels.)

I should have enough 74 series logic chips to build a few more boards but I don't have any more SAA1099 chips at the moment and I will need to find a pot that will fit on an ISA card for the volume control.

If there is enough interest in bare boards or assembled cards I am certainly willing to entertain the idea of doing a larger order of PCBs and components.
 
Excellent... if you could put together a Bill-of-Materials, I suppose I could order everything required from eg mouser.com, except for the SAA1099 chips, which I can probably get off Ebay or such (it's where I got the SN76489/SN76496 chips for the Tandy card as well, cost next to nothing, from China).
 
A brief parts list is available on Github

Mouser should have everything except for the TEA2025 amplifier and the SAA1099 chips. I got most of my parts from Tayda Electronics and the exact audio jack I used is available at http://www.taydaelectronics.com/3-5mm-low-profile-stereo-audio-jack.html although most any 3.5mm jack should work as long as the PCB footprint matches.

The TEA2025 and SAA1099 both should be available from multiple Chinese sellers. I got my SAA1099 chips from UTsource since in my experience they tend to use proper ESD-safe packaging and their prices are usually close to other Chinese sellers but of course eBay is an option as well. They probably have the TEA2025 as well although I got that from Tayda.

If you buy from UTSource, make sure the seller is listed as "UTSOURCE" because they do list items from other sellers on their website.

If anyone wants any of my spare PCBs, send me a PM. I am willing to sell them for $10 per board plus shipping (should be about $5 for those in the USA, more elsewhere.)
 
I may be interested in a bare PCB if you decide to sell just the PCBs. I like building things, and have a pile of existing 74XX chips from other projects.
 
Nice project, indeed.
BTW: what software is there with CMS/GB support? I know of the following:

the stuff which came with the card, notably the *.cms files player
100 games listed in MobyGames: 99 from 1987-1992, and the modern Paku Paku
MIDI driver for Warcraft II (and maybe for other games using the same sound system)

Anything else? MIDI driver for Windows? Any demos?
And is it possible to tweak CMS to work as a DAC?
In the docs for GLX 2.12 I found "Future enhancements : SoundBlaster Stereo Support (that's not SB Pro, no typing error !)" - which would suggest using the CMS chips, but looks like it's never actually been made.
 
I don't think their are any Windows drivers or applications that use the CMS but Tronix has built a Miles Sound System driver for the CMS that allows it to be used in most games that use Miles audio (Warcraft II included). You can find more about it at this thread

I doubt you will have much success using the CMS as a DAC - it really isn't designed for that. Creative has 2 demos that I know of that use the CMS and several song disks. Outside of that, support is mainly limited to the 100 or so games that support it.

However, for those games that do support it I find the CMS audio to be quite enjoyable - especially in games such as Silpheed and Thexder Firehawk. Yes, these games support the MT-32 and sound great with it, but the CMS soundtrack is closer to the PC-88 originals and is far more fitting in my opinion - it definitely has its own charm to it and is quite different from Adlib music.
 
And is it possible to tweak CMS to work as a DAC?

Yes. I have an idea of how to do this; it's done the same way as it is on most platforms, where you trick a channel into producing a level waveform and then bit-bang the volume register. I believe I have code to do this, and if not, I think the Activision omnimusic driver played sampled audio through a CMS so I could disassemble that and poke around.

Speaking of which, here's a great write-up of games that support digitized audio on chips that were not designed for it: http://nerdlypleasures.blogspot.com/2014/07/pushing-limits-pc-sound-chip-digitized.html

Also, any games that used the omnimusic driver might play digitized audio on CMS. Confirmed list of games:

Activision's F-14 Tomcat
Activision's Ghostbusters II
Activision's Shanghai II: Dragon's Eye
Capstone's Bill and Ted's Excellent Adventure
Capstone's Trump Castle II
Infocom's BattleTech: The Crescent Hawks' Revenge
Interplay's Lord of the Rings: Vol. 1
Sega's Joe Montana Football

Unconfirmed list (I found "omnimusic" in the executables but never tested it):

./1992/LeatherGoddessesofPhobos_2_GasPumpGirlsMeetthePulsatingInconveniencefromPlanetX_1992__Activision_Inc.__Adventure_/MADE.EXE
./1992/Rodney'sFunscreen_1992__Activision_Inc.__Educational_/RODNEYS.EXE
./1991/TrumpCastleIIv1.1_1991__CapstoneSoftware__Simulation_/TC2.EXE
./1991/Lots_o_$lot$_1991__CapstoneSoftware__Simulation_Addon_/TC2.EXE
./1991/StarTrek_25Anniversary_Demo__1991__InterplayProductions_Inc.__Adventure_/DEMO1.EXE
./1991/StarTrek_25Anniversary_Demo__1991__InterplayProductions_Inc.__Adventure_/DEMO2.EXE

Finally, Tongue of the Fatman acts like it uses the omnimusic driver but I couldn't confirm that.

In the docs for GLX 2.12 I found "Future enhancements : SoundBlaster Stereo Support (that's not SB Pro, no typing error !)" - which would suggest using the CMS chips, but looks like it's never actually been made.

There was no later version of GLX, so that was never done. But yes, bit-banging the CMS chips, one channel for right and another for left, would have indeed worked. This would have required a lot more CPU power though, and the output quality would have been worse.
 
I doubt you will have much success using the CMS as a DAC - it really isn't designed for that.

Neither was the Adlib, but there are a few games that use it well as a DAC, such as Stunt Driver (in fact, the game runs faster if you choose Adlib instead of Sound Blaster, since it uses the Sound Blaster's byte-at-a-time DAC mode instead of DMA).

it definitely has its own charm to it and is quite different from Adlib music.

Being stereo definitely helps.

Two of the best CMS soundtracks I've heard are Times of Lore and Qix.
 
One thing I'd like to ask about the parts list:
What tolerance % is recommended for the resistors?
I see you used light blue ones on your card, they are 1%?
 
5% resistors should be fine since that is what Creative appears to have used on the original cards.

I used 1% resistors on mine but that was simply because it is what I had in stock. There is nothing in the design that actually requires a high level of precision.
 
Okay, I got most of the parts.
TEA2025 and SAA1099 are still underway. Also, I haven't managed to source a fitting volume pot yet.
I just put all the ICs and the resistor network on one of the cards. For the SAA1099s I used two sockets. I also put the 3.5mm jack on. It fits, but mine only has 3 of the 5 pins. The other 2 holes don't seem to be connected to anything on the PCB. Next stint will be the caps and resistors. Then I'll have to wait for the remaining parts to come in.
 
The footprint for the 3.5mm jack has extra holes because the jack I used happened to have a built-in switch which is not used in this case. The jack you have should work fine unless the pinout of the jack happens to be different (which is doubtful, pinouts for these types of jacks appear to be pretty standard.)

When I designed the PCB I used a footprint for a volume pot that I thought would fit. However when I ordered the pot I discovered it was too tall to fit. I think a Bourns PTD90 series like the one at Mouser will fit the PCB footprint and be short enough for an ISA slot but I haven't purchased one to test yet.
 
The footprint for the 3.5mm jack has extra holes because the jack I used happened to have a built-in switch which is not used in this case. The jack you have should work fine unless the pinout of the jack happens to be different (which is doubtful, pinouts for these types of jacks appear to be pretty standard.)

Yea, there were a ton of different jack pinouts, and for this particular pinout, there were 6 models:
3, 4 and 5 pins, and of each variation, either with a threaded jack or not.
I got the 3-pin version, because the extra pins appeared to be for switching. I didn't think they'd actually leave off the pins though. I thought they'd still be on the jack body for extra support. But there's just two holes in the casing where the pins would be.
No big issue.

When I designed the PCB I used a footprint for a volume pot that I thought would fit. However when I ordered the pot I discovered it was too tall to fit. I think a Bourns PTD90 series like the one at Mouser will fit the PCB footprint and be short enough for an ISA slot but I haven't purchased one to test yet.

I'm afraid not. I have a few Bourns PTD902 of 1k:
https://nl.mouser.com/Search/Produc...tualkey65210000virtualkey652-PTD902-1015KA102
They should be the same size as the 10k ones. These have a far smaller pinout than the PCB footprint.
Perhaps an alternative is to get a chassis-mounted version of such smaller pots, mount it in the ISA bracket, and then run wires to the PCB.
 
I'm happy to report that my SAA1099s and TEA2025s finally arrived. I put one card together, with some resistors to substitute for the missing volume pot.
I did a quick test, and it seemed to work! I started Leisure Suit Larry 3, and I could hear the music. It was very loud, noisy and distorted, but that's probably because my resistor-hack for the volume wasn't a very good one :)

I'll have to shop around for a proper pot, and then I can properly test it. Currently I'm not sure if the distortion came from the amp, speakers, or from the card itself.
 
Back
Top