Hier möchte ich euch mein erstes Assemblerprojekt vorstellen, das über "ich lasse mal den Bildschirm flackern" o.Ä. hinausgeht:
BREADAMP v02 - ein Samplemusikplayer im Winamp-Stil, der als Musik-Datenträger die REU der 1541ultimate oder des Turbochameleon 64 nutzt.
Im Gegensatz zur ersten Version, die auf dem Videoplayer BR-TV basierte, ist dies ein eigenständiges Programm, dass ich vollständig in Assembler unter Zuhilfenahme des Programms C64Studio geschrieben habe.
Diese Version bietet nun auch diverse Steuerungsmöglichkeiten:
- 1-0 und A-D wählen die Einträge 1 bis 14 in der Trackliste aus (sofern vorhanden)
- Cursor Runter / Hoch springt zum nächsten / vorhergehenden Titel in der Trackliste
- Cursor Links / Rechts oder < / > spult zurück (max. bis Trackanfang) / vorwärts
(wenn der Player in Pause ist, erfolgt das Spulen schneller, Vorspulen bis der nächste Track erreicht ist, dann geht die Pause raus)
- P pausiert die Wiedergabe und setzt sie fort
- I deaktiviert / reaktiviert die Infozeile, falls vorhanden (sie ist aus Platzgründen deaktiviert, wenn die Musikdatei 13 oder 14 Titel enthält)
- + / - erhöht / reduziert die Scrollgeschwindigkeit der Infoleiste (mehrmals drücken für weitere Erhöhung / Verringerung bis zu einem gewissen Punkt)
In folgenden Versionen, deren Release wegen Zeitmangel aber etwas dauern kann, habe ich vor Erweiterungen einzufügen wie Longplayformate (mit geringerer Tonqualität, aber längerer Spielzeit), Stereoformate für C64 mit zwei SIDs oder FPGASID, Möglichkeit die Abspielreihenfolge der Titel zu Ändern, Trackrepeat und vielleicht noch weitere Features.
Das Programm, inklusive Demomusikdatei kann man hier herunterladen: DOWNLOAD BREADAMP v02
In der beiliegenden Readme-Datei ist auch erklärt, wie man mit Hilfe des beigelegten Programms BREADAMP_v02_REUmaker eigene Musikdateien für BREADAMP erstellen kann. Auch weitere technische Details sind dort beschrieben.
Ich habe eine Aufnahme vom Programm mit ein paar Funtkionserklärungen auf Youtube hochgeladen:
Der Player spielt die Musik mit einer Samplerate von 15638 Hz ab, was der Zeilenfrequenz des C64 (PAL) entspricht, was wichtig ist, um Verzerrungen durch Badlines des VIC zu vermeiden (die Samples werden abgespielt, wenn der Rasterstrahl am badlinegefährdeten Bereich vorbei ist, sodass übermäßiges "Jittern" der Samples vermieden wird). Es wird die Sampleabspieltechnik nach Mahoney genutzt. In eine Musikdatei passt Musik mit einer Gesamtlänge von bis zu 17 Minuten und 52 Sekunden.
Da ich erst vor kurzem mit Assembler angefangen habe, habe ich mir Hilfe im Internet gesucht mit Befehlslisten, Programmiertipps und Codeschnipseln.
Wer Fragen zu dem Programm oder Bugs gefunden hat, kann es hier gern posten. Viel Spaß beim Ausprobieren