Xref: utzoo comp.misc:11722 comp.unix.sysv386:6032 rec.games.video:13386 Path: utzoo!news-server.csri.toronto.edu!cs.utexas.edu!usc!apple!motcsd!lance From: lance@motcsd.csd.mot.com (lance.norskog) Newsgroups: comp.misc,comp.unix.sysv386,rec.games.video Subject: Re: SoundBlaster device drivers for 386 unix Message-ID: <3289@motcsd.csd.mot.com> Date: 15 Mar 91 23:42:40 GMT References: <1991Mar11.073225.820@ice9.uucp> <1991Mar11.190908.18492@qualcomm.com> Followup-To: comp.misc Distribution: na Organization: Motorola CSD, Cupertino CA Lines: 94 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