Telespiel

Ich wollte mit dem VGA-Modul ein paar Spiele bauen und habe als erstes das legendäre Tele-Spiel aus dem EE3023 in Angriff genommen.

Dieses Spiel hat im Original allerdings so seine Macken:

  • Die linke Mauer lässt sich nicht weit genug nach links verschieben. Irgendwann reicht der Ball nicht mehr an sie heran – er verschwindet einfach vorher. Dieses Phänomen lässt sich relativ leicht beheben. Die Philips-Konstrukteure haben zwischen die NE558-Bausteine Kondensatoren geschaltet, die das Signal differenzieren, und irgendwann – weit genug links – ist davon nicht mehr genug übrig, um noch einen Triggerimpuls zu liefern. Das Datenblatt des NE558 sagt aber explizit: „no coupling capacitor“. Wenn man die Kondensatoren durch Drahtbrücken ersetzt, kommt man so weit nach links wie gewünscht, ohne dass die Objekte verschwinden.
  • Das Spiel ist stark nichtlinear. Die verwendeten Timer NE558 sind nur schlecht über variable Spannungen zu steuern – sie sind dann sehr nichtlinear, was bei dem Telespiel-Ball zu einem „Dotzen“ auf der unteren Begrenzung führt. Damit kann man kaum verlässliche Spielbewegungen konstruieren. Auch hier ist die Lösung aber in Sichtweite: Die NE558 liefern an ihrem Timereingang – da wo Kondensator und Widerstand angeschlossen sind – eine recht lineare Sägezahnspannung, die man an einen als Komparator geschalteten Operationsverstärker führen. Fürs variable Timing ist nun der sägezahngesteuerte OP zuständig, und das funktioniert ausgezeichnet. Die Timer des NE558 werden fest abgeglichen. Der Sägezahn des ersten Timers muss in etwa so lange dauern wie der horizontale oder vertikale Bildlauf.

Nachdem dieses Probleme gelöst waren, wurde die Objekterzeugung in ein Sprite-Modul gegossen – die Schaltung nutzt zwei davon für den Ball und den Schläger. Dann ging es an das eigentliche Schaltungsdesign. Grundsätzlich hält sich die Schaltung an den Entwurf des EE3023; die aus Transistoren gebildeten bistabilen Multivibratoren sind aber durch ein R-S-Flipflop-Modul ersetzt. Dieses besitzt zwei R-S-Flipflops, die die Bewegungsrichtung des Balls umkehren, wenn er an der Wand anschlägt. Um obere und untere Wand voneinander unterscheiden zu können, kommt ein spezielles Logikmodul zum Einsatz, das über eine UND-NICHT-Verknüpfung den Rahmen in unteren, linken, rechten und oberen Teil aufteilt. Damit kann das R-S-Flipflop in den jeweils anderen Zustand geschaltet werden, ohne zu schwingen.

Die beiden Ausgänge der Sprite-Module sind an die vier Eingänge eines 2×2-AND-Gatters angeschlossen. Die beiden UND-Ausgänge „P“ geben das rote (Ball) und grüne (Schläger) Bildsignal. Der gemeinsame UND-Ausgang A ist High, wenn Ball und Schläger kollidieren. Über ein ODER-Modul schalten sowohl die Kollision mit der hinteren Wand als auch die Kollision zwischen Ball und Schläger das R-S-Flipflop um, so dass der Ball reflektiert wird.

Das Anzeige-Modul wird über einen NAND-AND-Baustein betrieben. Nur, wenn Ball und Schläger kollidieren, gibt es einen Zählerimpuls auf das Anzeigemodul.

Die eigentliche Ballbewegung wird durch zwei Integrierer (gebildet durch einen Dual-Operationsverstärker TL082) hergestellt, deren Ausgangsspannung abhängig vom Status der beiden R-S-Flipflops ansteigt oder abfällt, bis der Ball an einer Wand oder am Schläger reflektiert wird. Die beiden Kondensatoren am Ausgang dienen zur Filterung unerwünschter Sprünge. Der Ball hoppelt stärker und wirkt auch in horizontaler Richtung zerrissen, wenn man sie weglässt.

Mit den Potentiometern auf den Sprite-Modulen stellt man Schläger- und Ballbreite und -höhe ein. Bei kleinem Schläger ist es gar nicht mehr so einfach, den Ball zu treffen, auch wenn er durch den linearen Bildverlauf weitaus einfacher abzuschätzen ist als beim Original-Telespiel.

Zurück zur Übersicht

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.