]> 4ch.mooo.com Git - 16.git/blob - 16/PCGPE10/GUSFAQ.TXT
reverted my open watcom to 1.9 an recompiled everything~
[16.git] / 16 / PCGPE10 / GUSFAQ.TXT
1 \r
2         GRAVIS ULTRASOUND ("GUS") FAQ VERSION 1.50 [94/01/12]\r
3 \r
4 ----------------------------------------------------------------------\r
5 \r
6         Certain questions concerning the Gravis UltraSound ("GUS")\r
7 sound card are asked over and over on the UltraSound Daily Digest (a\r
8 mailing list for GUS users) and on comp.sys.ibm.pc.soundcard.  In an\r
9 attempt to alleviate some redundancy from the lives of USENET/Internet\r
10 folk, this FAQ (Frequently Asked Questions, with answers) list has\r
11 been created.  It is maintained by Matthew Bernold (MEB117@PSUVM.PSU.EDU)\r
12 If you have any questions, comments, complaints, or extra cash, (especially\r
13 the cash) please feel free to send them to him.  Please do not send your\r
14 question more than once, as Matthew does have other things to do aside from\r
15 answering FAQ mail.  If you do not get an answer after a month or so, then\r
16 there may be a mail problem.  :-)\r
17 \r
18         If you would like to join the mailing list and be privy to the\r
19 latest and greatest information, banter, and poor spelling concerning\r
20 the GUS, mail to <ultrasound-request@dsd.es.com>.  The automated\r
21 server will tell you how to sign up for the mailing list, tell you\r
22 where the FTP sites associated with the Digest are (they recieve\r
23 software updates directly from Gravis often), and other such\r
24 information that will eventually lead you down the trail to Nirvana,\r
25 Valhalla, Heaven, or whatever Land O' Happiness your religion wants to\r
26 get to.\r
27 \r
28         BTW: All FAQs, including this one, are available on the\r
29 archive site rtfm.mit.edu in the directory pub/usenet/news.answers.\r
30 The name under which a FAQ is archived appears in the "Archive-Name:"\r
31 line at the top of the article.  This FAQ is archived as\r
32 PCsoundcards/gravis-ultrasound/faq.\r
33 \r
34         Special thanks are due to many people who helped (and are\r
35 helping) with this FAQ.  I won't try to name off people; I'll probably\r
36 forget half of you, and you all know who you are, anyway.\r
37 \r
38 ----------------------------------------------------------------------\r
39 \r
40         BIG IMPORTANT NOTE: Neither this FAQ, the mailing lists or\r
41 digests, nor the FTP sites are owned or operated by Gravis.  Gravis\r
42 employees *read* the digest and mailing lists and they upload things\r
43 to the FTP sites, but that's it.\r
44 \r
45         SO: Please don't email me about problems with your card, if\r
46 the latest release of software hasn't arrived on disks in the mail\r
47 yet, lack of documentation, etc., etc.  I'm doing this on my own time,\r
48 and I have no desire to receive hate mail intended for Gravis.\r
49 \r
50 ----------------------------------------------------------------------\r
51 \r
52 Index of Questions\r
53 ------------------\r
54          1] What is the GUS?\r
55          2] How does the GUS emulate other soundcards?\r
56          3] Where can I get a GUS, and how much will it cost?\r
57          4] What version of the GUS hardware is the latest?\r
58          5] What GUS software is available?  What version is it?\r
59          6] Where can I get the latest GUS software?\r
60             (AKA: Where is the GUS FTP site and/or Gravis BBS?)\r
61                 6a] What if I don't have FTP access?\r
62          7] What machines will the GUS work with?\r
63                 7a] I've heard about problems with the OPTi chipset...\r
64          8] Why should I upgrade the memory onboard my GUS?\r
65          9] Where can I get memory for the GUS, and how much will it cost?\r
66         10] I'm having trouble getting the GUS to work with Windows...\r
67         11] What new hardware is coming out for the GUS?\r
68         12] How do I build the MIDI interface for the GUS?\r
69         13] What exactly is GUS 3D?\r
70         14] What are *.PAT *.VOC *.WAV *.SND *.MOD *.669, and *.MID\r
71                 files, and how do I use them?\r
72         15] What exactly is Wavetable Synthesis?\r
73         16] Is there a GUS device driver for Linux/BSD386/*IX?\r
74         17] How do I get the GUS to work with OS/2?\r
75         18] How do I go about programming the GUS?\r
76         19] What are the pinouts for the CD Audio IN on the GUS?\r
77         20] I'm having trouble with... GENERAL TROUBLESHOOTING TIPS\r
78         21] I can't seem to fit the new disks onto a floppy.\r
79         22] Why shouldn't I use the comp.sys.ibm.pc.soundcard.GUS\r
80                 newgroup?\r
81         23] What are "Miles Drivers", and how do I use them?\r
82 \r
83 ----------------------------------------------------------------------\r
84 \r
85  1] What is the GUS?\r
86 \r
87         The Gravis UltraSound (generall referred to as the "GUS") is a\r
88 sound card built by Advanced Gravis Technologies (GRVSF on the Nasdaq\r
89 exchange).  It is a stereo card that can play 32 synthesized voices\r
90 and 32 sampled voices simultaneously.  It is also MIDI compatible.\r
91 \r
92         The synthesizer on the GUS is based on a technology called\r
93 Wavetable Synthesis (WS) instead of FM synthesis (like the Adlib and\r
94 Soundblaster series).  WS is flexible enough to emulate FM synthesis,\r
95 and so an emulator has been created so SoundBlaster and Adlib programs\r
96 can use the GUS (see question #2).\r
97 \r
98         The GUS, in its basic state, can sample 8 bit stereo at 44kHz.\r
99 It can playback 16 bit stereo samples at 44kHz.  There is a\r
100 daughterboard that you can buy (to be released) and plug on to the GUS\r
101 that makes it possible to sample at 16 bit stereo 44kHz.\r
102 \r
103         Each voice can play independantly, but as the maximum number\r
104 of voices goes up, the sample playback rate drops.  With 14 active\r
105 voices, the GUS can playback at 44100Hz.  At 28 active voices, the\r
106 playback rate drops to 22050Hz.  With the maximum 32 voices, the GUS\r
107 can playback at a rate of 19293Hz.  Following is a chart taken from the\r
108 GUS SDK v2.01 listing the number of active voices and the playback rate.\r
109 \r
110   Active   Playback    Active   Playback    Active   Playback\r
111   voices     rate      voices     rate      voices     rate\r
112     14      44100        21      29400        27      22866\r
113     15      41160        22      28063        28      22050\r
114     16      38587        23      26843        29      21289\r
115     17      36317        24      25725        30      20580\r
116     18      34300        25      24696        31      19916\r
117     19      32494        26      23746        32      19293\r
118     20      30870\r
119 \r
120         If you tell the GUS to play at a different rate than listed\r
121 above, the GF1 processor automatically interpolates the sample, and\r
122 simulates playback at the desired rate.\r
123 \r
124         Each voice also has 15 panning positions, and 4096 settings of\r
125 volume.  The GUS has automated volume-ramping that can be used as\r
126 one-shot or oscillating volume modulators.  Thus, amplitude envelopes\r
127 use very little CPU horsepower.  For more technical information, read\r
128 the GUS SDK (see question #24).\r
129 \r
130         The GUS has the following "external" ports:\r
131         o Stereo line in\r
132         o Stereo line out\r
133         o Stereo amplified out\r
134         o Stereo microphone in\r
135         o Game port / MIDI port\r
136 \r
137         The GUS has several "internal" ports, including:\r
138         o CD Audio IN\r
139         o Expansion ports for daughtercards (see question #15).\r
140         o Other as of yet unexplained pins/ports.\r
141 \r
142         The game port can be changed to MIDI in/out/through ports by\r
143 means of an adapter available from Gravis.  Alternatively (and for a\r
144 LOT less money) you can build your own (see question #17).\r
145 \r
146 ----------------------------------------------------------------------\r
147 \r
148  2] How does the GUS emulate other soundcards?\r
149 \r
150         Right now, there are several ways the GUS may emulate other\r
151 soundcards/soundcard combinations.  Following is a list of combinations\r
152 that the GUS may emulate, and the program to be used for this emulation:\r
153 \r
154         Sound Blaster/Adlib        SBOS\r
155         Roland/SB Digital          MegaEm\r
156         General MIDI/SB Digital    MegaEm\r
157 \r
158  (* Insert info about lists here *)\r
159 \r
160 \r
161 ----------------------------------------------------------------------\r
162 \r
163  3] Where can I get a GUS, and how much will it cost?\r
164 \r
165         The "suggested retail" for the card is $200 (U.S. dollars),\r
166 but if you pay that much, you haven't done your homework.  However,\r
167 homework on this card isn't easy because Gravis still hasn't actually\r
168 advertised (they have a weird policy concerning advertising).\r
169 \r
170 Here are some mail order places that supposedly carry the GUS.  Since\r
171 prices tend to change faster than FAQs, I am not posting prices.  For\r
172 our non-american users, there are some FAX or non-800 numbers as well.\r
173 \r
174 Vendor                 800 Number          FAX             Voice\r
175 Zeroes & Ones        1-800-788-2193   1-702-897-1571\r
176 Disk-Count Software  1-800-448-6658   1-908-396-8881   1-908-396-8880\r
177 Mission Control      1-800-999-7995   1-201-677-9484   1-201-677-1400\r
178 Bit Wit Software     1-800-259-2453   1-214-306-9603   1-214-539-5473\r
179 Viking Software      1-800-852-6187   1-404-840-7925\r
180 Chips & Bits         1-800-753-4263   1-802-767-3382   1-802-767-3033\r
181 Computer Express     1-800-228-7449   1-508-443-5645\r
182 \r
183         If you call around, you should have no trouble getting the GUS\r
184 for less than $150.  Suggested places are Babbages, Bizmart, OfficeMax,\r
185 and Disk-Count software.\r
186 \r
187 ----------------------------------------------------------------------\r
188 \r
189  4] What version of the GUS hardware is the latest?\r
190 \r
191         This is a question that is actually pretty irrelevant.  Yes,\r
192 there have been different "releases" of the GUS card (the number is\r
193 etched into the board), but there really aren't any differences.\r
194 Evidently, some of the newer cards have been redesigned to require\r
195 less hardware (and less cost to Gravis), but no functionality changes\r
196 have been made.\r
197 \r
198         Also, the newest versions of the GUS (v3.4+) have volume\r
199 control on some of the inputs, and adds an on/off and volume control\r
200 on the CD input.  The new windows mixer takes advantage of this.\r
201 If you have an older GUS, the mixer just grays out the volume sliders.\r
202 \r
203 ----------------------------------------------------------------------\r
204 \r
205  5] What version of the GUS software is the latest?\r
206 \r
207 \r
208     Title       Ver    Filename   Where?\r
209     ---------  -----   ---------  -------\r
210     Install    2.06L              GUS FTP\r
211                2.06               Mailed\r
212     SBOS       3.4                GUS FTP\r
213     MegaEm     2.02               GUS FTP\r
214 \r
215 ----------------------------------------------------------------------\r
216 \r
217  6] Where can I get the latest GUS software?\r
218     (AKA: Where is the GUS FTP site and/or Gravis BBS?)\r
219 \r
220 GUS FTP sites:\r
221         archive.epas.utoronto.ca              /pub/pc/ultrasound\r
222         wuarchive.wustl.edu            /systems/ibmpc/ultrasound\r
223         archive.orst.edu                    /pub/packages/gravis\r
224         theoris.rz.uni-konstanz.de                /pub/sound/gus\r
225         nctuccca.edu.tw                           /PC/ultrasound\r
226 \r
227 GUS Mailserver:\r
228         mail-server@nike.rz.uni-konstanz.de\r
229 \r
230         BTW: You can get a LOT more than just GUS software releases\r
231 from Gravis on the FTP sites.  There's lots of PD software written\r
232 specifically for the GUS, music (midi music, midi patches, mods, 669\r
233 music, samples, etc., etc), tech info on the card, back issues of the\r
234 UltraSound Daily Digest, etc., etc... check it out!\r
235 \r
236 Gravis BBS:\r
237         (604) 431-5927\r
238 \r
239 6a] What if I don't have FTP access?\r
240 \r
241         Use the GUS Mailserver!\r
242 \r
243         Send mail to mail-server@nike.rz.uni-konstanz.de with the body\r
244 of the message as follows:\r
245 \r
246         begin\r
247         send help\r
248         end\r
249 \r
250         Alternatively, you can call the Gravis BBS.  There are several\r
251 major disadvantages with this, though:\r
252 \r
253         1] Long distance to Canada (no offense to you Canadians :).\r
254         2] 2400 baud.\r
255         3] The BBS doesn't have all the public domain stuff that\r
256                 the FTP sites do.\r
257         4] It's almost *always* busy.\r
258 \r
259         Please *DO NOT* ask people to post binaries to\r
260 comp.sys.ibm.pc.soundcard.  It's not a binary newsgroup, and that's a\r
261 lot of wasted bandwidth to people who don't want the programs.  Use\r
262 email.  It saves bandwidth, fights cavities, and builds character.\r
263 \r
264 ----------------------------------------------------------------------\r
265 \r
266  7] What machines will the GUS work with?\r
267 \r
268         You need an IBM compatible computer with at least a 286\r
269 processor.  It needs to be at least a 386 if you want to use the GUS\r
270 with Windows.\r
271 \r
272 7a] I've heard about problems with the OPTi chipset...\r
273 \r
274         There have been troubles with the GUS if your computer's\r
275 chipset is made by OPTI.  Not all OPTI chipsets are bad, but some of\r
276 them have a faulty DMA controller.  We're still trying to pin down\r
277 which chipsets are flawed; when we have a better idea of exactly which\r
278 ones are bad they'll be added here.  Until then, be careful if your\r
279 computer has an OPTI set, and try reading the UltraSound Daily Digest,\r
280 or comp.sys.ibm.pc.soundcard on USENET.\r
281 \r
282 Written by: dantonio@magick.tay2.dec.com\r
283         Actually, it's not just OPTi chipsets, UMC has been implicated\r
284 as well (Gravis first noticed the problem with UMC chipsets) and\r
285 according to Digital Audio Labs (who told Gravis what was going on),\r
286 the bad datacode is 9149 and the bad chip is the 82C206.  This is all\r
287 explained in the docs for GUS0013.ZIP (I think), the OPTi fix posted\r
288 to the GUS FTP sites.\r
289 \r
290 ----------------------------------------------------------------------\r
291 \r
292  8] Why should I upgrade the memory onboard my GUS?\r
293 \r
294         For starters, the announcement has already come out of Gravis\r
295 that the standard GUS will come with 512k instead of 256k.  This means\r
296 that software companies will write their programs to use *at least*\r
297 512k onboard the GUS.  And with all the users going to 1meg, chances\r
298 are that things will be written for that limit.\r
299 \r
300         It's a cheap upgrade.  If your board came with 256k, it will\r
301 only cost you about $30 to go up to 1meg (see question #10).\r
302 \r
303         There's already a lot of MIDI files out there that require the\r
304 full 1meg to play them, because they use lots of different instrument\r
305 patches.\r
306 \r
307         If you plan on doing any sampling, you'll need the space.  You\r
308 can do direct-to-disk sampling, but it can cause "skips" to go into\r
309 the sample each time the sample goes down the bus to the drive.  In a\r
310 worst case situation, you could be sampling 16 bits in stereo at\r
311 44kHz.  So, you're doing 88000 samples (stereo, remember) of 16 bits\r
312 each every second.  That's 171k (176000 bytes) every second, which\r
313 means the full 1meg memory will fill up in 5 seconds at that rate.\r
314 With only 256k, you can get about 1.5 seconds.\r
315 \r
316         Of course, only people doing very serious stuff with the card\r
317 need to sample at that high of a rate in 16 bits.  MOD files generally\r
318 do 16kHz 8 bit mono samples.  But upgrading the card is still pretty\r
319 important in that case... do the math, and you'll see.\r
320 \r
321 ----------------------------------------------------------------------\r
322 \r
323  9] Where can I get memory for the GUS, and how much will it cost?\r
324 \r
325         You need six 256x4 DRAM chips, with speeds of 80ns or better\r
326 (in other words, 80ns OR LESS).  They tend to run about $4 a piece, so\r
327 the total price will be $24 + shipping.  Make sure you ask for\r
328 "page mode" ram, or they will not work correctly with your GUS.\r
329 \r
330         To find  a  place with them, just  look through  the  Computer\r
331 Shopper magazine.  Check the index for  'memory' and call a few places\r
332 for prices.  (After a little calling, I found a place selling them for\r
333 $3.45 apiece.)\r
334 \r
335         To ensure compatibility, look for the number "44256" in the\r
336 chip number.  If you do not see this number, you probably do not have\r
337 the right chip.\r
338 \r
339         NEW NOTE: Gravis is now offering to sell the chips directly to\r
340 you for a much lower cost (they can buy in bulk).  Give them a call\r
341 for latest chip prices.\r
342 \r
343 ----------------------------------------------------------------------\r
344 \r
345 10] I'm having trouble getting the GUS to work with Windows...\r
346 \r
347         There in one possibility that accounts for about 50% of the\r
348 problems people have with the GUS and Windows: you can't have SBOS\r
349 loaded before going to Windows.  (You don't need it... if the Windows\r
350 program was written right, Windows will handle the link to the card;\r
351 the program shouldn't care.)  Try running ULTRINIT (it clears the GUS'\r
352 program memory), or rebooting.\r
353 \r
354         Other problems:\r
355 \r
356 (a) No sound at all in Windows...\r
357 \r
358 Written by: dantonio@magick.tay2.dec.com\r
359         People often put ultrasnd.ini into \windows\system which they\r
360 shouldn't.  They SHOULD put \ultrasnd\windows\midimap.cfg into\r
361 \windows\system to get the MIDI stuff setup correctly.\r
362 \r
363 (b) I'm not getting any sound when I play MIDI files under Windows.\r
364         The Patch Manager shows empty boxes.\r
365 \r
366 Written by: bs@mda.ca (Bruce Sharpe)\r
367         You need a file  called ULTRASND.INI.  You  can find this file\r
368 in any one of the following places:\r
369 \r
370         1. The v2.06 distribution disk set.\r
371         2. One of the GUS FTP sites.\r
372         3. The Gravis BBS.\r
373         4. CompuServe: GO PCVENB, Library 14, name is ULTSND.INI\r
374                 (rename it to ULTRASND.INI after downloading).\r
375 \r
376         ULTRASND.INI must be placed in the directory pointed to by the\r
377 environment variable ULTRADIR (usually C:\ULTRASND).  It does *not* go\r
378 into the WINDOWS or WINDOWS\SYSTEM directory.\r
379 \r
380         Even if you have an ULTRASND.INI in your ULTRADIR directory,\r
381 look at it.  It should have many lines in it saying things like\r
382 "0=acpiano".  If it is only a few lines long, get another copy and put\r
383 it into the ULTRADIR directory.  Reboot Windows and you will soon be\r
384 hearing beautiful music!\r
385 \r
386         (The purpose of the ULTRASND.INI file is to let the Windows\r
387 driver know what patch file goes with what patch number.  If the\r
388 driver doesn't find the .INI file in the ULTRADIR directory it creates\r
389 a truncated version with no patch names in it.)\r
390 \r
391 (c) All the list boxes are blacked out in the UltraSound Patch\r
392         Manager.\r
393 \r
394 Written by: bs@mda.ca (Bruce Sharpe)\r
395         This was a problem that was fixed in v1.02.  It only occurs in\r
396 certain Windows color schemes (e.g., Ocean).  If you can't get your\r
397 hands on a more recent PatchManager, then change your color scheme.\r
398 \r
399 (d) Other general Windows/GUS problems.\r
400 \r
401 Written by: john.smith@gravis.com (John Smith)\r
402         At least one major problem people have been having with the\r
403 new release has been solved.  Many thanks to Fransisco Perez. He\r
404 noticed that he had a grvsultr.386 file in his \windows directory and\r
405 it was NOT the new one.  Apparently, windows looks in the path and\r
406 uses the first one that it finds. It should have gotten the one in the\r
407 windows\system directory. Using the old one with the new patches etc.\r
408 causes SERIOUS problems. The old install software required the user to\r
409 copy some things manually and some people put the files in the windows\r
410 directory instead of the windows\system directory.  The new install\r
411 will install windows automatically and puts the files in the\r
412 windows\system directory.  To correct the problem, make sure the\r
413 following files are in your windows\system and ultrasnd\windows\r
414 directory ONLY!!!  If you find them anywhere else, you should remove\r
415 them....\r
416 \r
417 \r
418 ...\windows\system\\r
419     grvsultr.386                     <\r
420     midimap.cfg                      < These files are also located\r
421     ultmport.drv                     < in the UltraSnd\Windows\r
422     ultrasnd.drv                     <\r
423 \r
424 ...\ultrasnd\\r
425     ultrasnd.ini\r
426 \r
427 ...\ultrasnd\windows\\r
428     ultrasnd.ini\r
429     oemsetup.inf\r
430     mixer.exe\r
431     patchmgr.exe\r
432     patchmgr.hlp\r
433     ultrahlp.hlp\r
434 \r
435         Some of you have been trying to re-run the automatic Windows\r
436 install simply by running WINGUS from your UltraSound\Windows\r
437 directory.  The problem with this is WINGUS is looking for an install\r
438 script file that has an extension of .INF.  The first file it\r
439 encounters is OEMSETUP.INF, which it trys to execute but because this\r
440 is NOT a script file you will get MANY error messages.  Try renaming\r
441 OEMSETUP.INF to OEM.TMP then run WINGUS.  WINGUS will then see WIN.INF\r
442 and load that instead.\r
443 \r
444 ----------------------------------------------------------------------\r
445 \r
446 11] What new hardware is coming out for the GUS?\r
447 \r
448 Ed. Note: I know this list is out of date, but I don't have anything\r
449           better/more up to date, so I'm leaving it.  If you have\r
450           some more recent info, let me know, and I'll put it in here.\r
451 \r
452 Written by: Bruce Sharpe (bs@mda.ca)\r
453 \r
454    -------------------------------------------------------------------\r
455    | Advanced Gravis Product Support BBS      Pricing & Availability |\r
456    -------------------------------------------------------------------\r
457    |                Item                           When?    SRP($US) |\r
458    -------------------------------------------------------------------\r
459    | MIDI Connector Box                        |  Apr '93  |  $49.95 |\r
460    | 16-bit Stereo Recording Interface Card    |  Apr '93  | $149.95 |\r
461    | LMSI CD-ROM Daughter Card for CM205 and   | Qtr 1 '93 |  $59.95 |\r
462    |  and CM215 (Phillips, Magnavox, LMSI)     |           |         |\r
463    | Sony CD-ROM Daughter Card for Sony 31A    | Qtr 1 '93 |  $49.95 |\r
464    | Mitsumi CD-ROM Daughter Card              | Qtr 1 '93 |  $49.95 |\r
465    | SCSI CD-ROM Daughter Card                 | Qtr 1 '93 |   TBA   |\r
466    -------------------------------------------------------------------\r
467 \r
468 Details?  Good question.\r
469 \r
470 ----------------------------------------------------------------------\r
471 \r
472 12] How do I build the MIDI interface for the GUS?\r
473 \r
474 Written by: pcunnell@micrognosis.co.uk (Paul Cunnell)\r
475 \r
476 > Has anyone made the midi interface for the GUS that is in the FAQ?\r
477 > If so, were did you find the part# 6N138?  I cant seem to locate\r
478 > this anywhere.  Also, (excuse my ingorance i'm not an EE) but\r
479 > what exactly is that part and its purpose? Thanks...\r
480 \r
481         The 6N138 is a high sensitivity opto-isolator, manufactured by\r
482 Hewlett Packard (and I believe, a company called Quality Technology)\r
483 The main point in using this part as opposed to other more common\r
484 opto-isolators is the low LED ON current spec. (1.6mA)\r
485 \r
486         A midi out circuit is basically a LED in series with 600 ohms,\r
487 and a 5V supply. Taking into account the 1.7V forward drop across the\r
488 LED, you get about 5mA in the on state.  Other optos generally need\r
489 more current to turn them on (say 15-60mA, but this varies a lot). A\r
490 'high speed' 6N137 opto will also work, I believe, but that would be a\r
491 bit marginal on the input current (spec. is min 5mA).\r
492 \r
493         Since a number of people have been asking, I'll add below the\r
494 midi circuit that I'm using, plus a bit of general explanation I've\r
495 culled from other peoples' postings on the subject.\r
496 \r
497 Generic Midi Out/In/Through Circuit\r
498 ===================================\r
499 \r
500 The following shows a typical OUT, cable, and IN circuit\r
501 \r
502       MIDI OUT port ---->|<- cable ->|<---- MIDI IN port              +5V\r
503                                                                  270   |\r
504             +5V        DIN           DIN                     +--\/\/\/-+\r
505              |  220    +-+ +-------+ +-+   220    +--------+ |\r
506         |\   +-\/\/\/--|4|-|-------|-|4|--\/\/\/--|  OPTO  |-+-+- UART RXD\r
507  UART   | \            | | |       | | |          |ISOLATOR|   |\r
508  TXD ---|  \---\/\/\/--|5|-|-------|-|5|----------|        |-+ |\r
509         |  /    220    | | +-------+ | |          +--------+ | |\r
510         | /         +--|2|-+       +-|2|            6N138   GND|\r
511         |/ 7407     |  +-+           +-+                       |\r
512                    GND                                         |\r
513                                                                |\r
514                    +-------------------------------------------+\r
515                    |\r
516                    |      +5V        DIN\r
517                    |       |  220    +-+\r
518                    |  |\   +-\/\/\/--|4|\r
519                    |  | \            | |\r
520                    +--|  \---\/\/\/--|5|   MIDI THRU\r
521                       |  /    220    | |\r
522                       | /         +--|2|\r
523                       |/ 7407     |  +-+\r
524                                  GND\r
525 \r
526         Note that when the UART TXD is high, no current flows through\r
527 the resistors and optoisolator's LED, causing the optoisolator's\r
528 phototransistor to remain off, allowing the UART RXD to be pulled high\r
529 by the 270 ohm resistor.  When the UART TXD is low, current flows\r
530 through the resistors and optoisolator's LED, turning on\r
531 optoisolator's phototransistor, grounding the UART RXD.  The voltage\r
532 drop across the optoisolator's LED is typically 1.5 volts, leaving 3.5\r
533 volts to be dropped across (3 times 220) 660 ohms, which allows about\r
534 5 ma to flow.\r
535 \r
536         The reason a current loop is used is that it allows an ground\r
537 isolated interconnection.  Note that the ground from the MIDI OUT\r
538 port's device is not connected to the ground of the MIDI IN port's\r
539 device.  This prevents ground loops in systems where appropriate\r
540 attention has not been paid to grounding issues, such as the case of\r
541 typical musicians in a typical club!\r
542 \r
543 Gravis Ultrasound Circuit\r
544 =========================\r
545 \r
546 15 pin D connector\r
547                                           220R\r
548 pin-1 +5v ----+--------------------------/\/\/\---------------\\r
549               |                                                \ 4\r
550               |                                          Gnd--2   MIDI OUT\r
551               |      |\      |\            220R                / 5\r
552 pin-12 tr >---|------| o-----| o----------/\/\/\--------------/\r
553               |    13|/ 12 11|/ 10\r
554               |                            220R\r
555               +---------------------------/\/\/\-------------\\r
556               |                                               \ 4\r
557 pin-15 rx <---|--------------------+                    Gnd--2    MIDI THRU\r
558               |      |\      |\    |        220R              / 5\r
559               |   +--| o-----| o---+-------/\/\/\------------/\r
560               |   | 1|/ 2   3|/ 4\r
561               |   |\r
562               |   +------+\r
563               |   270R   |                       220R\r
564               +--/\/\/\--+    +------+----------/\/\/\--------\\r
565               |B         |C   |A     |                         \  4\r
566             +-|----------|----|-+    |                             MIDI IN\r
567             |  8        6     2 |  -----                       /  5\r
568             |                   |   / \ IN914 or IN4148     +-/\r
569             |      6N138        |   ---                     |\r
570             |                   |    |                      |\r
571             |           5     3 |    |                      |\r
572             +------------|----|-+    |                      |\r
573                          |    |K     |                      |\r
574 pin-5 Gnd  --------------+    +------+----------------------+\r
575 \r
576         Inverters are 74LS04. (This is a 14-pin IC containing 6\r
577 inverters.  Connect pin 14 to +5V, pin 7 to GND)\r
578 \r
579         Leave pin 2 of the MIDI IN unconnected (Don't connect to ground).\r
580 \r
581 Some hints for testing your circuit\r
582 ===================================\r
583 \r
584         1] Check *all* connections (use a continuity tester, and tick\r
585 them off on a printout of the circuit).\r
586 \r
587         2] Check them again ;-)\r
588 \r
589         3] Make sure you have the latest (GUS0012.zip) windows midi\r
590 driver, and make sure it is installed properly.\r
591 \r
592         4] Make sure your midi sequencer package is set up to use the\r
593 Ultrasound Midi In/Out ports. (As opposed to the Ultrasound Synth)\r
594 \r
595         5] If you still have no joy,\r
596 \r
597                 a] Just connect the +5V and GND to your midi circuit,\r
598         (leave the d-connector pins 12 and 15 unconnected), and then\r
599         connect pin 13 of the 7404 to +5V check you have (about) +5V\r
600         appearing on pin 10.  This checks midi out.\r
601 \r
602                 b] Connect pin 4 of the midi-in DIN socket via 2 extra\r
603         220R resistors to +5V.  Check pin 4 of the 7404.  It should be\r
604         low (about 0V).  Then connect pin 4 of the midi-in DIN socket\r
605         to 0V.  Pin 4 of the 7404 should go high.  This checks midi in.\r
606 \r
607                 c] Reconnect the d-type pins 12 and 15, and connect a\r
608         midi cable between midi-out on the circuit and and midi-in on\r
609         your synth.  Set up your sequencer to use the Ultrasound MIDI\r
610         port as an output, and ensure that one of the tracks is set to\r
611         use this port.  Check your synth is expecting MIDI data on the\r
612         same channel as sequencer is transmitting.  Start sequencer\r
613         playing.  Check that midi data is being transmitted at pin 12\r
614         of the d-type (look at it with an oscilloscope, if possible).\r
615 \r
616 Note\r
617 ====\r
618 \r
619         Standard disclaimers apply - use this information at your own\r
620 risk, and if your fry your card/PC/synth/toaster, then you have my\r
621 sympathy, but not much else ;-)\r
622 \r
623         If you're not happy about messing with circuits and soldering\r
624 irons and wires and stuff, then you may wish to wait for the midi\r
625 connector box from Gravis to become available.\r
626 \r
627         I notice that in the older FAQs, there is a description (from\r
628 Dustin Caldwell <DUSTIN@gse.utah.edu>) of the solder side pinout for a\r
629 15-pin D-type connector. This looks wrong to me. I have a 15-pin male\r
630 d-type in from of me, and it looks like this from the solder side\r
631 (i.e. the side you attach the wires to, rather than the side with the\r
632 pins that plugs into the card):\r
633 \r
634                     Gnd             +5V\r
635          8   7   6   5   4   3   2   1\r
636  +-----/-------------------------------\-----+\r
637  |     \ o   o   o   o   o   o   o   o /     |\r
638  | ( )  \                             / ( )  |\r
639  |       \ o   o   o   o   o   o   o /       |\r
640  +--------\-------------------------/--------+\r
641            15  14  13  12  11  10  9\r
642            Rx          Tx\r
643 \r
644         It is easy to get the pins confused on these connectors - the\r
645 female version seen from the solder side of course has everything the\r
646 other way around (pin 1 is on the left hand side).\r
647 \r
648         Hope this helps (or at least doesn't add to the confusion :-).\r
649 All reasonable quality D-type connectors have pin numbers marked\r
650 against the pins anyway.\r
651 \r
652 ----------------------------------------------------------------------\r
653 \r
654 13] What exactly is GUS 3D?\r
655 \r
656         First and foremost: YES, this is SOFTWARE.  You will NOT need\r
657 to upgrade your GUS to be able to do the GUS-3D stuff.\r
658 \r
659 Written By: dionf@ERE.UMontreal.CA (Francois Dion)\r
660 \r
661         There are several systems that are in use to get 3D sounds on\r
662 recordings and some have been around since the 50s. Now i wont go into\r
663 the "how it works" of the more recent ones, but i think this will\r
664 clear up some confusion.  The first part is a "hands-on" experiment,\r
665 the second is informations, including the address and phone of the\r
666 owner of the technology that is used with the Gravis Ultrasound.\r
667 \r
668         Let's get back to the early days of stereo. One record company\r
669 (i cant seem to remember) was pushing it, while another (again, blank.\r
670 anyone?)  competed.  Interestingly enough, technological development\r
671 was put on stereo, and not on the first 3D system which was called\r
672 "binaural recording" and it simply consisted of two microphones placed\r
673 like the ears. You can try it this way:\r
674 \r
675         Go to a hat store and buy an extruded foam mannequin head.\r
676 You'll then need two microphones. Condenser will do, but you will need\r
677 to power them if you want to use them with the GUS, since it take a\r
678 dynamic microphone because it does not supply phantom power like some\r
679 mixer with XLR plugs. I will post a circuit later for Radio-shack\r
680 condenser mike unit (a small element that cost about 2$) if there is\r
681 some interest. If you dont want to mess with that, go with a cardiod\r
682 dynamic element.  Note that sensitive enough cardiod will cost you a\r
683 lot, so think about that.  You cut holes in the ears of the head, to\r
684 insert the microphone units (dont forget to make the wires of the\r
685 elements go inside the head and out the rear (or wherever). Use glue\r
686 to fill the crack around the mic.  Also, the more the ears look like\r
687 real ears, the better it will work. If you trim the foam, dont forget\r
688 to use an hairdryer to soften it (it will be more uniform). That's it.\r
689 Try recording sounds, and you'll be surprised.  I was! I did the\r
690 experiment with a polystyrene head on which i incrusted two PZM\r
691 microphones.\r
692 \r
693         Now that you understand how 3D recording is nothing like\r
694 stereo recording, we'll see what is accesible presently.\r
695 \r
696         First, the gadget we just built in the previous section exist\r
697 commercially, and is called "Mikey" and is made by Spherical Sound.\r
698 It's the only system commercialised where the microphones are placed\r
699 in a head.\r
700 \r
701         Another system is made by Virtual Audio and claims to enhance\r
702 stereo depth, but is not labeled 3D audio. I dont have much more info\r
703 on it, but from the description it looks like the same thing as the\r
704 "mikey".\r
705 \r
706         Two other systems use less restraining microphones situation\r
707 and can also be used on any signal because a DSP simulate a 3D signal\r
708 from parameters entered on the machine.  QSound (no hyphen) was\r
709 developped in Quebec, and the inventor sold the concept to another\r
710 company (Archer it seems). It is not that good even with electrostatic\r
711 headphones, and is pretty bad if you are listening to it thru speakers\r
712 and you are not in the sweet spot. And for trivia: Madonna, Sting,\r
713 Wilson Phillips and Paula Abdul to name a few have used the QSound on\r
714 their latest recordings. Another trivia: The Q logo is very very close\r
715 to Hydro-Quebec logo... QSound cost around 18K$ and is not midi\r
716 controllable.\r
717 \r
718         The other variant with a DSP is Roland RSS (Roland Sound\r
719 Space). It is a bit better (depending on how it is used) than QSound\r
720 with headphones, but suffers the same faith as QSound when you are\r
721 listening with speakers. Just move a bit from the sweet spot, and\r
722 suddenly what was in front left is now back left. RSS was used on\r
723 Suzanne Cianni _Hotel Luna_ album.  RSS cost around 40K$ and is midi\r
724 controllable.\r
725 \r
726         Another system on which i have zero information is called\r
727 Audio Cybernetics.\r
728 \r
729         The last technology is called Focal Point 3D Audio. It was\r
730 developped by Bo Gehring and first used on the Macintosh computers\r
731 with a modified Audiomedia (Digidesign). It cost around 1400$ in this\r
732 configuration. But, Gravis saw that (Focal Point is from Seattle) and\r
733 it is the system that we will be getting. At a much better price. The\r
734 system produce the sounds with these parameters: direction, elevation\r
735 and distance.  I am pretty sure that Gravis will have to develop a\r
736 SYSEX command set. We already need it badly, but with 3D, i will shoot\r
737 myself if i cant control it thru sysex.\r
738 \r
739         By the way, here's how to get in touch with Focal Point 3D\r
740 Audio, if you're interested.\r
741 \r
742         Focal Point(tm) 3D audio\r
743         1402 Pine av., #127\r
744         Niagara Falls, NY 14301\r
745         Voice/fax: 1-416-963-9188\r
746 \r
747         Ok, you have read the 3D thing, and you cant wait. You want\r
748 big sound. The only possibility for now is surround. Now surround cost\r
749 a lot of money, and it will not be useable anymore once you get the 3D\r
750 driver. Wrong.\r
751 \r
752         Now, i hope you have an amplifier, cause if you dont, you\r
753 can't use this little hack to get surrounding sound. WARNING: i am not\r
754 responsible for any damage resulting from the use or misuse or\r
755 anything else related to this circuit.  Check that your - posts are\r
756 connected to ground and not the +. If it's the case reverse the\r
757 connections to the amplifier.\r
758 \r
759         It works surprisingly well considering the cost. Have fun!\r
760 \r
761   | Amplifier |\r
762   | + -   - + |   You connect the front speakers as usual (dont mixup\r
763    /| |   | |\    the polarities!)          _\r
764   | |_|   |_| |   FLS: Front left speaker (/_\)\r
765   | /_\   /_\ |   FRS: Front right speaker\r
766   | FLS   FRS |   R: variable pot 50 ohm. 10 watts or more (depends on\r
767   |_         _|      the amplifier)\r
768   > |       | <\r
769   ><'R     R'><    RLS: Rear left speaker (use a much smaller speaker\r
770   >           <         for rear than front. 8 ohm also.)\r
771   | RLS   RRS |    RRS: Rear right speaker (")\r
772   |  _     _  |\r
773   | \_/   \_/ |    the 2 - on front speakers are connected to the\r
774   |_/ \_._/ \_|    ground of the amplifier internally, so you dont\r
775    +   -|-   +     have to connect them.\r
776         |_\r
777         > |\r
778         ><'R\r
779         >          Here, you do need to connect the 2 - thru R to the\r
780        _|_         amplifier ground.\r
781         -  AMP GND\r
782 \r
783         Put the 3 potentiometer in a box so that you have the control\r
784 in one place, and use enough wire so you can move with it. You'll have\r
785 to experiment so that the R going to ground is a little higher than\r
786 the other 2 and once that adjusment made, the other two must be\r
787 adjusted so that the rear speakers are just adding a touch of depth\r
788 (if you turn them off, you notice that the surround is gone). Also, if\r
789 you have A-B speaker selection, plug the rear speakers on the + of B\r
790 instead of A, you will then be able to switch them off easily.  Of\r
791 course, when you will use the 3D audio, it will affect the signal, so\r
792 it's better to unplug the rear section.  But for your video, tape, CD\r
793 and regular GUS, you will still find it cool.\r
794 \r
795 ----------------------------------------------------------------------\r
796 \r
797 14] What are *.PAT *.VOC *.WAV *.SND *.MOD *.669, and *.MID files, and\r
798         how do I use them?\r
799 \r
800 Written by: Matthew E. Bernold <MEB117@PSUVM.PSU.EDU>\r
801 \r
802         These are all different types of sound files.\r
803 \r
804         *.PAT files are GUS instrument files, or PATCH files.  These\r
805 files are what your GUS uses to recreate the various instruments it is\r
806 capable of playing.  Your .PAT files should be in your /ULTRASND/MIDI\r
807 and /ULTRASND/SBOS directories.\r
808 \r
809         *.VOC and *.WAV files are basic digital sound files with\r
810 headers.  The *.VOC files are used on the soundblaster, and the *.WAV\r
811 files are used by Microsoft Windows.  Players capable of using these\r
812 formats can read information on sampling rate, 8 or 16 bit, and\r
813 mono/stereo from the header of these files.  *.WAV files can be played\r
814 in MS Windows by many programs.  *.VOC files can be converted to *.WAV\r
815 by many different programs, including SOX which is available via FTP.\r
816 The latest version (7.0) has been ported to PC clones and can be found\r
817 on the GUS FTP sites.\r
818 \r
819         *.SND files are raw sound files with no header information.\r
820 This is the format currently used by the GUS.  This means that you\r
821 have to tell the player program about the sample, because the\r
822 information on how to play it is NOT in the file, like with the *.VOC\r
823 or *.WAV files.  You can play these files using PLAYFILE which came\r
824 with the GUS.\r
825 \r
826         *.MOD files are 4-voice 15 or 31 instrument music files which\r
827 originated on the Amiga.  They use 8-bit, 16kHz samples to produce the\r
828 instruments, and note information to play the songs.  *.MOD files are\r
829 similar to MIDI files, but they are a bit more flexible because you\r
830 can use any sample as an instrument (including voices and sound\r
831 effects) instead of relying on the MIDI synth's own built in\r
832 instruments.  You can play these files using GUSMOD which can be found\r
833 on epas.\r
834 \r
835         *.669 files are 8-voice music files.  I don't know much about\r
836 them, so maybe Tran (author of the GUS 669 player) can fill in this\r
837 area.  You can play these files using P669GU0 which can be found on\r
838 epas.\r
839 \r
840         *.MID files are MIDI files.  You can play these files with\r
841 PLAYMIDI that came with the Ultrasound package, or with MediaPlayer in\r
842 MS Windows.  You might have to create a *.cfg file for the MIDI file\r
843 if it was originally created for a synth that does not conform to the\r
844 GM Midi standard.\r
845 \r
846 ----------------------------------------------------------------------\r
847 \r
848 15] What exactly is Wavetable Synthesis?\r
849 \r
850 Written By: dionf@ERE.UMontreal.CA (Francois Dion)\r
851 \r
852         It is easier to find the Holy Grail than to find a text\r
853 describing precisely what synthesis method the GUS uses, so it's time\r
854 i take a shot at it. For this text i have searched thru ftp archives\r
855 troughout the world, have asked info from Ensoniq, Roland,\r
856 TurtleBeach, Advanced Gravis, Forte Creative Labs and i also took into\r
857 account the numerous comments, praise and flames i received to model\r
858 the text. Since this text is a result of a collective internet and\r
859 industry wisdom, flames will go the way of /dev/nul.  And please, read\r
860 the text carefully, because i have received some comments from people\r
861 who were thinking i wrote something when in fact i wrote the opposite\r
862 (particularly from non anglophones).\r
863 \r
864         You probably have heard about the GUS beeing a wavetable\r
865 soundcard.  I have received some comments that the GUS is not such a\r
866 thing, but since the industry uses this term (i.e. CL waveblaster,\r
867 GUS, TB multisound etc...), i am not in a position to create confusion\r
868 by renaming the technology.  Wavetable explains perfectly what it is.\r
869 A table containing a waveform.\r
870 \r
871         The GUS uses the third generation of wavetable synthesis, so\r
872 before i start explaining it, i'll talk about the first two\r
873 generations first.\r
874 \r
875         The first generation of wavetable synthesis was actually a\r
876 _digitally_ controlled _analog_ oscillator(s) where parameters\r
877 controlling the waveform were kept in memory. The curtis based synths\r
878 and some others are directly derived from this concept.\r
879 \r
880         The second generation of wavetable synthesis uses a digital\r
881 oscillator, with the waveform held in memory in it's basic form (one\r
882 period usually).  Parameters to alter the oscillator behaviour are\r
883 also in memory.  I use the general term "memory" instead of RAM,\r
884 because in some case it's actually ROM, FlashROM, PROM, EPROM,\r
885 switches, buffers etc... The Ensoniq chip found in the Macintosh Plus\r
886 is an example (8 bit, 4 oscillators, 4096 byte wavetable).\r
887 \r
888         The third generation of wavetable synthesis which can be found\r
889 in two flavors (RAM or ROM) is based on the second generation, but\r
890 uses bigger wavetables to hold the waveform (either in single period\r
891 or multi period format) including this time the attack and release. In\r
892 this section, i will focus only on the GUS implementation, which\r
893 basically encompass all other implementations.  Basically, what you\r
894 have are 32 oscillators which can do the exact same thing, and be\r
895 programmed separately and/or simultaneously. What the hardware can do\r
896 without the operating system is not too important here since we are\r
897 looking at what the GUS _can_presently_do_ (with modifications to the\r
898 OS, the GUS could do pretty much any synthesis method one can dream\r
899 up), not what it would have done if the OS wasn't available.  Of\r
900 course, more processing done in hardware means more CPU cycles left\r
901 for other things.\r
902 \r
903         So in the GUS, you have some RAM (up to 1Mb) that holds 1, 2,\r
904 3, etc, wavetables which consist of a sampled (or soft-synthesised)\r
905 waveform, some parameters and optionally a sampled attack and release.\r
906 The GF1 chip (an asic based on the Ensoniq DOC-II chip) will then\r
907 playback a waveform when triggered based on some parameters it is\r
908 given, and on others it will fetch from the wavetable. I dont know if\r
909 all parameters can be fetched from RAM by the GF1, nor if the GF1 can\r
910 fetch some instructions from RAM, but by using the current OS built in\r
911 the windows drivers or in the DOS library, this is what the GUS\r
912 _can_presently_use_ to synthesise music:\r
913 \r
914         - sampled or envelopped attack in 8/16 bit, signed/unsigned\r
915                 format *\r
916         - sampled waveform (anything! a period, or a several seconds\r
917                 sample) *\r
918         - sampled or envelopped release *\r
919 \r
920 with:\r
921         - velocity (volume) *\r
922         - panning (balance) *\r
923         - precise frequency playback rates (with frequency based\r
924                 antialiasing and oversampling) *\r
925         - mixing of all the channels *\r
926 \r
927 Up to here, it's sample playback. But there is more:\r
928 \r
929         - full vibrato (FM, depth, rate, sweep)\r
930         - full tremolo (AM, depth, rate, sweep)\r
931         - LFO (Low Frequency Oscillator) *\r
932         - forward, reverse, dual direction looping or no looping *\r
933         - the loop points can be anywhere (for sampled attack and release) *\r
934                 |-------|-------------|--------------|\r
935                 Start   Start loop    End loop     End\r
936         - 6 point envelope\r
937         - tuning *\r
938         - fractional endpoint *\r
939         - combination of oscillators (up to 4 if the GF1\r
940                 implementation is the same as Ensoniq) *\r
941         - previous waveform usage *\r
942 \r
943 And more recently:\r
944         - 3D (focal point 3D positioning)\r
945 \r
946         ( "*" indicates that the operation is done in hardware. Some\r
947 others may be done in hardware but i have not done any tests or found\r
948 any technical information to confirm it. I also base 1 item on the DOC\r
949 II capability, which should be implemented in the GF1.)\r
950 \r
951         Also, reverb, flanger, phasing etc...  could be easily\r
952 implemente within the drivers. Presently it can be done with a little\r
953 work on the patches and/or midi timestamp (i have succesfully made\r
954 flanger and phasing).  Another thing that could be implemented is\r
955 dynamic patch loading since the card supports it (i have done it). You\r
956 can even get a distorted sound (ideal for guitars, vox, analog synths)\r
957 by simply changing the 2's complement flag (work best with\r
958 soft-synthesised patches).\r
959 \r
960         Last, it is far better to have a RAM wavetable synth than a\r
961 ROM one, since you can upload your samples.  Even sound canvas owners\r
962 (and other synths too) complain that their ROM based GS synth lacks\r
963 interesting drum and bass sounds, cannot play sound effects, and is\r
964 not usable for dance and techno.  Also you can have more space for\r
965 each samples, because you always have only the samples you need in\r
966 memory, so you can have better sampling rates and better waveforms.\r
967 \r
968 ----------------------------------------------------------------------\r
969 \r
970 16] Is there a GUS device driver for Linux/BSD386/*IX?\r
971 \r
972         There is a group of people working on device drivers and C\r
973 libraries for Linux, BSD386, 386bsd, Minix, SysVR3/386, and whatever\r
974 other PC/UNIX flavors there are out there.\r
975 \r
976         I know there is at least a beta driver out for Linux.  If\r
977 anyone out there has more information on this, please mail it to\r
978 me.  I had some information from Hannu Solvanen (Forgive my spelling)\r
979 but I lost it.  If you're reading this, Hannu, please mail me that\r
980 info on your driver again.\r
981 \r
982 ----------------------------------------------------------------------\r
983 \r
984 17] How do I get the GUS to work with OS/2?\r
985 \r
986         As of now, there is no OS/2 specific device driver for the\r
987 GUS.  According to Gravis, they are working directly with IBM to get\r
988 OS/2 drivers for the GUS written.  A specific release date has not\r
989 been announced.\r
990 \r
991         There are a few simple tricks to get the GUS to work with OS/2\r
992 to a small degree right now:\r
993 \r
994 Written by: Thomas Wong <twong@civil.ubc.ca>\r
995 \r
996         As it is right now, what you'll have to do is use a 8 bit DMA\r
997 channel in your setup of the GUS to make it work under a DOS window\r
998 under OS/2.  If you have already installed/setup your GUS card, just\r
999 go into the c:\autoexec.bat file under OS/2 and manually change the\r
1000 number in the environment variable.  So, for example, use DMA channel\r
1001 #1.  By doing this, you can now use playmidi, 669 player, gusmod... a\r
1002 number of GUS programs. But you still can't run playfile or SBOS (it\r
1003 may crash).  In other words, you can use a play a list of midi, 669,\r
1004 mod...etc files in a DOS window, but can't play games.  Gravis did say\r
1005 they will come out with an OS/2 driver but no date is set.\r
1006 \r
1007 ----------------------------------------------------------------------\r
1008 \r
1009 18] How do I go about programming the GUS?\r
1010 \r
1011         Gravis and Forte have released a very detailed SDK for the\r
1012 GUS.  It includes source code, libraries, documentation, etc., etc,\r
1013 and it's available on the FTP sites (see question #6).\r
1014 \r
1015         Also, there are two UltraDox files written by Phat Tran up for\r
1016 FTP as well.  Read them carefully, learn to love them.\r
1017 \r
1018         (If you want to use the GUS with another OS besides MSDOS,\r
1019 read questions #21 and #23.)\r
1020 \r
1021 ----------------------------------------------------------------------\r
1022 \r
1023 19] What are the pinouts for the CD Audio IN on the GUS?\r
1024 \r
1025 Written by: <grtorlba@seattleu.edu>\r
1026 \r
1027         About two days ago I posted requested some info on the 4-pin\r
1028 CD audio pin on the GUS.  I never got a reply but I got the info by\r
1029 downloading volume 1 of the digest.\r
1030 \r
1031         The pin info was:\r
1032 \r
1033         left ground ground right\r
1034 \r
1035         I've tried this pin assignment and it seems to work.  The\r
1036 articles in the digest pointed out that they weren't certain of the\r
1037 left-right assignment but the two pins in the middle are definitely\r
1038 the grounds.\r
1039 \r
1040 ----------------------------------------------------------------------\r
1041 \r
1042 20] I'm having trouble with... GENERAL TROUBLESHOOTING TIPS\r
1043 \r
1044 Written by: john.smith@gravis.com (John Smith)\r
1045 \r
1046         It looks like a lot of the problems are incorrect\r
1047 installations.\r
1048 \r
1049         Make sure that you put ALL the correct files in the\r
1050 /ultrasnd/sbos directory and remove any old ones. Sbosdrv.exe,\r
1051 Loadsbos.exe and Sboslib.sbs MUST all be from the same release\r
1052 revision. They are NOT mixable. A lot of the problems you are seeing\r
1053 could happen if the wrong driver is used with the new loader and patch\r
1054 library.  To make sure you are using the correct files, delete ALL\r
1055 files from /ultrasnd/sbos. Then unzip the new release into the sbos\r
1056 directory. Then COPY sbosdrv.exe up to the /ultrasnd directory.  Then\r
1057 COPY loadsbos.exe up to the /ultrasnd directory also.  Now pick either\r
1058 sboslo.bat or sboshi.bat up to /ultrasnd/sbos.bat.  These two batch\r
1059 files assume you are using emm386. If you are using another memory\r
1060 manager (like qemm, 386max etc), use the appropriate command to load\r
1061 it into high memory.  (NOTE: If you installed your software in some\r
1062 other directory, substitute it in place of /ultrasnd).  ] Not all of\r
1063 the tips below apply to all programs. This is just a brief summary of\r
1064 some of the things we had to do to get some games running properly.\r
1065 \r
1066         1) Make sure the BLASTER environment string tracks our\r
1067 ULTRASND string. Many games look at BLASTER to set up their stuff.\r
1068 SBOS needs ULTRASND. If they are not the same, the game will be\r
1069 looking one place and SBOS will using another. This is another reason\r
1070 NOT to have an SB and GUS in the same system. Presumably, the SB would\r
1071 want BLASTER set up for it and any game looking at it would not work\r
1072 with SBOS. BLASTER is set up like this:\r
1073 \r
1074     BLASTER=A220 I5 D1 T1\r
1075               |    |  |  |\r
1076               |    |  |  -  Type of SB (1 = regular SB)\r
1077               |    |  ----- DMA channel (MUST be 1)\r
1078               |    -------- IRQ used.     (same as GUS midi irq)\r
1079               ------------- I/O base address\r
1080 \r
1081         This variable is set up by the GUS setup program.  It should\r
1082 never need to be modified unless you modify ULTRASND by hand.\r
1083 \r
1084         For example, wolf3d looks at BLASTER to get its parameters.\r
1085 Sound will NOT function if the IRQs are different, but it will detect\r
1086 an Adlib.\r
1087 \r
1088         2) Make sure that SBOS is up and running BEFORE you install\r
1089 your game. Some games configure themselves during their installation\r
1090 procedure. If SBOS is not running, it will assume there is no sound\r
1091 board present.\r
1092 \r
1093         3) Some games have a separate setup/configuration section.\r
1094 Make sure you run this after you install the game OR change the\r
1095 ULTRASND variable. They are usually called setup, install or config.\r
1096 Look around for it. Some games also save the last configuration to use\r
1097 the next time the game is run. This means that if it didn't detect the\r
1098 card (because SBOS wasn't loaded), it will save that info and will\r
1099 start up the NEXT time with sound disabled. You will have to manually\r
1100 turn sound back on somehow.  See your games manual. For example,\r
1101 Wolf-3d will do this.\r
1102 \r
1103         4) Some games need all available RAM to run.  Since SBOS\r
1104 currently takes approximately 19K, it may not have enough to run. Some\r
1105 games will shut off some of the sounds if RAM is short.  Check your\r
1106 manual. It may also be necessary to load SBOS high to reclaim some of\r
1107 the RAM.\r
1108 \r
1109         5) If you have poor performance with SBOS loaded, see if you\r
1110 have an expanded memory manager running.  (qemm, 386max, emm386 etc)\r
1111 There is a SEVERE performance penalty to be paid if you run with\r
1112 these. Its a byproduct of your machine running in protected mode.\r
1113 Usually, only games that use direct I/O (mod players for example) are\r
1114 seriously effected by this. If you must have SBOS loaded high, then\r
1115 you will have to live with this. It is possible to disable the virtual\r
1116 DMA if you are using qemm. (NOVDS) Doing so should speed things up a\r
1117 bit.\r
1118 \r
1119 Comments on above paragraph by mike@batpad.org (Mike Batchelor)\r
1120 ]\r
1121 ]               This paragraph contains some errors, from where I sit.\r
1122 ]       You may disagree, but I offer my perspective anyway:\r
1123 ]\r
1124 ]               1.  Virtual 8086 mode entails no more than a 5%\r
1125 ]       performance penalty over real mode.  It does not matter which\r
1126 ]       memory manager you use, the degradation is dependent on the\r
1127 ]       CPU and the motherboard.  In any case, the penalty is hardly\r
1128 ]       what you might call SEVERE.\r
1129 ]\r
1130 ]               2.  QEMM's NOVDS parameter has NOTHING to do with\r
1131 ]       virtualization of the standard DMA channels.  There is no\r
1132 ]       switch to disable this feature of QEMM, DMA would not fuction\r
1133 ]       in V86 mode if the memory manager does not virtualize it.\r
1134 ]       They all do this, they all MUST do this.  NOVDS tells QEMM not\r
1135 ]       to support the Virtual DMA Specification, which has to do with\r
1136 ]       virtualizing non-standard DMA used by bus-mastering adapters\r
1137 ]       (usually SCSI host adapters, but can be network cards, etc.).\r
1138 ]       The VDS spec is a means by which these non-standard DMA\r
1139 ]       operations may be virtualized in V86 mode.  QEMM normally\r
1140 ]       virtualizes the DMA channels handled by the motherboard's DMA\r
1141 ]       controller.  So-called bus-mastering disk controllers do DMA\r
1142 ]       on their own, without help from the DMA controller, so the\r
1143 ]       normal way of virtualizing DMA will not work.  VDS is the\r
1144 ]       solution for this.  Adding NOVDS to the QEMM line will disable\r
1145 ]       support for ASPI4DOS.SYS, USPI24.SYS and other VDS-supporting\r
1146 ]       SCSI host adapter drivers.  This will prevent the user from\r
1147 ]       loading anything into mapped memory in the first megabyte\r
1148 ]       (High RAM) from the SCSI hard disk.\r
1149 ]\r
1150 ]               The usual way to improve DMA performance is to\r
1151 ]       increase QEMM's DMA buffer.  The default on ISA systems is\r
1152 ]       12K, and 64K on MCA systems.  It can be increased to 128K max.\r
1153 ]       DMA=nnn specifies how large the length of a single DMA\r
1154 ]       transfer can be, in nnn Kb.  QEMM should prompt you to\r
1155 ]       increase the DMA buffer if a program attempts to exceed the\r
1156 ]       capacity of the current buffer.  I have found that 64K is\r
1157 ]       plenty for all programs I have used with the GUS.\r
1158 \r
1159         6) It is possible for an application to detect the Adlib side\r
1160 of the GUS without SBOS being loaded. It depends on the method it uses\r
1161 to detect it. Obviously if that happens, the application will think it\r
1162 has an Adlib, but nothing is going to work.\r
1163 \r
1164         7) Many games need to detect (and use) extended/expanded RAM\r
1165 before some sounds will be activated (usually digitized stuff) Refer\r
1166 to your manual for these kind of problems.  An SB will not operate\r
1167 properly under these conditions either.  For example, Falcon III will\r
1168 not play digitized sounds until EMS is set up properly.  SBOS has\r
1169 nothing to do with this problem.\r
1170 \r
1171         8) Some games hard code their I/O address and/or irq\r
1172 selections. Refer to your manual.  You will have to make the GUS'\r
1173 selections match these. I believe some Sierra games do this.  Wing\r
1174 Commander requires a base port of address of 220 for digital speech to\r
1175 work.\r
1176 \r
1177         9) Unless you are POSITIVE that a particular game needs an\r
1178 option, (-o1 -o2 etc) DON'T specify one, 99% of the games do NOT need\r
1179 one. You may screw up the driver by specifying one that you don't\r
1180 need.  You should unload and reload the driver before specifying an\r
1181 option. Since it is possible to use more than one option, you may be\r
1182 telling it conflicting things if you don't unload it.\r
1183 \r
1184         10) There are several new features in SBOS that you should be\r
1185 aware of:\r
1186 \r
1187                 a) SBOS reloads its patches before an application\r
1188         runs.  This should eliminate having to reload it between\r
1189         running windows or a native GUS application (GUSMOD Star Con\r
1190         II, playmidi etc) and a game that uses SBOS.\r
1191 \r
1192                 b) You can change the vector that it uses for\r
1193         communicating between sbosdrv.exe and loadsbos.exe.  The\r
1194         option is -Cxx, where xx is the new software vector to use.\r
1195         This is specified to sbosdrv.  Currently, only 1 application\r
1196         is known to need this.  Netroom uses the default vector (7E)\r
1197         so sbosdrv thinks it is already loaded.  If you are using\r
1198         netroom, you MUST change the vector #.  Netroom is the only\r
1199         application that we know of that has this problem.  There may\r
1200         be others.  We don't know of ANY games that do.\r
1201 \r
1202                 c) You can tell SBOS to leave line-in enabled by\r
1203         specifying a -L when SBOS is loaded. This can be useful if you\r
1204         want to monitor some other audio output source thru the GUS.\r
1205 \r
1206         11) The volume up and down keys (defaults are [ and ]) do not\r
1207 work in all games. Any game that takes over the keyboard vectors will\r
1208 disable this feature. You must use the -V option when loading sbos to\r
1209 alter the volume for these games.  This option works like this: -vxx\r
1210 where xx ranges from 0 to 31 (31 being max volume) Note: in SOME\r
1211 versions prior to 1.4B2, hitting the volume keys would hang your\r
1212 system. This has been fixed.\r
1213 \r
1214         12) Some games grab all possible SB irqs (2,5 and 7) when they\r
1215 initialize to find what IRQ the SB is on.  If they do this with SBOS\r
1216 and SBOS happens to have the UltraSound IRQ on one of the SB irqs, it\r
1217 will not let SBOS get its irq. Make sure that you set the UltraSound\r
1218 irq to one of the upper ones (11,12 or 15). Jill of the Jungle is an\r
1219 example of a game that exhibits this problem.\r
1220 \r
1221         13) Now for some simple things to look for.\r
1222 \r
1223                 a) Is board seated properly?\r
1224                 b) Is DRAM in sockets correctly (bent pins etc)?\r
1225                 c) Are stereo/speakers hooked up properly?\r
1226                 d) Are you connected to the right outputs on GUS?\r
1227                    (Some Ultrasound boxes are labeled wrong ...)\r
1228 \r
1229                         TOP OF ULTRASOUND\r
1230                         =================\r
1231 \r
1232                         Amplified Out\r
1233                         Line Out\r
1234 \r
1235                         Joystick/Midi 15 pin connector\r
1236 \r
1237                         Microphone In\r
1238                         Line In\r
1239 \r
1240                         BOTTOM OF ULTRASOUND\r
1241                         ====================\r
1242 \r
1243                 e) Do you have enough environment space for ULTRASND\r
1244                    and BLASTER variables?\r
1245                 f) Did you set the volume too low?\r
1246                 g) Is \ultrasnd in your path?\r
1247                 h) Could you have gotten a bad download of new SBOS?\r
1248 \r
1249         14) Several people have complained about sbos loading VERY\r
1250 slowly.  Is your joystick or MIDI plugged in?  Try unplugging it.  As\r
1251 of now, we haven't been able to reproduce this problem.  It may be\r
1252 related to installing the software incorrectly or a DMA conflict.\r
1253 \r
1254         15) If your joystick doesn't operate properly in a game, look\r
1255 for these things.\r
1256 \r
1257                 a) Has it been calibrated (see manual)\r
1258                 b) Do you have 2 games ports in your system? (GUS and\r
1259                    another game port). If so, one MUST be disabled.\r
1260                 c) DO you have a line like the following in your autoexec\r
1261 \r
1262                    joycomp 20\r
1263 \r
1264                    where 20 is the compensation factor determined thru\r
1265                    the calibration utility, ultrajoy.\r
1266 \r
1267         16) There are several things people have noticed that seem to\r
1268 effect SBOS that need to be investigated. None of these have been\r
1269 verified, but you should be aware of them and you might try\r
1270 eliminating them as possible sources of your problem.\r
1271 \r
1272                 a) Loading SBOS hi can cause some FM stuff to sound\r
1273                    'weird'.\r
1274                 b) Using 'Stealth' mode on QEMM seems to have a\r
1275                    detrimental effect.\r
1276                 c) Change sbos.bat file to use loadhi instead of lh if\r
1277                    using QEMM.\r
1278                 d) Stacker seems to cause some people problems.  It\r
1279                    works OK for others.\r
1280                 e) Order that TSR's are loaded may have an effect. Try\r
1281                    loading SBOS first, last etc.\r
1282                 f) When using XWing make sure that you have at least\r
1283                    896K of EMS (not XMS) and 563K of conventional.  If\r
1284                    you are having problems with slowdowns try turning\r
1285                    off the music.\r
1286 \r
1287         17) The only other thing we can think of is a hardware problem\r
1288 on your card. The diagnostics in the new setup program should be able\r
1289 to isolate it.\r
1290 \r
1291         Granted, we are a bit biased, but we believe that you should\r
1292 get SUPERB sound out of your GUS.  If you are getting less than\r
1293 satisfactory results, there can only be a few explanations.\r
1294 \r
1295                 a) in windows, make sure its in 'high fidelity' mode.\r
1296                 b) Incorrect software installation.\r
1297                 c) Incorrect hardware installation (IRQ,DMA etc)\r
1298                    (probably)\r
1299                 4) Bad hardware.(PC or GUS)\r
1300 \r
1301 ----------------------------------------------------------------------\r
1302 \r
1303 21] I can't seem to fit the new disks onto a floppy.\r
1304 \r
1305         First of all, the files need to go on to a HD 3.5" disk.\r
1306 \r
1307         Next, some of the disks were zip'ed a second time to include a\r
1308 small README file (in other words, the .zip file you downloaded\r
1309 contains two files: a README file, and another .zip file).  This would\r
1310 have been a good idea, except the .zip file got bigger; too big for a\r
1311 HD 3.5" disk.  So, you'll need to unzip the file, read the README, and\r
1312 copy the new .zip file to a floppy.\r
1313 \r
1314 ----------------------------------------------------------------------\r
1315 \r
1316 22] Why shouldn't I use the comp.sys.ibm.pc.soundcard.GUS newgroup?\r
1317 \r
1318         c.s.i.p.s.GUS wasn't created legally; ie: there was no formal\r
1319 call for discussion, voting, etc., etc.  As such, many sites refuse to\r
1320 carry the group.  Posts there get to few readers.\r
1321 \r
1322         If anyone wants to take the time and energy to go through the\r
1323 steps needed to get a new group created the correct way, I'm sure all\r
1324 the GUSers would be more than happy to move there.\r
1325 \r
1326         (USENET tip for newbies: Don't create a new group for every\r
1327 new topic that comes along.  Find the group that your topic fits best\r
1328 in, and use that.  If you don't like all the other posts in the group,\r
1329 learn the magic incantations that go along with killfiles in your\r
1330 newsreader.)\r
1331 \r
1332 ----------------------------------------------------------------------\r
1333 \r
1334 23] What are "Miles Drivers", and how do I use them?\r
1335 \r
1336 Written by: Matthew E. Bernold <MEB117@PSUVM.PSU.EDU>\r
1337 \r
1338         Miles drivers (also known as MIDPAK/DIGIPAK) are a set of\r
1339 drivers that software companies to easily support many soundcards.\r
1340 The game is programmed to use these drivers, and then any soundcard\r
1341 with an appropriate driver will automatically be supported.  The Miles\r
1342 drivers for the GUS can be found on the Epas archive site.  The\r
1343 current version of these drivers is v.97beta (filename GUSAIL97.ZIP)\r
1344 \r
1345         There are three driver files and one TSR in the GUS Miles\r
1346 Drivers.  The drivers are GF1MIDI.ADV, GF1DIGI.ADV, GF166.COM and the\r
1347 TSR is ULTRAMID.EXE In order to use these drivers, you need to copy\r
1348 them over existing sound drivers for another card.  These drivers\r
1349 should have easily recognizable names like:\r
1350 \r
1351         (List taken from Monopoly Deluxe)\r
1352 \r
1353         SBDIG.ADV               Sound Blaster Digital\r
1354         SBFM.ADV                Sound Blaster FM Music\r
1355         SBPDIG.ADV              Sound Blaster Pro Digital\r
1356         SBP1FM.ADV              Sound Blaster Pro v1 Music\r
1357         SBP2FM.ADV              Sound Blaster Pro v2 Music (OPL3)\r
1358         MT32MPU.ADV             Roland MT32 Music\r
1359         PCSPKR.ADV              PC Speaker driver\r
1360 \r
1361         The above names are typical, but they may change.\r
1362 \r
1363         To get the game to work, you should do the following (This\r
1364 example assumes that your Ultrasound directory is c:\ultrasnd and that\r
1365 your miles drivers are in c:\ultrasnd\miles and your game is in the\r
1366 directory c:\game):\r
1367 \r
1368         1) Change into your Game's directory\r
1369 \r
1370 C:\>CD GAME\r
1371 \r
1372         NOTE: Any of the below steps MAY not be necessary, depending\r
1373 on what your application uses.  If the app uses only Digital sound,\r
1374 and no MIDI music, for example, you will not have to do step 3.\r
1375 \r
1376         2) Copy GF1DIGI.ADV over a Digital driver.  I would suggest\r
1377 choosing the one that is most functional.  Choose the SBPro driver\r
1378 over the SB one and you MIGHT get stereo (depending on what the game\r
1379 does) and choose the PAS-16 driver (if one is present) and you MIGHT\r
1380 get 16-bit sound if the game uses it.  We'll choose the SBPro driver.\r
1381 \r
1382 C:\GAME>COPY C:\ULTRASND\MILES\GF1DIGI.ADV SBPDIG.ADV\r
1383 \r
1384         3) Copy GF1MIDI.ADV over a Music driver.  Here, I would\r
1385 suggest that you try different ones and see which sounds best.\r
1386 Sometimes the program plays a different version of the music depending\r
1387 on your card.  For Terminator 2029, I found that the MT32 setting\r
1388 sounds better, but the SCC-1 setting sounds more like the movie music,\r
1389 even though it isn't as clear and nice sounding.  For this example,\r
1390 we'll try the MT32 driver.\r
1391 \r
1392 C:\GAME>COPY C:\ULTRASND\MILES\GF1MIDI.ADV MT32MPU.ADV\r
1393 \r
1394         4) Copy GF166.COM over the .COM file for the card you selected\r
1395 above.  This should be fairly simple.  If you chose 2 different cards\r
1396 as we did in this example, then copy the GF166.COM over the .COM file\r
1397 for BOTH cards (just to be safe)\r
1398 \r
1399 C:\GAME>COPY C:\ULTRASND\MILES\GF166.COM SBLASTER.COM\r
1400 \r
1401         (For this game [Monopoly Deluxe] there doesn't seem to be a\r
1402 .COM file for the Roland MT32, so I didn't copy over it here)\r
1403 \r
1404         5) This step is MANDITORY.  Run the game's SETUP utility and\r
1405 choose the cards you chose above.  In this example, we chose SBPro for\r
1406 Digital, and MT32 for Music.  If the SETUP utility does NOT allow you\r
1407 to choose two different cards, you must redo steps 2-4 patching only\r
1408 ONE card's drivers.  Most programs now allow you to choose 2 cards,\r
1409 however.\r
1410 \r
1411         6) Run ULTRAMID.EXE.  This needs to be done before you run any\r
1412 games that use the Miles Drivers.  There should be instructions on\r
1413 different command line options for ULTRAMID in the readme file that\r
1414 comes with the archive.  Realize that ULTRAMID takes around 50k right\r
1415 now, so you may have to load it high to get enough conventional memory\r
1416 to run your game.\r
1417 \r
1418         That's it!  Your game SHOULD now have full GUS support.  If it\r
1419 doesn't, here are a few hints on how to possibly fix things:\r
1420 \r
1421         1) Try copying the GUS's *.ADV drivers over ALL the *.ADV\r
1422 drivers in the game's directory.  According to the README file, a good\r
1423 indication of what a driver is is that if the driver is <10k then it\r
1424 is a Digital driver, and should be replaced with GUSDIGI.ADV, if\r
1425 larger, then it is a MIDI driver, and should be replaced with\r
1426 GUSMIDI.ADV.  The name should also give you a clue as to what to\r
1427 replace it with.\r
1428 \r
1429                 a) MIDI drivers: MT32, SCC1, ADLIB (Usually), Anything\r
1430         with 'FM' like SBFM or SBP2FM\r
1431 \r
1432                 b) Digital drivers: SBDIG, SBPDIG, PASDIG, PCSPKR.\r
1433         Usually these drivers will have 'DIG' in them, but not\r
1434         necessarily.\r
1435 \r
1436         2) Try copying the GF166.COM file over ALL the .COM files in\r
1437 the directory.  BE CAREFUL WHEN YOU DO THIS!  Some games have .COM\r
1438 files other than the music drivers that should NOT be copied over.\r
1439 Most of the time, the .COM files you are looking for will be small,\r
1440 and will usually have a recognizable name, although this is not always\r
1441 the case.\r
1442 \r
1443         3) Some games on the list in the readme file from the archive\r
1444 may use the Miles drivers, but NOT have *.ADV files anywhere.  From\r
1445 what I understand, the Miles drivers will have the word "Miles"\r
1446 embedded in them somewhere near the beginning.  Look through some of\r
1447 the smaller files in the directory with an editor and see if you can\r
1448 find the word "Miles" somewhere.  Some games rename the Miles drivers\r
1449 to *.DRV.\r
1450 \r
1451         Good luck, and happy GUSing.\r
1452 \r
1453 ----------------------------------------------------------------------\r
1454 \r
1455 \r