The Game Blaster's sound chip has been described as four IBM PCjr./Tandy 1000 sound chips. This statement is inaccurate in two respects. First, the Creative Music System/Game Blaster uses two identical sound generator chips, relabeled Phillips SAA 1099s. One chip is used in the MGT Sam Coupe. The Tandy 1000 and the IBM PCjr.s have one Texas Instrements SN74689/74696. This chip was used in the Colecovision, the Coleco Adam, the Acorn BBC Micro, the SG-1000/3000, and in integrated form in the Sega Master System/Mark III, Sega Game Gear and Sega Genesis/Mega Drive consoles.
The Game Blaster and early Sound Blasters have two sockets for their relabeled SAA 1099 chips (which may or may not be pin compatible with the standard Phillips chips.) Six tone generators plus two noise generators, 11-bit frequency control, 4-bit volume control, two envelope generators per chip. Each three tone generators is paired with a noise generator, and each channel can output noise, tone or both. Simple AY-3-8910 like envelopes can be applied to two of the tone generators. Each channel can have its volume independently selected for the left and right audio outputs. Noise frequency is predefined or user selectable (which robs a tone frequency generator for this purpose.) Each individual tone and noise generator can be turned on or off as can all of them.
The SN74689/74696 chip is a far simpler chip. Three tone generators plus a noise generator, 10-bit frequency control, 4-bit volume control, mono The noise generator is entirely separate from the tone generators, and the frequency can be predefined or user selectable (which uses a tone frequency generator but allows it to drive the tone generator as well.) Noise can be set to periodic or white noise. The Game Gear, which allows for stereo functionality, simply directs channels to right and or left audio output.
The problem is that most games that supported the Game Blaster also supported the earlier, superior and more widespread Adlib card. Guess which card developers tuned their games for. I would guess that few games that supported both have particularly impressive sounding Game Blaster tunes. You may want to try Times of Lore though. Sierra was easily the card's biggest supporter, but several titles from Origin, LucasArts and Accolade also supported it.
Hunter, try Secret of Monkey Island. It has command line options to specify between PC Speaker, Tandy, Game Blaster, & Adlib. The intro title song really makes good use of the Game Blaster and is one of the better compositions for the Game Blaster / SAA-1099 I've heard. In any case, this game is great for comparing the same songs on some of the older sound standards. To see the different command line options run "monkey /?" at the prompt.
So, for a Sound Blaster 1.0, which had always had Game Blaster chips, how would you be able to send the data to the right chip? If both chips used port 220H, it would not work properly. Both the CMS and OPL chips would output sound and it would sound terrible. How do you disable the one but not the other?
That's right. (credit to Snover for correcting my typo). since there's no appreciable hardware mixer on the CT-13xx series, sending both DAC data and AM sound data to 0x220 would be... well... bad. As that would have been considered a "don't care" situation for the logic design.
You have to understand, the Game Blaster was quickly eclipsed by the Adlib. And the idea of digital (sampled) sound effects weren't mainstream until the Sound Blaster came out (Creative's answer/rebuttal to the adlib). So prior to that, most, if not all, games of this generation gave you only the choice for one sound option or another, but rarely a combination.
Games with distinct music vs. effects sound choices didn't really become commonplace until General Midi hit the scene (most notably with the Sound Canvas SCC-1 and SC-55 series) where you needed distinct choice to be able to benefit from both. You see this in early games like Doom, Descent, and Star Wars: Dark Forces.
I need to write a simple pink-noise generator in C#. The problem is, I've never done any audio work before, so I don't know how to interact with the sound card, etc. I do know that I want to stay away from using DirectX, mostly because I don't want to download a massive SDK just for this tiny project.
Edit 3: I've got the generation of white-noise down, as well as sending output to the sound card - now all I need to know is how to turn the white-noise into pink noise. Oh - and I don't want to loop a wav file because every application I've tried to use for looping ends up with a tiny little break in between loops, which is jarring enough to have prompted me in this direction in the first place...
Edit 4: ... I'm surprised so many people have jumped in to very explicitly not answer a question. I probably would have gotten a better response if I lied about why I need pink noise... This question is more about how to generate and stream data to the sound card than it is about what sort of headphones I should be using. To that end I've edited out the background details - you can read about it in the edits...
Edit 5: I've selected Paul's answer below because the link he provided gave me the formula to convert white noise (which is easily generated via the random number generator) into pink noise. In addition to this, I used Ianier Munoz's CodeProject entry "Programming Audio Effects in C#" to learn how to generate, modify, and output sound data to the sound card. Thank you guys for your help. =)
Streaming stuff to the soundcard is reasonably trivial, as long as you have Google handy. If you choose to avoid DirectX, consider using PortAudio or ASIO for interfacing with the soundcard... although I think you're gonna have to use C++ or C.
Here's a very simple way to create pink noise, which just sums lots of waves spaced logarithmically apart, together! It may be too slow for your purposes if you want the sound created in realtime, but further optimization is surely possible (e.g: a faster cosine function).
The quality parameter represents the number of waves produced to make the sound. I find 5000 waves (about 40 intervals per semitone) is just about the threshold where I can't detect any noticeable improvement with higher values, but to be on the safe side, you could (optionally) increase this to about 10,000 waves or higher. Also, according to Wikipedia, 20 hertz is around the lower limit of human perception in terms of what we can hear, but you can change this too if you want.
Well, I used a combo of Yamaha SW-20PC (OPL4 GM, 2 Mb ROM) and GUS ACE.
IMHO, the GUS sounds better in games with native support, and even it's controversial (some love it, some hate it) GM emulation sounds good.
Any of these sound better than AWE32/64 (have a SB32 and 2 64's).
And I like the way Yamaha XG sounds even in GM/GS mode, not using all those fancy XG fx.
AWM Summit - 10
'Almost' Kurzweil K2000 engine shipped with legendary orchestral ROM block. Do I need to say anything more? Comparing it to Roland SC - it's just another league. These are the sounds used on prominent TV, studio, film music tracks. Some of its sounds are comparable or better than today's huge gigabytes-sized orchestral sound banks. If you are more demanding musically oriented person and own this, you're lucky. If you want to bring the life to lifeless dull SC-55 performances of orchestral game music and own this, you're lucky too.
Wave Blaster 1 - 10
This is GM 'selection' of best Proteus 1/Proteus 2/Proteus 3 modules sounds + few more new. Again - almost every musician knows the Proteus synths. Magic, inspiring sounds, used on many film/TV sountracks in its time. This is one of the most clear, pure-sounding GM orchestral synth ever. Emotional, natural vibrato, very realistic samples, various characters and moods of instruments. Proteus/WB sounds are so popular, that they have been recreated and are being sold in various modern sampler's formats like NI Kontakt, Reason or EXS-24. Ironically, there's very small (yet very loud) group responsible for some musically totally incompetent pejorative reviews of the WB, and for spreading incorrect informations about WB on Internet. Sad.
Roland SC-55 - 7
It's good, because many game musics were composed with this module, but by far not every. The "all GM game music was created on and for Sound Canvas" claim is nothing more than a myth. This board is very good for pop/jazz/synth genre game soundtracks. However it fails a lot on orchestral-oriented tracks. Many orchestral instruments - especially woodwinds - sound so terrible that they lack any emotions, even if the music composition itself would be great. Most of the acoustic instruments have that unpleasant synthy metallic horrible touch, that almost 'demolishes' musically trained ear. Want to hear any lyrical orchestral mood or naturally sounding acoustic instruments? Forget.
Roland SC-88 - 8
Similar as above, but the worst sounds were 'fixed'. It has allready not so terrible oboe, flute, nylon guitar etc. Many sounds were updated or added. It sounds musically better than SC-55, but may not be as balanced in games, because most of them were created on a SC-55. But unlike SC-55, SC-88 is finally able of decent (even orchestral) sound, if properly arranged. For example Warcraft 2 is a listening pleasure on SC-88 (but not on SC-55).
Roland SC-8850 - 4
This is a good synth, with especially nice ethnic and vocal patches. If you would manually reprogram game MIDIs with it's GS sounds, the result possibly may be somewhere about 8. However the basic GM patches are a mess in games. For example listening to SC-8850's performance of Warcraft 2 music tracks is an unpleasant experience. It even sounds out of tune in so many parts, SC-88 is pure beauty in comparison to it. Azreal's tear music sounds dull, flat, un-musical. But I'm talking of blending of basic General MIDI 128 instruments, there are nice sounds in additional GS positions. But only for gaming - rather keep away from it. This module isn't intended for game music playback either.