********************************************************************** * * * 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. Ver„nderungen am Programm und an den zugeh”rigen Dateien sind untersagt. Die Verteilung ber Mailboxen und PD-Sammlungen ist ERLAUBT. ½ 1992 by P. Fellerich. FšR 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 k”nnen auf die altbekannte Art und Weise mit dem Yamaha-Soundchip digitale Effekte erzeugt werden, ohne dabei PAULA zu st”ren. * 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 frižt nun auch 64 KB Samples; jedoch werden nur die ersten 32 K abgespielt. * Bessere Fehlertests -> kaputte Modfiles werden besser ausgewertet; Katzenmusik wird, wenn m”glich, vermieden. v1.4, 31.7.1991 (erste verbreitete Version) * B”ser 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 * Lautst„rken eingebaut, interne Samplebehandlung vollst„ndig 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 l„uft 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 anst„ndiger Ton-Qualit„t 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 Bildschirmaufl”sung / 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 beeinflužt nicht die Abspielgeschwindigkeit oder Tonh”he, sondern nur die Tonqualit„t. Da die angegebene Frequenz bei Stereobetrieb fr beide Kan„le 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 n„chsten PLAY-Kommando bernommen. - Interpolate: Die Amiga-Samples werden, besonders fr tiefe T”ne, mit sehr niedrigen Abtastraten ausgegeben. Dadurch entsteht auf dem TT/STe ein Anteil von hochfrequenten St”rger„uschen, was nicht nur schlecht klingt sondern auch die Hocht”ner der Stereoanlage strežt. Durch die Interpolation k”nnen die Originalsamples gegl„ttet werden, so daž die St”rger„usche (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: l„dt 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 m”glich alle internen Strukturen in der MODfile. Textdateien lassen sich nicht mehr abspielen. Sollte aber einmal eine MODfile als 'corrupted' gemeldet werden, bleibt die M”glichkeit, 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: Verl„žt 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: ------------------- - Unvertr„glichkeiten mit STZIP v1.1: Wenn PAULA l„uft, strzt STZIP beim Anzeigen einer Datei aus dem Archiv (Doppelklick ins ZIPfile-Fenster) ab. - Soundqualit„t: 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 m”gen 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 Lautst„rkesteller mit 36 dB Stellbereich, fr jeden Kanal einen. - Aufl”sungswechsel: vor Aufl”sungswechseln 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 m”glichst 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 m”glichst 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 mžten 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 Geh”r. Tastaturklick & Bell mssen Sie schon selbst abschalten, wenn dieses Gepiepse unerwnscht ist. - Geschwindigkeit und Tonh”he k”nnten unabh„ngig voneinander eingestellt werden. PAULA simuliert dabei den Tonteil eines NTSC-Amigas mit 7.15909 MHz Taktfrequenz (PAL: 7.09379 MHz). Spielereien in der Art Tonh”henver„nderung, Geschwindigkeits„nderung 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. - M™GLICHE 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 Genˆts 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 ------------------------------------------------------------------