DESCRIPTION: VOLUME.COM is a TSR that turns a joystick into a volume/balance control for your ProAudio Spectrum sound card. This program works in DOS and Windows (you must run it from DOS prior to entering Windows, though.) It checks the joystick every 1/2 second, and updates the output volume level if the joystick has changed postion. Forward/back controls the volume and left/right controls the balance. While button #1 is held down, updates are inhibited. (This is useful for connecting a disable/enable switch for reasons mentioned in the PROBLEM section, below.) When button #2 is pressed (for more than 1/2 second), update inhibit is toggled. This is useful for disabling updates for reasons mentioned below, or for freezing the current setting (useful for people with auto-centering joysticks, or joysticks that will not hold in one position.) If a number is specified on the command line, this number (default=512) is used as the joystick timing parameter. VOLUME2.COM is the same as VOLUME.COM, except it is set up to operate with the second joystick. Using this routine will allow you to use the first joystick in your games and still have control over the volume using the second joystick (or the home-made volume control box mentioned below). COMMAND LINE PARAMETERS: To run the program, enter the command "VOLUME" from the DOS prompt. To uninstall the program, enter the command "VOLUME U" from the DOS prompt. The program also takes an (optional) parameter that specifies the maximum count that the joystick will reach. This value defaults to 512 (which works on my 486DX/33 with a ProAudio Studio 16 sound card.) Slower computers will need smaller numbers. The number will also vary with the size of the potentiometers in the joystick and the size of capacitors on the joystick port. Too small of a number will cause the full volume swing to occur over a short piece of the joystick's full travel. Too large of a number will prevent the volume from fully reaching zero. To specify this parameter, enter the command "VOLUME 300", where 300 should be replaced with the number that works for you. HINTS: Note that once the program is installed, you must first uninstall it (VOLUME U) before restarting it with a new parameter. The program works best if you have a joystick that does not have auto-center (or the ability to turn auto-centering off) and center adjustment knobs. The joystick should also be stiff enough to hold it's position when you let go. I have my left-right motion on auto center, and use the center adjustment knob for this direction as my balance control. I leave the forward-backward motion floating so that the stick gives volume control. You can see the volume and balance change on the screen if you use the PAS mixer program provided with your sound card (run "PAS *" from the DOS command line). This is useful for checking to see if the full range of motion is being reached. Unfortunately the DOS mixer routines do not interact with the Windows mixer routines, so the changes made by the joystick do not show up in the Windows mixer programs (such as Pocket Mixer). If you do not have a joystick, or want to have an external volume control in addition to your current joystick (so that the joystick may be used in games), you can go down to your local electronics store and make your own external mixer. All you need are two potentiometers (both the same value, between 100k and 1M ohms, bigger for slower computers), a box to mount them in, and a connector to the joystick port (male DB-15). The X pot wiper (generally the center terminal) should be connected to pin 11, and one end (the end selected determines which direction gives left balance) connected to pin 9. The Y pot wiper should be connected to pin 13, and one end (the end selected determines which direction gives zero volume) connected to pin 9. You may also include a disable switch by connecting a switch between button 1 (pin 10) and ground, or a momentary pushbutton between button 2 (pin 14) and ground (pin 4 or 5). This disable switch is useful for the reason mentioned in the following section. PROBLEMS: Since the routine performs a joystick timing loop during an interrupt routine, interrupts are disabled for a relatively long time every 1/2 second. While this is fine under most circumstances, it can cause dropped characters for high speed modems (or other serial port devices). For this reason, the capability to inhibit updates by pressing a button was included. If you have problems with serial port communications, you should disable the volume updates during serial communications. MESSAGES RETURNED BY THE PROGRAM: Joystick volume control has been installed. This message simply informs you that all is well with the installation. Joystick volume control has been removed from memory. This message simply informs you that all went well with the un-install procedure. ERROR: Joystick volume control not installed because MV driver not present. This message is returned if you attempt to install the program, but it is unable to link into the Media Vision mixer routines. Check to see that the MVSOUND.SYS driver is installed in your CONFIG.SYS file, and that it remains in memory (if the u parameter is used with the MVSOUND program, it just initializes the card, but does not remain in memory.) ERROR: Cannot remove volume control because the interrupt vector has changed. This message is returned if some other program (the DOS print command, for example) has installed itself in the same interrupt vector. These programs must be un-installed in the reverse order in which they were installed. This message is also returned if you try to uninstall VOLUME when it is not currently loaded. ERROR: Joystick volume control is already installed! This message is returned if you re-run the VOLUME program when a copy is already running of the system. If you want to change the joystick count parameter or switch from joystick 1 to joystick 2, uninstall the program first, and then re-install with the new parameter. OTHER INFORMATION: This program has not been tested very extensively, and is the very first edition. While it should not affect the operation or stability of your system, you use this program at your own risk. ABSOLUTELY NO WARRANTIES ARE GIVEN OR IMPLIED, AND THE AUTHOR IS NOT RESPONSIBLE FOR ANY PROBLEMS, MACHINE CRASHES, OR DATA LOSS THAT MIGHT RESULT FROM THE USE OF THIS PROGRAM. However, if you do run across any problems or incompatabilies with specific programs, please drop me a line so that I can fix the problem or at least make a note of the incompatability in future releases. I can be reached at: Philip VanBaren 71214,2302 on Compuserve 1845 Lake Lila Dr. Apt. C3 phillipv@engin.umich.edu on Internet Ann Arbor, MI 48105 I have also been considering making an external mixer box with 8 or 16 slide controls that could be connected to the joystick port. With this type of box you would have control over most of the mixer channels (either just volume, or possibly left/right volume or volume/balance.) The box could also have connectors for joystick 1 and MIDI in/out. If you would be interested in such a box, let me know. The more interest there is, the faster I will work on this project...