Advanced Gravis Computer Technology Ltd. Fax (604) 431-5155 BBS (604) 431-5927 V32bis Compuserve: GO PCVENB (71333,350) InterNET EMail: tech@gravis.com FidoNET: 1:153/978 SBCNET: 13:900/3 AOL: Adv Gravis Genie: Page M805 Topic 6 MEGA-EM VERSION 3.11 - 11/25/95 USERS MANUAL Copyright (C) 1993-1995 by Advanced Gravis Computer Technology Ltd. All Rights Reserved 1.0 Legal Information 2.0 Introduction 3.0 Installation 4.0 Setup 5.0 Mega-Em Usage 6.0 Compatibility Problems With Various Software 7.0 Solutions to Commonly Encountered Problems 8.0 Answers to Commonly Asked Questions 9.0 Credits 10.0 Mega-Em Revision History 1.0 LEGAL INFORMATION ---------------------- This software and documentation are protected by copyright law, with all rights reserved. Copyright is held by: Advanced Gravis Computer Technology Ltd. #101, 3750 North Fraser Way Burnaby, B.C. V5J 5E9 CANADA This software is provided as-is. Advanced Gravis makes no warranties, express or implied, and does not warrant that the software will be fit for any particular purpose. Advanced Gravis will in no event be liable for loss of profits, nor incidental or consequential damages. You use this software at your own risk. This software may not be modified, disassembled or reverse engineered in any way without written authorization from Advanced Gravis. Mega-Em may be distributed in unmodified form freely to all Gravis UltraSound owners, provided no charge is made for it, with the exclusion of BBS (Bulletin Board System) service charges. All trademarks and registered trademarks are the property of their respective owners. 2.0 INTRODUCTION ----------------- Mega-Em is a software program which allows you to use your Gravis UltraSound to emulate the following sound devices: * Roland MT-32/LAPC1 * Roland Sound Canvas/General MIDI * Roland MPU-401 MIDI interface * Sound Blaster (Basic version only - not Sound Blaster Pro) In addition Mega-Em can also to replace the UltraMID TSR. Mega-Em effectively combines all previous UltraSound TSR programs - (IW)SBOS, UltraMID and older versions (2.xx) of Mega-Em. Mega-Em currently requires the following to function correctly: * A 386 or better AT class personal computer. * A hard drive. * A Gravis UltraSound/MAX/ACE card. * An Expanded Memory Manager, such as EMM386, QEMM386 or 386MAX. * Approximately 128k of free Expanded Memory (EMS). * DOS 3.3 or later (EMM386 must be from DOS 5.0 or later). Mega-Em will not work in an OS/2 or Windows DOS box. 3.0 INSTALLATION ----------------- If Mega-Em was installed with the rest of your UltraSound software Mega-Em is already installed correctly and you do not read this chapter. If you downloaded Mega-Em from a BBS, FTP site etc., follow the following instructions: Step 1. Change to the directory where your UltraSound software is installed. For example, if your UltraSound software is installed in C:\ULTRASND, type the following: C: CD \ULTRASND Step 2. Unzip the Mega-Em distribution archive into this directory. For example if the archive is on a floppy disk in drive A:, you would type: PKUNZIP A:\MEGA* If you are prompted with a message asking if you want to overwrite an existing file, press 'y'. Note that you will most likely overwrite an older version of Mega-Em. Mega-Em is now installed and ready to use. 4.0 SETUP ---------- Unlike old versions, Mega-Em now has an interactive setup program. You MUST set up Mega-Em before you can use it. If Mega-Em has not been set up properly and you run MEGAEM.EXE, you will be forced into the setup program. Alternatively you can run MESETUP.EXE to enter the setup. The setup is self explanatory and will only be dealt with lightly here: * Instructions on what keys to press are always listed at the bottom of the screen. * Entering the configuration screen from the Main Menu is not compulsory. If you are configuring Mega-Em for the first time and just select "Save and Exit" you will configured with the default options. * The default options will work for most users so don't change them unless you need to and understand what they do. 5.0 MEGA-EM USAGE ------------------ 5.1 Overview 5.2 Command line options 5.3 Configuring Software For Use With Mega-Em 5.1 OVERVIEW Before you can use any Roland or Sound Blaster software you must load Mega-Em. You can do this from the command line by typing: MEGAEM If you like, you can edit your AUTOEXEC.BAT file so Mega-Em will be automatically load whenever you boot your computer. Just add the following line to the end of your AUTOEXEC.BAT: MEGAEM If you wish to use any command line options, type them after MEGAEM: MEGAEM [options] Normally you can leave always leave Mega-Em loaded. Occasionally it may interfere with other UltraSound software or you may wish to use another UltraSound TSR (e.g. (IW)SBOS or UltraMID). If this happens, unload Mega-Em by typing: MEGAEM -U If you need to change Mega-Em's options just to run a particular piece of software (such as Roland MT-32 software) you can invoke the interactive menu by typing: MEGAEM -I Any options you change will stay in effect until you run Mega-Em again. If you run Windows in enhanced mode (usually this is the default mode) Mega-Em will be automatically uninstalled. When you exit Windows you must manually load Mega-Em again. Mega-Em will not be uninstalled if you run Windows in standard mode (type WIN /S ) however the UltraSound Windows drivers will not work and you can NOT emulate a Roland or Sound Blaster under Windows. 5.2 COMMAND LINE OPTIONS Only a few of Mega-Em's options are configurable from the command line. The rest you must configure from the interactive menu (see the -I option). -? or -H Displays the Mega-Em help screen. -U or -F Turn off emulation and uninstall Mega-Em from memory. -SC or -GM Selects Sound Canvas/General MIDI emulation (as opposed to MT-32 emulation). This is the default mode of operation for Mega-Em. -MT Selects MT-32 emulation (as opposed to Sound Canvas/General MIDI emulation). -I or -ION Runs Mega-Em in interactive mode. This option does nothing if Mega-Em is configured for interactive mode. -IOFF Disables interactive mode so Mega-Em runs in command line mode. This option does nothing if Mega-Em is configured for command line mode. -Mxxx Set music volume level (relative to master volume level). xxx = 1-100. The default level for Mega-Em is 80. -Vxxx Set master volume level. xxx = 1-100. The default level for Mega-Em is 100. -L Enable the UltraSound line in. This option is only necessary for people with old UltraSound software which does not include Ultramix. Normally you should use Ultramix to set you line in setting. -M Enable the UltraSound mic in. This option is only necessary for people with old UltraSound software which does not include Ultramix. Normally you should use Ultramix to set you mic in setting. 5.3 CONFIGURING YOUR SOFTWARE FOR USE WITH MEGA-EM. Software programs are configured for different sound devices in many different ways. Some will attempt to auto-detect sound devices and use the best one it finds, others will prompt you during the running of the program. Most common is the use of a setup program, usually called SETUP, INSTALL or CONFIG. Others require you to delete a configuration file, after which you will be able to change the configuration. For the correct procedure for a specific program, you should consult the program's manual. Before configuring your software, you should make sure Mega-Em is loaded. If the program is of the type that auto-detects, just run it and it should detect the devices Mega-Em is emulating. If you are prompted to select one or more sound devices you should select them in the following order: UltraSound Sound Blaster (for Sound) and General MIDI (for Music) Sound Blaster (for Sound) and Roland MT-32 (for Music) Sound Blaster General MIDI Roland MT-32 AdLib NOTES: 'Roland' without any model number usually refers to the MT-32. 'LAPC1' is equivalent to MT-32 when using Mega-Em. 'FM' refers to AdLib/Sound Blaster music. The above order is occasionally not the best. If your selection sounds bad, try selecting a different sound device. If you have selected 'UltraSound' for one sound device, you MUST select 'UltraSound' or 'None' for any other sound devices. Mega-Em can NOT emulate sound devices while other UltraSound software is running. Sometimes you will be prompted to enter your sound card settings. For sound devices Mega-Em is emulating the settings are as follows: MIDI interface: Roland MPU-401. Roland base address: 330 (hex) unless you changed it to 300 (hex) in the Mega-Em Setup. Roland IRQ: 2/9 OR UltraSound SB/MIDI IRQ if you are doing MIDI in with the UltraSound MIDI port OR Real MPU-401 IRQ setting if you are doing MIDI in with a real MPU-401 Sound Blaster base address: The same as your UltraSound Base address (usually 220). Sound Blaster IRQ: The same as your UltraSound SB/MIDI IRQ. If you are unsure, type SET at the DOS prompt. The last number on the line starting with "ULTRASND=" is your Sound Blaster IRQ. Sound Blaster DMA channel: 1 Your software should now be ready to run. The next time you run the software make sure Mega-Em is loaded since many programs crash when configured for a sound device that does not exist (or is not being emulated). 6.0 COMPATIBILITY PROBLEMS WITH VARIOUS SOFTWARE ------------------------------------------------- 6.1 Software that requires 386 protected mode and can not run under a memory manager. 6.2 Software which is incompatible with Mega-Em. 6.2.1 Incompatibilities with all of Mega-Em's Emulations. 6.2.2 Incompatibilities with Roland Emulation 6.2.3 Incompatibilities with Sound Blaster DAC Emulation. 6.2.4 UltraSound software that will not run with Mega-Em loaded. 6.3 Specific software with known compatibility problems. 6.3.1 Harpoon (Roland) 6.3.2 Darkseed (Sound Blaster DAC) 6.3.3 Kings Quest I, Firehawk, Stellar 7 (Sound Blaster DAC) 6.3.4 Budokan (Roland). 6.3.5 Vectordemo (Sound Blaster DAC) 6.3.6 Netroom 3 6.3.7 Privateer 6.1 SOFTWARE THAT REQUIRES 386 PROTECTED MODE AND CAN NOT RUN UNDER A MEMORY MANAGER. Many high-end games use the 386 protected mode to achieve superior performance. A few of these require full control of the system and will not operate if the system is already in protected mode, such as when a memory manager is loaded (excluding HIMEM.SYS and several shareware EMMs). Mega-Em uses the power of 386 protected mode for its emulation, and hence the aforementioned games are not compatible with Mega-Em. Examples of known games which exhibit such problems are CYBER RACE, COMANCHE and ULTIMA 7. The only solution is to use (IW)SBOS to emulate a Sound Blaster. 6.2 SOFTWARE WHICH IS INCOMPATIBLE WITH MEGA-EM. 6.2.1 INCOMPATIBILITIES WITH ALL OF MEGA-EM'S EMULATIONS. Software Title Reason Solution Comanche Protected mode conflict Use (IW)SBOS Cyberrace Protected mode conflict Use (IW)SBOS Ultima 7 Protected mode conflict Use (IW)SBOS Windows Protected mode conflict Use UltraSound Windows drivers 6.2.2 INCOMPATIBILITIES WITH ROLAND EMULATION. Software Title Reason Solution Most Legend Adventures Needs smart mode compatibility Configure for Sound Blaster Music 6.2.3 INCOMPATIBILITIES WITH SOUND BLASTER DAC EMULATION. Software Title Reason Solution Noctropolis Possibly buggy sound driver None 6.2.4 ULTRASOUND SOFTWARE THAT WILL NOT RUN WITH MEGA-EM LOADED. The following UltraSound software will not work correctly if Mega-Em is loaded. To make it work unload Mega-Em by typing MEGAEM U . Software Title Description of failure UltraSound Setup (SETGUS) NMI (SBOS Vector) test fails 6.3 SPECIFIC SOFTWARE WITH KNOWN INCOMPATIBILITIES. 6.3.1 HARPOON (Roland). While Harpoon does appear to have an MT-32 sound option, it does not appear to use the Roland MPU-401 MIDI interface. Almost all other software which supports Roland sound devices uses the MPU-401 interface. Hence this is what Mega-Em uses for its emulation, and unfortunately is not compatible with Harpoon. 6.3.2 DARKSEED (Sound Blaster DAC) You may find Mega-Em gives unstable performance with Darkseed. The Sound Blaster DAC drivers appear to be buggy. There is an update patch available for Darkseed and this should correct any problems. 6.3.3 KINGS QUEST I, FIREHAWK, STELLAR 7 (Sound Blaster DAC) These games are hard coded to use an IRQ of 7. If your Sound Blaster/MIDI IRQ is not 7 they will not work. 6.3.4 BUDOKAN (Roland). To use Budokan successfully with Mega-Em, you should load it by typing BUDO Mt32 . If you choose Roland sound from within the game, you may get no sound output, and the system may crash. 6.3.5 VECTORDEMO (Sound Blaster DAC) This program may not always detect the Sound Blaster IRQ correctly. To overcome the problem, you should always run the install section of the demo before executing the demo. 6.3.6 NETROOM 3 Mega-Em is not compatible with Netroom's cloaking features. To disable these features run CUSTOMIZ, select CUSTOM SETUP and turn off system and video cloaking in the custom setup menu. Note that the cloaked utilities (DPMI server, disk cache e.t.c.) supplied with Netroom can not be used with Mega-Em. 6.3.7 PRIVATEER If you configure Privateer to use Sound Blaster and General MIDI (or Waveblaster) you can not use IRQ 7 for your Sound Blaster IRQ. This appears to be a bug in the game. 7.0 SOLUTIONS TO COMMONLY ENCOUNTERED PROBLEMS ----------------------------------------------- PROBLEM: When using Mega-Em, the sound is choppy or there is a lot of static and clicks. SOLUTION: Many systems allow the ISA bus clock speed to be increased beyond the standard speed of 8 MHz. The Gravis UltraSound is designed to conform to the standard, and will not work reliably on systems with high bus clock speeds. You should be able to reduce the bus clock speed in one of your CMOS setup menus. The CMOS setup is usually accessible by rebooting your computer. Just because your other UltraSound software seems to be working correctly, this does not mean your bus speed is correct. However if you reduce your bus speed and this does not correct any problems, then feel free to put it back to its original setting. PROBLEM: Mega-Em gives a warning about the system's NMI not working correctly. The NMI is required or else protected mode software will not work correctly. SOLUTION1: Your system requires parity checking to be enabled for the NMI to work. Reboot you computer and turn on parity checking in the CMOS setup. SOLUTION2: You have upgraded your CPU and have not changed the CPU selection jumpers on your motherboard. This problem is common with 486SX to 486DX upgrades. Check your motherboard manual to make sure the jumpers are set correctly. SOLUTION3: Your system has been shipped with either the CPU selection jumpers set incorrectly (most common on 486 motherboards) or the parity checking/NMI jumper has been removed. Check your motherboard manual to make sure the jumpers are set correctly. SOLUTION4: You may be unfortunate and have a non-IBM compatible motherboard which does not have a working NMI. This is most common on cut rate 486 motherboards. You should have your vendor replace it with an IBM compatible motherboard. PROBLEM: Mega-Em is using the UltraSound MIDI port to provide MIDI in services and it is losing midi data causing problems such as stuck notes. SOLUTION: This MIDI in feature requires a fairly fast CPU (fast 386/slow 486) to work correctly. In addition setting your GF1 IRQ (IRQ1) to a number as small as possible and below your SB/MIDI IRQ can improve performance. PROBLEM: The systems hangs while the message "Testing NMI..." is displayed on the screen. SOLUTION: Run MESETUP, set the "User Level" to "Advanced", then set "Disable NMI" to "Yes". This will stop Mega-Em from using the system NMI. Note that most protected mode software will not work with Mega-Em if the NMI is disabled. 8.0 ANSWERS TO COMMONLY ASKED QUESTIONS ---------------------------------------- QUESTION: Could Mega-Em be modified so it does not require a 386 memory manager, and hence work with software such as Comanche, Ultima 7 etc. ? ANSWER: No. Mega-Em requires 386 protected mode for it's emulation to operate. It uses the memory manager as a means of entering protected mode, while still remaining compatible with a wide variety of software. Mega-Em can not work with the above mentioned software because they can not coexist with other protected mode software. QUESTION: Well how come (IW)SBOS works with the above mentioned games? ANSWER: While (IW)SBOS is indeed a software emulator, it is hardware assisted by specific features built into the UltraSound card and makes no use of any protected mode features of the processor. QUESTION: Can I have the source code? ANSWER: No. QUESTION: Why doesn't Mega-Em support OS/2? ANSWER: Mega-Em requires operating system privileges to function. OS/2, like many multitasking operating systems will not allow DOS programs to gain these. Most DOS memory managers will. In addition OS/2 does not allow the systems NMI (non maskable interrupt) to be used, making it impossible for any DOS based software to emulate sound devices. QUESTION: Mega-Em gives me a warning saying I have a pre 3.xx UltraSound board and Roland emulation will not work with most protected mode software. What gives? ANSWER: Mega-Em is supporting your UltraSound card as best in can. However the early revisions of the UltraSound were never meant to emulate Roland sound devices and do not have the necessary logic to provide protected mode emulation. Despite this Mega-Em will still give Roland emulation for real mode software. 9.0 CREDITS ------------ Jayeson Lee-Steere: Main concept, design and programming, setup program and documentation. Lee Ingram: Optimized patch set. David Mercier, Curtis Patzer, Darren Schueller: Internal development tools. Forte Technologies: UltraMID digital and MIDI sound engine. 10.0 MEGA-EM REVISION HISTORY ----------------------------- VERSION 3.11 * UltraSound MAX codec routines can no longer lock up the system. * Mega-Em now compresses better than it did before. * Defaults to Sound Blaster Emulation OFF on Extreme boards. VERSION 3.10 * UltraSound applications no longer cause a lockup when they are loaded with Mega-Em running on an Interwave. VERSION 3.09 * Text no longer refers to GF1 when running on an Interwave based card. * AdLib/Sound Blaster FM emulation now works with protected mode games. * IWSBOS can no longer be run when Mega-Em is loaded. VERSION 3.08 * The ULTRASND and ULTRA16 environment variables are no longer required when using an UltraSound Plug & Play card. * Now works correctly on UltraSound Plug & Play cards with the base address set to something other than 220 hex. * No longer detects older UltraSound cards as UltraSound PnP cards. * Fixed some problems with digital sound getting stuck at the end of playing a sample. VERSION 3.07b (Beta) * Added support for the coming UltraSound Plug & Play card. VERSION 3.06b (Beta) * Revamped AdLib/Sound Blaster FM emulation. * Buildpats is no longer required. VERSION 3.05b (Beta) * Added AdLib/Sound Blaster FM emulation. VERSION 3.04b (Beta) * Fixed a bug in protected mode Roland emulation which was preventing certain LucasArts products from working properly. * Improved DOS4GW auto-patching. * Fixed a bug in the Sound Blaster emulation. Now Magic Carpet and other games work better. * Added check to make sure emulation is working correctly to catch any hardware conflicts. * Added -L (enable line in) and -M (enable mic in) for people who don't have Ultramix. * Fixed a bug in the UltraMID emulation which caused some applications to crash when playing back 8 bit samples. * Fixed some small bugs in BUILDPATS. * SBOS and old versions of Mega-Em can no longer be run with Mega-Em loaded. * Volume controls now work properly. VERSION 3.03b (Beta) * First release of the all-new, rewritten Mega-Em. Emulates Roland Sound Canvas/General MIDI/MT-32, Sound Blaster and UltraMID. Improvements over older (2.xx) versions of Mega-Em include compatibility with most protected mode software, interactive setup, single executable, better sounding patch set, faster loading time, allows UltraSound software to run at the same time as Mega-Em, automatic reloading of patch set when necessary, automatically unloads when Windows is run and automatically takes advantage of extra hardware (the 16 bit record/playback CODEC) on the UltraSound MAX. Sound Blaster music (FM) support is not included. -- END OF FILE --