**********************************************************************
*                                                                    *
*  PAULA.ACC  -  ein Amiga-MOD-File-Player fr den Atari TT & STE    *
*  geschrieben von Pascal Fellerich                                  *
*                                                                    *
*                                                    v1.8  13.5.1992 *
**********************************************************************



 FREEWARE:
 ---------
   Die Versionen 1.x dieses ModFile-Players sind Freeware. Das
   bedeutet, da PAULA kostenlos weitergegeben werden darf, unter der
   Bedingung, da die Dateien PAULA.ACC und PAULA.TXT zusammen bleiben.
   Vernderungen am Programm und an den zugehrigen Dateien sind
   untersagt.
   Die Verteilung ber Mailboxen und PD-Sammlungen ist ERLAUBT.

    1992 by P. Fellerich.



 FR EILIGE: DIE VERSIONSHISTORY.
 --------------------------------
v1.8c, 13.5.92
    * Vibrato-Interpretation korrigiert.
v1.8b
    * Fehler in der Fehlerabfrage behoben
v1.8a
    * Autoload Feature
v1.8, 20.4.1992
    * Amiga-Soundchip-Emulation komplett neu geschrieben. Paula kann
      nun endlich auch
    * Samples von bis zu 64 KB abspielen (wurde auch Zeit)
    * Geloopte Samples hundertprozentig abspielen
    * Miese Samples interpolieren (Stichwort Oversampling!)
      [ fr Leute mit 2..3 MIPS berflssiger Rechenleistung ]
    * 'Autorepeat' funktioniert endlich so wie geplant: Der Song wird
      ab der im NoiseTracker eingestellten Repeat-Positon wiederholt!
    * Schnellere Frequenztabellen-berechnung.
    * Verbesserte Fehlerabfrage bei der Initialisierung der MOD's.

v1.7, 11.4.1992
    * Kleine Korrektur in der 'Vibrato'-Routine. SKIDROW.MOD wird nun
      endlich ohne Schmiereffekte abgespielt!

v1.6, 24.9.1991
    * TIMER A wird nicht mehr benutzt. Damit knnen auf die altbekannte
      Art und Weise mit dem Yamaha-Soundchip digitale Effekte erzeugt
      werden, ohne dabei PAULA zu stren.
    * LongWord-version fr 32 bit systeme. Spart einige Prozent
      Rechenleistung auf dem TT.
    * Kleine Korrekturen am Songdaten-Interpreter.

v1.5, 6.8.1991
    * Berechnet Frequenzumrechnugstabelle bei Bedarf selbst (spart
      Speicherplatz)
    * 50 KHz Abspielen eingebaut.
    * Neue 'Noisetracker'-Kommandos implementiert
    * Optimierungen & Debugging vorgenommen: Playroutine frit nun auch
      64 KB Samples; jedoch werden nur die ersten 32 K abgespielt.
    * Bessere Fehlertests -> kaputte Modfiles werden besser
      ausgewertet; Katzenmusik wird, wenn mglich, vermieden.

v1.4, 31.7.1991  (erste verbreitete Version)
    * Bser STE-Bug behoben (TOS 1.6: MXALLOC->MALLOC!)
    * Fileselector-Aufruf debuggt.
v1.3, 29.7.1991
    * Auch fr STE/MegaSTE benutzbar gemacht.
v1.2, 25.7.1991
    * Lautstrken eingebaut, interne Samplebehandlung vollstndig auf
      SIGNED CHAR umgestellt.
v1.1, 24.7.1991
    * 2ter Hack: Selbstmodifizierenden Code (noch vom ST geerbt!)
      rausgeschmissen, Fehler im Timer-A Interrupt behoben.
v1.0, 21.7.1991
    * erster Hack



 SYSTEMVORAUSSETZUNGEN:
 ----------------------

   - PAULA luft auf dem Atari TT, STE und auf Rechnern, die:
      1. TOS als Betriebssystem haben
      2. den STE/TT DMA-Soundchip haben
     Ein sinnvoller Betrieb mit anstndiger Ton-Qualitt im Hintergrund
     ist aber nur den schnelleren Maschinen vorbehalten; ein normaler
     STE mit 8 MHz schafft 25 KHz Normal-modus _nicht_ mehr!
     Sogenannte 'optimale' Programmierung mit selbstmodifizierendem
     Code kommt fr mich gar nicht in Frage. Wozu hat man einen Cache!?

   - Die Bildschirmauflsung / Grafikkarte, TOS-Version etc ist egal.



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

   - Die gleiche Prozedur wie bei jedem ACC. (kann auch mit Chameleon
     geladen werden)



 ANLEITUNG:
 ----------
   Folgende Elemente befinden sich in der Dialogbox:

   - Modfile-Titel: Wird direkt unter dem Titelbalken angezeigt.

   - Playback frequency: bestimmt die Frequenz, mit der der
   DMA-Soundchip des TT die Datei abspielen soll. Dies beeinflut nicht
   die Abspielgeschwindigkeit oder Tonhhe, sondern nur die
   Tonqualitt. Da die angegebene Frequenz bei Stereobetrieb fr beide
   Kanle gilt, errechnet sich die maximale Tonfrequenz eines Kanals mit
   (samplefreq/2/2) - also 3,1 KHz bei Einstellung 12.5 KHz und 6.25
   KHz bei Einstellung 25 KHz. Das ist nicht meine Erfindung, sondern
   die eines gewissen Herrn Claude Shannon...
   WICHTIG: die Einstellung wird erst beim nchsten PLAY-Kommando
   bernommen.

   - Interpolate: Die Amiga-Samples werden, besonders fr tiefe Tne,
   mit sehr niedrigen Abtastraten ausgegeben. Dadurch entsteht auf dem
   TT/STe ein Anteil von hochfrequenten Strgeruschen, was nicht nur
   schlecht klingt sondern auch die Hochtner der Stereoanlage stret.
   Durch die Interpolation knnen die Originalsamples geglttet werden,
   so da die Strgerusche (Aliasingprodukte) verschwinden.
   Klartext: Der Sound verbessert sich stark, es kostet allerdings
   vieeel Rechenzeit...
   INFO: Wenn die Rechenzeit nicht mehr fr die Interpolation
   ausreicht, schaltet Paula sie automatisch ab!

   - Autorepeat: bei eingeschalteter Option wird beim Erreichen des
   Song-Endes ab der Repeat-Position wieder begonnen. Meist ist das der
   Anfang des Songs.

   - Load MOD-file: ldt eine Datei. Das Format ist das der sog.
   Soundtracker/Noisetracker, die es fr Amiga/ST/STe wie Sand am Meer
   gibt - aber bitte UNKOMPRIMIERT.
   Paula kontrolliert soweit wie mglich alle internen Strukturen in
   der MODfile. Textdateien lassen sich nicht mehr abspielen. Sollte
   aber einmal eine MODfile als 'corrupted' gemeldet werden, bleibt die
   Mglichkeit, sie mit einem der NOISETRACKER/SOUNDTRACKER Programme
   zu laden und den Fehler zu beheben. Es kommt manchmal vor da der
   letzte Sample zu kurz geraten ist!

   - PLAY: Startet die Musik. War noch keine Datei geladen, erscheint
   genau wie bei LOAD die Fileselektorbox.

   - STOP: Klar.

   - EXIT: Verlt die Dialogbox. Wenn dabei der Player nicht aktiv
   war, wird die eventuell geladene Datei aus dem Speicher entfernt.

   - INFO: Versionsnummer und Autor finden sich hier...

   Und als kostenlose Zugabe: Die AUTOLOAD Funktion. Wenn im gleichen
   Directory wie Paula sich eine Datei mit dem Namen 'AUTOPLAY.MOD'
   liegt, wird sie geladen & gespielt (mit den Defaultwerten, also beim
   TT 25 KHz Interpolation, STE: 12.5 KHz normal).



 BUGS & LIMITATIONS:
 -------------------

   - Unvertrglichkeiten mit STZIP v1.1: Wenn PAULA luft, strzt STZIP
   beim Anzeigen einer Datei aus dem Archiv (Doppelklick ins
   ZIPfile-Fenster) ab.

   - Soundqualitt: Bei 50 KHz Samplingfrequenz mit Interpolation
   klingt Paula (Die Emulation) besser als Paula (Der Amiga-Chip).
   Das liegt vor allem an dem fehlenden Filter; dadurch wird die
   erreichbare obere Grenzfrequenz direkt durch die Samplingfrequenz
   bestimmt, und nicht durch einen 7 KHz Tiefpa...
   Skeptiker mgen sich einmal einen Amiga sowie dessen Hardware
   Reference Manual (Addison-Wesley, ISBN 0-201-18157-6) auf die Lunge
   ziehen.
   Probleme mit zu geringen Rauschabstand (48 dB) gibt's in Verbindung
   mit extrem leisen MODfiles. Daran wird gearbeitet (+6 und +12 dB
   Boost mit Softclipping). Da ist der Amiga im Vorteil, denn er
   besitzt 4 getrennte Lautstrkesteller mit 36 dB Stellbereich, fr
   jeden Kanal einen.

   - Auflsungswechsel: vor Auflsungswechseln mu der Player gestoppt
   sein! Also sicherheitshalber PAULA aufrufen, STOP anklicken, dann
   mit EXIT raus. Ansonsten _wird_ es krachen.

   - andere DMA-Soundplayer: provozieren manchmal einen unfreiwilligen
   STOP, keinen Absturz.




 INFOS fr SPEZIALISTEN:
 -----------------------

   - PAULA.ACC ist komplett in Assembler geschrieben.
        * Assembler: Turboass 1.76
        * Debugger:  Templmon 1.16 ... 2.01
        * Hardware:  TT030/8

   - Um mglichst wenig Rechenzeit zu verbraten, sollte PAULA komplett
   ins FASTRAM geladen werden (soweit vorhanden). Der Prozessorcache
   sollte auch eingeschaltet bleiben, sonst sackt der TT auf ST-Leistung
   ab (BLAMAGE beim Amigabesitzer ist dann garantiert!).
   Hintergrund: alle wichtigen Routinen sind als mglichst kompakte
   Schleifen ausgebildet, so da der Prozesorcache voll greift.
   Da die Optimierung funktionuckelt, beweist die Tatsache, da PAULA
   im ST-Ram nicht _wesentlich_ langsamer als im Fastram ist.
   Alleine die Art der Optimierung zeigt schon auf, da PAULA in erster
   Linie fr TT's geschrieben wurde; denn fr den 68000-STE mten ganz
   andere Kriterien bei der Optimierung herangezogen werden. Wer
   allerdings einen 68020 oder 68030 im STE hat wird seine helle Freude
   an PAULA haben.

   - Der Yamaha Soundchip kann weiterhin sein Unwesen treiben, er
   findet auch Gehr. Tastaturklick & Bell mssen Sie schon selbst
   abschalten, wenn dieses Gepiepse unerwnscht ist.

   - Geschwindigkeit und Tonhhe knnten unabhngig voneinander
   eingestellt werden. PAULA simuliert dabei den Tonteil eines
   NTSC-Amigas mit 7.15909 MHz Taktfrequenz (PAL: 7.09379 MHz).
   Spielereien in der Art Tonhhenvernderung, Geschwindigkeitsnderung
   usw werden in den folgenden Versionen zu finden sein!

   - RECHENZEITVERBRAUCH:
   Bei der Version 1.8 noch nicht gemessen; jedoch auf dem TT geringer
   als mit den alten Versionen.

   - MGLICHE KOMMANDOS im MODfile:
      $0  Arpeggio
      $1  Portamento_up
      $2  Portamento_down
      $3  Noteslide
      $4  Vibrato
      $5 bis $9
          --nicht belegt--
      $A  Volumeslide
      $B  Position
      $C  Set_volume
      $D  Patternbreak
      $E  Set_filter    (wird ignoriert)
      $F  Set_speed





 KONTAKTADRESSE:
 ---------------

 Bugreports, Bestechungsgelder und Beglckwnschungen direkt an:

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


 oder ber FIDONET:

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


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