A d v a n c e d
Advanced Gravis Computer Technology Ltd.
Fax (604) 431-5155 BBS (604) 431-5927 V32bis
Compuserve: GO PCVENB (71333,350) InterNET EMail: [email protected]
FidoNET: 1:153/978 SBCNET: 13:900/3
AOL: Adv Gravis Genie: Page M805 Topic 6
ULTRASOUND 32 BIT AIL DRIVERS - 01/29/94
1.0 What are these drivers?
2.0 How to 'back patch' games.
3.0 Developer information
4.0 Revision History
1.0.0 ************* CHAPTER 1. - WHAT ARE THESE DRIVERS? *****************
This package contains 'IBM Audio Interface Library for 32-bit DOS' (AIL/32)
drivers for the Gravis UltraSound card. This allows developers who use
AIL/32 in their products to easily add native UltraSound support. It also
allows end users to easily 'back patch' products which have shipped without
UltraSound drivers (in effect adding native UltraSound support to games
which have shipped without it).
Developers should proceed to chapter 3 and read the information there.
Other users should read on. Advanced users may find the developer of some
Some products which use AIL/32 and can be back patched with these drivers
Sim City 2000
SVGA Air Warrior
Notes: IndyCar racing only supports engine noises and tire squeals with
FM based sound cards. Hence if you use these drivers you will not
get either of these sound effects. For sound effects use the
Sound Blaster (TM) drivers with SBOS -o3.
It is unlikely you will be able to use an AdLib compatible card
at the same time as these drivers, due to timer conflicts between
the 2 sound cards. This has been requested by several IndyCar
Sierra does not use AIL/32 and hence these drivers will not work
with the latest Sierra 32-bit games. However 32-bit Sierra drivers
are under development and will be available soon.
2.0.0 ************ CHAPTER 2. - HOW TO 'BACK PATCH' GAMES ****************
1. After installing your game, back up all of the games sound drivers. The
drivers ususally have the extension .DLL.
2. Copy the files LOADPATS.EXE and PATCHES.INI into the directory the game
is installed in.
3. Copy GUSMID32.DLL over one of the games music drivers (preferably
a General MIDI driver). The most common names for the music drivers
A32MT32.DLL - MT-32/General MIDI driver
A32SPKR.DLL - PC Speaker Music driver
A32ADLIB.DLL - AdLib Music Driver
A32ALGFM.DLL - AdLib Gold Music Driver
A32SBFM.DLL - Sound Blaster Music Driver
A32SP1FM.DLL - Sound Blaster Pro 1 Music Driver
A32SP2FM.DLL - Sound Blaster Pro 2 Music Driver
A32PASFM.DLL - Pro Audio Spectrum Music Driver
A32PASOP.DLL - Pro Audio Spectrum (OPL3) Music Driver
A32MT32S.DLL - MT-32/General MIDI driver (SB MIDI interface)
A32ARXM.DLL - ARIA Music Driver
4. Copy GUSDIG32.DLL over one of the games digital drivers. The most
common names for the digital drivers are:
A32SBDG.DLL - Sound Blaster Digital Driver
A32SBPDG.DLL - Sound Blaster Pro Digital Driver
A32PASDG.DLL - Pro Audio Spectrum Digital Driver
A32ALGDG.DLL - AdLib Gold Digital Driver
A32ARDG.DLL - ARIA Digital Driver
5. Run LOADPATS by typing LOADPATS
NOTE: The batch file COPYDRVS.BAT provided in this package is designed to
perform steps 1 to 5 for you automatically PROVIDED the drivers use
the standard names listed above, or, you are patching Syndicate. In
particular the game must have one of the following file names:
To use COPYDRVS type:
where dir_name is the directory where the games sound drivers are
e.g. COPYDRVS C:\INDYCAR
or COPYDRVS C:\SC2000\SOUND
or COPYDRVS C:\SYND\DATA
6. Run the game's setup or install software (provided it has one).
Configure the games sound to use the drivers you copied the
UltraSound drivers over.
If you used COPYDRVS and it worked, select in the following order:
Sound Blaster for digital, General MIDI for music.
Sound Blaster for digital, MT-32 for music.
Sound Blaster for both digital and/or music.
Now everytime you run your game:
7. Run LOADPATS.
8. Start your game.
3.0.0 ************** CHAPTER 3. - DEVELOPER INFORMATION ******************
These drivers are for use with the Rational DOS4GW DOS extender only.
Drivers for other platforms can be made available if interest is shown.
Files of interest:
GUSDIG32.DLL is a PCM sample playback driver. It will play back most forms
of data except Sound Blaster ADPCM compressed samples.
GUSMID32.DLL is an XMIDI driver, designed to play General MIDI sequences.
By editing PATCHES.INI it can be used to play back sequences for other
synths (MT-32 sequences for example).
LOADPATS.EXE and PATCHES.INI are also required (see below).
There are several differences between these drivers and 32 bit AIL drivers
for other cards.
* LOADPATS.EXE must be run before either of the drivers will work. This is
easily accomplished by using a batch file to load your product and
calling LOADPATS at the start of this batch file. If LOADPATS fails it
will return a DOS errorlevel of 1, otherwise it returns a 0. You can use
this to exit from the batch file on an error. The following is an example
if errorlevel 1 goto end
LOADPATS loads patches onto the UltraSound DRAM and sets up several
parameters on the UltraSound card required for the AIL drivers to
operate. It is NOT a TSR. Do not run another UltraSound application
between running LOADPATS and your product.
* The drivers ignore hardware parameters passed by AIL_detect_device and
AIL_init_driver. The hardware parameters are taken from the ULTRASND
environment variable when LOADPATS is run.
* AIL_detect_device will check to make sure LOADPATS has been run.
However it will not check to see if the hardware irq or DMA settings are
in conflict with another device. This should not be a problem since the
ULTRASND environment variable is used for most UltraSound software, and
hence must be correct for the UltraSound to operate.
* The UltraSound drivers WILL work properly with hardware irq's higher than
7. Other drivers will not due to limitations of the DOS4GW extender.
INFORMATION ON LOADPATS:
LOADPATS is a simple program which loads the MIDI patches and information
on how to play them onto the UltraSound card. Running LOADPATS gives a
similar functionality as having ROM samples. The patches loaded are
specified in PATCHES.INI, and are loaded in the order specified, until
the UltraSound on board memory is full. Listing only the patches used in
your sequences will result in optimum performance. See the header in
PATCHES.INI for more information on creating a custom .INI file.
Command line options:
-H -? Display a help screen.
-16 Load patches at 16 bit instead of 8 bit. This can be usefull if you
use a custion .INI file which lists only a few patches.
-Mxxx Set music master volume (relative to digital volume). xxx=1 to 100.
xxx=90 is the default.
-Iname Specify a different .INI file (instead of PATCHES.INI). 'name' can
just be a file name, or a complete DOS pathname.
-Q Disables the screen output.
4.0.0 ***************** CHAPTER 4. - REVISION HISTORY ********************
94/01/20 Corrected a bug in proccessing of text files. This would
cause LOADPATS to lock up with certain .INI files.
94/01/21 Pressing Ctrl-C while running LOADPATS will no longer leave the
system unstable (irq's were not getting unhooked).
AIL_detect_device will now use the ULTRASND environment variable
to get the UltraSound base address. Previously it would probe
for the base address, causing problems with other hardware
94/01/25 Drivers are now backward compatible with the older DLLLOAD.C, and
hence can be used in place of A32MT32.DLL and A32SBDG.DLL etc.
94/01/31 LOADPATS: Will no longer exit to DOS on CTRL-C. Will now use
(ULTRADIR)\MIDI if the PatchDir field in ULTRASND.INI is invalid.
Aborts if it encounters an old patch. Corrected a major bug in
the cross-mapping of the patches. This was causing divide by
zero errors. Added -L switch to enable UltraSound line in.
END OF README