**********************************************************************
*                                                                    *
*  PAULA.ACC  -  an Amiga-MOD-file-player for the Atari TT & STE     *
*  written by Pascal Fellerich                                       *
*                                                                    *
*                                                    v1.8  13.5.1992 *
**********************************************************************


 FREEWARE:
 ---------
   The 1.x releases of this modfile player are freeware. This means
   that PAULA may be freely distributed as long as the files PAULA.ACC
   and PAULA*.TXT are kept together.
   Any modifications of these files are forbidden.
   The distribution through BBS systems and Public Domain pools is
   allowed.

    1992 by P. Fellerich.


 THE VERSION HISTORY:
 --------------------
v1.8c, 13.5.92
    * Vibrato-interpretation corrected (for the x-th time!)
v1.8b
    * Bugfix in mod-errorchecking routine
v1.8a
    * Autoload feature
v1.8, 20.4.1992
    * Amiga-soundchip-emulation has been rewritten entirely. Now Paula
      can also:
    * play samples of up to 64 KB (a long awaited feature)
    * loop samples correctly (same as the Noisetracker)
    * interpolate samples - that improves the sound considerably
      [ only for people who have 2..3 MIPS superfluous CPU power]
    * 'Autorepeat' correctly a module. This feature didn't work
      correctly until this version.
    * do an extensive check of the internal structures of a MODule.

v1.7, 11.4.1992
    * Small bugfix in the vibrato-routine. Now the module 'SKIDROW' is
      played without 'smear'-effects

v1.6, 24.9.1991
    * TIMER A is no longer used. Now it's possible to use the MFP-timer
      as a timing source for doing digital output on the Yamaha
      soundchip.
    * LongWord-version specially for 32 bit systems. This reduces the
      bus load a little an a TT.
    * Yet another bugfix done to the songdata interpreter.

v1.5, 6.8.1991
    * the frequency conversion tables are calculated at runtime.
    * 50 KHz support added.
    * new 'Noisetracker'-commands are now implemented.
    * done some optimizations as well as some bug fixing. 64 KB samples
      are now accepted; but only the first 32 K are played.
    * improved error checking routines.

v1.4, 31.7.1991  (first official release)
    * Fixed a very nasty STE-bug (TOS 1.6: MXALLOC->MALLOC!)
    * Fileselector-call improved / changed.
v1.3, 29.7.1991
    * Can also be used on STE's.
v1.2, 25.7.1991
    * Volume control implemented, changed internal sample handling.
v1.1, 24.7.1991
    * 2nd hack: selfmodifying code thrown out. Bug related to MFP-timer
      A fixed.
v1.0, 21.7.1991
    * first working hack...



 SYSTEM REQUIREMENTS:
 --------------------

   - PAULA runs on the Atari TT, STE and on other machines which:
      1. run TOS as operating system
      2. have the STE/TT DMA-soundchip
     However, only the faster machines allow decent background use of
     the accessory; a normal STE with 8 MHz is not capable of doing
     25KHz sampling frequency (without interpolation). The so-called
     optimized programming using self modifying code is indiscutable.
     That's the cache's job.

   - The screen resolution / graphic card and TOS release is not
     important.


 INSTALLATION:
 -------------

   - The same procedure as every year, James! - eh, the same procedure
     as with every other accessory.


 USER'S GUIDE:
 -------------
   The main dialog box of Paula has the following elements:

   - Modfile-title: here the title of the currenty loaded MOD-file is
   shown.

   - Playback frequency: sets the frequency used to replay the
   Amiga-files. Note that this does not affect the speed or the pitch
   of the music but only the quality. As the given frequency has to be
   divided by 2 in stereo mode the highest sound frequency which can be
   reproduced is (12.5/2/2) = 3.1 KHz for the 12.5 KHz position and 6.2
   KHz for the 25 position. Demonstration of this sampling theorem was
   done by Claude Shannon, not by me...
   IMPORTANT: the playback freq. setting is only read out once when the
   player starts.

   - Interpolate: The Amiga uses variable sampling rates, which can
   become very low for low notes. This introduces some amount of
   aliasing components, which distorts the original sound because there
   is no adaptive filter which could suppress these effects.
   With interpolation, Paula introduces several intermediate sample
   values which dramatically improve the sound quality. Problem: the
   heavy CPU load.
   INFO: If there is not enough CPU time left for doing interpolation,
   Paula will switch off this option automatically.

   - Autorepeat: if enabled, the modfile will be repeated when the end
   is reached.

   - Load MOD-file: loads a new file. The format of these files is the
   same as with the so-called 'sound-trackers' or 'noise-trackers'
   which are available for the ST and the Amiga.
   Paula will refuse damaged MODfiles. However, if you have such a file
   you still have the possibility to load it with a
   NOISETRACKER/SOUNDTRACKER program and fix the file. It sometimes
   happens that the last sample is too short!

   - PLAY: starts the player. If you haven't loaded a file till now
   you will get a fileselector requesting you to load a file first.

   - STOP: clear.

   - EXIT: quit the accessory. If the player isn't active when leaving
   the main dialog, a loaded modfile will be discarded (from memory, of
   course) so that it must be reloaded next time.

   - INFO: version number and the author's name are found here.

   And as a little bonus:
   The AUTOLOAD feature. If you put a file called 'AUTOPLAY.MOD' in the
   same directory as the ACC, Paula will load this file and start
   playing it using the default settings (TT: 25 KHz Interpolation,
   STE: 12.5 KHz normal)



 BUGS AND LIMITATIONS:
 ---------------------

   - The ZIP-packer 'STZIP 1.1' crashes. When PAULA is running STZIP
   crashes when you doubleclick a file in the ZIPfile window in order
   to browse through it.

   - Sound quality: At 50 KHz with interpolation PAULA (the accessory)
   sounds better than Paula (the Amiga chip). This is partly due to the
   lacking 7 KHz low-pass filter. For those who don't believe it:
   read about it in the 'AMIGA HARDWARE REFERENCE MANUAL'
   (Addison-Wesley, ISBN 0-201-18157-6).
   The player has still problems with a relatively poor S/N ratio of 48
   dB when playing modules at a very low volume level. This is subject
   to change (+6 dB and +12 dB boost). At this point the Amiga is
   better: it has four separated volume registers introducing another
   36 dB dynamic range.

   - Resolution change: before you change resolutions you MUST stop
   Paula. If you don't the Atari will bomb.

   - other DMA-sound replayers: they may stop PAULA, but they won't
   cause a system crash.



 INFOS for specialists and hardware guru's.
 ------------------------------------------

   - PAULA is completely written in assembler.
        * Assembler: Turboass 1.76
        * Debugger:  Templmon 1.16 .. 2.01
        * Hardware:  TT030/8

   - In order to use as little as possible of the CPU time PAULA should
   be loaded into TT-FastRAM (if available). The processor's cache
   should also remain enabled if you don't want to see your TT running
   at ST speed. The code of the replay routine has been optimized for
   maximum performance using the processor's cache. This applies mainly
   to the 68020 / 68030 cache (who has already the 68040 ????)

   - The YAMAHA (or 'GI') soundchip isn't disabled. Keyboard click and
   bell sounds will not be affected.

   - Speed and pitch of the music could be adjusted independently.
   PAULA simulates the soundchip of an NTSC-Amiga running with 7.15909
   MHz (PAL: 7.09379 MHz).

   - CPU load:
     not yet measured with v1.8

   - MODfile COMMANDS:
      $0  Arpeggio
      $1  Portamento_up
      $2  Portamento_down
      $3  Noteslide
      $4  Vibrato
      $5 bis $9
          --unused--
      $A  Volumeslide
      $B  Position
      $C  Set_volume
      $D  Patternbreak
      $E  Set_filter    (ignored!)
      $F  Set_speed





 AUTHOR:
 -------

 Send your bug reports, congratulations and $$$ to:

   Pascal Fellerich
   45, rue des Genets
   L-3482 Dudelange
   (Luxembourg)


 or through FIDONET:

    NoName Box Luxembourg, (Tel 00352/595243, 300-14400 Bps HST, V.32b)
    2:270/16.3, Pascal Fellerich


-----<eof>-------------------------------------------------------------
