PAULA ][ (Paula, die Zweite!) Ein Amiga-MODfile-Player fr den Atari TT & STE Version 2.1a 1.1.1993 Shareware von: Pascal Fellerich Shareware: Ab der Version 2.0 ist Paula Shareware. Das bedeutet, daž Sie das Programm frei kopieren, weitergeben und testen drfen. Sobald Sie es aber regelm„žig nutzen, wird die Registrierung f„llig. Unregistrierte Versionen von Paula machen deshalb von selbst auf sich aufmerksam; aužerdem sind darin alle seit v2.0 neuen Funktionen gesperrt - zur Zeit f„llt also die 'Autoload'- Funktion sowie die Untersttzung komprimierter Module flach. Ursprnglich war Paula nur ein kleines Utility zum Abspielen von MODfiles, das ich innerhalb relativ kurzer Zeit erstellt habe. Da die Reaktionen auf die 1.x-Versionen (die Freeware waren und auch noch sind...) aber sehr positiv waren und viele Anregungen und Verbesserungswnsche kamen, habe ich Paula in grožen Teilen neugeschrieben. Da mittlerweile auch schon 'etwas mehr' Arbeit in diesem Programm drinsteckt, ist Paula nun Shareware geworden. Lesen Sie hierzu mehr im Abschnitt 'Registrierung' auf Seite 13. Folgende Dateien geh”ren zum 'PAULA'-Paket und mssen immer zusammen weitergegeben werden: 1. PAULA.APP - das Programm (kann auch den Namen PAULA.ACC oder PAULA.PRG tragen) 2. PAULA_D.TXT - die deutsche Anleitung 3. PAULA_E.TXT - die englische Anleitung 4. MP.TTP - ModPlay: Module auch aus CLI's abspielen. 5. MP.C - Der Sourcecode zu ModPlay 6. CHECKMOD.TTP - Prft Module auf Korrektheit und repariert kaputte Module, soweit dies m”glich ist. Die Datei 'PAULA.INF' darf nicht mit weitergegeben werden, da diese Datei unter anderem die Registrierdaten enth„lt. Selbverst„ndlich sind alle Manipulationen an dem Programm und an den begleitenden Dateien untersagt. Die Verteilung ber Mailboxen und PD-Versender ist erlaubt; jedoch „ndert das nichts an den Registrierbedingungen. Alle Rechte an Paula liegen bei P. Fellerich. Kontaktadresse: Pascal Fellerich 45, rue des Genets L-3482 Dudelange (Luxembourg) Postscheckkonto: CCP 65407-29 Bankverbindung: BIL 6-117/8499 E-Mail: 2:270/16.3@fidonet Die jeweils neuesten Versionen von Paula sind unter dem Namen 'PAULA2*.LZH' in folgenden Mailboxen zu finden (alle Boxen in Luxemburg, Vorwahl 00352 nicht vergessen...) NoName Box #1 595243, 300-14400 Bps USR DS, V.32b (Fidonet 2:270/16) NoName Box #2 596213, 300-16800 Bps ZyX, V.32b (Fidonet 2:270/14) ComNet (line 1) 466893, 300-14400 Bps USR DS, V.32b (line 2) 467516, 300-14400 Bps USR, HST (line 3) 222534, 9600-14400 Bps USR DS, V.32b Wozu Paula? Paula spielt die sogenannten 'MOD-Files' auf dem DMA-Soundchip des STE/TT ab. Diese MODfiles, auch als 'Module' bezeichnet, stammen ursprnglich vom Amiga, der einen speziellen 4-Kanal Soundchip namens 'Paula' besitzt. Natrlich gibt es haufenweise Modul-player fr den Atari. Aber Paula ist einzigartig - aber berzeugen Sie sich selbst! Was kann Paula? Um lange Beschreibungen zu vermeiden hier eine stichwortartige Aufz„hlung der 'Features' von Paula 2.1: 1. Interne Merkmale: * Kompatibel zu wirklich allen MOD-Formaten, vom Uralt- Soundtracker Format ber Noisetracker bis zum Protracker, ohne Wenn und Aber. * Drei Samplingfrequenzen zur Auswahl: 12.5, 25, 50 KHz (mit Petra auf ST's sind 6, 9.6 und 12 KHz m”glich) * Lineare Interpolation der Samples zur Verbesserung der Klangqualit„t, in Echtzeit. * Booster - verbessert den Rauschabstand um 6 dB. * Tonh”henver„nderung ohne Beeinflussung der Geschwindigkeit. * Geschwindigkeits„nderung ohne Beeinflussung der Tonh”he. * Untersttzt LZ5 oder AFX gepackte Module. 2. GEM & Co - Benutzeroberfl„che: * Echte und saubere GEM-Einbindung, dadurch auf allen TOS- Rechnern lauff„hig - auch unter MultiTOS/MiNT. * Einfache und intuitive Bedienung. * Untersttzt die Auswahlm”glichkeiten von Selectric¿ und Gemini. * 'Programmierbar' wie einfache CD-Spieler. * Random: Mehrere Module werden in zuf„lliger Reihenfolge gespielt. * Repeat-schalter; Module bzw. ganze Programme k”nnen wiederholt werden. * Anzeige der Prozessorbelastung und der Position im Modul. Paulas Entstehungsgeschichte: Als ich meinen TT bekam, wollte ich natrlich den neuen Soundchip testen - also habe ich mir einige MOD-Player fr den STE geholt. Nur liefen die meisten Player nicht auf dem TT oder aber sie produzierten einen eher miesen Sound. Was blieb mir anderes brig, als selbst einen Player zu schreiben. Aber das war einfacher gesagt als getan, denn aužer der STE/TT Soundhardware mužte ich auch noch die Amiga-Soundhardware kennen, da ich einen Uralt-Player vom Amiga (D.O.C. Replayroutine 2.0 vom Juni 1986) portieren wollte. Ein paar Wochen sp„ter, Ende Juli 1991 war's dann soweit - Paula 1.0 war fertig. Zwar kannte das Programm nur die Soundtracker-Kommandos aber es lief erst einmal. Anschliežend folgten noch einige Optimierungen und Verbesserungen (Version 1.5), aber dann war Schluž. Erst im April 92 nahm ich die Entwicklung infolge einer Diskussion in der Mailbox (ATARI.GER @fido) wieder auf - es entstanden die Versionen 1.7 und 1.8. Mittlerweile war die Tonqualit„t ganz brauchbar geworden, aber mit dem Bedienungskomfort war es nicht weit her. Also begann ich mit der Entwicklung einer 'anst„ndigen' Benutzeroberfl„che fr den Player. Das war's dann... Systemvoraussetzungen: Paula l„uft auf allen Atari-Computern, die 1. TOS als Betriebssystem haben (auch MultiTOS, mindestens aber TOS 1.4) 2. eine STE-kompatible Soundhardware besitzen... oder den Sound-treiber PETRA installiert haben. Damit ein sinnvoller Hintergrundbetrieb m”glich ist, sollte der Computer m”glichst viel Rechenleistung haben. Auf einem einfachen 8 MHz STE ist der Hintergrundbetrieb zwar m”glich aber wenig sinnvoll (12.5KHz Ausgabe bei 50% Rechenzeitverbrauch). Ein 'voll aufgedrehter' Mega STE sollte es schon sein - dann ist bei 50% CPU-Zeit 25KHz Ausgabe m”glich. Damit Paula auch ST's ohne DMA-Hardware l„uft, ist ein spezieller Sound-Treiber n”tig, der die Funktionalit„t der DMA- Soundhardware nachbildet. Einen solchen Treiber gibt es als Shareware von Christian Limpach und heižt 'PETRA'. Hinweise zur Benutzung liegen diesem Programm bei. Installation: Paula kann als Accessory (Endung .ACC) oder als Programm (Endung .PRG oder .APP) gestartet werden. Im Allgemeinen ist der Accessory-Betrieb vorzuziehen. Natrlich kann Paula auch von Chameleon geladen werden. Unter MultiTOS kann Paula aber auch als Programm im Hintergrund laufen, allerdings gibt es einige Abweichungen im 'Verhalten' als Programm. Aužerdem ist es empfehlenswert, XCONTROL gleich mit zu installieren (falls nicht schon vorhanden), um Lautst„rke, Tiefen, H”hen und Balance einstellen zu k”nnen. Dann sollte der Rechner noch an die Stereoanlage angeschlossen sein, damit Ihre Mitbewohner m”glichst effektiv in ihrer Nachtruhe gest”rt werden k”nnen. Anleitung: Nachdem Paula gestartet worden ist, erscheint ein Fenster mit dem Haupt-Dialog. Dieser ist optisch in 6 Bereiche aufgeteilt: 1. Infozeile 2. Player & Sound Setup 3. SampleFreq 4. CPU Load 5. Position 6. Das Tastenfeld Es folgt nun die obligate Erkl„rung der einzelnen Schalter und Kn”pfe, danach kommen allgemeine Bedienungshinweise. Das Tastenfeld Beginnen wir mit dem Einfachsten, dem Tastenfeld. Es ist aufgebaut wie bei einem Kassettenrecorder, daher sollte die Bedienung keine Probleme bereiten. Zus„tzlich ist in jedem Tastensymbol ein Buchstabe untergebracht. Das ist der zugeh”rige Tastatur-'Shortcut'. LOAD: Zuerst muž natrlich ein Modul geladen werden, dazu dient dieser Knopf. Es erscheint die Fileselektor-Box und Sie k”nnen ein Modul ausw„hlen. Bei 'OK' l„dt Paula sofort die ausgew„hlte Datei. Bei Erfolg erscheint in der Infozeile des Fensters der Text 'Stopped: '. Eventuell auftretende Fehler werden sofort mit einer Alertbox quittiert. Falls Sie 'Selectric¿' als Fileselektor installiert haben, k”nnen Sie auch mehrere Dateien gleichzeitig ausw„hlen! WICHTIG: Paula l„dt nur unkomprimierte Module! STOP: Beendet das Abspielen eines Moduls und setzt Paula zurck. Waren mehrere Dateien ausgew„hlt worden so wird diese 'Programmierung' von Paula auch aufgehoben. Die Statusanzeige zeigt den Text 'Stopped: ...'. Wenn im Accessory-Betrieb in diesem Zustand das Fenster geschlossen wird, gibt Paula den fr das letzte Modul reservierten Speicher frei. PLAY: Startet das Abspielen. Wenn noch keine Datei(en) geladen war, erscheint zuerst der Fileselektor mit der Aufforderung 'Load MODfile'. Wurden mehrere Module angegeben, dann wird das laufende Modul beendet und Paula geht zum n„chsten Modul in der Liste ber. PAUSE: Dient dazu, das Abspielen zeitweilig anzuhalten. Im Gegensatz zu 'STOP' wird dabei nichts gel”scht, zurckgesetzt oder sonstwie beeinflužt. Im 'Pause'-Zustand kann das Accessory auch verlassen werden, ohne daž die geladene Datei freigegeben wird. Zum Weitermachen reicht es, einmal Pause oder Play anzuklicken. REW: (REWIND) Springt eine Position im Modul zurck. Diese Funktion arbeitet nur wenn der Paula sich im Play- oder Pause- Modus befindet. FF: (FAST FORWARD) Springt eine Position nach vorne im Modul, nicht jedoch ber das Ende hinaus. Auch dies Funktion arbeitet nur im Play- oder Pause-Modus. !: (Ausrufezeichen) Ruft den 'Setup' Dialog auf, in dem einige weitere Funktionen wie Tonh”hen- und Geschwindigkeits- ver„nderung und Parameter sichern zur Verfgung stehen. ?: (Fragezeichen) Allgemeine Information ber das Programm und den Autor. šber diesen Dialog ist auch das Registriermen zug„nglich. Wie die Registrierung vorgenommen wird, ist im Abschnitt 'Registrierung' beschrieben. Am Besten ist wenn Sie alle Funktionen einmal ausprobieren. Paula ist durch unsinnige oder falsche Bedienung nicht aus der Ruhe zu bringen! Die Infozeile In der Infozeile zeigt Paula die aktuelle Betriebsart und eventuell einen Modul-Titel an. Es gibt vier Zust„nde: Inactive: Paula tut gar nichts. Es ist keine Datei geladen und somit auch kein Speicher belegt. Im Accessorybetrieb muž Paula vor dem Aufl”sungswechsel in diesem Zustand sein um Speicherverlust oder gar Abstrze zu vermeiden. Stopped: Paula hat ein Modul geladen. Im Accessorybetrieb fhrt ein Aufl”sungswechsel jetzt zu Speicherverlust, da der von Paula allozierte Speicher nicht mehr freigegeben werden kann. Paused: Paula wartet darauf, weiterspielen zu drfen. Jetzt k”nnen Sie auch mit den Tasten '<<' und '>>' im Modul hin- und herspringen. Playing: Paula ist besch„ftigt - das sollten Sie auch h”ren! Wenn jemand anders auf den DMA-Soundchip zugreift, wird Paula dadurch natrlich gestoppt. Sobald der Soundchip wieder frei ist, versucht Paula weiterzuspielen. Das kann bis zu einer Sekunde dauern (funktioniert NICHT in Verbindung mit 'Petra'). L„uft der Player trotzdem nicht mehr an (-> Bugreport an mich!) k”nnen Sie sich helfen indem Sie einfach PAUSE/PLAY oder PAUSE/PAUSE drcken. SampleFreq Damit kann die Samplingfrequenz bei der Tonausgabe eingestellt werden. Zur Auswahl stehen die Frequenzen 12.5, 25 und 50 KHz. Je h”her die Samplingfrequenz, desto h”her auch die obere Grenzfrequenz. Theoretisch ist die h”chstm”gliche erzeugt Tonfrequenz genau Fsample/2 (Shannon'sches Abtasttheorem); praktisch etwa 40% der Abtastfrequenz infolge der im STE/TT verwendeten Filterstufen. Bei 25 KHz Samplingfrequenz k”nnen also T”ne von bis zu 10 KHz sauber erzeugt werden. Die Žnderung der Samplingfrequenz wird sofort bernommen. Beim Umschalten wird der Ton kurzzeitig unterdrckt, um St”rger„usche (Krachen, Zirpen usw.) zu vermeiden. Player & Sound Setup In diesem Bereich befinden sich zwei Arten von Schaltern: * Schalter zur Beeinflussung der Tonerzeugung * Schalter zur Einstellung der Abspielmodi Interpolate: Schaltet die Interpolation ein. Dadurch verbessert sich die Tonqualit„t sehr stark (saubere H”hen), aber es kostet viel Rechenzeit. Auf TT's ist Interpolation eigentlich ein Muž, da der 68030 die n”tigen Shift- und Multiplikationsbefehle sehr viel schneller als der 68000 bew„ltigt. Das Gesagte gilt brigens auch fr STE's mit 68020 oder 68030 Beschleunigerkarte. Booster: Hebt die Lautst„rke mit einem Trick um 6 dB an. Dadurch wird das Hintergrundrauschen besser verdeckt, allerdings nehmen die Verzerrungen bei lauten Passagen zu. Protracker: Schaltet die Protracker-Kompatibilit„t ein. Im Prinzip sind die Module zwar abw„rtskompatibel, so daž ein neuerer Player auch alte Module abspielen kann, aber mit dem Protracker wurden soviele Ver„nderungen eingefhrt, daž bei verschiedenen Modulen diese Abw„rtskompatibilit„t nicht mehr gegeben ist. Deshalb ist dieser Schalter vorgesehen, um im Falle eines 'kritischen' Moduls einige (nicht alle!) Protracker-Features ausschalten zu k”nnen. Repeat: Dieser Schalter erfllt eine Doppelfunktion. Falls nur ein Modul ausgew„hlt wurde, bezieht sich Repeat auf das eine Modul. Das wird dann solange abgespielt, bis Sie Paula selbst unterbrechen. Wurden mehrere Module ausgew„hlt, so wirkt Repeat auf diese Liste von Modulen. Nachdem alle Module einmal abgespielt worden sind, beginnt Paula wieder von vorne. šbrigens existieren Module, die mit 'Jump'-Befehlen eine Endlosschleife aufbauen. Paula erkennt diese und knackt sie... Random: Die Karten werden gemischt... Diese Funktion arbeitet nur, wenn mehrere Module ausgew„hlt worden sind. Nun werden die Module nicht mehr der Reihe nach abgespielt, sondern in einer zuf„lligen Reihenfolge - aber jedes Modul nur einmal. Sind alle Module abgespielt, h„ngt die weitere Verfahrensweise vom 'Repeat'-Schalter ab: ist er eingeschaltet, beginnt der Prozess wieder von vorne, andernfalls stoppt Paula und 'vergižt' die eben gespielte Liste. CPU-Load Indikator Dieser Balken zeigt an, wieviel Rechenzeit Paula fr sich abzweigt. Es handelt sich hier um eine relative Anzeige, bei der 100% immer die gesamte Rechenleistung des Computers darstellen. Eine absolute Anzeige in MIPS oder sonstigen Mažeinheiten (NEIN - kein Landmark und kein Norton...) w„re nicht nur schwieriger zu programmieren sondern auch unsinnig. Am rechten Ende des Balkens befindet sich noch ein rotes Anh„ngsel - das ist die šberlastungsanzeige, die jedesmal, wenn die Rechenzeit mal nicht gereicht hat, fr eine knappe Sekunde 'aufleuchtet'. Position Diese Anzeige gibt die aktuelle Position im Modul an. Die Position wird Hexadezimal angezeigt, so wie das bei den Sound/Noise/Pro-trackern blich ist. Allgemeine Bedienungshinweise: Die grunds„tzliche Bedienung ist kein Geheimnis und sollte niemandem Probleme bereiten. Aber die Spezialit„ten wollen doch genauer erkl„rt sein. Darunter fallen: * Verlassen des Haupt-Dialogs * Mehrfachauswahl von Modulen ('Multiplay-Modus') * Reaktion des Tastenfeldes * 'Versteckte' Funktionen Wenn das Fenster mit dem Haupt-Dialog im Accessory-Betrieb geschlossen wird, l„uft der Player weiter. Analog zu XCONTROL kann dieses Fenster auch mit geschlossen werden. L„uft Paula als normales Programm, wird es durch Schliežen des Fensters verlassen und das laufende Modul wird angehalten. Deshalb wird in dieser Betriebsart nicht als 'CloseWindow' interpretiert. Mehrfachauswahl... Die einfachste Art, mehrere Dateien anzugeben, besteht darin, in der Fileselektorbox eine Dateimaske (Wildcards) anstelle des erwarteten Namens anzugeben. Also LOAD anklicken, und in der Fileselektorbox im Namensfeld beispielsweise 'A*.MOD' eingeben. Paula sucht dann alle Dateien in dem angegebenen Pfad, die mit 'A' beginnen und deren Endung '.MOD' ist. Natrlich mssen im eingestellten Verzeichnis auch Module liegen! Um alle Module im angegebenen Pfad abzuspielen reicht es, keinen Namen anzugeben. Paula w„hlt dann alle Dateien aus, die die Endung '.MOD' haben. ...vollautomatisch: Legen Sie auf Ihrem Bootlaufwerk (also C:\ - oder?) einen Ordner mit dem sch”nen Namen 'AUTOMOD' an und kopieren Sie Ihre Lieblings-MODs hinein. Sobald Paula dann gestartet ist (ACC), l„uft auch schon das erste Modul... Diese Funktion arbeitet aber nur bei registrierten Versionen. ...mit Selectric: Falls Sie 'Selectric¿' als Fileselektorbox installiert haben, wird es noch einfacher: w„hlen Sie einfach die gewnschten Dateien an. Das geschieht mit einem Mausklick mit gedrckter Shift-Taste; weitere Selektionsm”glichkeiten sind in der Anleitung zu Selectric¿ beschrieben. Selectric¿ ist ein Shareware-Programm von Stefan Radermacher und Oliver Scheel. ...mit Gemini: Ziehen sie das Icon 'PAULA.ACC' auf den Gemini-Desktop und installieren Sie PAULA.ACC als Anwendung fr '*.MOD'. Die genaue Vorgehensweise ist in der Dokumentation zu Gemini beschrieben. Nach erfolgter Installation k”nnen Sie Module per Doppelklick anh”ren oder auch einzelne oder mehrere Module auf das PAULA-Icon ziehen; auch dann legt Paula sofort los. Gemini ist ein Shareware-Programm von Gereon Steffens und Stefan Eissing. Reaktion des Tastenfeldes: Paula versucht immer, den aktuellen Betriebszustand beizubehalten. Wenn schon ein Modul l„uft ('Playing: ...') und Sie w„hlen ein anderes Modul aus - egal ob mit der Taste 'LOAD' oder mit Gemini - dann spielt Paula sofort nach dem Laden des Moduls weiter. Wenn Paula gestoppt war und Sie w„hlen mehrere Module per 'LOAD' aus, springt Paula sofort in den Pause-Modus. Dies muž geschehen, weil Paula die eben angegebene Liste im Stop-Modus sofort vergessen wrde. Auch hier ist es am einfachsten, sich durch Probieren an die Funktionsweise des Programms zu gew”hnen. Setup-Page - Dialog Dieser Dialog wird aufgerufen, wenn Sie die Taste '!' bet„tigen. Hier stehen die Optionen zur Tonh”henver„nderung und zum Abspeichern der Einstellungen bereit. Pitch Bend (cent): Damit l„žt sich die genaue Stimmung des Players beeinflussen. In der Grundeinstellung hat Paula die gleiche Stimmung wie ein Amiga mit 7.15909 MHz (NTSC). PAL- Amigas sind aber mit nur 7.09379 MHz getaktet, klingen also tiefer. Diese Stimmung wird erreicht, wenn Pitch-Bend auf -10 bis -15 cent steht. So ganz genau braucht diese Einstellung nicht zu sein, da eine Tonh”hen„nderung um 5 cent sowieso die unterste Grenze der Wahrnehmbarkeit darstellt. Der Einstellbereich geht von +100 bis -100 cent, was +/- einem Halbton entspricht. Transpose: Fr's Grobe. Žndert die Stimmung in Halbtonschritten. Der Einstellbereich ist +/- 12 Halbt”ne, was +/- einer Oktave entspricht. Frame Speed: Das ist die 'Taktgeschwindigkeit', mit der die Modul abgearbeitet wird. Beim Amiga kommt dieser Takt vom VBI (Vertical Blank Interrupt) und betr„gt somit 50 Hz bei PAL- Amigas. Da Paula sowieso alles emuliert, ist auch dieser Parameter einstellbar - von der halben bis zur doppelten Sollgeschwindigkeit. Save: Sichert die gegenw„rtig eingestellten Parameter in der Datei 'PAULA.INF' und verl„žt den Dialog. Es werden auch die im Hauptdialog gemachten Einstellungen gesichert. Exit: Verl„žt den Dialog. Die Einstellungen werden nicht beeinflužt. Reset: Setzt die drei Einstellung zurck und verl„žt den Dialog. Info Page Dialog: Die obligate Informationsbox... Eine beliebte Art, auf die f„llige Registrierung aufmerksam zu machen. In der unregistrierten Version werden Sie diese Dialogbox ”fters sehen. Gepackte Module! Seit Version 2.1 untersttzt Paula auch gepackte Module. Zur Zeit wird nur das '-lz5-'-Verfahren benutzt, also das gleiche wie bei AFX. Um Module entsprechend zu komprimieren, k”nnen Sie LHARC.TTP, Version 2.01 benutzen. Damit l„žt sich ein ganzes Directory einfach und einigermažen schnell packen. Wenn Sie alle Module in C:\AUTOMOD untergebracht haben, starten Sie LHARC.TTP und geben als Kommandozeile 'c C:\AUTOMOD\*.MOD' ein. Die Dateien behalten den gleichen Namen, schrumpfen aber auf durchschnittlich 75% ihrer Originalgr”že. Sollte Paula noch nicht registriert sein, so wird der Versuch, ein solches Modul zu laden mit der Meldung 'Corrupted MODfile' quittiert. Registrierung Im Info-Page Dialog gibt es links neben dem 'OK'-Knopf noch einen breiten Knopf, in dem '-unregistered-' steht. Wenn Sie den anklicken, erscheint sofort das Registrier-Men. Hier mssen Sie Ihren Namen, Ihre Adresse und Ihren pers”nlichen Schlssel angeben. Passen diese Daten zueinander, so ist Paula automatisch registriert und es gibt keinerlei Beschr„nkungen mehr. Der Witz an der Sache: Alle 2.x-Versionen von Paula werden den gleichen Schlssel akzeptieren, so daž Updates einfach und schnell weiterverteilt werden k”nnen! Wenn Sie sich registrieren lassen wollen, schicken Sie mir: * Ihre Anschrift, so wie sie im Registrierdialog erscheinen soll (bitte leserlich): Name: (30 Zeichen maximal) Addr: ( " " " ) City: ( " " " ) * Den Sharewarebeitrag von DM 30 mit dem Vermerk, daž es um Paula geht. Achten Sie darauf, daž auch 30 DM bei mir ankommen! Folgende M”glichkeiten bieten sich an: Bargeld-Zusendung: Ist immer OK. Wenn Sie auf Nummer Sicher gehen wollen, schicken Sie das ganze als Einschreiben, dann geht garantiert nichts verloren. Einzahlung auf mein Postscheckkonto (CCP 65407-29): Die Post arbeitet da preiswert und zuverl„ssig! V-Schecks - leider immer ein Verlustgesch„ft. Die Banken kassieren kr„ftig mit ein - so um 20 DM. Daher akzeptiere ich solche Schecks nicht mehr! Ausnahme: in FB oder FLux ausgestellte Euroschecks. (600 FB = 600 FLux = 28.90 DM) Sie erhalten dann den Schlssel zu Paula 2.x; die Mitteilung erfolgt schriftlich (Brief oder E-Mail). Tragen Sie dann die Daten in den Registrierdialog in Paula ein und klicken Sie 'OK' an. Rufen Sie anschliežend nochmal den INFO-Dialog auf ('?'). Nun muž Ihr Name in dem Button unten links stehen. Ist das nicht der Fall, ist die Registrierung schiefgegangen; berprfen Sie dann nochmal Ihre Eingaben - es sind keine Abweichungen zugelassen! Hat die Registrierung geklappt, speichern Sie die Einstellungen ab. Rufen Sie dazu aus dem Hauptdialog den 'Setup'-Dialog ('!') auf und klicken Sie 'Save' an. Bitte beachten Sie: Die eingegebenen Daten und der Schlssel werden in der Datei 'PAULA.INF' abgespeichert! Wenn Sie Paula weitergeben wollen, achten Sie darauf, daž Sie die 'INF'-Datei keinesfalls mit weitergeben. Falls Sie als registrierter Benutzer Ihre Anschrift oder Ihren Namen „ndern, werden Sie einen neuen Schlssel brauchen. Schreiben Sie mir einfach (Postkarte gengt), der neue Schlssel kommt sofort. Bei Fragen und/oder Problemen mit Paula 2.1 helfe ich auch gerne weiter. Fehlermeldungen Paula meldet eventuell auftretende Fehler per Alertbox. Dies sind normalerweise immer Dateifehler. Um Probleme mit pl”tzlich auftauchenden Alertboxen zu vermeiden, erfolgen diese Fehlermeldungen nicht, wenn Paulas Fenster geschlossen ist. Es seien die Module A.MOD, B.MOD und C.MOD angegeben. Paula beginnt mit A.MOD, danach wird das Fenster geschlossen. Nachdem A.MOD fertig ist, versucht Paula B.MOD zu laden. Wenn das schiefgeht, stoppt Paula alle Aktionen und 'vergižt' die angegebene Liste. Wenn Sie nun Paula erneut aufrufen und 'LOAD' anklicken, erscheint im Fileselektor der zuletzt benutzte Pfad und Dateiname. Wenn die Meldung 'Corrupted MODfile' kommt, bedeutet das, daž das angegebene Modul fehlerhaft ist. Oft ist ein Sample zu kurz oder es h„ngen falsche Daten am Modul dran. Als kleine Hilfestellung steht Ihnen das TOS-Programm 'CHECKMOD.TTP' zur Verfgung. Es liest Module, gibt Informationen darber aus und kann die Module in vielen F„llen reparieren, so daž Paula sie wieder akzeptiert. Weiterfhrende Erkl„rungen In einem Modul sind bis zu 31 Samples, manchmal auch als Instrumente bezeichnet, gespeichert. Um ein bestimmtes Sample in verschiedenen Tonh”hen auszugeben, spielt der Amiga das Sample einfach mit verschiedenen Abtastfrequenzen ab. Je h”her die Abtastfrequenz, desto h”her der erzeugte Ton. Da der Amiga vier unabh„ngige Tonkan„le besitzt, kann er vier Samples gleichzeitig abspielen, mit verschiedenen Abtastfrequenzen versteht sich. Damit ist die Tonerzeugung sehr einfach und kostet keine Rechenzeit. Auf dem Atari ist die Sache schon schwieriger: der STE/TT DMA-Soundchip hat nur zwei Kan„le (Stereo L + R), aužerdem stehen nur vier Abtastfrequenzen zur Auswahl, wobei immer nur eine ausgew„hlt sein kann und fr die beiden Stereo-Kan„le gilt. Also muž ein anderes Verfahren zur Tonerzeugung benutzt werden - die direkte digitale Synthese. Die Funktionsweise ist eigentlich ganz einfach: Die Daten des Originalsamples werden nicht mehr 1:1 ausgegeben, sondern 1:R, wobei R eine Realzahl ist. Soll also ein Sample bei einer tats„chlichen Abtastrate von 10 KHz mit 5 KHz ausgegeben werden, ist R gleich 2 - jedes Byte wird zwei mal ausgegeben. Sind 7.5 KHz gewnscht, so gilt R=1.5 . Da in der Praxis nur ganzzahlige Schritte m”glich sind, wird der erste Samplewert einmal ausgegeben, sein Nachfolger zwei mal, der n„chste wieder einmal usw. Im Mittel ergibt sich dann 1.5, und das Ohr bekommt was will: 7.5 KHz. Nun hat dieses Verfahren das Problem, daž das Sample nicht gleichm„žig abgetastet wird. Beim oben erw„hnten Beispiel ergibt sich folgendes Schrittschema: 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 Bei tiefen T”nen, wenn ein Sample von 10 KHz auf 1 KHz 'tiefergelegt' wird, muž jedes Wort im Sample 10 mal ausgegeben werden - also erh„lt man das Schrittschema: 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 usw. Wenn man die dabei entstehende Kurve aufzeichnet drften sofort die unregelm„žigen Treppen im Signal auffallen. Und genau diese Treppen werden als St”rger„usche (Sirren, Pfeifen) h”rbar. Um dieses Problem zu umgehen mžten eigentlich Zwischenwerte eingebaut werden - und genau dies bewerkstelligt die Interpolation. Ideal w„re die Spline-Interpolation; da dies aber Matrixrechnen erfordert benutzt Paula eine einfach lineare Interpolation. Auch damit wird das erzeugte Signal 'glatter' und klingt besser. Das ist nicht zu verwechseln mit dem Oversampling, das einige MODplayer anbieten, und das darin besteht, jeden Samplewert zu verdoppeln um ihn dann mit der (ebenfalls) verdoppelten Samplingfrequenz auszugeben. Damit wird das Signal nur h”henlastiger, da die Filterstufen im STE/TT entsprechend anders eingestellt werden. Noch ein paar Worte zur Tonqualit„t: Durch die 'echte' Interpolation klingt Paula (die Emulation) bei 50 KHz besser als Paula (Der Amiga-Chip)! Das liegt vor allem daran, daž der Amiga einen fest eingestellten 7 KHz Tiefpažfilter hat, der die H”hen radikal wegrasiert. Wird der abgeschaltet, sind zwar die H”hen wieder da, aber auch die unvermeidlichen Aliasingprodukte (Treppen im Signal!!). Skeptikern empfehle ich einen Amiga sowie dessen Hardware Reference Manual [2]. Dem Amiga bleibt noch der Vorteil der gr”žeren Dynamik, denn dort hat jeder der vier Kan„le seinen eigenen Lautst„rkesteller, durch den 6 bit gewonnen werden. Der Rauschabstand zum Nutzsignal bleibt zwar bei 48 dB - normal fr 8 bit - aber leise Module werden immer noch sauber abgespielt, wo Paula (die Emulation) schon mit dem Quantisierungsrauschen zu k„mpfen hat. Die im Amiga eingesetzten Wandler k”nnen auch als 'Fliežkommakonverter' bezeichnet werden. Um nicht das Nachsehen zu haben, bietet Paula die 'Boost'-Option. Dann wird eine nichtlineare Wandlerkennlinie benutzt, so daž eine Pseudo- Aufl”sung von 9 bit erreicht wird. Bei leisen Passagen wirkt das Wunder, bei lauten Passagen nehmen allerdings die Verzerrungen zu. Falls es Ihnen egal ist, wie die Interpolation funktioniert, berspringen Sie den folgenden Absatz! Falls nicht: Hier die Interpolationsroutine, der šbersichtlichkeit halber schematisch in C formuliert: /* Fix-Point Zahl, zu Angabe des Abtastschrittes */ typedef struct fxp { int ip; /* integer part (1/1) */ int fp; /* fractional part (1/65536) */ } fixpoint; /* Holt ein Byte aus dem gespeicherten Sample und berechnet * den passenden Zwischenwert. * Param: spl: Zeiger auf das Sample * index: Index im Sample als Fixpoint-Zahl * volume: Amiga-Volumeregister Wert, 0..64 * Return: Der resultierende Samplewert als integer. * Bereich: 14 bit (8 bit sample + 6 bit volume info) */ int get_samplevalue( char *spl, fixpoint index, int volume ) { int s1,s2; /* Samplewerte sn und sn+1 */ s1 = volume * spl[index.ip]; s2 = volume * spl[index.ip+1]; return (((s2-s1)*index.fp)/65536 + s1); } Dann muž der Index inkrementiert werden, was auf eine Addition zweier Fixpoint-Zahlen hinausl„uft, der Rckgabewert muž gespeichert bzw. auf den entsprechenden Wert eines anderen Kanals aufaddiert werden, das Ganze muž auf 8 bit zurckskaliert werden und nebenbei muž noch beachtet werden, daž ein Sample auch irgendwann zu Ende ist. Da vier Kan„le vorhanden sind, muž die obige Routine bei 50 KHz Ausgabefrequenz 200000 (zweihunderttausend) pro Sekunde ausgefhrt werden. Damit dieser Vorgang in Echtzeit ablaufen kann, ist Rechenleistung und eine geh”rige Portion Gehirnschmalz n”tig, denn ohne jegliche Optimierung h„tte selbst der 68030 keine Chance... Immer ein beliebtes Kapitel: BUGS & LIMITATIONS! Kollisionen: Prinzipiell sollte sich Paula mit allen anderen Programmen vertragen; da Paula aber direkt auf die DMA-Soundhardware zugreift, sind Kollisionen mit anderen Programmen, die das Gleiche tun wollen, unvermeidlich. Solange das 'andere' Programm einigermažen sauber programmiert ist und die Hardware stets in einem sauber definierten Zustand hinterl„žt, passiert nichts - aužer daž Paula gestoppt ist. Einfacher Test: Zwei Paulas gegeneinander laufen lassen... šberlastung: Wenn der Rechner total berlastet ist, stimmt das interne Timing natrlich nicht mehr. Deshalb ist der Zeitpunkt, zu dem die Hardware-Register beschrieben werden, undefiniert. Dadurch kommt es manchmal vor, daž der Soundchip den falschen Speicherbereich abspielt, obwohl in den Chipregistern die richtigen Werte stehen (!) - dann gibt's Katzenmusik. Dagegen hilft: PAUSE, Samplingfrequenz runtersetzen oder Interpolation ausschalten um Rechnezeit zu sparen, dann nochmals PAUSE. Oder hatten Sie etwa den Cache des 68030 ausgeschaltet ??? Aufl”sungswechsel: Vor jedem Aufl”sungswechsel muž sichergestellt sein, daž Paula inaktiv ist. Also Paula einmal aufrufen, 'S' (fr STOP) und dann Return (Fenster schliežen). Falls MultiTOS die spezielle (neu eingefhrte) GEM-Message AP_TERM, die den bevorstehenden Aufl”sungswechsel ankndigt, an die einzelnen Programme schickt, kann Paula darauf mit der Einstellung aller Aktivit„ten reagieren. Protracker 'CIA'-Replay-Speed: Der Protracker benutzt als Takt nicht mehr den VBL, sondern einen Timerinterrupt. Dadurch l„žt sich die Ablaufgeschwindigkeit sehr viel genauer einstellen. Zur Zeit simuliert Paula diese Feineinstellung ber den 'normalen' Takt, da die echte Feineinstellung dem Benutzer vorbehalten ist (Frame Speed). Dadurch laufen langsame Module stellenweise leicht ungleichm„žig. Das wird noch verbessert werden. Abstrze auf STE's: Bisher sind mir zwei 1040STE untergekommen, auf denen Paula nicht richtig l„uft. Die Symptome: Es gibt einen totalen H„nger, unabh„ngig vom Modul. Das ist ein Hardwareproblem dieser STE's, da kann man leider nichts machen. Internas GEM-Benutzerschnittstelle Paula verarbeitet die von Gemini stammende 'VA_START'- Nachricht. In einer solchen Message ist in msg[3] und msg[4] ein Zeiger enthalten, der von Paula ausgewertet wird. Der Player reagiert folgendermažen: * Nullpointer oder Zeiger auf Leerstring: Gleiche Reaktion wie bei AC_OPEN. * Zeiger auf String mit einem Namen: Paula l„dt dieses Modul und startet es sofort. * Zeiger auf String mit mehreren Namen: Paula geht in den 'Multiplay'-Modus ber und spielt alle MODs. Der bergebene String wird intern kopiert, kann auf der Aufruferseite lokal sein. Wichtig ist nur, daž der String komplette Pfadangaben enth„lt, ohne Wildcards, und daž die einzelnen Namen durch genau ein Space/Komma/Semikolon getrennt sind. Die komplette Dokumentation liegt 'Gemini' bei, ein Beispiel hierzu finden Sie im Ordner 'UTILS' im Sourcecode von 'MP.TTP'. Vektorverbiegerei... Paula belegt den I07 (monochrome monitor detect) - Interrupt der 68901 MFP. Dazu wird eine XBRA-Kennung 'PAUL' benutzt. Speicherverbrauch Paula ben”tigt rund 45 KB fr den Programmcode und fixe Daten. Auf Maschinen mit dem 68000-Prozessor kommen noch 15 KB fr Volumetabellen hinzu. Notstop Um Paula sofort 'abzuwrgen' und zur Freigabe des allozierten Speichers zu zwingen, reicht es, eine AP_TERM-Message zu schicken. (AP_TERM = GEM message Nummer 50) Speeeeed! Um auf dem TT m”glichst wenig Rechenzeit zu verbraten, sollte Paula komplett ins 'Fast'-RAM geladen werden (soweit vorhanden). Der Prozessorcache sollte dabei unbedingt eingeschaltet bleiben, sonst sackt der TT auf ST-Leistung ab. Ohne Cache wird's selbst auf dem TT sehr knapp bei 50 KHz Interpolation (wobei zu bemerken ist, daž ein gewisser anderer MODplayer 50 KHz Interpolation selbst bei eingeschaltetem Cache kaum noch meistert!). Hardware Weder der MFP-Timer A noch der Yamaha Soundchip werden angetastet. Somit bleibt Ihnen der Tastaturklick und die Systemglocke erhalten, es ist darber hinaus noch m”glich, digitale Soundeffekte mit dem Yamaha-Chip zu erzeugen. Mit STSPEECH.TOS lassen sich beliebige Texte ('Das Boot; It's time for Techno') in ein laufendes Modul einblenden. Entwicklung Paula 2.1 wurde mit Pure C und dem Pure Assembler entwickelt. Der eigentliche 'MODplayer', also die Replay-Routine, basiert auf dem 'Protracker 1.1B Player' der Amiga Freelancers. Thanx for the help... Hilfreich zur Seite standen mir: Joel Fran‡ois Amiga Dokumentationen, D.O.C. Replay Routine Fridolin Koch Protracker Replay Routine, gute Module Betatester: Georges Kesseler Optimierungsvorschl„ge, 'Repeat-Knacker' Christian Limpach " , ST-Sound Treiber! MP - ModPlay Interface MP.TTP ist ein sehr einfaches Utility, mit dem es m”glich ist, Paula auch aus KommandoShells heraus zu starten. MP schickt die in der Kommandozeile angegebenen Dateien einfach in einer 'VA_START'-Nachricht verpackt an Paula weiter. Wildcards werden nicht von MP ausgewertet; dafr kennt MP aber das ARGV- Verfahren (beim Kompilieren mit 'PCVSTART.O' linken!). Somit werden Shells wie die Mupfel oder Mintshel voll untersttzt. Wenn MP.TTP im normalen Desktop als Anwendung fr '*.MOD' angemeldet ist, lassen sich Module auch auf Doppelklick hin abspielen. MP soll kein Musterbeispiel fr gelungene C-Programmierung darstellen, es wurde Wert auf Einfachheit gelegt. MP inklusive den Quellcodes ist Public Domain! CHECKMOD - kaputte Module reparieren Irgendwann wird Paula ein Modul mit dem Kommentar 'Corrupted MODfile' verwerfen. In diesem Fall kann CHECKMOD helfen: einfach starten und als Parameter den Namen des Moduls (inklusive Pfad) angeben. Bei den neueren TOSsen reicht es, das fragliche Modul auf das CHECKMOD-Icon zu ziehen. Checkmod liest das Modul und gibt eine Liste mit den benutzten Samples aus. Aužerdem gibt Checkmod die Art des Fehlers aus. Corrupted Pattern List: Dieses Modul kann nicht mehr automatisch repariert werden. Short Sample: Ein Sample ist zu kurz geraten. Falls dieser Fehler nur das letzte Sample betrifft und die Differenz zwischen Ist- und Soll-L„nge nicht zu grož ist, sind die 'Heilungschancen' gut. Paula toleriert maximal 4 fehlende Bytes. Superfluous Data in MODfile: Am Modul h„ngen noch berflssige Daten. Diesen Fehler behebt Checkmod problemlos. Paula toleriert bis zu 256 Bytes berflssiger Daten. Nachdem Checkmod gelaufen ist, erscheint der Text: Save Module as: Einfach verl„žt das Programm ohne weitere Aktionen, ein Punkt '.' speichert das Modul unter gleichem Namen neu ab. Wenn Sie einen neuen Pfad und Namen angeben, wird das Modul unter diesem neuen Namen gespeichert. Untersttzte Kommandos im MODfile $0 Arpeggio $1 Portamento_up $2 Portamento_down $3 Noteslide $4 Vibrato $5 Portamento Down + Volumeslide $6 Vibrato + Volumeslide $7 Tremolo $8 (Phasor Effect - ignored) $9 Play Endpart of Sample $A Volumeslide $B Position $C Set_volume $D Patternbreak $E Extended Commands: E0x Filter On/Off (ignored) E1x Fine Portamento Up E2x Fine Portamento Down E3x Set Glissando Control E4x Set Vibrato Waveform E5x Set FineTune E6x Loop E7x Set Tremolo Waveform E8x Stop - ignored!! E9x Retrigger Sample EAx Fineslide Volume up EBx Fineslide Volume down ECx Note Cut EDx Note Delay EEx Pattern Delay EFx no op $F Set_speed Bibliographie [1] Jankowski/Rabich/Reschke Atari Profibuch ST/STE/TT Sybex Verlag, ISBN 3-88745-888-5 [2] Amiga Hardware Reference Manual Addison-Wesley, ISBN 0-201-18157-6 [3] Thomsen Digitale Audiotechnik Franzis' Verlag, ISBN 3-7723-7151-5 [4] DDS - Direkte Digitale Synthese Elektor N§257, Mai 1992, s.52ff [5] Ulrich Michels dtv Atlas zur Musik, Band 1 (Akustik, Wellenlehre, Tonparameter) Deutscher Taschenbuch Verlag, ISBN 3-423-03022-4 Registrier-Formular Ich benutze PAULA, Version 2._ _ und m”chte mich registrieren lassen. Vorname, Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Straže: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Plz, Ort: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Zahlungsart: Platz fr Kommentare, Verbesserungsvorschl„ge und Fehlermeldungen (bei Problemen bitte auch die verwendete Hard- und Software mit angeben):