Alles Gute zu Deinem 50. Geburtstag PONG GAME (1972-2022).
Das 1972 von Atari veröffentlichte Pong wurde zum ersten weltweit beliebten Videospiel und in den 1970er-Jahren zunächst auf Geräten in Spielhallen bekannt. Es gilt als Urvater der Videospiele, obgleich schon zuvor Videospiele entwickelt worden waren. (Wikipedia)
Im Corona Jahr 2020 und in Zeiten des Klimawandels bin ich auf die Webseite Geoff’s Projects aufmerksam geworden. Da ich ein begeisterter Computer-Spieler bin und Strom sparen wollte (eine Spielekonsole verbraucht im Leerlauf laut Chip 170 Watt) habe ich mich entschlossen das Projekt “The Game of Pong” von Geoff’s Projects Webseite nachzubauen. Die nötige Hardware ist ziemlich simpel und besteht aus ein paar Kondensatoren, Widerständen, Cinch-Buchsen (Stereo Audio + Video), Ein- Ausschalter, zwei Potentiometern, zwei Tastern und einem Batteriehalter. Das Herz ist ein Microchip PIC 16F688 8-bit Mikrocontroller welcher von einem 16 MHz Quarz (nein, nicht Gigaherz) getaktet wird. Der Mikrocontroller hat einen 7KB “großen” Programmspeicher und kann mit einer Betriebsspannung von 2.0-5.5 Volt betrieben werden. Den C Source-Code und den Schaltplan kann man von Geoff’s Webseite downloaden und erhält dort auch die nötigen Hintergrundinformationen und Dateien zum Nachbau des Projekts.
Der original C Source-Code besteht aus nur zwei Dateien und ist in typischem 80er Jahre C-Style programmiert. Ich habe den Code komplett überarbeitet und in mehrere Dateien aufgeteilt:
- main.c
- collision.h
- bat.h
- ball.h
- goal.h
- interrupt.h
- screen.h
- init.h
- skill.h
- debounce.h
- pic16f688.h
- sound.h
- SwapInWriteOutLoop.c
Außerdem habe ich die 4 original Skills auf 8 erweitert, da ich noch Platz im Programmspeicher des PIC frei hatte und mit dem Code experimentieren wollte.
PIC
Die Beschaltung des PIC 16F688 sieht folgendermaßen aus:
-----
Vdd, +5 Volts 1 | 1 | 14 Vss, GROUND
OSC1, XTAL 1 2 | 6 | 13 RA0, RUN SW & ISCP Pin 4
OSC2, XTAL 2 3 | F | 12 RA1, SKILL SW & ISCP Pin 5
RA3, ISCP Pin 1 4 | 6 | 11 RA2, VIDEO OUT
RC5, +5V OUT FOR BAT 5 | 8 | 10 RC0, LEFT BAT
RC4, 6 | 8 | 9 RC1, RIGHT BAT
RC3, SOUND OUT 7 | | 8 RC2, SYNC OUT
-----
C-Compiler
Die C-Compiler Ausgabe lieferte 0 Errors, 0 Warnings und 57% ROM Belegung:
Compiling main
Memory usage: ROM=57% RAM=39% - 49%
0 Errors, 0 Warnings.
Build Successful.
Bilder vom Projekt
PIC Testschaltung
Als Vorübung zu diesem Projekt habe ich eine kleine Testschaltung für den PIC realisiert und eine LED mit dem PIC blinken lassen, das “Hello World!” der Elektronik.
Tools
- Lötkolben + Lötzinn
- Multimeter
- Schraubendreher
- Flachzange
- Seitenschneider
- PIC Programmier-Tool
- C-Compiler
- Breadboard (optional)
- Oszilloskop (optional)
Fazit
Das Projekt ist auch für Lötanfänger geeignet, da nur wenige Bauteile verlötet werden müssen. Falls man nicht löten möchte kann das Projekt auch auf einem Breadboard realisiert werden. Die Programmierung des PIC erfordert aber Kenntnisse im Umgang mit Mikrocontrollern und in der Programmiersprache C. Falls man die in Inline-Assembler programmierte Datei SwapInWriteOutLoop.c ändern möchte sind auch Assemblerkenntnisse nötig:
...
..swapf lbuf + 0, w
..movwf VIDEO_PORT
..movf lbuf + 0, w
..movwf VIDEO_PORT
...
Das Projekt hat mir sehr viel Spaß gemacht, das Spiel ist auch nach so vielen Jahren reizvoll und der Minimalismus des kompletten Projektes (Hardware, Software und Gameplay) hat mich sehr begeistert. Der Standby Stromverbrauch ist im Datenblatt des PIC mit 50nA (Nano Ampere) angegeben und der Betriebsstrom liegt im μA Bereich, das bedeutet ohne schlechtes Gewissen: Spielen bis der Arzt kommt - dem Klima wird dieses Spiel niemals Schaden und Angst vor der nächsten Stromrechnung muss man auch nicht haben. Außerdem ist es sehr nachhaltig da alle Bauteile bei einem Defekt ausgetauscht werden können.
Links
-
YouTube - pongmuseum - PONG - First documented Video Ping-Pong game - 1969
-
heise online - “Tickende Zeitbombe”: Was an den Warnmeldungen zur Playstation dran ist
-
heise online - Studie: Videospiele können Kinder intelligenter machen
-
heise online - Experte: Computerspielsucht kann Gehirn verändern, Heilung möglich
Musik
#DIY #Elektronik #PONG #PIC #Retro #Games #Spiele #Videospiele #Klima #Klimawandel #Stromverbrauch