PONG


Digitala projekt 5p
LP4 2004

Daniel Martinsson, e00dma                                                           
Henrik Abrahamsson, e00ha


rapporten
kopplingsschema
källkod: skicka ett mejl och fråga.


                                                                                                                                          
Bakgrund

En vacker vårdag i mars blev Daniel Martinsson och Henrik Abrahamsson helt plötsligt väldigt sugna på att spela det gamla klassiska spelet Pong. Av en ren slump hade de redan anmält sig till kursen Digitala Projekt 5p. Att implementera detta spel på exempelvis en AVR-processor tyckte de båda kändes som en lagom utmaning för de kommande sju veckorna. För dom som är intresseade av spelet Pong kan www.pong-story.com varmt rekommenderas. På denna sajten kan bland annat läsas att Atari redan 1975 hade "Pong in a chip" till försäljning. Kanske är Henrik och Daniel 30 år efter i teknikutvecklingen? De har båda avböjt att kommentera detta faktum.


Hårdvaran

I princip består hårdvaran av följande:
  • En 128x64 tecken LCD-display med tillhörande driver- och buffert-kretsar.
  • En 8-bitars enchipsdator från Atmel som heter AVR ATMega16.
  • Två stycken TAC-2 joystickar.
  • En 16MHz oscillator till AVR:en
  • Några avkopplingskondensatorer

Dessa komponenter gick tämligen kvickt att koppla samman och man kan nog säga att tyngdpunkten i projektet låg i programmeringen. Den observanta läsaren kanske har konstaterat att det även finns med en summer på bilden ovan (den lilla gråa saken). Denna hade ett väldigt irriterande pip och bojkottades därför ganska omgående från projektet. Dock har den fått sitta kvar på kretskortet alltsedan Henrik och Daniel hade en handuppräckning om vem som skulle vira/löda bort den.


Programmeringen

I detta projekt användes programspråket C uteslutande. Programmet skrevs på en vanlig PC. Därefter kompilerades källkoden med GNU-GCC kompilator med AVR backend. Slutligen laddades den färdigkompilerade koden upp i AVR-processorn via datorns serieport. AVR ATmega16 som användes i detta projektet har endast 16kb programminne och 1kb ramminne. Detta gjorde att medlemmarna i projektgruppen fick snåla lite med minnet och stryka några "flashiga" introbilder till spelet.


Slutord

Daniel och Henrik tycker båda att kursen har varit lärorik och rekommenderar den varmt. De stötte på en del småproblem under resans gång men på det stora hela så tyckte de att projetet flöt på bra.


© 2004, Henrik Abrahamsson & Daniel Martinsson