
   OS/2* DEVICE DRIVER FOR MMPM/2 MPU-401 SUPPORT

     This package contains the following:

  o    MPU401.SYS        The actual device driver
  o    TIMER0.SYS        The highres timer driver
  o    CLOCK01.SYS       New ISA clock driver that supports the highres timer
  o    CLOCK02.SYS       New MCA clock driver that supports the highres timer
  o    MPU401.SCR        MMPM/2 Install script
  o    MPURES.DLL        MMPM/2 Resource DLL
  o    CARDINFO.DLL      MMPM/2 Resource DLL
  o    CONTROL.SCR       MMPM/2 Install 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.


  IMPORTANT

  PLEASE READ THE FOLLOWING TERMS AND CONDITIONS.  YOUR
  USE OF THE OS/2 DEVICE DRIVER FOR MMPM/2 MPU-401 SUPPORT
  INDICATES YOUR ACCEPTANCE OF THE FOLLOWING
  TERMS AND CONDITIONS:

  o   YOU MUST BE A LICENSEE OF OS/2.
  o   YOU MAY MAKE COPIES OF THE OS/2 DEVICE DRIVER FOR
      MMPM/2 MPU-401 SUPPORT EQUAL TO THE
      NUMBER OF LICENSED COPIES OF OS/2 YOU POSSESS.
  o   ALL OTHER TERMS AND CONDITIONS OF YOUR OS/2
      LICENSE AGREEMENT APPLY TO THIS OS/2 DEVICE
      DRIVER FOR MMPM/2 MPU-401 SUPPORT;
      HOWEVER, THIS DOES NOT EXTEND ANY WARRANTY
      OUTLINED IN SUCH AGREEMENT.


  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  Bugs

           7.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 uses the new 
      highres timer driver, TIMER0.SYS.

      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.


 2.0 COMPATIBILITY
  _____________

  This graphics accelerator driver is compatible with
  OS/2 Warp 3.

 3.0  PRELIMINARY STEPS
  _________________

  If there are any copies of CLOCK01.SYS and CLOCK02.SYS in the 
  x:\os2 (where x is the boot drive) directory, delete them.

  Be sure that CLOCK01.SYS and CLOCK02.SYS are not marked as READONLY.
  To remove the READONLY attributes, use the attrib command such as 
  attrib -r x:\os2\boot\clock0*.sys, where x is the boot drive.


 4.0 INSTALLATION
  _________________

  Unzip the files (or insert the disk), run MINSTALL, and change the directory
  to point to where the files are located.

  MINSTALL will ask how many MPU-401's are installed.  Always answer with 1.

  5.0 Optional Command-line Parameters
  _________________

  The driver attempts to detect the base I/O ports and IRQ's during boot
  time.  The first valid port that it finds is the one that it uses.  In
  most cases, command-line parameters will not be required.  The driver
  currently only supports one MPU-401 when used with MMPM/2.

  Autodetect first looks at address 0x330 and then 0x300.  If used on a
  Microchannel machine, 0x1330 is also checked.

  Alternatively, command-line parameters can be used to tell the driver to
  skip the autodetect and use given I/O ports and IRQ's instead.  Up to
  9 MPU-401's, numbered 1 to 9, can be supported this way.  MPU-401 #1
  is the one that MMPM/2 uses.

  Parameters are in the format of:

       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 
                 one millisecond.

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


 6.0 Bugs
 _______

  The Resource Manager is not used, and therefore autodetect could trample
  on other hardware.

  There seems to be a bug in MMPM/2's AUDIO_CAPABILITY code, and therefore
  this driver doesn't use that feature.
     


 7.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

     
  IBM DISCLAIMS ALL WARRANTIES, WHETHER EXPRESS OR
  IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED
  WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND
  MERCHANTABILITY WITH RESPECT TO THE INFORMATION IN
  THIS DOCUMENT.  BY FURNISHING THIS DOCUMENT, IBM
  GRANTS NO LICENSES TO ANY RELATED PATENTS OR
  COPYRIGHTS.
     
  THIS DRIVER IS COPYRIGHTED BY INTERNATIONAL BUSINESS
  MACHINES CORPORATION.  ALL APPROPRIATE RESTRICTIONS
  APPLY.
     
                                (End of Document)
