
   OS/2* DEVICE DRIVER FOR MMPM/2 AND RTMIDI SUPPORT FOR THE ICS 2115 WAVEFRONT

     This package contains the following:

  o    ICS2115.SYS       Device driver to initialize the ICS 2115 DSP
  o    MPU401.SYS        Device driver which provides MMPM/2 and RTMIDI support
  o    ICS2115.SCR       MINSTALL installation script
  o    ICS2115.DLL       MMPM/2 resource DLL
  o    ICS2115.HLP       MINSTALL help file
  o    CARDINFO.DLL      MINSTALL resource DLL
  o    CONTROL.SCR       MINSTALL main installation script
  o    MIDIPLAY.ICO      MMPM/2 installation icon
  o   This README file, which is formatted for viewing
      on your screen.  You can:

      -   Use the Table of Contents to
          help you locate specific topics.
      -   Use the Find option in the Edit menu of the
          OS/2 System Editor to help you locate
          specific information.
      -   Print the file.  

  CONTENTS
  ________


           1.0  Supported Features

           2.0  Compatibility

           3.0  Preliminary Steps

           4.0  Installation from Diskette

           5.0  Optional Command-line Parameters

           6.0  Trademarks


 1.0  SUPPORTED FEATURES
  __________________

      This file describes the installation of the MMPM/2 MPU-401 device 
      driver, MPU401.SYS, and related files.  This driver can uses the new
      highres timer driver TIMER0.SYS.  This Timer Driver is shipped in Warp 4.0

      The MPU-401 driver is actually a dual-function driver, as it supports 
      both MMPM/2 and the new real-time MIDI subsystem.  Therefore, some of 
      the command-line parameters may have limited or no functionality when 
      taken in the context of MMPM/2 only.

   The MMPM/2 MPU-401 driver has the following functions:

     1. Uses the highres timer driver to provide 1-millisecond accuracy, the
        highest of any MMPM/2 MIDI driver.  A command-line parameter allows
        selecting a lower frequency if necessary.

     2. Supports up to 8 events independent events, including the new
        recurring events.

     3. Performs autodetection of MPU-401 hardware.  Can support up to 9
        MPU-401's (although MMPM/2 only recognizes 1)

     4. Automatically uses the 32ms system timer if the highres timer driver
        is not found.  Timing is reasonably accurate at 32ms.

     5. Supports volume control in software

     6. Source code is available on the DDK, available on the WWW at 
        http://service.boulder.ibm.com/ddk/


 2.0 COMPATIBILITY
  _____________

  This driver is compatible with OS/2 Warp 4 or Warp 3 with the latest FixPack.


 3.0  PRELIMINARY STEPS
  _________________

  Only install the high-resolution timer driver, TIMER0.SYS, if you are operating on OS/2 
  Warp 3.0.  This is part of the TIMER0 package.  This step is not required on Warp 4.0.
  TIMER0.SYS is technically not required at all; however, the timing of MMPM/2 playback
  may not be acceptable without it.


 4.0 INSTALLATION
  _________________


  Unzip the files (or insert the disk) to a directory (preferably one that has no
  files in it already), and make that directory the default (i.e. with the CD
  command).

  Run MINSTALL and follow the prompts.

  MINSTALL will ask how many MPU-401's are installed.  Read the online help to
  determine if you should install more than one.


 5.0 Optional Command-line Parameters
  _________________


  Parameters are in the format of:

     DEVICE=ICS2115.SYS x:yyy x:yyy ...

        Where 'x' is a single capital letter and 'yyy' is the option.

        P:yyy    Base I/O: Sets the base I/O address, usually 300 or 330
                 (# is in hex).  Typically, the I/O address is set via a DIP
                 switch on the sound card.

        I:yyy    Base I/O: Sets the IRQ level, usually 300 or 330
                 (# is in decimal).  Typically, the IRQ is set via a DIP
                 switch on the sound card.

        F:yyy    The file specification (path and filename) for the WaveFront
                 DSP file.


     DEVICE=MPU401.SYS /xn:yyy /xn:yyy ...

        Where 'x' is a single capital letter, 'n' is from 1 to 9, and 'yyy' is 
        the option.

        /Pn:yyy  Base I/O: Sets the base I/O address for port n, usually 300 
                 or 330 (# is in hex)

        /In:yyy  IRQ level: Sets the IRQ level for port n.  yyy is a decimal 
                 number from 1 to 15.  If the base I/O address for a given 
                 port is specified (e.g. /P1:300), but the IRQ is _not_ 
                 specified, the driver will attempt to autodetect the IRQ.  
                 Note that an IRQ is not used for MMPM/2 playback anyway.

        /N:sss   Driver name, an 8-character length string, ending in a $. Do
                 not specify a port number.  Default is "MPU401$".

        /R:yyy   Resolution of MMPM/2 timing.  If the highres timer 
                 (TIMER0.SYS) is installed, this parameter tells the MPU-401 
                 driver what resolution to use (where yyy is the number of 
                 milliseconds) when playing MMPM/2 MIDI streams.  Default is 
                 two milliseconds.

        /V       Verbose output during boot.  If used, this should be the 
                 first parameter.

        /O:LONGNAME
                 Long name support.  If specified, /L directs the driver to
                 include the base I/O address and the IRQ in the instance name
                 for RTMIDI Type A registration.  For example, without /L the
                 instance name might be "MPU-401 #1".  With /L, it would look
                 like "MPU-401 #1 (I/O=0330, IRQ=05)"

        /O:QUIETINIT
                 Tells the driver to ignore errors when initializating the
                 hardware for playback.  May be necessary for some cards.

        /O:NORMIO
                 Tells the driver not to check or claim I/O address with the
                 Resource Manager.

        /O:SHAREDIO
                 Tells that driver to use the Shared attribute when checking
                 and claiming I/O addresses with the Resource Manager.

        /O:MULTIIO
                 Tells that driver to use the Multiplexed attribute when 
                 checking and claiming I/O addresses with the Resource 
                 Manager.

        /O:NORMIRQ
                 Tells the driver not to check or claim IRQ's with the
                 Resource Manager.

        /O:SHAREDIRQ
                 Tells that driver to use the Shared attribute when checking
                 and claiming IRQ's with the Resource Manager.

        /O:MULTIIRQ
                 Tells that driver to use the Multiplexed attribute when 
                 checking and claiming IRQ's with the Resource Manager.

        /O:NOCHECKIO
                 Tells the driver not to verify whether an MPU-401 device
                 exists at the I/O addresses specified by the /P switches.
                 Use this option when the sound card is initialized after
                 the driver is loaded, e.g. by a DOS application.  When
                 this option is specified, the NOCHECKIRQ option is implied.

        /O:NOCHECKIRQ
                 Same as the NOCHECKIO option, except it applies to the IRQ
                 level.


        /O:NOTIMER0
                 Do not use TIMER0 even if it is available

        /O:10BITS
        /O:16BITS
                 Specifies the address width when registering the I/O
                 ports with RM.  The default on ISA systems is 10 bits,
                 and the default on MCA systems in 16 bits.  If /O:10BITS
                 is specified, no I/O address can be larger than 0x3FF.

        /O:ONLYONE
                 When specified, the autodetection routine stops after
                 finding the 1st MPU-401 device.



 6.0  TRADEMARKS
  __________

  The following terms, denoted by an asterisk (*) in
  this file, are trademarks or registered trademarks of
  IBM Corporation in the United States and/or other
  countries:

    IBM
    OS/2

     
      
                                (End of Document)
