[GamePad 2000]
- the ultimate gaming experience -

Inledning
Detta projekt gick ut på att göra en digital konstruktion för att lösa en av oss bestämd uppgift. Vi valde att skapa en liten handhållen speldator med en LCD-skärm, där spelen styrs med 5 knappar.
Vi började med att bygga hårdvaran och försedde sedan kontruktionen med mjukvara för att kontrollera speldatorn.

Systemet
Den digitala konstuktionen byggs upp kring en processor av typen Motorola 68008 och en 128x64 bildelement stor LCD-skärm. Tre typer av minnen används, EPROM, RWM och EEPROM, för att lagra programkoden, data respektive data som ska sparas mellan spelomgångar.
Som kringlogik användes två PAL:ar för att styra minnesåtkomster och interrupt till processorn. Interrupt användes för att hantera knapptryckningar, detta för att utnyttja processorkraften väl.


På hårdvaran har vi lagt ett lager av instruktioner som en spelutvecklare kan anropa från sitt spelprogram för att kommunicera med hårdvaran. Detta för att göra program skrivna för annan hårdvara lätta att porta, men även för att det ska vara lätt att uppdatera eller banta hårdvaran.
HAL:et innehåller bara en grunduppsättning av instruktioner. Dessa har utvidgats med ett Graphics Interface som använder HAL:et för att bygga upp mer avancerade grafikrutiner.
Ett spelprogram kan använda dessa biblioteksrutiner för att kommunicera med skärmen och knapparna.

Användarprogram
För att testa vår konstruktion har vi även skrivit början till ett teatrisspel, där man kan stapla lådor på varandra. Spelaren styr staplandet med knapparna.

Personliga slutord
Denna kurs har varit givande och har visat på möjligheter, men också svårigheter, som kan uppstå vid digital konstruktion. Vi känner att den har förberett oss bra inför arbetsuppgifter som vi kan få i framtiden. Vi rekommenderar denna kurs till alla som vill lära sig lite grundligare hur hårdvara i en dator fungerar på ett handfast sätt. Till slut vill vi tacka Bertil Lindvall för all hjälp och tips under projektets gång.

Projektet genomfört av:
Jens Axelsson, e95jax
Joakim Lindqvist, e96jl