Als ich mich vor ein paar Monaten etwas mit der Sound-Hardware und dessen Programmierung von einem Game Boy Advance beschäftigt habe, habe ich verschiedene Bibliotheken bzw. fertige Sound-Player gefunden. Im devkitPro Ordner befinden sich insgesamt 4 Beispiele, die man kompilieren kann. Im Februrar bzw. März hatte ich mir BoyScout angeschaut. Ein Tracker mit 4 Kanälen. Diese Software habe ich dann benutzt, um die Musik (wird man wohl so bezeichnen können!) für meine MSP430 Demo “A Dead Pixel” zu erstellen. Die Tracker Software habe ich dann speziell für den MSP430 geschrieben und mich auf BoyScout dabei gestützt. Aber das ist eine andere Geschichte. Mit MaxMod können mod-Files abgespielt werden. In dem vorhandenen MaxMod Beispiel habe ich ein paar Modifikationen vorgenommen. Normalerweise wird die Musik in der Hauptschleife nach einem Frame aktualisiert. Die Funktion zum aktualisieren muss also immer manuell aufgerufen werden. Dies kann natürlich zu Problemen in der Wiedergabe führen, besonders wenn in der Schleife viele Berechnungen durchgeführt werden und somit der genaue Zeitpunkt des Funktionsaufrufs nicht mehr eingehalten werden kann. Hier bietet MaxMod aber eine Problemlösung. Ein Frame-Update kann per Interrupt durchgeführt werden. Somit wird die Funktion bzw. ISR immer nach einem Frame aufgerufen. Der abgeänderte Beispiel-Code:
Game Boy Advance – MaxMod Frame Interrupt
Leave a reply