[comp.misc] SoundBlaster device drivers for 386 unix

bgh@ice9.uucp (barry hannigan) (03/11/91)

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.

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?

2. in general, are they worth the money. the game which prompted this all was 
   LINKS, a golf simulation.

thanks in advance, 

barry

-- 
~~~~~~~ ..walkin on the beaches, lookin at the peaches

rlister@cti1.UUCP (Russell Lister) (03/12/91)

bgh@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.

>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?

>2. in general, are they worth the money. the game which prompted this all was 
>   LINKS, a golf simulation.

    1. they use an interrupt and an IO address.  The manufacturer also sells 
       a development kit, but I've not seen it and I'm not sure if it has
       sufficient documentation to hack you own driver (the kit is for MSDOS).
       
    2. Are they worth it?  That's purely subjective.  Is it worth it to you?
       Especially considering that you would have to do all the device driver
       coding for unix?  For MSDOS games, though, I believe it's worth it.
       
Russ.

       
-- 
=========================================================================
     "I think I left it in the basement, I'll run upstairs and look."
                  -  attributed to M C Escher -
-------------------------------------------------------------------------                  
Russ Lister     rlister@cti.com  -or-  uunet!cit1!rlister 
Comprehensive Technologies Int'l Inc., Arlington, VA
=========================================================================
								

rdippold@maui.qualcomm.com (Ron Dippold) (03/12/91)

In article <1991Mar11.073225.820@ice9.uucp> bgh@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.

lance@motcsd.csd.mot.com (lance.norskog) (03/16/91)

rdippold@maui.qualcomm.com (Ron Dippold) writes:

>In article <1991Mar11.073225.820@ice9.uucp> bgh@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