• Please review our updated Terms and Rules here

Creative Music System / Game Blaster clone

I've managed to install a 10k pot on it, hanging from a few wires. It's not pretty, but I can control the volume, and the distortion was probably coming from the speakers and/or the amp being too loud.
Initially I was missing some sounds, it seems, but I swapped the SAA1099s for some others, and now it seems perfect!
So either I have a dodgy SAA1099, or it wasn't seated in the socket properly. I'll have to do some more testing, but I want a pot that fits properly first :) I ordered some online, they should arrive any day now. Hopefully these will fit :)
 
Glad you were able to get the card working and the distortion issues under control. If your SAA1099s came from eBay it is possible that they were pulled from other devices and it is certainly possible to end up with a bad chip that way - or it could just be a bad connection in the socket or a questionable solder joint somewhere as well.

Hopefully you can find a pot that fits within the height constraints of an ISA card/slot. If I had it to do over again, I would have made sure I had an appropriate sized pot on hand before getting the boards made.
 
Well, the pots I got were indeed too high, so I ended up mounting them in reverse. Sadly, this also reverses the audio taper, so they're really touchy at low volume now. If I just went with linear I wouldn't have had that problem, heh.
Nevertheless, it works:

And yea, those Bourns PTD90 series would probably have been the perfect size. Perhaps you could update the PCB schematic so that the pinout matches to them? Then if anyone orders another batch, that problem is solved.

One thing I wonder though: where the heck did Creative and others get those 'dial' type pots they used on the Game/Sound Blaster cards? I could not find any of those anywhere.
 
I did a bit of a hack, which turned out ok:
I took a smaller pot, used the front-middle pin through the PCB, and bent all the others so that they could be soldered on top of the PCB.
The result is actually quite nice, and the pot is now accessible from the back of the PC :)
WP_20171209_15_06_13_Pro[1].jpg
This is what I would recommend others to do as well.
 
The output from the card is in stereo. It should be just like the original Creative card unless Creative did something odd like swap the left and right channels or something like that.
 
I am currently trying to code a routine to play PCM samples. If that works, you can get stereo digital playback from any SB 1.x/2.0 :)

If you're successful, we should contact the author of Galaxy Player and try to get him to release the source so that we can complete it based on his promise.
 
I have discovered some 'interesting' behaviour:
With the Game Blaster clone, my IBM Music Feature Card could no longer be detected.
Now, I know the detection routine for the IMFC works by writing a value to a latched register on the card, and reading it back to see if it 'stuck'.
So I tried doing that manually. I noticed that if I wrote 'FF' to it, it read back as '7F'. So apparently the top bit got 'eaten' somehow.

Now, the IMFC has a base address of 2A20, and this particular register is at 2A21h.
My Game Blaster clone was set to a base address of 220h, so it would use the range 220h-224h. If the card does not fully decode the address, then it may 'mirror' itself in the 2A20h-2A24h range as well. So it may be interfering with the IMFC, causing the issue I had.

So first I pulled the Game Blaster, and the IMFC was detected properly again: writing and reading FF was no problem.
Then I reconfigured the Game Blaster to a base address of 210h, and put it back in. Writing and reading FF was no problem... however, the second test is to write and read 0.
Doing this yielded 'E5' when reading back.

Any thoughts on this? I mean, is this actually a bug, or is the original Game Blaster designed like this? And do we want to fix this, or simply accept that it is what it is?
It would seem that most cards are in the 200-3FFh range of ports. The IMFC is actually the only card I've ever encountered to have an address like 2A20h (using 14 bits rather than just 10). Perhaps most cards treat any address bits above the 10th bit as 'don't care'?
There may be many other cards that have the same issues.
 
Last edited:
What you are seeing does make sense. My clone only decodes up to A9 which allows for address up to 0x3FF which I believe is the official upper bound for expansion card IO addresses for IBM 5150 and 5160 PCs at least.

I didn't realize that decoding the other address lines may be necessary - especially since the few address decoding examples I could find only went up to A9. Decoding the other address bits would probably require adding a few more logic chips.

I don't think I have ever encountered a card that went beyond 0x399 before. It would be interesting if someone with an original Game Blaster or CMS could look at their card and see if the address lines above A9 (A10 through A19) are connected to anything. I would be surprised if they are but who knows.
 
What you are seeing does make sense. My clone only decodes up to A9 which allows for address up to 0x3FF which I believe is the official upper bound for expansion card IO addresses for IBM 5150 and 5160 PCs at least.

Yes, I've just looked through the manual of the 5150 here: http://minuszerodegrees.net/manuals/IBM_5150_Technical_Reference_6025005_AUG81.pdf
Eg on the Game Adapter part, they say that only A0-A9 are used (page 2-119).
They clarify that the card responds to IO addresses x'201', so that would be exactly what the Game Blaster clone does.
If you look eg at the Asynchronous Communications Adapter, the table on page 2-125 also only lists A0-A9.

A bit strange then, that IBM/Yamaha chose to use the address range of 2A20/2A30 for the Music Feature Card. It came out in 1987, and was at least meant to be used in 5160s, possibly 5150s as well.

I don't think I have ever encountered a card that went beyond 0x399 before. It would be interesting if someone with an original Game Blaster or CMS could look at their card and see if the address lines above A9 (A10 through A19) are connected to anything. I would be surprised if they are but who knows.

I agree. In fact, I have a Sound Blaster Pro 2.0. It would not surprise me if this card also clashed with the IBM Music Feature Card if I configure it to 220h. I will test that out sometime.

By the way, what I said above:
Then I reconfigured the Game Blaster to a base address of 210h, and put it back in. Writing and reading FF was no problem... however, the second test is to write and read 0.
Doing this yielded 'E5' when reading back.

I think this was my mistake. My detection routine did not reset the card first, so reading back the register was returning an error code, I believe.
I added a reset to my routine, and now it detects the card properly (writing and reading FF first, then writing and reading 0). I've tried it with the Game Blaster jumper in every position, from 210h to 260h, and only at 220h it didn't detect it.
 
In fact, I have a Sound Blaster Pro 2.0. It would not surprise me if this card also clashed with the IBM Music Feature Card if I configure it to 220h. I will test that out sometime.
Ran into this issue some ten years ago. The limited address decoding of any Sound Blaster prior to the SB16 does result in conflict with an IMFC at 2A20h. Where I'd hoped to use a SBPro2 in a system with an IMFC, I ended-up having to use an AWE32 instead.
 
Ran into this issue some ten years ago. The limited address decoding of any Sound Blaster prior to the SB16 does result in conflict with an IMFC at 2A20h. Where I'd hoped to use a SBPro2 in a system with an IMFC, I ended-up having to use an AWE32 instead.

Okay, thanks for confirming my suspicions! So it is safe to assume that the real Game Blaster works the same as well.

Why could you not use the SBPro2 at another address though? Is there a lot of software that is hardwired to 220h?
I used to have a GUS and an SBPro2 in a single system. The SBPro2 was at 220h and the GUS at 240h. I ran into some GUS software that was hardwired to 220h, so I ended up wiring up a switch to the base address jumpers on both cards. With a flick of the switch I could swap 220h and 240h on both cards. Then a simple batch-file would modify the BLASTER and other env settings, and re-run the GUS init software, and you were good to go.
I never actually tried to use the SBPro2 at 240h though. It was mainly reconfigured to 240h to get out of the way of the GUS when required.
 
Several older titles/drivers are hard-coded for 220h. I imagine most of those could be patched though. The bigger issue was that I already had a Game Blaster card sitting at 240h in the same build. :)

Nowadays, a better solution might be to just patch Sierra's IMF drivers to operate at the alternate 2A30h address.
 
Patching Sierra's driver shouldn't be too hard, but i don't have an IMFC to try. It would be nice to also patch Music Construction Set for IMFC and the IMFC demonstration software.

I've made my 2018 year resolution to finally get an IMFC but that will be quite an ordeal.

I'm a bit disappointed to know the IMFC has trouble working with non PnP Sound Blasters but i'm not surprised. In fact, the original dual OPL2 Pro Audio Spectrum exhibits the same behaviour with SB, SBPro and non PnP SB16 ir other non-PnP SB clones. One of those cards installed and MVSOUND.SYS just fails to find the PAS.

My solution was to use a YMF-719E card. I would ask Scali and Cloudschatze to try any OPL3-SA card with the IMFC. To work with the Gameblaster patching might be the only solution.

About the Tandy Sound card: i tried it on my 286 and 386 and the card just works at the default C0h address. It didn't on my socket 7 PC but it has been working in all early AT systems i put it in.
 
About the Tandy Sound card: i tried it on my 286 and 386 and the card just works at the default C0h address. It didn't on my socket 7 PC but it has been working in all early AT systems i put it in.

Well, the problem is not that the card won't work. The problem is that the writes to the C0h register also go to the second DMA controller. If any software would ever try to use the second DMA controller, it will probably break (worst thing would be if you used a 16-bit HDD controller, and your data would get corrupted).
You may be able to 'get away with it', because hardly anything ever uses the second DMA controller (most HDDs use CPU polling instead of DMA, I think 16-bit sample transfers to SB16 or newer is the main use of the second DMA controller in practice).

So the DMA controller may be in a totally confused state, but since nobody actually expects it to transfer any data, you don't notice.
 
Well that's the point, i doubt that using the lo tech Tandy Sound card on a 286,386 will present any problem, unless someone is using some special hardware that requires high DMA. Maybe problems will arise only with 486 and up with VLB and PCI controllers. I haven't tried on my 486 yet but IMO Tandy Sound is more suited to XT and 286.

In any case it is obvious why Tandy 1000 TL's are still XT class systems instead of AT, and also why Tandy had to change the address for the 3 voice chip.

What i see in all this is a complete lack of consistency in IBM's designs.
 
In any case it is obvious why Tandy 1000 TL's are still XT class systems instead of AT, and also why Tandy had to change the address for the 3 voice chip.

Yea, and IBM's XT/286 is actually an AT class system... what a mess :)
I think Tandy did a good job of integrating PC and PCjr features though.

What i see in all this is a complete lack of consistency in IBM's designs.

Indeed, that was also the conclusion after debugging some issues on my PCjr: https://scalibq.wordpress.com/2018/01/06/more-pcjr-incompatibilities/
It's a miracle that all these PCs work as well as they do, really.
 
Back
Top