                                     
                     ۱                 
                                        
                                         
                                         
                                         
                                     

                                       
                 ۱                     
                                        
                                         
                                         
                                         
                                  

                                    
                                             
                                             
                                    
                                             
                                              
                                         


                version 3.985 - (C) Charles Attard - November 1996
                          MMP can be found on Internet :
             ftp://ftp.cdrom.com/pub/simtelnet/msdos/music
             ftp://ftp.cdrom.com/pub/demos/incoming/music/programs/players
             ftp://ftp.cdrom.com/pub/demos/music/programs/players
             ftp://ftp.coast.net/simtel/msdos/music
                           And other mirror sites





                                   Introduction
                                   

      What can it play ?
      


       The Multi Module Player is a very high quality digital music module
      player. It supports the following types of modules :

        669          Composer 669 v1.x Module
                     (8 channels, 64 instruments @17480 Hz)

        MOD          ProTracker , SoundTracker, FastTracker,
                     StarTrekker and TakeTracker
                     (1 to 32 channels, 31 instruments @16574 Hz)

        MTM          Multi Tracker Module v1.x
                     (1 to 32 channels, 64 instruments @16574 Hz)

        NST          NoiseTracker (4 channels, 15 instruments @16574 Hz)

        S3M          Scream Tracker v3.x Module
                     (1 to 32 channels, 100 instruments at any sample rate)
                     Note : Old STM format can easily be converted to S3M
                     format using Scream Tracker v3.x

        XM           Fast Tracker v2.x Module (file version above 1.03)
                     (2 to 32 channels, 128 instruments of 16 samples)
                     As for S3Ms, old XM format (below 1.04) can easily
                     be converted with FastTracker 2.x

        (if you want a tracker and have access to Internet, you
         can try FTP : ftp.luth.se (130.240.16.39) in /pub/msdos/demos ...)


      System requirements
      


      The hardware support is only Sound Blaster 16/ASP/AWE32(in SB16 mode)
     and Sound Blaster Pro for now. I've got the informations to program many
     types of sound cards (Gravis UltraSound, Pro Audio Spectrum ,
     Windows Sound System) but i don't own them (!) and i need to know from
     you if it's necessary to do so (i will also need your help to debug
     these routines ...).

     The screen output is graphical (640x480x256) and uses VESA v1.0 routines,
      so you need a video card with VESA BIOS EXTENSIONS or a resident patch.

     About memory, MMP uses 3 modes to avoid a 'not enough memory' message
     (very annoying when you have a 4, 8, 16 or more Megabytes of memory
     in your system and you only need some hundreds of kilobytes).
      It uses DOS, EMS and XMS types of memory.
     The possible modes are:

      Mode:    Why MMP uses this mode:

      DOS

               The module loaded is small enough to hold in conventional
               memory. But if an instrument has a size over 64 KB (the
               module loaded is a 669, MTM or XM), MMP will use the
               DOS/XMS 32 bits linear mode instead to avoid truncature.
               This is a fast mode.

      DOS/EMS

               The instruments can't hold in DOS memory, but the patterns can
               (it is assumed that it will always be the case).
               The instruments are loaded in EMS but are truncated to
               64 KB (you will be warned), as MTMs, 669s and XMs can have
               instruments 1 MB long or more for XMs.
               To avoid this, you must allow MMP to enter XMS 32 bits linear
               mode by disabling any expanded memory manager as EMM386,
               QEMM386 ... and enabling HIMEM.SYS.
               Note that the DOS/EMS mode is slow, so, if you have less than a
               486DX-120 MHz you should really do it !

      DOS/XMS 32 bits linear

               As in DOS/EMS mode, the total size of instruments is too big
               to fit in DOS memory.
               This is the best mode (fast, all free memory is available,
               and samples are not truncated to 64 KB).
               See above to enable it.
               In this mode the processor does linear addressing in real mode !
               The Global Descriptor Table is modified, that's why it's
               totally incompatible with other applications running in
               protected mode or V86 mode.


      Why a new player ?
      

       I've always been disappointed by the output quality of players
      (except DMP 3.x+, Mod4Win 2.x+ ) or by the precision of patterns
      playing (all players !).
       Technically, the output is computed in a 32 bits buffer, with a 16
      bits resolution (even for 8 bits sound card) and is clipped to fit
      in the 16 bit (or 8 bit) output stream. This allows a greater signal to
      noise ratio and is very useful when the number of tracks is high (8 and
       over).
       To improve quality, a dynamic linear interpolator (or dynamic filter,
      or oversampler ...) for each channel can be enabled. It ensures a
      full use of the 16 bits resolution and filters useless harmonics (noise).
       A low-pass filter can also be enabled, instead or with oversampling,
      if you have sensitive ears about high frequencies ... :)
      All this nice things give the highest possible output for all ears !

       MMP version 3.985 has been thoroughly tested with more than 5000
      modules to ensure the highest quality in playing modules. I've spent
      hundreds, perhaps thousands hours listening, debugging, listening,
      debugging ... this player (and sometimes debugging, debugging ... ;),
      so i'm confident in its quality ! Of course, there's always
      a little bug flying or crawling somewhere, so if you can help me
      to catch it ...
       Moreover, I've also used the associated trackers (Scream Tracker 3.x
      for S3M, Composer 669 v1.x for 669 ...) to have an identical
      interpretation of patterns from the tracker and from MMP.

      Miscellaneous features
      

       + 18000 lines of pascal and 286 assembler
       +  6000 lines of 386 assembler
       + various 32bits mixing routines (mono, stereo or surround with
         16bits (DOS, EMS) or 32bits (XMS linear) addressing
         and oversampling)
       + 32bits data buffer for clipping. Increases the signal to noise
         ratio
       + Real-Time oversampling computed on 28bits. Acts as a dynamic
         low-pass filter thus giving a much smoother signal
       + Play engine in higly optimized 386 assembler. Scheduling
         optimizations for Pentium and 486
       + Ultra fast FFT implementation of Cooley and Tukey algorithm (1965)
         in 386 assembler (on a Pentium-120 MHz, 250 per second 1024 points
          FFTs computed, only 4 ms a 1024 points transform !)
       + CPU overload detection and load adjustment (disabled for now)
       + Automatic detection of Sound Blaster cards (16, AWE32 and Pro)
       + No file prompt mode (enter MMP <module_name> )
       + List file mode playing (enter MMP <@liste.txt> )
       + All Protracker 2.x/3.x (NST, MOD, MTM), Scream Tracker 3.x (S3M),
         Composer 669 1.x (669) and Fast Tracker 2.x (XM) commands supported


      Is MMP running ? OK, let's see how to use it
      


      Basic use
      

        MMP is very easy to use, just launch it, select the unit where
       you have some modules (ctrl+unit or click on unit with mouse),
       select the path, select a module
       then press Enter or click on the module name. The module should
       play (hope so ... ;)
        To pause module playing, press Pause or F4. To exit from MMP (what ?!)
       press 'alt Esc'.
        When the module has finished playing, the file selector window
       appears (if help, configuration window, information window and
       full screen instrument list are not on). If you don't want to
       listen more the module, press Enter, F3 or click mouse right button to
       make the file selector window appear and select a new module
       (or press Esc or Pause or F4 or ... Reset, no ... i was joking ;)

        If you know the path to the modules, you can enter it directly. When
       the file selector window is on (or press F3 if not), press alt-C,
       enter then path, then validate with Enter.

       Press F1 under MMP to have some help about keyboard commands.
       (Note: the help is different under the file selector window and
       when you have the main screen)


      For users who don't like the default configuration
      

       I hope there are some ...
       You can display any of five elements, assuming there's enough space
      on the screen :

                          status bar                  (key s)

                      channel descriptor              (key t)

                        instrument list               (key i)

                   oscilloscope (mono or stereo)      (key o)

                  frequency spectrum (mono or stereo) (key p)


       To enable or disable an element, press the associated key or click
       in the menu, at bottom of main screen.
       When enabled, an element will be inserted at the bottom of the list of
       elements on screen.
        That's not much practical but you shouldn't change the configuration
       very often, once you're satisfied.
       To move an element you can use the mouse. Just click on the element
       you want to move (the cursor shape will change), then click on a
       'destination' element which will be replaced by the 'moved' element.
        To change elements size and caracteristics (oscilloscopes, channels
       and spectrums) see the configuration menu (press c in the main screen).

       Changing the colors
       

        You can change the color of any of the five items :

        (1) The main color (BackGround)
        (2) The current text
        (3) The hilighted text
        (4) The text for data or information
        (5) The cursor of the configuration window

         To change a color you should first select an item by pressing
        the corresponding key '1','2','3','4' or '5' (note: the colors can
        be changed anywhere but in the file selection window).
         Adjust the color components (Red, Green and Blue) using the shift
        key with 'Ins','Del' for the red component a.s.o ...

         inc red   : shift Ins (or Inser for french keyboards)
         dec red   : shift Del (or Suppr ...)

         inc green : shift Home
         dec green : shift End

         inc blue  : shift Pg Up
         dec blue  : shift Pg Dn

         (note: there's no repeat on the Ins key ... saw that too late :( )

         You can also directly edit MMP.CFG to change colors, but don't
         forget to launch MMP.EXE once, so it can create MMP.CFG.


       Configuration saving
       


       Whatever you changed is saved in the file MMP.CFG when you quit MMP.
       There are two types of parameters, some 'global', some 'partial'.
       The 'partial' parameters are dependent upon the number of tracks.
       They are saved in different places of the configuration file, each
       assigned to a 4 tracks block :

                   1-4   tracks
                   5-8   tracks
                   9-12  tracks
                   13-16 tracks
                   17-20 tracks
                   21-24 tracks
                   25-28 tracks
                   29-32 tracks

       The 'partial' parameters are the ...

           Spectrums height
           Maximum spectrums height
           Oscilloscope height
           Maximum oscilloscope height
           Instrument list height
           Maximum instrument list height
           Output frequency
           LDI mode (oversampling) switch
           Low-pass filter level
           Digital amplification level
           Default panning with speakers
           Default panning with headphones
           Number of displayed tracks
           Channel display mode
           Number and type of elements present

       {Parameters between {} can be changed in the file MMP.CFG only)
       The 'global' parameters are the ...

           Modules path
           File manager display mode
           {Info line delay}
           {mouse mickeys (delay)}
           Colors
           Spectrums type (mono or stereo)
           FFT display size
           FFT size
           Left spectrum video synchronization
           Right spectrum video synchronization
           Left oscilloscope video synchronization
           Right oscilloscope video synchronization
           Spectrum scale type (linear, power and logarithmic)
           Spectrums scale factor
           Oscilloscope type (mono or stereo)
           Plot type (dots or lines)
           Loop mode (allowed, forced, forbidden)
           Pan switch
           Global surround switch
           Cursor position X
           Cursor position Y
           {Autocontinue switch}
           Menu switch
           Output mode (mono or stereo)
           Headphones panning switch

       If you don't understand everything, that's normal, just use MMP ;)
       if you really want to understand, mail me, i always reply.
       (charles@cerise.ml.org -> i'm french ... )

       Setting MMP environment
       

         By default, MMP uses the current path to save MMP.CFG and
        temporary file @LIST.
         If you want a user-defined path, you can set the environment string
        MMP, at DOS prompt type :
                                  set MMP=MMP_Path

        where MMP_Path is a legal path definition (ex. 'C:\MUSIC\MMP' )
        MMP will then use this path to write its files.


       Greetings
       

       I wish to thank some nice guys for their advice, remarks, critics,
       bug reports, useful discussions, source code or modules :

        Jean Paul Attard (fr)
        Rodolphe Sepz    (fr)

        Jocelyn Turpault turpault@desperado.mynet.fr
        Philippe Lelong  lelong@ens.fr

        Wayne            flay@zip.com.au
        Mervyn Kong      mervynkg@pacific.net.sg
        Toni Lindroos    tonilind@sip.fi
        Bob Appleton     appleton@snoopy.bunt.com
        Jason Cetron     WorldofI@aol.com

        Special Thanks to

         Aveek Datta     Network Administrator of Monolith
                         who helped me with the configuration of
                         my Unix Workstation and registered my domain
                         (cerise.ml.org)
                         If you need a Domain Registration, try 'www.ml.org'

       Copyright  (the legal stuff)
       

        This program is freeware. This means you can copy it, do whatever
        you want with it, as far as no money is involved (except for the
        media or transfert) and that you copy the files MMP????.ZIP or
        MMP.EXE, MMP_DOC.TXT, MMP_REV.TXT, MMP_NEW.TXT and MMP_FAQ.TXT,
        transfer them on any server or any media (including CD-ROM)
        * UNMODIFIED *. If you have any doubt about the files integrity,
        mail me.


       Disclaimer (the legal stuff bis)
       

        In no event the Author will be liable for any damages, including any
        lost profits, lost savings or other incidental or consequential
        damages arising out of the use of this program, or for any claim by
        any other party.

         All mentioned Trademarks and Copyrights are registered by their
        respective owners.

        If you don't agree, delete the files and forget MMP ;)


       Who am i ?
       

        I'm 27 and preparing a Ph.D in physics.


       Snail mail
       

        If you want some modules, a new version or anything, send
        FORMATTED 3" disk(s) and enough money or more disks for the
        expenses to :

                      Charles Attard
                      7 rue des plantes
                      44100 NANTES
                      FRANCE

       E-mail
       

             Mail me for any comment, bug report, or anything i can do
             to help you

                         charles@cerise.ml.org



C.A. 11/7/96
------------------------------------------------------------------------------
