Unofficial Advanced Gravis Ultrasound Drivers #2 ("Manley Drivers") Copyright 1994,1995 Robert J. Manley and Multi-Player Computer Adventures Inc. Version 0.8a - SHAREWARE - please read the REGISTRATION section for details FEATURES - basic GUS rev 3.7 and MAX/daughtercard mixer support - 8 or 16 bit wavefile playback - mono or stereo - hardware MIDI playback (to an external synth or synth module) - volume and balance control - multi-session (many registered streams - one active) - Ultrasound specific OS/2 VDD giving DOS sessions: - reduced interrupt latency - hardware virtualization - MIDI port emulation of Roland MPU-401 in UART mode (allowing WinOS2 to load and use those drivers - hooray!) - GM emulation for DOS and Windows sessions under OS/2 with the goody pack which is only sent to registered users - absolute lowest system overhead possible - rigorous testing ***** support for Sander van Leeuwen's GUS native OS/2 MOD player, UltiMOD! ***** Here is what it has been tested and known to work with: - OS/2 2.1 with MMOS2 CSD, OS/2 2.11 (with its MMOS2 CSD), Warp! - system sounds - digital audio applet - MIDI applet - compact disc applet and CD explorer (bug in version 2.3 hangs PM message queue when using digital transfer) - bigben2 - dmplayer 1.01 - video player / Ultimotion - wave doctor - multimedia mahjongg - GUSmixer (even while the device is in use!) - play.cmd (thanks to TFS for reminding me about this one) - WinOS2 apps - media player - Cakewalk Pro - Midisoft Recording studio INSTALLATION *** STEP #1 *** This driver requires one of the following to be installed: - OS/2 Warp (with MMOS2 installed) Beta I, Beta II, or GA - OS/2 2.11 MMOS2 from either - OS/2 2.11 refresh package - OS/2 2.1 + Feb '94 Service Pack (== OS/2 2.11) - OS/2 2.1 MMOS2 + November '93 MMOS2 CSD (ftp-os2 in pub/os2/ibm/os2fixes as MMPMCS.DSK) If neither of these versions of MMOS2 can be found, the installation will fail and nothing will be added to your CONFIG.SYS. *** STEP #2 *** Use an OS/2 based unzip program (e.g. Info-Zip's) to unpack ULTRA08A.ZIP to a directory on your hard disk or floppy. From that directory, run "MINSTALL", accept it as the source, and then proceed with the installation. The following lines will be appended to your CONFIG.SYS: DEVICE=:\MMOS2\ULTRADD.SYS /B:b /C:c /D:d /U:u /M:m /V DEVICE=:\MMOS2\ULTRAVDD.SYS where (with defaults): b - base I/O address of Ultrasound (220) c - base address of 16-bit CODEC (32C) d - DMA channel for playback (7) u - GF1 IRQ (12) m - MIDI IRQ (5) If you have a 16-bit daughtercard, you must manually change the address (in hex) following the /C: switch to the base address for that board. The valid addresses for the daughtercard are: 530, 604, E80, and F40. You may install this software over a previous version without first uninstalling. Also note that the driver can be UNINSTALLED by selecting the number of Ultrasounds to install as zero. *** IMPORTANT STEP #3 (NEW) *** If you have previously installed an earlier version of this driver since installing your current system, you must read this step carefully and follow all instructions. There is a limitation in the MMOS2 installation program which forces the user to manually edit the CONFIG.SYS. After installing this software, search for a line containing the token "AUDIOVDD" such as the following: DEVICE=:\MMOS2\AUDIOVDD.SYS ULTRA1$ If this line is present as shown here, comment it out with a REM statement at the beginning. If you have another OS/2 supported soundcard installed and this line contains other tokens (e.g. "PAS161$"), try these two things in order of preference: 1. delete just the "ULTRA1$" token from this line and install 2. after installing this software and experiencing problems with GUS sound in DOS boxes, put back the "ULTRA1$" token and REM out the ULTRAVDD.SYS line. Sorry, no emulations for you. If I had more than one soundcard installed, I could check this but I don't :(. HARDWARE EMULATIONS In addition to virtualizing the Ultrasound I/O ports to DOS sessions, the supplied OS/2 virtual device driver (VDD) ULTRAVDD.SYS also emulates the following devices when selected in the AUDIO_ADAPTER_EMULATION DOS setting: - Roland MPU-401 MIDI interface in UART mode (e.g. Windows). Select I/O address of 0x330 and IRQ of 2/9 (not used yet). MIDI is re-routed through the GUS MIDI port to an external synth (not played natively as in MegaEm). **** NOTE: native DOS GM emulation is now done! (like MegaEm for OS/2) **** Register this software and get the files required to enable this **** functionality by e-mail or if neccessary, ground mail Future directions are to add Sound Blaster and enhance Roland emulation. Please note that neither SBOS or MegaEm should be run under an OS/2 DOS box. These programs require features of the 386 that cannot be granted to a VDM under a protect mode OS without comprimising system integrity. UNDER NO CIRCUMSTANCES SHOULD SBOS or MEGAEM BE RUN! WinOS2 CONFIGURATION It is recommended that all WinOS2 users keep a separate copy of their SYSTEM.INI and CONTROL.INI files for real Windows and WinOS2. Doing this will allow the Gravis supplied Windows drivers to work while under real Windows and these drivers to provide MPU-401 emulation under WinOS2. A good system to use is to copy each of these files to another with the same filename root but with the extension ".DOS" after a successful run of real Windows. Do the same with the extension ".OS2" after running this setup without problems. Before starting either system, copy the OS specific versions over their proper files. PLEASE BE CAREFUL with this and take the time to understand what you are actually doing! The first thing to do is get rid of all references to the Gravis drivers in your Window's SYSTEM and CONTROL ini files (of course, this is only after you've already made backup copies of these files for real Windows as described above). These are the lines in your real Windows SYSTEM.INI to comment out with a ';' character at the beginning to disable Gravis' drivers and avoid that stupid error message listed in the QUESTIONS section below: device=grvsultr.386 midi=ultrasnd.drv ... midi1=ultmport.drv wave=ultrasnd.drv AUX=ultrasnd.drv mixer=ultrasnd.drv These are the lines in your CONTROL.INI file to do the same with: ultmport.drv=UltraSound MIDI Port ultrasnd.drv=Ultra Wave and MIDI Synth ... midi=ultrasnd.drv midi1=ultmport.drv wave=ultrasnd.drv AUX=ultrasnd.drv The next thing to change are the parameters Windows uses for the system timer which drives the MIDI playback. Search for the following block in your SYSTEM.INI: [timer.drv] TIMERMax386Res=10 TIMERMax286Res=10 Change both values from 10 to 1. Next fire up WinOS2 and install the Roland MPU-401 drivers through the "Drivers" setup inside Control Panel. Now go into the MIDI Mapper and create a setup called "UltraVDD". Select the Roland MPU-401 device as the destination port for all MIDI channels and then click on "OK" to complete the setup. If you are running full OS/2 (with IBM's WinOS2), you may wish to copy the TIMER.DRV from your real Windows SYSTEM directory to the equivalent WinOS2 directory after renaming the original. This driver seems to give more accurate MIDI timing for Windows based MIDI sequencers. KNOWN BUGS AND LIMITATIONS - moving Ultimotion window can generate noise or loss of sound (this seems to be fixed in Warp) - the Digital Audio, MIDI, and Digital Video icons in the multimedia folder are replaced with incorrect versions (these can be easily changed back manually) - the installation program is lacking in functionality (see STEP #3 in the INSTALLATION section) - MPU-401 interrupt driven recording isn't working yet (booo, hiss) - no text in Description field for AUDIO_ADAPTER_EMULATION property (this is a VDM limitation of OS/2 on Intel platform) - MMPM truncates the last buffer on large audio files when the sampling rate is not one of the "standard" ones (11, 22, or 44 KHz) MOST COMMONLY ASKED QUESTIONS Q. Why don't I hear anything when using the OS/2 MIDI applet? A. If you don't have a MIDI synth connected, you won't. A. Why don't I hear anything when using WinOS2 MIDI applications? A. If you are not a registered user and don't have a MIDI synth connected, you won't. A. If you do have a MIDI synth, check the WinOS2 CONFIGURATION section above. A. If you are a registered user, please read the WinOS2 CONFIGURATION section in this document and the INSTALLATION instructions included with your GM "goody pack". Q. Why is there a delay before hearing a system sound? A. OS/2 must swap out blocks of memory to give the MMOS2 subsystem the storage that it needs for holding the sound sample. When enough memory is already free (such as immediately after a system sound), the delay should be almost unnoticeable. Q. Why do I get the error message "The Ultrasound driver requires enhanced mode to run" when trying to start a full-screen WinOS2 session? A. Gravis' drivers include a Windows Virtual Device Driver (VxD != OS/2 VDD) which cannot be loaded by OS/2 for system integrity reasons. When the load fails, WinOS2 (and Windows) interpret this error as the system not running in 386 enhanced mode since that is the mode required for loading and using VxDs. Q. Why do my seamless WinOS2 sessions just sit there and never start? A. See Q and A above. When the VxD load fails, WinOS2 can't continue nor can it properly exit. Use a session killer like Watchcat to kill it. Q. Why doesn't SBOS or MegaEm work? A. Please read the HARDWARE EMULATIONS section. LEGALESE This software is provided AS IS. No warranty of any kind, expressed or implied, is granted including any warranties of quality or fitness for a particular purpose. Under no circumstances will either Robert J. Manley or Multi-Player Computer Adventures be held responsible for any damage that results directly or indirectly from the use of this product. REGISTRATION Please fill in the following information and send it along with a cheque or money order for $25.00 US or an equivalent amount in your currency to: Multi-Player Computer Adventures Inc. 14845-6 Yonge Street, Box 314 Aurora, Ontario, Canada L4G 6H8 Name: __________________________________________________ Company: __________________________________________________ Address: __________________________________________________ : __________________________________________________ : __________________________________________________ e-mail: __________________________________________________ phone: __________________________________________________ Price includes 7% GST for Canadians and 8% PST for residents of Ontario. Some future versions of this product may only be distributed commercially but will be sent free to all registered users if deliverable by e-mail. *** NEW in version 0.8a *** Even hotter :): Sander and I have agreed to combine the registration process for this driver and UltiMOD - $25 US now gets you registered status for both products! Users in North America should register with Multi-Player at the address given above while those in Europe and other locations should send the check to Sander at the address given in ULTIMOD.DOC. Previously registered users of either product will now also be granted that status for both products as well. BUG REPORTS *** NEW e-mail address *** Please send all bug reports, gratuitous worship, whatever, to me through e-mail at: rjm@dciem.dnd.ca. I enjoy hearing from all users. Driver version: 0.8a Problem symptom: _____________________________________________ Fix or workaround: _____________________________________________ OS/2 version: ______ GUS hardware revision: ___ Daughtercard? (y/n): _ External MIDI? (y/n): _ GUS memory: ____ K System memory: __ M WHAT'S NEXT - Sound Blaster emulation to DOS sessions - MIDI synth - Digital Audio recording - getting Advanced Gravis to licence this software from me FINALLY I cannot emphasize enough my thanks to Brent Davis, Joe Nord, and especially Linden deCarmo who have provided invaluable information when I needed it most. New big thanks to Sander van Leeuwen for incorporating the driver component of UltiMOD into this package. Enjoy. Robert.