Forum: Mikrocontroller und Digitale Elektronik Telespiel mit 2 ATMega32


von Korkeiche (Gast)


Lesenswert?

Hallo!

Ein Bekannter und ich wollen ein Telespiel programmieren.
Gedacht sind eine Auflösung von 64x64 Pixeln, schwarz/weiß, an einem TV, 
Eingabe über 2 Joypads (oder ähnliches), Sound über die 4 PWMs.

Allerdings wollen wir 2 MCUs verwenden. Eine als CPU, die andere als 
Grafikeinheit.
Die CPU übermittelt immer die 512 Byte für das Bild an die GPU die 
dieses aufbaut.
Wir dachten dafür einen ganzen Port zu nehmen, damit das auch schnell 
von statten geht.

Zur Zeit würde uns nur das Synchronisieren von GPU und CPU 
schwierigkeiten bereiten. Wäre es sinnvoll dies über Interrupts zu 
lösen?
Auch die Eingabe ist uns noch nicht ganz klar.
Wir dachten an sowas wie die NES-Pads. Dort sitzt ein Schieberegister 
drin, was die Bits der Tasten encodiert. Allerdings wäre das Dekodieren 
in der CPU dann wieder recht umständlich, zusätzlich zur 
Synchronisation, oder?
Ansonsten bleibt nur der Selbstbau eines Kontrollers, mit 4 Tastern, für 
4 Richtungen. Bei 2 Pads geht dann wieder ein Port drauf, aber wir 
würden uns gern so viel wie möglich I/Os frei halten, für eventuelle 
spätere Änderungen.

Welche Art Spiel es werden soll steht zwar noch nich 100%ig Fest, aber 
ein PONG-Derivat wird wohl der beste Anfang sein. Vllt. auch ein Tetris. 
Mal sehen...

von mr.chip (Gast)


Lesenswert?

Hallo

Genau daran arbeite ich seit 2 Monaten. Verfolge einen sehr ähnlichen 
Ansatz wie ihr, auch mit 2 MCUs (Mega32). Man sollte aber den Aufwand 
und die Komplexität eines solchen Projektes nicht unterschätzen, 
insbesondere, was Debug-Möglichkeiten, Timing, Datenübertragung und 
Grafikroutinen angeht.

Werde vermutlich in den nächsten Tagen auf www.thinkcool.ch mein Projekt 
veröffentlichen, da es fast fertig ist.

Gruss

Michael

von Korkeiche (Gast)


Lesenswert?

Auf welche Probleme bist du bislang gestoßen? Timing scheint bislang das 
größte Problem zu sein. Grafikroutinen beherrsche ich mittlerweile recht 
gut. Über nen PIC hatte ich schonmal ein BAS-Signal erzeugt. Allerdings 
war das nur ein dunkler werdendes Vollbild. Also recht einfach.

von Magnus Müller (Gast)


Lesenswert?


von mr.chip (Gast)


Lesenswert?

Das Hauptproblem war meiner Meinung nach die Möglichkeiten zum Debuggen, 
denn es gibt kaum welche. Es werden zwar grosse Mengen an Daten 
herumgschaufelt und manipuliert, aber man kann da einfach nicht 
reingucken, da alles im Takt laufen muss. Simulieren geht ebenfalls 
kaum, da es einfach zu lange Simulationsschritte sind bis ein zu 
untersuchender Zustand eintrifft, zudem müsste man noch den jeweils 
anderen Controller einbeziehen. Zudem sind die Fehler normalerweise 
relativ high-level, da das Programm doch relativ komplex wird.

von Korkeiche (Gast)


Lesenswert?

Mir fällt auf, dass ein 8-bit Port zur übertragung eines Bildes von 
einem Chip zum anderen, eine relativ lange Zeit benötigt.
Ist das ein Problem gewesen, bei deinen Versuchen? Wie hast du die 
Übermittlung der Bilddaten gelöst?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.