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
UltraSound AIL & MIDPAK/DIGPAK V1.0 (GUSAIL10.ZIP)
1.0 About these Drivers
3.0 Who Supports
4.0 Revision history and Packing List
1.0.0 *************** CHAPTER 1. - ABOUT THESE DRIVERS *******************
1.1.0 Audio Interface Libraries (AIL) - MIDPAK/DIGPAK
The Audio Interface Libraries (AIL), (we know them as "Miles" Drivers)
and DIGPAK are a set of interface drivers which enable software
developers (mainly game developers) to integrate sound capabilities
into their programs. Once a developer has integrated his program into
the AIL drivers the application will work with all sound cards on the
market who provide AIL drivers. The AIL's provide support for MIDI as
well as the Digital Sound interface of an audio card. These library
drivers allow the developers to use UltraSound's wavetable synthesizer
and allow them to utilize the UltraSound's digital interface to play 8
or 16 bit audio in either mono or stereo mode.
Advanced Gravis & FORTE have recently designed and released to Miles
Design and The Audio Solution Inc. the AIL and DIGPAK routines for the
UltraSound card which provide the mechanism for developers to easily
intergrate with, and use UltraSound's features. Developers who have
the AIL's and/or DIGPAK can get the driver updates and intergrate
their programs into the UltraSound. The AIL/DIGPAK updates will also
be available through the Advaced Gravis BBS or any of our nodes.
Please refer to GRAVNODE.TXT for a complete list. Developers who do
not have the AILs can get them from Miles Design and/or DIGPAK from
The Audio Solution Inc.
Developers who want to take full advantage of UltraSound's advanced
features; and do not want to pay either Miles Design or The Audio
Solution Inc. license fees, Advanced Gravis and FORTE have a stand
alone driver as well. These drivers use a Terminate and Stay
Resident (TSR) utility called UltraMID. Developers utilizing this
TSR are able to do digital playback at 8 or 16 bits up to 44.1kHz
sample rate. Also, this allows programmers to use all of the
UltraSound's 32 digital voices as well as the superior wavetable
These drivers are another level of support for the UltraSound card
developers. Both the AIL and DIGPAK interfaces provide a means
for programmers to easily design software for many sound cards using
only one API while Advanced Gravis/FORTE's stand alone TSR allows
developers to take advantage of UltraSound's more advanced features.
1.2.0 What does ULTRAMID Do?
Think of ULTRAMID as a 'Resource Allocater'. Since we are trying to
play both digital audio and MIDI through the same card a mechanism is
required to allocate the cards resoucres. For example, who can use what
channels to do what, loading patch files, allocating and freeing memory,
We have tried to keep ULTRAMID as small as possible, but it still
requires 50K. This will all load high however. We are working on
making it smaller, but there is not many more bytes we can squeeze
out of it. Future versions of UltraMID may use either extended or
expanded memory so that the low memory required will be reduced as
much as 50%.
....................... END of Chapter 1 ...........................
2.0.0 ****************** CHAPTER 2. - INSTALLATION ***********************
Loading the drivers is easy, getting it to work with games is the
tricky part. If you are reading this you have probably already unzipped
all the files into a directory. Once this is done type "INSTALL". This
batch file will copy ULTRAMID.INI to your ULTRASOUND\MIDI directory.
It does this by looking for your ULTRADIR environment variable.
Once the file has been copied type "ULTRAMID -C". Make sure SBOS is
NOT loaded. I'll talk about the command line switchs later on.
Basiclly, the "-C" instructs ULTRAMID to load a subset of the general
midi library. After a few moments ULTRAMID will tell you that it is
Now for the tough part. First, find a game that uses the AIL or
DIGPAK/MIDPAK drivers. A partial list is provided at the end of
this README. To determine if a game uses these drivers look for
files with end with ".ADV".
What we will now do is overwrite some of these files with the Gravis
drivers. You should make a backup of the games current .ADV drivers,
just in case something happens.
A table is provided below with some guidelines on which files you
COPY FROM COPY TO CONFIGURE THE GAME AS
GF1MIDI.ADV MT32MPU.ADV Roland
GF1DIGI.ADV SBDIG.ADV Sound Blaster
GF1MIDI.ADV SBFM.ADV Sound Blaster
GF1MIDI.ADV MT32MPU.ADV Roland
GF166.COM SBLASTER.COM Sound Blaster (DIGPAK)
By looking at the names and size of the .ADV drivers you should be able
to determine which cards they are for. For example:
ADLIB ADV 14693 07-07-92 6:00a = Adlib
ADLIBG ADV 16175 07-07-92 6:00a = Adlib Gold
ARIAXMID ADV 44836 03-26-93 10:26a = Aria
MT32MPU ADV 10590 03-16-92 12:00p = Roland
MULTISND ADV 7042 03-09-93 12:51p = Turtle Beach
PASFM ADV 15160 07-07-92 6:00a = Pro Audio Spectrum
PCSPKR ADV 8306 03-16-92 12:00p = PC Speaker
SBFM ADV 14743 07-07-92 6:00a = Sound Blaster
SBP1FM ADV 15153 07-07-92 6:00a = Sound Blaster Pro
GF1DIGI ADV 5200 06-03-93 3:49p = UltraSound Digital
GF1MIDI ADV 10784 06-03-93 3:50p = UltraSound MIDI
In general if any .ADV file is > 10K it is the music driver and should
be copied over with GF1MIDI.ADV. If any .ADV file is < 10K it is the
digital audio driver and should be replaced with GF1DIGI.ADV
Once this is done simply run the games setup and select whatever
sound card that you just over wrote with the Gravis drivers.
For example, if you copied over top of the Sound Blaster and Roland
drivers then you would configure the game for sound blaster roland.
That is it. If everything is working correctly you should now be
getting UltraSound support in that game. If not please refer
to the trouble shooting section in chapter 5.
2.1.0 Hints and Tricks
- In theory you could copy over top of ANY of the .ADV drivers as
long as you know which sound card to configure the game for.
- Some programs do not use the regular naming convention for .ADV
drivers, for instance Ultima Underworld II by Origin. The
convention for UW2 is DM*.ADV, and DD*.ADV. The DM is for
MIDI and the DD is for digital audio. Since we can't tell by
looking at the file name which sound card these drivers are for
you may just want to copy GF1DIGI.ADV overtop of ALL DD*.ADV
files and GF1MIDI.ADV overtop of all DM*.ADV drivers.
REMEMBER TO BACKUP YOUR ORIGINAL .ADV DRIVERS
- In theory, a game should be looking in its sound driver directory
for any files with a .ADV extention, then present the user with a
list of the sound card drivers found. For instance, in Spell
Caster 2000 you simply have to copy the GF1*.ADV drivers into
its directory. It will then detect these drivers and you may choose
ULTRASOUND from its setup menu. This is the only game so far that
I've been able to find which does this.
- (06/22) Origin uses a slightly modified version of the AIL drivers.
As such their games may sound slightly off or not work at all with
our drivers. An example of this is Strike Commander, which will not
work at all with the standard AIL interface.
- We have found some games that use both the AIL drivers and access the
sound hardware directly. An example of this type of game is EYE OF
THE BEHOLDER. Since these type of games do not rely soly on the AIL
drivers and try to access the hardeware directly they may not work
with these drivers.
2.2.0 Command Line Switchs
ULTRAMID by default will try to patch cache all MIDI songs. This
will give you the best quality sound but may not be compatible
with all games. If you have problems trying to get a program to
recognize the drivers try and load ULTRAMID with the -C parameter.
-C - Preloads a 256K, 512K 768K or 1024K patch library, depending
on how much memory you have on your UltraSound card. This
option does not sound as good as patch cacheing but should
work with all games.
-F - Unload ULTRAMID from memory
-Mxxx - [1-127] Sets the master volume for music. In some games the
music may over power the speech. If so you can use this
switch to adjust the master volume as required. The default
volume is 127.
2.3.0 UltraMID and SBOS
These two programs will NOT work together. Since they both try and
use the UltraSound memory to store sounds they WILL conflict. You
MUST remove SBOS before loading ULTRAMID. To unload SBOS from
memory type "SBOS -F".
2.4.0 What is ULTRAMID.INI
This file is used by ULTRAMID to figure out what patches to load,
and if using the -C parameter which patches should be re-mapped.
ULTRAMID.INI consists of 5 columns of numbers followed by a name. Below
is a table explaining what these numbers and names are used for:
Patch Number 256K 512K 768K 1024K Patch Name
0, 2, 1, 1, 1, acpiano
1, 2, 1, 1, 1, britepno
2, 2, 1, 1, 1, synpiano
3, 2, 1, 1, 1, honktonk
4, 2, 1, 1, 4, epiano1
In a latter release we will be changing the name of this file to
ULTRAMID.INI or something else.
2.5.0 Limitations of ULTRAMID
The AIL standard only calls for ONE STEREO digital channel. Since
the UltraSound is capable of 32 independent digital channels this
poses quite a limitation. AIL also does not contain any hooks for
3D audio. For this reason we will be making information available
in the future so that you may program directly for ULTRAMID to
take advantage of the above features.
These AIL, MIDPAK/DIGPAK drivers are intended for developers who
will be releasing future programs that use the AIL drivers. We
are releasing these to the general public so that you may attempt
to patch older games to include direct UltraSound support.
Since this is our first public release of these drivers we have
provided a file called FEEDBACK.TXT, which you may fill out and send
back to us with your comments. For example, how did you get it to
work with game 'XYZ'. Tips you may have for others, etc...
Since most of you will be using these drivers to patch games which
have already been released the game publishers CAN NOT offer support
for these drivers. So if you can't get them to work with their
software DO NOT CALL THEM.
2.7.0 General Information
- We currently support V3.2 of the DIGPAK standard.
- We currently support V2.0 of the AIL standard.
- You may have heard the names 'John Miles' and 'John Ratcliff' and
wondered who they are. John Miles is Miles Design, the designer and
creator of the Audio Interface Libraries. John Ratcliff is The
Audio Solution (MIDPAK/DIGPAK). They are two seperate companies who
work together towards the same goal. A standard interface for
- Documentation on how to program directly for ULTRAMID will be made
available in the future by Forte and Advanced Gravis.
- If you are interested in AIL or MIDPAK/DIGPAK you may contact Audio
Solutions at any of the numbers provided later on in this README.
- ULTRAMID will look for your ULTRADIR environment variable to locate
your MIDI directory. ULTRAMID.INI must reside in your MIDI directory.
- Tech NOTE: Developers: Please use a multiple of 32 bytes for sound
buffers. The Gravis UltraSound card can only DMA to 32 byte
boundaries; so to reduce UltraMID overhead, a multiple of
32 bytes will mean no polled I/O.
- (06/22) Sierra and Lucas do NOT use either the AIL drivers or DIGPAK.
- (06/22) If possible try copying overtop of the MT32 drivers. As
some games will load up a different (usually better) music score.
An example of this is the 7th Guest.
....................... END of Chapter 2 ...........................
3.0.0 ****************** CHAPTER 3. - WHO SUPPORTS ***********************
3.1.0 The Audio Solution
The following is a list obtained from the Audio Solution BBS
(PRODUCTS.LST). It is a little out of date but does include some
information on which game publishers are licensed to use
THE AUDIO SOLUTION
P.O. Box 11688
Clayton, MO 63104
Order/Information: (314)-567-0267 9am-5pm Central Mon-Fri
Technical Support: (314)-926-0232 9am-5pm Central Mon-Fri
BBS: (314)-939-0200 24 hours 7 days.
MILES DESIGN, INC.
6702 Cat Creek Trail
Austin, TX, 78731
(512) 345-2642 / FAX (512) 338-9630 / BBS (512) 454-9990
DIGPAK/MIDPAK COMPLETE PRODUCT LIST
(as of 1/3/93)
This list does not reflect all products produced by product line
licensees; since we are not always informed of those products as
they are released. It also does not reflect the products in
development (over 100) which use either DigPak and MidPak.
Product Name Publisher Use
=========================================================================== Epyx DigPak+MidPak
ATC/Tracon Wesson International DigPak
Animal Quest Alive Software DigPak+MidPak
Battle Chess 4000 Interplay DigPak
Battle Cruiser 3000AD Three-Sixty Pacific DigPak
Beyond Shadowgate ICOM Simulations DigPak+MidPak
Bilou Concepteva DigPak
BodyLink Stragem DigPak
Chess Maniac 5,000,001 Spectrum Holobyte DigPak+AIL
Chessmaster 3000 The Software Toolworks DigPak
Contraption ZAck Presage Software Co. Inc. DigPak+MidPak
Creepers Destiny Software DigPak+MidPak
Cribbage Master Ninga DigPak
Cyberstrike Simutronics DigPak
DNA Parrot T&t Research DigPak
Dinosaur Adventure Knowledge Adventure DigPak
Fun Univ Ntwk Intfc Fun Univ Netwk DigPak+MidPak
Gateway to the Savage Strategic Simulations Inc. DigPak
Gateworld Trilogy Home Brew Software MidPak
GemStone III Simutronics DigPak
Grandmaster Chess IntraCorp DigPak+MidPak
Guardians of Eden Access Software MidPak
Guzzle Puzzles Redwood Games DigPak
Inspector Gadget: Azeroth Publishing DigPak+MidPak
KidDesk Edmark Corporation DigPak
Layout for DOS Objects, Inc DigPak+MidPak
Le Ponctueur C.R.A.P.O., Inc. DigPak
Magic Crayon Alive Software DigPak+MidPak
Marvin The Moose Milliken Publishing DigPak
Math Sequences Milliken Publishing DigPak
Math Zone Milliken Publishing DigPak
Mechwarrior II Activision DigPak
MicroLeague Baseball IV Microleague Sports Assoc. DigPak+MidPak
MicroLeague Football II Microleauge Sports Assoc. DigPak+MidPak
Microleage Cards Microleage Sports Assoc. DigPak
Millie's Math House Edmark Corpoartion DigPak
Milliken Storyteller Milliken Publishing DigPak
Monopoly Deluxe Virgin Games DigPak
Mutanoid Math Challenge Legacy Software DigPak+MidPak
Mutanoid Word Challenge Legacy Software DigPak+MidPak
My Paint Saddleback Graphics DigPak
Oregon Trail Deluxe MECC DigPak+MidPak
Pickle Wars Redwood Games DigPak+MidPak
Places to Play Magnetic Images DigPak
Pools of Darkness Strategic Simulations Inc. DigPak
Ragarok (Valhalla) Norsehelm Productions DigPak
Realms of Avarton Kram DigPak
Return to Zork Activision DigPak
Shadow President DC True DigPak
Sights & Sounds Macmillan/McGraw Hill DigPak
Solitaire's Journey Quantum Quality Productions DigPak+MidPak
Space Adventure Knowledge Adventure DigPak
Space Chase 1,2,3 Safari Software MidPak
Spaceward Ho PC Presage Software Co. Inc. DigPak+MidPak
Stepping Stones Bonus Compu-Teach, Inc. DigPak+MidPak
Stickybear Townbuilder Optimum Resource DigPak
Switch Progressions Cooper, R.J. & Assoc. DigPak+MidPak
Switch Quik Cooper, R.J. & Assoc. DigPak+MidPak
T-Zero Dennis Cunningham DigPak+MidPak
Terminator 2029 Bethesda Softworks DigPak
The 7th Guest Virgin/Trilobyte DigPak+AIL
Tom Landry Football Merit Software DigPak+MidPak
VGA Jigsaw Alive Software DigPak+MidPak
Waterford Mental Math Waterford Institute DigPak+MidPak
Wheel of Fortune Gametek DigPak+MidPak
WorldAtlas The Software Toolworks DigPak+MidPak
Product line licensees of DigPak and/or MidPak. Product line licensees
have the rights to include DigPak and MidPak in any product produced by
The Software Toolworks
SSI, Strategic Simulations Inc.
Milliken Publishing Company
Product line licensees to AIL (Mile Design's Audio Interface Library) which
uses the same MIDI drivers as MIDPAK.
3.2.0 Other Products Found to use these Drivers
Great Naval Battles
Tony La Rusa Baseball II
War of Two Worlds
Spell Caster 2000
Trump Castle III
Buzz Aldrin's Race To Space
....................... END of Chapter 3 ...........................
4.0.0 *************** CHAPTER 4. - ABOUT THIS UPDATE *******************
4.1.0 Revision History
V1.0 - (06/25/93) Yes, a version 1.0 release 😉
V0.97B - (06/22/93) Fifth Beta - Fixed DMA bug.
Fixed patch loading bug.
Fixed xmidi multi-sequence bug.
Fixed digital hang bug.
Fixed problem with 512K patch library
V0.96B - (06/17/93) Fourth Beta - Fix DIGPAK buffering
4.2.0 Packing List
ULTRAMID.EXE AIL TSR - Required for drivers
GF1MIDI.ADV UltraSound MIDI AIL Driver
GF1DIGI.ADV UltraSound Digital Audio AIL Driver
GF166.COM UltraSound DIGPAK Driver
ULTRAMID.INI Patch Map
README This README file
GV.EXE Gravis Document Viewer
INSTALL.BAT Copies ULTRAMID.INI to your UltraSound MIDI Directory
FEEDBACK.TXT Beta Test Feedback Form
GRAVNODE.TXT List of Gravis BBS Nodes
SDKORDER.TXT Gravis SDK Order form
GROOVIE.INI Information on how to configure The 7th Guest
PUPDATE.EXE Used to fix .PAT files if necessary. READ Troubleshooting
....................... END of Chapter 4 ...........................
5.0.0 *************** CHAPTER 5. - TROUBLESHOOTING ***********************
I copied the drivers on top of other drivers, but now the game says that
it can't find the sound card:
1) Most games require running a set-up program to tell it that you
have changed sound cards. Try finding such a program and running
it. It most likely will not show Gravis or Ultrasound in the list
of available drivers, so you will have to pick the sound cards which
you copied the AIL or DIGPAK drivers to.
2) Some games use modified AIL or DIGPAK drivers. Most of the games
from Origin have been modified and therefore are not compatible with
3) Some games only use the AIL or DIGPAK drivers for certain
operations. For the rest of them operations it may try to access
the sound hardware directly. These type of games will not work
with UltraMID and our AIL/DIGPAK drivers.
I have sucuessfully installed the drivers for a game, but sometimes the
music seems strange, as if its missing notes:
1) Restart UltraMID with the -c option to preload instruments. Most
music will take more than 256K of memory. 768K to 1Mb is the
optimal setup for the UltraSound card.
2) If you have replaced any of your patches with non-Gravis patches,
the size may be different. The patch sets in ULTRAMID.INI are
configured so that your UltraSound card will be loaded with as
many patches as will fit into its available memory. Leaving 8K
for digital audio. This means, if you try and load a patch
that is 4K bigger than the original, than there will only be a
4K buffer left instead of an 8K, and the drivers may not be
able to load correctly.
3) Your patches may be out of date. A program called pupdate.exe is
available which will repair old or bad patches. doo.pat is an
example. run pudate like this:
pupdate -check_patch -force_update *.pat
in your ultrasnd\midi directory. Pupdate will show you incorrect
patches and ask if it should update them. Answer yes to all of
your patches EXCEPT BLANK.PAT. BLANK.PAT is meant to be silent
and should not be corrected. Pupdate will also create backups of
all of your patches as it modifies them. acpiano.pat will become
acpiano.pa1. acpiano.pa1 will become acpiano.pa2, etc.
Playback of digital audio sounds choppy.
1) Your disk or CD may be too slow, and the sound card plays sound faster
then your disk can retrieve data.
2) The UltraSound cannot play interleaved stereo data, and must use
your pc to seperate the left and right channel data before playback.
Slower 286 or 386 machines may not be able to keep up with high
speed, high fidelity audio.
3) The game is using audio buffers which are too small for
the UltraSound to effectively "double buffer" the data. The
technique called "double buffering" provides clear sound without
clicks or pauses in audio, and smooth animations in video.
Optimal data sizes for UltraMID are multiples of 2K for stereo
data and multiples of 4K for mono data.
When I run ULTRAMID I get a 'error loading patch' message.
1) You must be running the patches that came with the V2.x software.
This includes V2.0, V2.2, V2.4, V2.5 and the latest V2.6 disk sets.
2) A patch may either be missing or corrupt. If you are unable to
determine which one simply reinstall the patches.
The games says that it can't run because there is not enough memory.
1) If you are using an Expanded Memory Manager (emm386, qemm, bluemax,
386max, etc) you can load the driver into high memory to provide
more conventional memory for your game. Make sure the following
line is in your config.sys:
If you are using DOS 5 or DOS 6, you can use the LH command to
load UltraMID into high memory. For example: LH ultramid -m100 -c
will load ultramid into high memory, set the master volume to
100 (out of 127), and preload as many patches as will fit into
your UltraSound card.
2) If you cannot use an Expanded Memory Manager but can use an
extended memory manager (himem.sys), then also include the
DOS=HIGH,UMB line in your config.sys so that DOS will be loaded
into upper memory.
3) If you can't fit UltraMID into high memory, try loading other
drivers or TSR's into high memory using DEVICEHIGH= instead
of DEVICE= in your config.sys and LH in your autoexec.bat files.
4) DOS 6 comes with a utility called MEMMAKER that will help you
optimize the use of memory on your machine. QEMM comes with
a utility called optimize to help you optimize your memory.
BLUEMAX and 386MAX also have programs to help you maximize
the use of expanded and extended memory.
5) If there are other drivers in your system that you don't need
to play the game, try making a floppy disk with just the programs
you need to get your machine running. For example,
FORMAT /s a:
will format a disk in the "A" drive and copy MS-DOS to it. Then
create a minimal config.sys and autoexec.bat such as:
DEVICE=C:\DOS\EMM386.exe 1024 ram (size varies)
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:768 /p
LASTDRIVE = D
SET BLASTER=A220 I7 D1 T1
LH ULTRAMID -m100 -c
rem if you have the memory available, and you are not using
rem the -c option, Smart Drive improves the performance
rem for loading patches tremendously. I have 8Mb on my
rem machine, so I usually set up a 4Mb disk cache.
LH C:\DOS\smartdrv /Q 4096 0 c
These examples are for experienced DOS users, and probably won't
work with your machine without some modification. Please consult
your DOS manual or a book that covers memory management to get more
hints on how to manage PC memory.
....................... END of Chapter 5 ...........................