Page 2 of 2

Re: Implement a PCI standard Sound Blaster

Posted: Fri Dec 23, 2016 1:28 pm
by Schol-R-LEA
~: If you are looking for DIY hardware info, this really isn't the group for it, even though there is a certain overlap among those working in retrocomputing, Raspberry Pi and similar areas. You might want to look at sites such as DIY Kit, Hackaday, or RetroPi for hardware discussions.

I suppose you could try to talk the mods into creating a HW sub-forum, too, but I doubt they will.

You could even set up your own forum for the topic if you wanted to go that route. I don't recommend it unless you think you can devote the time to running it, though, given the history of things like the Compiler-Dev group (which still needs more contributors, BTW) - previous iterations of the idea had a lot of problems with the admin flaking out shortly after setting it up, and while the current admins are doing a good job of it, it hasn't really picked up steam yet as it often takes quite a while for a forum to catch on.

Re: Implement a PCI standard Sound Blaster

Posted: Sun Dec 25, 2016 3:21 am
by SpyderTL
Schol-R-LEA wrote:Here's an aside which a fan of ancient systems ought to find interesting: the original Macintosh drove both the graphics and the audio in software, using the 8Mhz 68000 CPU for almost everything. It would use the interrupt timer to issue the hrefresh signals at some fraction of a second, and on the vrefresh, it gave them 180 cycles while the cathode gun repositioned in which to perform the audio. They managed to squeeze four voices of playback into that 180 cycles, and still give 95% of the CPU time to the application.
Actually, most systems worked this way until DMA became a thing in the late 80's. I know that this approach was used in everything from the Atari 2600 to the IBM PC. And even with the sound blaster ISA DMA hardware, you still didn't have enough system RAM to play more than a few seconds of audio.

So, getting an interrupt from the sound card wasn't much different from getting an interrupt from the video card.

The thing that blows my mind is that the Atari 2600 could display more colors on the screen than the IBM PC could 10 years later. Of course, there were a few "limitations". :)

But back to the original discussion...

Yes, it would be nice if the PC had shipped with better audio capabilities, but that wasn't really ever a priority, when you could purchase systems with better audio support for a fraction of the price. The advantage that the PC has always had is its hardware expandability, which necessitates software drivers, primarily for backward compatibility.

Think of drivers as the adapter that lets you play your Atari 2600 on your brand new 4K TV, or watch blu-ray movies on your 1975 black and white TV. Pretty much the same concept.

Re: Implement a PCI standard Sound Blaster

Posted: Sun Dec 25, 2016 5:34 am
by dozniak
If I build an OS, why would I want to implement a driver?
It's what you do when you build an OS, yep. You implement or port drivers.

Re: Implement a PCI standard Sound Blaster

Posted: Mon Jan 02, 2017 10:18 pm
by Schol-R-LEA
You might also want to consider the capabilities, and limitations, of the AdLib/Sound Blaster cards, and more importantly, just how those cards are emulated by current-day cards.

Here are several videos by 8-Bit Guy on the subject of sound synthesis, how it worked in older systems, and how it differs from current sound adapters.
The main thing you will notice is that these systems were mainly synthesizers, not samplers. PCM sampling, which is used by (or superseded in) pretty much every sound card made after 1994, works in a radically different fashion from a synthesizer; a synth generates a waveform, while a sampler plays back a recorded waveform.

Note that this means that a card which is purely based on the Yamaha chip that the older sound cards used could not play back voice or other sampled material. Most games of the time (1987-1993), if they had voice at all (almost none did) were distributed on hybrid Data/Audio CD-ROM, and used the existing capabilities of the CD-ROM drive to run the sampled sounds, but by 1994 cards with samplers started to force that approach out.

Most sound cards between 1994 and 2004 had both a synth and a sampler, but as recorded music playback on computers became more and more important in general, games stopped using the synthesizers and eventually even dropped PCM in its original form in favor of general-purpose compressed digital recording formats such as MP3 and HVEC. Synthesis did linger for other uses for some time, as the new cards started using more complex wavetable synthesizers around then, but the ubiquity of MP3 made it something of an afterthought by 2004 or so. AFAICT, most sound subsystems after that just emulated the synthesis using samples.

I am not an expert at all of this, so there is a good chance I have misunderstood several key aspects of this. Any corrections would be greatly appreciated. Still, the point I am making - that the 'standard' Sound Blaster was nothing of the sort, nor did it have the capabilities you seem to think it did - stands, I think.