FM Midi Synth driver Version 1.01
Copyright (c) 1993 by Jamie O'Connell

The FM MIDI Synth driver is a replacement driver for sound 
cards that implement FM synthesis.  It features an extensive 
MIDI implementation as well as support for loadable instrument 
banks and a Control Panel applet for run-time configuration of 
driver parameters.  It is designed to work with as many 
different sound cards from various manufacturers as possible. 

Installing the FM MIDI Synth driver

The first step is to unzip the FM Synth driver and related
files (including the one you are reading) to either a
diskette, or a directory on your hard drive.  The driver
will be installed from this location (make note of the disk
and/or directory name).

More hardware configuration parameters are provided than are
available for most drivers.  In order to optimally configure
the FM Synth driver, it is important to have prior knowledge
of the hardware configuration of your sound card.

The FM Synth driver is installed via the Windows Control
Panel Drivers applet.  The following steps are performed
when installing a new driver:

1) Remove any existing FM driver.  It is recommended that 
any existing FM driver be removed before installation is
attempted.  While it is possible to have more than one FM
driver installed, it is essential that only one be in use
at a given time.  Note: Only the FM driver should need 
removal, not the Wave, MIDI or Aux. driver.  To remove a 
driver, open the Drivers applet, select the FM driver to 
remove (this could be the Adlib driver, the SB Pro 2 FM 
Synth, the Voyetra OPL3 FM driver, or some other name).  
Press the remove button and answer OK to the dialog box 
which warns that the driver may be needed by the system.

2) Restart Windows.  After removing a driver, you must
restart or exit Windows before adding the FM Synth driver.
This is because the driver has only been removed from the
SYSTEM.INI file, and is still present in memory -- a new
driver can not be loaded until the current one is remove
from memory.

3) Install the FM Synth driver.  Open the Drivers applet
from the Control Panel and press the Add button.  Select
Unlisted or Updated Driver from the list and press the OK
button.  Type the full directory name, or floppy drive (ex:
B:\ or C:\NEWDRV or wherever you put it) of the location
where the driver resides into the dialog box and press OK.
A dialog box containing the name: FM MIDI Synth driver [jwo]
will be presented.  Ensure that it selected and press OK.

Next the FM Synth hardware configuration dialog is
displayed.  This dialog only needs to be filled out once,
but the selections are critical to proper driver operation
(the dialog can be opened again later, if required, by
opening Drivers, selecting the FM MIDI Synth and pressing
the Setup button).

Note: when re-installing a newer version of the FM Synth 
driver, you must first remove the older version as detailed 
above.

Configuration

The FM Synth Setup dialog contains two sections: I/O Port
Address and sound card FM chip type.

I/O Port Address

The I/O Port Address is the physical port of the FM sound
chip.  In some sound cards this may be different from the
cards base address.  For instance, the original Sound
Blaster 1.5 has a base port address of 220 hex, but the FM
chips are located at port address 228 hex.  You would choose
port 228 for this card.

FM Chip Type

The FM chip type depends on which card you posses.  The
earliest Adlib and Sound Blaster FM Cards contained a single
Yamaha OPL2 sound chip.  The first version of the Sound
Blaster Pro added a second OPL2 chip.  Early Media Vision
Pro Audio Spectrum cards also have the 2 OPL2 configuration.
Newer sound cards, including the SB Pro 2, and the MV PAS 16
use a single Yamaha OPL3 chip.  The OPL3 contains the
equivalent of 2 OPL2 chips plus some other features such as
4 Operator support.  Almost all sound cards implement Adlib
compatibility: Port: 388 hex, 1 OPL2 chip, though choosing
this setting may reduce the capabilities of the driver (The
Adlib is a mono only card capable of 9 melodic, and 5
percussive simultaneous voices).

It should be noted that the FM Synth driver does not require
knowledge of either the DMA or IRQ for the sound card, as
these are only used for the digital sound, and MIDI portions
of the cards.  Following is a table of settings for some
common sound cards with factory setup configurations.  If
your card is not listed, or has been changed from the
factory setup, consult the user manual issued with the card:

Name                I/O Port    Chip
                    (hex)       Type
--------------------------------------
Adlib FM Card       388         1 OPL2
Sound Blaster 1.5   228         1 OPL2
Sound Blaster Pro   220         2 OPL2
(original)
Sound Blaster Pro 2 220         1 OPL3
MV PAS (original)   388         2 OPL2
MV Pro Audio        388         1 OPL3
Spectrum 16

If the Port address for your card is not listed in the
dialog box, select Other and type the hexadecimal port
address into the edit field.  Next choose the chip type and
press the OK button.  If an FM chip is detected, the dialog
box will close, and a restart warning is issued.  Go ahead
and restart Windows once again.  If an FM chip is not
detected, a message stating that the hardware settings on
the card do not match the selected driver I/O Port address
is issued.  In this case, you must change the I/O Port
Address setting -- as stated before, Port 388 can almost
always be specified.

After restarting Windows, a Control Panel applet, FM Synth,
will be available for run-time configuration.  A Windows
help file is attached to a button on the applet.

Programming the driver

See the SYSEX.TXT file for System Exclusive information.
In addition there is a limited programming interface.  
See the STMB.H or STMB.PAS files for more information.

Changes 

Version 1.01 repairs a bug caused when the driver was handed
illegal MIDI data.  In addition, the default is to now NOT
switch percussion mode off and on for channel 10, upon
receipt of program change 127 or 126.  If you would like
this behavior, add to the [Mode] section of the FMSYNTH.INI 
(in the Windows directory) the followinfg switch switch:

  [Mode]
  OldPercSwitch=1   

Also see the CHGFMSYN.TXT file for additional information. 

Getting Help

If you experience problems when using the driver, or have suggestions 
about the program, documentation, etc., you can contact me directly or 
post messages here in the Sound Card section of Compuserve's Sight & 
Sound or MIDI forums.  I'll be monitoring the sections, and keeping the 
latest driver versions there.

	Jamie O'Connell [73030,351]


DISCLAIMER

This program is provided without any warranty, expressed or implied,
including but not limited to fitness for a particular purpose.


