SoundBlaster device drivers for 386 unix
lance.norskog
lance at motcsd.csd.mot.com
Sat Mar 16 09:42:40 AEST 1991
rdippold at maui.qualcomm.com (Ron Dippold) writes:
>In article <1991Mar11.073225.820 at ice9.uucp> bgh at ice9.uucp (barry hannigan) writes:
>>i was given a demo of a SoundBlaster card yesterday and before i shell for $200
>>id like to get a couple of questions answered.
>Well, first, you probably shouldn't pay much more than $150 for it, that's the
>general discount price for mail order and Soft Warehouse.
>>1. how does the card interface to the system?
>> will making it work under unix involve writing a device driver?
>> what interrupts are available for use?
>It uses ports and interrupts. You can move the ports around (standard location
>is 220H), and the interrupt you can use with it are 7,5,4, and 2 (or 3? I
>forget). You can set up the PC to DMA data into the ports, so you can start
>it playing and go off to do something else. You will probably need some sort
>of driver to make it work under UNIX.
>>2. in general, are they worth the money. the game which prompted this all was
>> LINKS, a golf simulation.
>If you like games, they are worth every penny. You can't go back to Wing
>Commander without the SoundBlaster once you've heard it. A huge number of the
>new games support as well. Your money also gets you a MIDI port (admittedly
>nonstandard) and a game port.
I second the motion. It IS a cute card. You get digital voice-quality
DMA input & output, a nice FM synth that has 9 instrument outputs or 6
instruments and 5 percussives, a MIDI port, a joystick port, and
(optionally) another 6-12 instruments with stereo panning.
You can't have everything, and Creative Labs made some mistakes:
1) the sound ports are 8-bit linear. The telecomm chip books
from several big semi houses, Motorola among them, advertise
logarithmic (a-law and mu-law) 8-bit ADCs & DACs which give
you more sonic punch from 8 little bits.
2) you can vary the sample rate. To get good sound from digital
output, you need to post-process it with an analog filter which
is keyed to the sample rate. The SB obviously doesn't do this,
so sound quality suffers here also.
3) you can't set the DMA channel. It's one of two things on
the card which are not jumperable. This means you can't install
two boards and do stereo sound I/O in a DMA-driven OS. There
are other cards on the market which can do this, though.
"The Art of Human-Computer Interface Design" (??), also
known as "Walk Don't Walk", has an article about a project
at MIT where they did stereo sound sampling from one of those
paired mikes, and the sound input analyzer jumped if you
were facing the mikes while speaking. The author liked showing
it off to visitors to his office. "Computer! Dial the phone!".
It ignored you if you weren't lined up with the mike pair;
there is a measureable inter-channel lag time associated with this.
4) the advertised stereo support is pretty weak. Volume panning
only works in one of the 3 sound output modes. There's no
reverb panning.
5) the MIDI port is not the "standard" Roland MPU-401 fake.
Softwarily, it's just a straight serial port with a 64-byte
input FIFO. The MPU-401 (and its many clones) provide a few
support functions for real-time work that you really need in
a MIDI port.
6) the joystick I/O port is not jumperable. No other joystick
card that I've found can do this, either, so it's no big loss.
However, modern joystick cards are jumperable as to CPU speed.
The joystick port has 4 switches and 4 resistor input integrators;
you have to poll the integrators in a loop and return the count
as the resistance input value. Other joystick cards give you
a range of analog values in the integrator circuits so that a
fast CPU can loop for a shorter period of time. My tests do
600 times through the loop on a 386-20. At 30 samples/s, this
is an annoyance. For serious work, I would get one of these
lab I/O cards with lots of switches and inputs.
The AT&T IDSG driver-writer's guide includes a joystick driver,
if you want to check it out.
The SB street-prices for $150. I bought it for $250 (list) from the
manufacturer because that gets you a Developer's Manual (quite detailed)
and C/MS chips which get you more voices and stereo panning.
The MIDI port requires a separate $100 break-out box. This is OK.
I'm doing a multi-media under 386 UNIX project for fun,
and I'll be using the SB and the Roland Midi card. Someone at
AT&T wrote and posted a UNIX/386 Roland MIDI driver, if you want it.
Lance
More information about the Comp.unix.sysv386
mailing list