 



      /----------------------------------------------------------------\
      |              A M P   f o r   W i n d o w s    2 . 5            |
      |  The module player for Sound Blaster AWE32 and compatibles     |
      |              Copyright (c) 1996-2002 Lada Kopecky              |
      \----------------------------------------------------------------/





1. CONTENTS
   ========

        2.  INTRODUCTION
        3.  FEATURES IN DETAIL
        4.  REQUIREMENTS
        5.  FILES IN THIS PACKAGE
        6.  INSTALLATION
        7.  UNINSTALLING
        8.  USING THE PLAYER
        9.  BASIC COMMANDS
        10. PLAYER OPTIONS
        11. COMMAND LINE ARGUMENTS
        12. UNSUPPORTED MODULE EVENTS
        13. RECOMMENDED EQUALIZER SETTING
        14. DISCLAIMER
        15. THE LICENSE AGREEMENT
        16. FUTURE PLANS
        17. COMMON QUESTIONS AND ANSWERS
        18. CONTACTING THE AUTHOR




2. INTRODUCTION
   ============

 Welcome to AWE Module Player for Windows - the first and only native Windows
 module player that takes advantage of the wavetable synthesizer found on
 Sound Blaster AWE32 compatible sound cards.

 The hardware pitch-shifting and mixing performed by the EMU8000 synthesizer
 offers these two major advantages:

  a) the sound quality, unreachable in existing software-mixing players
     -> the output is absolutely clean (without usual ugly artifacts) and can
        be directly enhanced by customizable reverb and chorus effects

  b) music is generated without big demands on the computer's power and memory
     -> you get the same sound quality on all 386 or better computers and
        without the risk of system hang-ups or crashes

 So, with AMP for Windows you can do your regular work, run compilers and DTP
 applications, or play your favorite games *WHILE* listening to a high quality
 music. This player running in background consumes just a negligible fraction
 of your computer's power (about 1-2% with an even old 486 processor).

 If you're using Windows 9x/Me, then you can also simultaneously run games or
 applications which perform another audio operations through the sound card's
 Wave-Out and Wave-In interfaces.

 The player has been designed and optimized mainly for running in background
 without a user intervention. A built-in file selector with playlist editor
 is included. Many options are available to tune the resulting sound to your
 personal taste and to customize the playlist's behavior.

 The player engine has been developed and updated for many years and it
 provides many excellent features such as the most correct module playback,
 protection of highest notes by high quality resampling, sophisticated dynamic
 channel allocation, event reporting, SBK protection, the attack control,
 reliable loop removal, and others.

 Another advantage of AMP is a fast and simple use both with or without a mouse.

 Before you start using the player, please do read through this manual. It will
 help you to get the maximum out of every function provided by AMP.


 What is the tracker module?
 ---------------------------
 
 In case you are totally unfamiliar with modules and tracked music, you can
 visit some of the many Web pages on the subject of the demo scene and tracked
 music (see the FAQ section below).

 For a quick orientation, here is a comparison between an MP3-encoded song and
 a song stored in a module format (MOD, S3M, XM, IT and similar file formats):

  File content:
  - A tracker module is a native format in which computer music is created.
    The file contains a high-level musical data such as notes, instruments and
    sound samples. While listening to the song you can watch how the music is
    written (the tracks, notes, effects etc.). You can even modify the tune
    easily (using freely available tracker programs).
  - In contrast, a MP3 file contains just a single resulting waveform - just
    like a CD disc or a magnetic tape.

  File size:
  - An average size of a module is about 0.5 MB
  - MP3 files are considerably bigger (about 1 MB per minute of playback)

  Sound quality:
  - The sound in MP3 file is compressed by a lossy algorithm -> it means that
    the sound quality is always degraded.
  - The sound samples in a module are stored without compression or they are
    compressed by a lossless algorithm, therefore the sound quality is not
    compromised (provided you're using a high quality hardware and/or software
    to render the sound).



3. FEATURES IN DETAIL
   ==================


 Why does AMP sound so smooth and clean?
 ---------------------------------------

 The major advantage of AMP is the direct use of the EMU8000 synthesizer that
 performs the following tasks in hardware (that means with no CPU load):

  1. High quality pitch-shifting using a patented dynamic four-point
     interpolating filter

   This allows the removal of signal distortion that is so typical for all
   software-mixing players. Their interpolators (if any) are mostly two-point
   linear or rarely three-point quadratic (or they are unknown - hidden behind
   magic and meaningless names like FFT, FOI, IDO, 32-bit, spline etc.). But
   those basic mathematical algorithms are not suitable for signal processing,
   therefore such interpolators can't remove the unwanted artifacts while
   preserving the high frequencies contained in the original waveform.

   << NOTE: For those of you being unfamiliar with digital signal processing,
   here is a brief explanation:
   Let's take an example. You have an instrument sampled at 20kHz when playing
   the C4 note. But you need to play e.g. the C3 note at 40kHz output rate.
   To do it, you must increase the number of sample points (i.e. decrease
   the pitch) by factor of four _without_ changing the information content.
   If you obtain the three new points by repeating the old sample value, then
   the resulting frequency spectrum will include new high-frequency replicas
   (mirrors) of the original signal's spectrum. In our example, the original
   spectrum 0..10kHz would be shifted to 0..5kHz and also mirrored to ranges
   5..10kHz, 10..15kHz and 15..20kHz. These replicas would add an ugly ringing
   distortion to the output sound. To remove them, you need a sharp-cutoff
   low-pass filter that won't damage the signal that is passed through.
   The result will be the "right" new samples smoothly inserted between old.
   This kind of digital filter is often unfortunately called an "interpolator"
   even if it does not perform "interpolation" in a common mathematical sense
   (such as linear or polynomial interpolation between known points).
   It is important to realize that a well-designed filter response is more
   crucial then just a number of input sample points used for interpolation.
   >>


  2. Mixing at 44.1 kHz frequency allows output frequencies up to 22 kHz

   With a software mixing player, you need a fast Pentium machine to get just
   a simply interpolated sound in 30 channels at the 44kHz mixing rate, and it
   would consume a significant part of the CPU processing power.
   With AMP, all you need is a Sound Blaster AWE32 compatible sound card with
   sufficient sample RAM and any 386 or better computer.


  3. Starting/terminating the notes and changing the volume without any clicks
     (using the EMU8000's envelope engine)

   The software mixing players usually can't afford such smooth volume ramping.


  4. Customizable reverb and chorus effects

   Without effects, the sound is dry and flat.
   Any good effect processing requires many additional complex computations.


  5. Smooth panning in 256 steps



 << NOTE: I've heard a few people saying that software mixing performed by
 their interpolating routines sounds better than hardware mixing on the AWE
 card. That's a big nonsense from both theory and experience. 
 If anyone wants to see the details on how the EMU8000 works and how complex
 the computations are, I recommend checking the US patent # 5,111,727 -
 available also for free on Internet, e.g. from the Patent Server operated
 by IBM.
 >>


 Additionally, to get most of the hardware and to eliminate its limitations,
 AMP performs following tasks in software:

  1. A sophisticated dynamic allocation of hardware voices

   This allows to handle modules with more than 30 channels without losing
   notes.
   The dynamic allocation is also necessary to avoid all clicks when notes are
   being replaced in each master channel.


  2. Downsampling the samples that are to be played at rates above 176kHz
     (i.e. 2 octaves above 44.1kHz - this is a hardware limit of EMU8000)

   Without resampling (reducing the length and the final rate), some notes or
   sounds could be lost.
   To avoid aliasing distortion and to preserve high-frequency parts of sound,
   AMP uses a digital filter of very high quality (equivalent to a 13-point
   optimized interpolation).
   Special care must be taken in order to preserve the exact pitch of
   looped samples.

   << NOTE: The "aliasing" distortion appears when a signal containing
   frequencies above the Nyquist frequency (equal to 1/2 of the sampling rate)
   is sampled. These high frequencies are then aliased (mirrored) under the
   Nyquist frequency in the form of distortion. The same thing happens when you
   downsample a signal without removing all frequencies above 1/2 of the target
   sampling rate. >>


  3. Avoiding clicks caused by sample loops

   If sample loops are present, special care must be taken to avoid clicks.
   The situation gets much more complicated if bi-directional loops are present
   and/or if downsampling is involved.


  4. Special handling of duplicate voices

   Duplicate voices (i.e. doubled channels) are sometimes used by module
   composers to amplify some instruments. If such doubled samples are not
   being replayed perfectly in sync, unwanted interference effects appear.
   These can be heard as a loss of high frequencies or a flanger-like effect.

   The duplicate voices make a lot of trouble with all hardware-mixing devices,
   where starting multiple notes at once is very difficult (if not impossible
   at all).

   AMP has got a unique feature to eliminate the interference effects if
   duplicate voices are used in a module.
   << NOTE: The elimination may not be 100% perfect on very slow computers
      (such as 386) or if more than two equal voices are used >>


  5. Panning noise suppression

    The EMU8000 does not interpolate panning changes.
    Without panning noise suppression, clicks or noise would be heard in some
    modules.



 The complete list of features:
 ------------------------------

 - plays XM modules (FT2.0x, format version $0104)

 - plays IT modules (IT1.01+, incl. compressed samples and resonant filters!)

 - plays S3M modules (ST3.0+, IT1.01+)

 - plays MOD/NST modules (M.K.  M!K!  FLT4  nCHN  nnCH  OCTA  SoundTracker)

 - plays the Ultimate SoundTracker modules (an old MOD clone) correctly

 - plays MTM modules

 - plays PTM modules (max. 128 instruments)

 - up to 64 channels and 30 active voices

 - sophisticated dynamic voice allocation in all modes
   Therefore the sound is without clicks and there are no problems with
   channels above 30.
   AMP is also able to handle (without any notable sound degradation) even
   those IT songs that claim 50 or more voices in Impulse Tracker!

 - professional quality downsampling of highest samples to avoid the EMU8000
   pitch overflow. A very high quality anti-aliasing filter is used and
   numerous secondary complications involved by downsampling are properly
   handled. So, you won't lose *any* note and the quality of playback is
   not compromised.

 - special handling of duplicate voices (i.e. doubled channels) to eliminate
   interference effects

 - panning noise suppression

 - high compatibility with the FT2.08 / ST3.21 / IT2.14 playback routines,
   including emulation of many undocumented bugs.
   With AMP, you can hear exactly what you are supposed to.

 - runs perfectly even in background
 
 - minimal processor and memory usage
   If you want to see some numbers: WinTop utility reports a processor load
   of 1 - 2% when playing a typical 16-channel XM module on an old 486 machine
   (with the player minimized).

 - 100% accurate timing  (the true BPM value is guaranteed)
   The timing is correct even for longest songs. 

 - thorough error checking to avoid crashes and to assure correct playback
   (other module players behave mostly unpredictably when a corrupted module
   is loaded)
   Even so, AMP can load and correctly handle slightly corrupted songs.

 - the synthesizer hardware is held only when a module is loaded
   You don't have to exit AMP when you want to use the EMU8000 synth in another
   application.

 - can play multiple modules in batch (using wildcards and/or listfiles)

 - the listfiles (playlists) are pure text files so that they can be created
   manually or by third-party software

 - includes the internal file selector and playlist editor

 - can play multiple modules in a random order

 - all kinds of song loops can be reliably disabled - a 'must have' option for
   unattended playback of multiple songs

 - offers a fast forward mode, pattern skip in both directions, a module
   restart command

 - "Drag and Drop" support

 - all functions are reachable from both the keyboard and mouse

 - basic control commands are available also when the player is minimized

 - most parameters are configurable from the command line, so you can create
   different icons for a quick start with predefined configurations or playlists

 - supports a standard playlist browsing and direct picking of songs

 - direct (!) support for custom reverb/chorus types created by AWE32FXWorkShop
   No importing or conversion needed.

 - an easy to use song message viewer (you don't have to press Shift-F9 or
   other extra keys to check whether a message is present)

 - 3 modes of the sample attack control

 - 5 modes of protection of the loaded SBK's

 - the number of used EMU8000 voices is shown in the main window.
   NOTE: This number also includes running samples with volume=0 and all active
   background IT channels.

 - does not use the SB DSP chip so that you can simultaneously run e.g. games,
   a tracker, or a MIDI application (configured to SB16) under Windows 9x/Me

 - does not change the Sound Blaster mixer settings




4. REQUIREMENTS
   ============

 - PC 386 or better (CPU speed is not important)

 - Sound Blaster AWE32 or a compatible sound card with the EMU8000 synthesizer

   This includes:
     Sound Blaster AWE32
     Sound Blaster 32
     Sound Blaster AWE64
     Sound Blaster AWE64 Gold

   NOTE: At least 2 MB of on-board SIMM memory is *strongly* recommended!
         4-8 MB is needed to play all today's huge modules without limitations.

 - if your card is a plug-and-play type, the EMU ports have to be configured
   at compatible locations (400h apart). There should be no problem here
   as this is the default setting.

 - Windows 3.1+ (in Enhanced Mode only), Windows 95, Windows 98, or Windows Me
   (Windows NT/2000/XP is not supported)

 - Windows audio driver as follows:

    Win 3.x ..... version 2.25 (June 96) or newer

    Win 95/98 ... version 4.00 (original Win95 distribution) or newer
                  version 4.25 (April 96) or newer is recommended for PnP cards

    Win Me ...... the WDM class audio driver must be replaced by a VxD driver

                  DETAILS:
                  By default, Windows Me comes only with a new type of AWE32
                  driver - WDM. Unfortunately, this driver is not compatible 
                  with applications and tools that need to control AWE32
                  synthesizer directly - AWE32 Control Panel, AMP, AWEMID32,
                  and many others, including the DOS based audio tools.
                  To enable such applications, you need to download and install
                  the latest AWE32 driver for Windows 95/98 (SBW9XUP.EXE) from
                  Creative's Web site (www.creaf.com).



5. FILES IN THIS PACKAGE
   =====================

 Here is a list of the files enclosed in this package.

   AMPW.EXE     - the player application (front end)
   AMPSEQ.DLL   - the sequencer engine
   AMPW.INI     - a sample configuration file
   AMPW.TXT     - this file
   HISTORY.TXT  - revision history
   NEWCTRLS.TXT - description of the new XM effect controls
   FILE_ID.DIZ  - short program description
   AMPWINST.INF - a script for automated install/uninstall in Windows 9x/Me



6. INSTALLATION
   ============

 New installation
 ----------------

 NOTE: If you are using Windows Me, you'll have to switch from the default
       WDM driver to a VxD driver. See section #4 for more details.


 a) Automated installation (not available under Windows 3.x)

   Unzip the archive into a temporary directory.
   Right-click the file AMPWINST.INF and select "Install".
   Then wait for disk activity to stop.
   After that, you can delete the temporary files.

   What happens?
    1. The files are copied to \Program Files\Amp\
    2. The file types "Tracker Module" and "AMP Playlist" are registered.
    3. The player is assigned as a default application for modules and listfiles
       so that you can invoke it by double-clicking these files
    4. A second command is prepared for the DOS based AMP player (you should
       place the DOS player in the same directory to have this work)


 b) Manual installation

   Unzip the archive into a destination directory of your choice. Don't copy
   or move anything into the windows directory.
   Then create a shortcut (an icon in Windows 3.x) pointing to AMPW.EXE.

   Then you can setup file associations using a built-in dialog. To open it
   just click <OPTIONS> and then <File Associations>. 



 Upgrading from previous versions of AMPW
 ----------------------------------------

 If you have Windows 9x/Me then you can use either the manual procedure (see
 below) or the standard AUTOMATED installation to upgrade the player. In the
 later case you'll have to take care about two things:

 1. The automated installation goes into the directory "\Program Files\Amp\"
    If your old AMP was in another directory, you should copy the old INI file
    into the new location and then remove the old directory completely.

 2. The automated installation replaces your AMPW.INI with a new file.
    The old INI file (if it existed) is backed-up as AMPW.IN0 so you may want
    to copy it back over the new file.

 To upgrade the player MANUALLY you should just manually replace all files
 (except AMPW.INI) with new versions.

 After upgrading from version 1.x you should check the file associations using
 the dialog mentioned above.




7. UNINSTALLING
   ============

 a) Automated uninstalling (Windows 9x/Me only)

   Open the Control Panel, double-click Add/Remove Programs, then double-click
   "AMP for Windows" and wait for disk activity to stop.

 b) Manual uninstalling

   Delete the whole directory and shortcuts/icons you created.




8. USING THE PLAYER
   ================

 Since version 2.0, the player has got the enhanced user interface which is more
 convenient to the users. Now you can browse the playlist in both directions
 or jump directly to any song. New buttons are lit to guide the user and to make
 everything as intuitive as possible.
 The new user interface was designed as a superset of the previous one and
 the old keyboard shortcuts have been preserved when possible.

 The player keeps an internal queue (a "playlist") of modules to be processed.
 The playlist can be loaded from, merged with or saved to a disk file (default
 extension is AML) and edited with the internal playlist editor.
 NOTE: The playlist length cannot exceed 64 kBytes. When this limit is reached,
 a warning is displayed and remaining modules are discarded.

 Modules are fetched from the queue either sequentially or in a random order
 (the Random mode). They are kept in the queue (just marked as processed).
 When all modules were processed and the playlist looping is disabled, the
 playback terminates. Then you can rewind the playlist e.g. by selecting the
 <Next Module> command. Or you can create or load another playlist.

 If you want, you can start the player with modules or listfiles specified
 on the command line. Then all specified modules will be added into the queue
 and processed in a standard way. For more details on the command line
 arguments, see section #11.

 If you close AMP, the name of the current playlist file (if known) is saved
 for the next session - then the playlist would be auto-loaded when you start
 the player without any arguments.

 It's important to know that the synthesizer device is held only when the status
 is 'Playing' or 'Paused'. As soon as the playback stops, the AWE device is made
 available to other applications (e.g. MIDI player or sequencer).




9. BASIC COMMANDS
   ==============

 NOTE: Most commands and corresponding hotkeys are the same as in the DOS-based
 player.


 Playlist Editor

   Keyboard: Insert
   Mouse:    click the left-most button in toolbar

   Both the playlist and the file list allow multiple selections in a standard
   way (holding Ctrl or Shift, or dragging the mouse inside a list).
   You can easily add or remove a single module by double-clicking it.

   You can also insert a content of another playlist - just select the
   corresponding playlist file in the file window and press <Add>.

   You can also move single modules or groups of modules up and down as you
   wish.

   Those modules that have been already processed are marked by a leading space
   in the playlist window.

   Playback will continue while the editor window is open, but only within
   the current module.

   If you press Enter (or <Ok>) the action is as follows:
   1. if the playlist is empty and some modules are selected then they are added
      to playlist (this allows the fastest selection of modules to play)
   2. then, if the playlist is not empty, the editor window is closed and
      playback may get started  (see the description of the autoplay feature
      below)
   The side effect of this feature is that you can't clear the whole playlist
   from here. Use <NEW> command instead.


 Open Playlist

   Keyboard: Ctrl-O
   Mouse:    click <OPEN>

   The content of the playlist specified becomes the current queue.

   If the old playlist has been modified, you are prompted whether to update it
   on the disk.

   The listfile is a pure text file containing one filename per line.
   The processed files are marked by a leading space. Lines with leading ';',
   '#' are ignored.
   This simple format allows to create listfiles also by "DIR /B" or using
   a third-party software.


 Save Playlist

   Keyboard: Ctrl-S
   Mouse:    click <SAVE>

   You will have to type in a target file name or to confirm the existing one.


 New Playlist

   Keyboard: Ctrl-N
   Mouse:    click <NEW>

   This is the only way how to clear the internal queue completely.


 Next Module

   Keyboard: Enter
   Mouse:    click the corresponding button in toolbar

   If you are at the end of playlist you are asked whether to rewind it.


 Previous Module

   Keyboard: Backspace
   Mouse:    click the corresponding button in toolbar


 Pick A Song

   Keyboard: Ctrl-P
   Mouse:    click the track statistics (big numbers in cyan) on the main panel

   This command allows you to pick a song directly from the list.


 Remove Current Module

   Keyboard: Delete
   Mouse:    -

   This command allows you to delete the song from the playlist and optionally
   also from your disk drive.
   For safety reasons, you'll be presented with confirmation window.


 Play / Pause / Resume

   Keyboard: Space
   Mouse:    click the corresponding button in toolbar


 Stop / Rewind / Clear error

   Keyboard: Esc
   Mouse:    click the button with the little square in toolbar

   This button has got 3 different functions - the action depends on context.


 Fast Forward

   Keyboard: Up arrow
   Mouse:    click the arrow on the right of the horizontal slider

   Until you release the key or the button, the playback runs 4-times faster.
   No pattern data is skipped in this case.


 Pattern Back/Forward

   Keyboard: Left or Right arrow (this allows only skipping by a single pattern)
   Mouse:    click anywhere in the horizontal slider or drag the thumb on either
             side (the target position is being displayed on the main panel)

   Remaining pattern data is ignored in this case.
   Active notes are terminated so that they would not hang.


 Module Restart

   Keyboard: Ctrl-LeftArrow
   Mouse:    drag the thumb on the horizontal slider to the very left position

   Note that you can't restart a song after the playback has finished (like in
   the DOS-based player). Instead, the song has to be reloaded.
   This is a price for releasing the synthesizer device to another applications.

   Note that you can restart the song even from the paused state.


 Equalizer

   Keyboard: Ctrl-E
   Mouse:    click on the equalizer values on the right side of the main panel

   The child window is displayed which allows you to control all the equalizer
   settings including the effect parameters.
   The internal (fixed) effect types are marked by a leading asterisk.

   You can control these values also directly from keyboard (without invoking
   the equalizer window):
     -   +           Main Volume down/up
     F5  F6          EMU8000 equalizer Bass Level down/up
     F7  F8          EMU8000 equalizer Treble Level down/up
     F9  F10         Reverb Level down/up
     F11 F12         Chorus Level down/up


 Song Message / Instrument Info

   Keyboard: F4
   Mouse:    click on the song name (or anywhere on the left side of the panel)
             or double-click the caption bar of the main window

   This command toggles the Song Message (only if it is present) and Instrument
   Info windows. Note that you don't have to press Shift-F9 or other extra key.
   The columns displayed in Instruments Info are:
     - instrument name
     - instrument type: 8-bit, 16-bit, Adlib
     - sample length (in samples)
     - loop length (in samples)
     - downsampling factor (in octaves)
   If all IT instrument names are blank, then sample names will be shown. But in
   this case, the names may not correspond with remaining columns.

   To change the number of lines displayed, drag the window border by mouse
   or use the 'Size' command from the system menu.
   The range allowed is 5 to 31 lines of information. When the player is closed,
   the last value is saved for the next session (along with the font size and
   the main window position).


 Options

   Keyboard: Alt-O
   Mouse:    click <OPTIONS>

   This command invokes the configuration window.
   For details, see the next section.


 About AMP

   Keyboard: Alt-Space + A
   Mouse:    open the AMP's system menu and click About...

   The software versions of AMP and the Windows AWE driver are displayed
   as well as the amount of sample memory available on the sound card.

   NOTES:
    The usable RAM value depends on the current SBK protection mode. If SBKs
    have been overwritten, the whole sample memory becomes "usable" for AMP.


 Always On Top
 
   Keyboard: Alt-Space + T
   Mouse:    open the AMP's system menu and click "Always On Top"

   When this item is checked, the player's window maintains its topmost position
   even when it is deactivated. 


 Other important keyboard shortcuts are:
   F1                a simple help on the keyboard commands
   PgDn PgUp         scroll the Song Message or Instrument info
   Home End          for faster scrolling (also with Ctrl-key)
   Ctrl-PgUp/PgDn    - " -


 You can control the playback even if the player is minimized.
 The main transport control commands have been added into the control menu
 (reachable by a right click on the minimized player in Windows 9x/Me
  or a left click in Windows 3.x):
   - Next module
   - Previous module
   - Stop
   - Play / Pause / Resume
 NOTE: You can reverse the position of these commands by adding the following
 line into the [Settings] section in AMPW.INI:
    SysMenuReversed=1

 A second group of commands is available through standard AMP hotkeys if the
 minimized player has got the keyboard focus. These are:
   - Pattern skip, Fast forward, Module restart
   - volume, equalizer and effect level controls


 The autoplay feature
 --------------------

 When a new module is added, the playback would start instantly in these cases:
  - there were no unprocessed tunes left
  - you dropped the new module(s) into the caption bar of the player
  - you double-clicked the module(s) in Windows Explorer and the autoplay
    feature is enabled (see below for more information on autoplay)


 Finally, here is a brief summary how you can get modules into AMP:

   a) load an existing playlist (listfile)

   b) use the internal playlist editor

   c) double-click a module or listfile in the Windows Explorer (File Manager)

   d) drag and drop the module(s)/listfile(s) into the player's main window

   e) drag and drop the module(s)/listfile(s) into AMPW.EXE or into its shortcut

 NOTE:  If you add a listfile into a running instance of AMPW using the last
 four methods then all the items are queued as unprocessed and the name of
 a current listfile is preserved.
 The same thing happens also if you start AMP with multiple files specified
 in the command line.




10. PLAYER OPTIONS
    ==============

 Repeat each song

   If this mode is ON, each module is replayed again and again until you stop it
   or switch to another one. Possible internal song loops are preserved here.

   If this mode is OFF the player removes all kinds of song loops.
   NOTE: The loop detection works at the pattern level (it may fail only if some
   patterns are splitted into non-continuous parts).


 Repeat the playlist

   The playlist will rewind automatically if this option is ON.


 Random (shuffle)

   In this mode the modules will be fetched from the queue in a random order.


 Disable autoplay

   Check this option if you want to disable the autoplay feature.

   Then, adding new modules by double-clicking on them in Windows Explorer will
   not interrupt the playback of the current song.


 Exit when finished

   In this mode the player is closed after the last module was played or after
   you pressed <Stop> or <NEW>.
   This option is suitable for starting AMP by double-clicking modules in 
   Windows Explorer or File Manager.


 Pause between songs

   In this mode the playback would stop after each module.

   To play the whole playlist without any user intervention you have to set the
        Pause mode  = OFF
        Repeat mode = OFF
        Show errors = OFF  (if you wish to skip possible error messages)


 Show errors

   If this mode is ON, error messages are displayed in a message box
   (and they need to be acknowledged).

   HINT: If you're having unexplained problems with the player, enable this
   mode to see the error messages.


 Forced module loading

   Modules will be loaded even if there is not enough sample memory (but then,
   some samples will be missing).

   NOTES:
   The value 'AweMem' on the main panel indicates the sample memory used for the
   current module.
   The total and free sample memory is displayed in player's About window.


 Save playlist position

   If the playlist's file name has been assigned, the file will be updated
   (for the next session) when AMP terminates.


 Skip EMU8000 initialization

   On some sound cards, a click is heard each time the synthesizer chip is
   initialized. This option was added as a workaround for this problem.

   If you hear clicks when modules start loading, you should enable this option.
   You should also verify that the version of your AWE driver (SBAWE.VXD) is
   4.33.3 or newer.


 SBKs loaded

   Here you can choose a level of protection for SBKs being loaded in sample
   memory:
    0. Overwrite     - the memory will be overwritten without notifying the user
    1. Warn at exit  - the user will be notified if SBKs have been overwritten
    2. Ask before... - the user will be asked before overwriting any SBKs
    3. Protect       - the memory used by SBKs will never be used
    4. Swap to disk  - the SBK data is saved to a temporary file and restored
                       when the player exits. 

   NOTES:
   Windows MIDI drivers allocate the sample memory from the top. AMP allocates
   memory from the end. The protection works only if the sample memory is not
   fragmented.
   (Fragmentation occurs if you load multiple SBKs and then you clear any SBK
   except the last one)


 Smooth Attacks

   There are 3 modes of the attack control:
     0. Never           - the attacks are always fast (zero attack time)
     1. Looped samples  - the attacks are smooth for looped samples only
     2. Always          - the attacks are always smooth (6 ms attack time)
   If you prefer a perfect reproduction of percussion instruments, you
   should use "Never".
   On the other hand, if you prefer to hide all clicks produced by poorly
   sampled instruments, you should use "Always".
   The mode 1 is meant as a compromise because the percussion samples are
   mostly not looped.

   NOTES:
   Fortunately, songs having clicks are very rare. Such clicks show up also in
   other MOD players, obviously. You have to complain to the one who created
   those bad samples.
   Changes are applied immediately when you press <Ok> or <Save>. You don't need
   to reload the current module.


 Timer precision

   This option serves mainly for diagnostic purposes. It's recommended to leave
   it set to "Auto" (which means 5ms for 386 machine and 3ms for 486 or better).


 Default panning separation

   This is the initial panning separation of the left/right MOD/S3M channels
   (0..100%, default 56%). It is similar to the N switch in the old DMP player.


 Downsampling control

   Here you can specify the pitch safety value in semitones (1 to 24).
   Zero has a special meaning - it disables downsampling at all.

   Explanation:

   The synthesizer chip (EMU8000) does not allow playback sampling rates over
   176.4 kHz (two octaves above 44.1 kHz). This limit would never be reached
   if composers were using professional quality multisampled instruments,
   but this is not the case of tracked music. Here musicians often use a single
   sample for a range of 3 octaves or even more. So, to keep the output
   sampling rate below the hardware limit at all times, AMP must crunch
   (downsample) some samples. It works as follows:
   First the loader scans all patterns to find a highest note for each sample.
   Effect commands are not taken into account as the process would get too
   complex and slow. Then samples are crunched so that the final playback
   sampling rate keeps under a certain critical frequency all the time.
   Samples can be crunched by 1,2,3 or 4 octaves... i.e. 2-16 times.
   The critical frequency is what you specify by the downsample control value.
   For users' convenience it is specified as a distance from the hardware limit
   in semitones (instead of a frequency in [Hz]).

   The default value of one octave (12 semitones) means that samples will be
   downsampled so that the highest note won't exceed the virtual sample rate
   of 88.2 kHz.

   Very small values are not recommended as there must be some range left for
   vibratos and slides. Another reason is that EMU8000 doesn't avoid an aliasing
   distortion when doing a pitch up-shifting, therefore it's better to avoid
   virtual sample rates above 44.1 kHz.


 Effects directory

   The directory where your FXR and FXC files reside. If you've configured it
   correctly you'll be able to see and use your custom effect types as well.

   An example: c:\awefxws\  (the final backslash is appended automatically)

   NOTE: All effect files should be placed in a single directory. Don't use
   the original AWEFXWS subdirectories (named FXC and FXR).


 Initial data directory

   Here you can override the starting data directory used by AMP.

   An example: d:\modules\kosmic
   
   NOTE: Command line arguments are processed before this setting applies.


 Initial values

   These are equalizer and effect settings that will be set when the player
   is started next time.
   The initial volume can be set to "Auto" (it replaces a zero value). In this
   case, the initial volume will be set for each module loaded and its value
   will depend on a number of channels used in that module.
   The volumes above -8 dB are not recommended (sound distortion can appear).


 Get current values

   This button allows you to import the current equalizer values.


 Font size

   You can choose the size of Windows OEM font that is used in the main window.
   To display the pseudographic characters correctly, only fixed pitch fonts
   with OEM (MS-DOS) character set are available.
   The size of the main window depends directly on this setting.
   NOTE: The font size and the window placement are saved every time the player
   is closed.


 File Associations

   By selecting this button you invoke a dialog where you can specify which file
   types to associate with AMP player.
   Note that you can register the default listfile extension (AML) as well.
   You can also check the current associations here.

   NOTES:
   The associated file types will also be assigned new (custom) icons.
   Deselecting extensions that have been associated previously has no effect.


 Save button

   The displayed values are saved to AMPW.INI.




11. COMMAND LINE ARGUMENTS
    ======================

 You can specify one or more modules and/or listfiles on the command line.

 The listfiles (i.e. saved playlists) are distinguished by a leading '@'.
 You can omit the '@' for files with extension 'AML' or 'LST'.

 You can use wildcards in module names. The standard module extensions may be
 omitted.

 You can use relative pathnames as well.

 You can override the default options (saved in AMPW.INI) by specifying any
 number of the following command line switches (they are not case sensitive
 and they have to be preceded by either '-' or '/'):

   -S    Repeat each song
   -L    Repeat the playlist
   -P    Pause mode
   -N    Random mode (shuffle)
   -W    Show errors
   -F    Forced module loading
   -Y    Save playlist position
   -X    Exit when finished

 The modes can be reset from the command line by appending the minus sign
 (for example -S-).

   -Gn   Default Panning      n = 0..100 [%]
   -Mn   Volume               n = 0..-70  [dB, without a minus sign]
   -Bn   Bass                 n = -12..+12 [dB]
   -Tn   Treble               n = -12..+12 [dB]
   -Rn   Reverb Level         n = 0..100 [%]
   -Cn   Chorus Level         n = 0..100 [%]
   -Et   Reverb Type          t = valid effect name (or FXR file)
   -Ot   Chorus Type          t = valid effect name (or FXC file)
   -Dn   Downsample Control   n = 0..24 [halftones]
   -An   Smooth Attacks       n = 0/1/2  (never / looped samples / always)
   -Kn   SBK protection       n = 0/1/2/3/4  (see the description above)
   -Un   base port in hex, e.g. 620 (when there are multiple AWE cards present)
         You can also add the following line manually into the section
         [Settings] in AMPW.INI:
            EmuBasePort=620


 Examples of use:

  a) To play all modules from a directory (with MOD/NST/MTM/S3M/XM/PTM/IT
     extensions) you can create the shortcut as follows:
        AMPW  E:\MODULES\*

  b) To play your favorite songs in random order without any user interaction:
        AMPW  E:\MODULES\MY-BEST.AML -N -P- -S-

  c) To play specified modules with looping enabled:
        AMPW  E:\MODULES\DOPE  C:\*.XM  -S

  d) To play all modules from a directory sub-tree:   (hint by Roger Dahl)
        DIR /B /S /A-D  E:\MODULES  >ALL.AML    (to create a listfile)
        AMPW  @ALL.AML




12. UNSUPPORTED MODULE EVENTS
    =========================


 Unsupported pattern effects (commands):
  - Set Filter             (unsupported by ST3/FT2/IT; Amiga HW specific effect)
  - Funk Repeat            (unsupported by ST3/FT2; I've never seen it)
  - MOD/PTM/MTM Set Finetune  (an obsolete effect with no proven standard)
  - PTM effects J,K,L,M    (does anybody know their function?)
  - IT MIDI Macro Select   (SFx - I've never seen it used)

 All other pattern effects are supported.

 The S3M AdLib instruments and channels are ignored.
 Up to 128 instruments are used in PTM modules.
 The surround panning is not supported because then modules would eat twice the
 sample memory and time to load.

 Remaining IT limitations:
  - IT sample sustain loops are emulated by normal loops.
    I've never seen a sample with a real sustain loop.
    Impulse Tracker itself also does not support sustain loops with AWE32.

 All other IT features are fully supported (NNAs, DCTs, background channels,
 envelopes, new pattern effects, sample vibrato, volume and panning swing,
 resonant filters incl. envelopes, carry envelopes etc.).




13. RECOMMENDED EQUALIZER SETTING
    =============================

 When replaying a song, there are 2 or 3 equalizers in chain:
     1. the digital EQ inside EMU8000
     2. the analog EQ in AWE mixer (controlled by SB16SET or a Windows mixer)
     3. and possibly an equalizer on your external amplifier

 I believe that only one EQ in the chain should be used. So, I decided to set
 the default bass and treble levels of the EMU8000 equalizer to 0 dB.
 But EMU8000 hardware has a default treble level equal to approx. +10 dB.
 That's why you can hear less high frequencies than in some other AWE players
 which use the hardware default setting.



14. DISCLAIMER
    ==========

 This software program is spread "as is", without express or implied warranty
 of any kind. In no event will author of this software program be liable for
 any special, incidental or consequential damages resulting from possession,
 use or malfunction of this software product.



15. THE LICENCE AGREEMENT AND COPYRIGHT
    ===================================

 This program is distributed as freeware, but only for NON-COMMERCIAL use.

 No payment of any kind may be charged for this product or any combination of
 products or services including this product without my authorization and
 official written license.

 The software can be made available on Internet and BBS sites, as well as
 included on CD-ROMs containing other shareware/freeware programs provided
 that all files are distributed in their original unaltered form, preferably
 in the original archive.

 The software is owned by its author and is protected by copyright laws.
 You may not remove the copyright notice from any copy of the software.
 Reverse engineering or patching of this program are a violation of the
 copyright and are strictly prohibited. Any violation against this rule
 may be subject to prosecution under copyright law.

 By installing and/or using the AMP software, you are hereby agreeing to
 all these license conditions.




16. FUTURE PLANS
    ============

 This is probably the final version of AMP for Windows.

 AWE32 compatible soundcards became rather obsolete. One of the reasons is
 that most of today's PC mainboards come without ISA slots.

 Currently I have no plans to further develop this piece of code.




17. COMMON QUESTIONS AND ANSWERS
    ============================

Q. Where to get some nice tunes (modules)?
A. There are numerous Internet sites with gigabytes of tracked music.
   You can start with one of these links:

     http://www.scene.org
     ftp://ftp.scene.org/pub/music/
     ftp://ftp.se.scene.org/pub/demos/scene.org/music/
     http://www.scenemusic.org
     http://www.modarchive.com
     http://ftp.stenstad.net/pub/modules/
     http://www.kosmic.org

 Q. Where can I find the latest AMP version?
 A. It is likely to be found at these locations:

     "MAZ Sound Tools"
        http://www.maz-sound.com/awe.html

     "Slovak Antivirus Center FTP"
        ftp://ftp.elf.stuba.sk/pub/pc/sound
        ftp://ftp.sac.sk/pub/sac/sound
        ftp://ftp.vse.cz/pub/msdos/SAC/pc/sound

 Q. How to check the version of AWE drivers?
 A. All the versions are displayed in the AMP's About window.
    You can also check the Windows drivers directly as follows:
    Windows 3.x:  Control Panel -> Drivers -> SB AWE32 MIDI Driver -> Setup
    Windows 95/98: Settings -> Control Panel -> System -> Device Manager
                -> Sound... -> Advanced Wave Effects... -> Properties
                -> sbawe32.drv

 Q. Where to get updated Windows AWE drivers?
 A. The most preferable way is from Internet (www.creaf.com or ftp.creaf.com)

 Q. Why isn't Windows NT/2000/XP supported?
 A. NT has a different device driver architecture - the audio drivers do not
    virtualize the access to the sound card. It means that applications cannot
    control the synthesizer chip directly.
    There is no standard way how to use hardware mixing in a module player
    under NT - without rewriting the AWE32 driver.

 Q. Would it be possible to port your code to use DirectMusic for hardware
    synths?
 A. I examined the DirectMusic API when it was introduced by Microsoft. 
    Unfortunately I found it unusable for a module playback. 
    The major problem is that DirectMusic imposes some stupid limitations (e.g.
    all loops have to start at the beginning of the sample) and does not provide
    a sufficient control over voice channels.

 Q. Why the player is not a 32-bit application?
 A. There are multiple reasons:
     1. The whole Windows multimedia system is 16-bit based (even in Windows 95)
     2. 16-bit multimedia applications have more accurate timing than 32-bit
        app's (you can check MSDN for details)
     3. There are people still using Windows 3.x

 Q. Are you planning to make the Win32 or Linux version of AMP ?
 A. Currently I have no such plans. Reasons are: 
    - the source code is not portable (due to many 16-bit specific constructions
      and optimizations)
    - lack of time for coding

 Q. Can I use my playlists with a DOS version of AMP?
 A. Yes. Just make sure that you have the DOS player v2.1 or newer.

 Q. I've got only 512kB sample memory. Why doesn't AMP shrink samples in order
    to push them into my sound card?
 A. After many experiments with the resampling feature I've decided not to
    support sound cards with a very small amount of sample RAM.
    The reason is that I prefer sound quality and fidelity (these are
    still and forever the main goals of AMP player).
    Let's take an example: If 1MB of 8-bit samples has to fit into 512kB sample
    RAM (== 256k samples), most samples would be reduced by factor of 4.
    Every such downsampling involves a big loss of high frequency parts.
    HINT: To hear the difference, just set the Downsampling control to maximum
    (24 semitones) and try listening to a couple of today's huge modules.

 Q. Is there any method to use computer RAM (I have 16 MB) to load samples for
    playing mods larger than 300kB?
    Why not use the normal SB16 DAC to play those instruments that don't fit
    into sample memory? 
 A. Unfortunately, it is not possible. The EMU8000 synthesizer has got no access
    to the system RAM and I have no plans to implement any kind of SW mixing.
    Anyway, I think that it shouldn't be a problem for anybody to add some
    sample memory to his/her card now, when SIMMs are as cheap as never before.
    But if your sound card is a Value Edition one, with no SIMM sockets on it,
    then you're out of luck - you'll either have to get a better one, or switch
    to one of the many software mixing players for SB16.

 Q. Sometimes the font used in main window gets changed. Why?
 A. This is a known internal bug in Windows. The problem may appear e.g. when
    a DOS based application is started or terminated.
    You can repair the screen by changing a font size temporarily in player's
    options. Sometimes pressing F4 can help as well.

 Q. I've got two AWE32 compatible cards installed. How can I specify which one
    to use?
 A. Add the 'EmuBasePort' line manually into your AMPW.INI (as described above),
    or use the -U option on the command line.
    NOTE: Multiple hardware instances of AWE are not supported in Windows 3.x
    architecture. There are no problems under Windows 9x/Me.

 Q. Can I use AWE Control Panel to play sounds or to load SBKs while AMP is
    playing?
 A. Although it's very strange, drivers allow to control the EMU8000 hardware
    through AWEMAN API even if it is owned by other application (e.g. by AMP or
    a MIDI sequencer). But this is very dangerous and you can expect a lot of
    trouble, including a total crash of your system when you try to do it.
    So, you can have AWECP running simultaneously, but do not make any changes
    while AMP is replaying a song.
    The same limitation applies to AweToy or similar utilities.

 Q. I experience delays in playback when I'm accessing my floppy drive.
 A. It happens every time when the OS kernel or some device driver disables
    the CPU interrupts (mostly when a floppy disk is transferring the data,
    when a new application is launched, or when a window is being scrolled with
    an old VGA card).
    The same delays would appear in all multimedia applications, of course.

 Q. There is one more feature I would appreciate: Writing the output as WAV
    files.
 A. The EMU8000's output is not available as digital data directly. Simply,
    there is no data path.
    The only way how to record the sound without quality loss is by using
    a sampler, DAT or a minidisk recorder connected to the sound card's digital
    output (SPDIF interface). You can also use the digital input of the new
    Sound Blaster Live for this task.
    Anyway, you can obtain good recordings by sampling the output with the
    internal A/D converter on the SB AWE card. No external cabling is required
    for this analog path. If you sample at full rate (44.1 kHz) with all other
    inputs (except the MIDI synth) muted, you should get quite good quality.

 Q. I'd like to know how to pronounce your name correctly.
 A. If you have the Creative Text Assist software installed, launch Text Assist
    Dictionary, type "laadya kopetzki" (without the quotes) into the Sound Like
    box, and then push Say It. What you get is not too far from reality. :-)

 Q. I'm not able to associate the "Pm" (PolyTracker) extension. What's the
    problem?
 A. The reason may be that your system has not been properly configured
    for conversion of international characters.
    Check your SYSTEM.INI for the following lines:
      [keyboard]
      oemansi.bin=xlat850.bin   <replace <850> with your native code page>
    This should solve the problem if you are using Windows 9x.

    For Windows 3.x, this is not enough because its system registry does
    not support characters above 7Fh in the key names. The only way how
    to associate Pm files under Windows 3.x is to modify the [Extensions]
    section in WIN.INI.

    To avoid problems described above, I recommend to rename such modules
    to PTM extension.

 Q. Sometimes a click is heard when a module starts loading. How to avoid it?
 A. Ensure that the "Skip EMU8000 initialization" option is enabled.
    You should also verify that the version of your AWE driver (SBAWE.VXD) is
    4.33.3 or newer.
    The reason for this click is unknown. I just know that it depends on
    a sound card type - a native AWE32 (legacy) is not affected.

 Q. Does AMP work with the new Sound Blaster Live?
 A. No, it does not work as the new synthesizer chip (EMU10K1) is not backward
    compatible with EMU8000.

    For the SB Live line of cards you need to get the new AMP clone, called LMP.
    To download it, check the official AMP distribution sites.




18. CONTACTING THE AUTHOR
    =====================

 If you wish to contact me for any reason, mail to <kopecky@tsoft.cz>.
