mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Telespiel mit 2 ATMega32


Autor: Korkeiche (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Korkeiche (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Korkeiche (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.