Das Soundmodul

Verglichen mit anderen Konsolen ist das Soundmodul des Gameboys spartanisch. Von den Fähigkeiten beispielsweise des SID-Chips im C64 ist es so weit entfernt wie ein Kochtopf von einem Schlagzeug. Es wurde abgespeckt vom NES übernommen und verfügt über vier Soundkanäle: Zwei erzeugen Rechteckwellen, einer Rauschen, der vierte gibt gesampelte Sounds wieder. Die Lautstärke der einzelnen Kanäle kann in 16 Schritten geregelt werden.

Stellenmarkt
  1. Sachbearbeitung DV-Organisation, Digitalisierung
    Kreis Minden-Lübbecke, Minden
  2. Mitarbeiterin bzw. Mitarbeiter (m/w/d) IT-Change- und Releasemanagement
    Finanzbehörde Steuerverwaltung, Hamburg
Detailsuche

Aufgrund der geringen Auflösung und der Nutzung von Rechteckwellen würden die erzeugten Sounds normalerweise schrecklich klingen. Speziell Rechteckwellen sind eine Tortur für die Ohren. Um einen angenehmen Klang zu erreichen, wird das erzeugte Soundsignal hochpassgefiltert. Das geschieht analog - durch einen Kondensator. Das Ergebnis ist ein charakteristischer Sound, der durchaus seine Liebhaber hat. In der Chiptune-Szene erfreut sich der Gameboy großer Beliebtheit.

Mit den beiden Kanälen für Rechteckwellen wird der größte Teil der Musik erzeugt. Über jeweils einen eigenen Teiler erzeugen sie aus dem Systemtakt den Takt der Rechteckwellen - woraus sich die Frequenz des entstehenden Tons ergibt. Um die Charakteristik des Tons zu variieren, ist noch eine einfache Pulsweitenmodulation implementiert. Die Welle kann ein Achtel, ein Viertel, die Hälfte oder drei Viertel der Periodendauer auf hohem Spannungspegel sein. Für gesampelte Sounds kann die Wiedergabegeschwindigkeit eingestellt werden.

Soundeffekte

Die Soundkanäle bringen ein paar Features mit, die für prozessorunabhängige Soundeffekte genutzt werden können. Das erste Feature ist der Envelope, in diesem Fall kein Briefumschlag, sondern die Hüllkurve. Damit kann die Lautstärke des Signals in festen Zeitschritten erhöht oder gesenkt werden. Die zweite ist der Sweep (die korrekte Übersetzung ist wobbeln), der automatisch die Tonfrequenz ändert.

Golem Karrierewelt
  1. Informationssicherheit in der Automobilindustrie nach VDA-ISA und TISAX® mit Zertifikat: Zwei-Tage-Workshop
    19./20.07.2022, Virtuell
  2. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    26.-28.09.2022, Virtuell
Weitere IT-Trainings

Die Soundkanäle können zudem kontinuierlich ein Signal erzeugen oder nach einer definierten Zeit die Ausgabe beenden. Nicht alle Soundkanäle verfügen über alle zuvor genannten Features, so dass jeder seine eigene Klasse benötigt. Auch unterscheidet sich die Realisierung des Sampling- und Rauschkanals von denen der Rechteckkanäle. Das Rauschen wird übrigens mittels eines linear rückgekoppelten Schieberegisters erzeugt. Es wird beispielsweise für Schlagzeugsounds genutzt.

Unerwartete Herausforderungen bei der Emulation

Die Beschreibung der Soundhardware klingt erst einmal nicht besonders herausfordernd - ein paar Register und den Speicher für die Samples implementieren, dazu ein wenig Programmlogik, die anhand der Werte ein Tonsignal erzeugt. Die Signale der einzelnen Kanäle werden lediglich addiert. Trotzdem gibt es zwei Dinge, die mich lange aufgehalten haben.

Zuerst der Kondensator. Wie in aller Welt baut man den in einem Programm nach? Im Physikunterricht habe ich zwar gelernt, wie man die zeitabhängige Spannung eines Kondensators berechnet. Allerdings nur für eine konstant anliegende Spannung. Zum Glück fand ich irgendwann im Internet eine Lösung, deren Herleitung ich zwar nicht verstand, sie aber umsetzte - und sie funktionierte. Der Kondensator bildet einen Hochpassfilter, dessen Verhalten das Programm nachbilden muss.

Nintendo Switch (OLED-Modell) Weiss

Das zweite Problem war weniger offensichtlich und hat mich Wochen beschäftigt. Die Soundausgabe klirrte unangenehm. Der Grund dafür ist die feste Abtastrate der Soundhardware des Computers. Die vom Gameboy erzeugten Signale passen nicht zu dieser Abtastrate, sie wechseln irgendwo zwischen zwei Abtastpunkten. Das bedeutet, dass über mehrere Wellenzyklen das erzeugte Signal nicht gleich ist.

Dadurch entstehen unerwünschte Signalkomponenten. Die Lösung für dieses Problem heißt Abtastratenkonvertierung. Ich habe das, als ich den Emulator programmiert habe, etwas hemdsärmelig mit Oversampling gelöst. Wechselt die Ausgabe des Gameboys zwischen zwei Samples, werden diese zwischen 0 und aktueller Lautstärke des Kanals interpoliert.

Um den Aufwand zu reduzieren, habe ich das allerdings nur für eine Schwingung der Welle gemacht und diese immer wieder ausgegeben. Das funktioniert - und klingt - ganz gut, ist allerdings nicht ganz richtig. Und manchmal fällt es auf, hier sollten also professionellere Ansätze zum Einsatz kommen. Jetzt ist zwar die Hardware komplett, aber etwas fehlt noch: die Spiele.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Die GrafikeinheitDie Spielemodule 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9.  


mipi 06. Jun 2022 / Themenstart

+1 Bin schon auf den Folgeartikel zur Umsetzung der parallel stattfindenden HW-Abläufe...

TarikVaineTree 05. Jun 2022 / Themenstart

Sheep It Up ist für mich ein Musterbeispiel eines Homebrewspiels für den GB. Simpel...

Kakiss 29. Mai 2022 / Themenstart

Ich finde es daher umso erstaunlicher, wie die Leute Cores für den Mister erstellen. Ich...

Olstyle 29. Mai 2022 / Themenstart

Zuerst noch einmal vielen Dank für den Artikel. Bei aller Abkürzung hätte ich mir aber...

Kommentieren



Aktuell auf der Startseite von Golem.de
Hollywood und das Internet
Sind wir schon drin?

Die neue Dokuserie Web of Make Believe taucht auf Netflix in die Untiefen des Internets ein. So realistisch hat Hollywood das Netz jahrzehntelang nicht thematisiert.
Von Peter Osteried

Hollywood und das Internet: Sind wir schon drin?
Artikel
  1. Obi-Wan Kenobi Episode 4 bis 6: Darth Vader und das Imperium der Schwachköpfe
    Obi-Wan Kenobi Episode 4 bis 6
    Darth Vader und das Imperium der Schwachköpfe

    Dämliche Stormtrooper sind in Obi-Wan Kenobi noch das geringste Problem. Zum Ende hin ist die Star-Wars-Serie vor allem eines: belanglos. Achtung, Spoiler!
    Eine Rezension von Oliver Nickel

  2. Logistik: Post will mit Solarschiff Pakete in Berlin verteilen
    Logistik
    Post will mit Solarschiff Pakete in Berlin verteilen

    Die Post will Pakettransporte von der Straße aufs Wasser verlagern. Das erste der Schiffe wird mit Solarstrom betrieben. In Zukunft sollen sie autonom fahren.

  3. Franziska Giffey: Deepfake von Klitschko täuscht Berlins Bürgermeisterin
    Franziska Giffey
    Deepfake von Klitschko täuscht Berlins Bürgermeisterin

    Berlins Regierende Bürgermeisterin Franziska Giffey (SPD) hat per Videokonferenz mit einem Deepfake von Vitali Klitschko gesprochen. Der Betrug flog auf.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • MSI 323CQRDE (WQHD, 165 Hz) 399€ • LG OLED 48C17LB 919€ • Samsung 980 PRO (PS5-komp.) 2 TB 234,45€ • Apple HomePod Mini 84€ • 16.000 Artikel günstiger bei Media Markt • MindStar (u. a. AMD Ryzen 7 5700G 239€, Samsung 970 EVO Plus 250 GB 39€ und Corsair Crystal 680X RGB 159€) [Werbung]
    •  /