-         
Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 33

Thema: AVR Spielekonsole Kapitel 2

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2007
    Beiträge
    23

    AVR Spielekonsole Kapitel 2

    Anzeige

    Hallo! Vor 7 Monaten habe ich mal einen Thread gestartet zum Thema Spielekonsole mit AVR. Quintessenz war am Ende ein Konzept mit einem ARM und ein wenig TTL, dass ich schnell fallen lassen musste. Bin nach Berlin umgezogen und Zeit fehlte auch. Nun bin ich wieder am Thema und auch um einiges schlauer. Ich habe recherchiert wie die alten Konsolen (Atari 2600) oder NES mit weit weniger Leistung als ein AVR das alles hinbekommen haben. Der Atari2600 ist wohl einer der genialsten Vertretern. Die Idee von vor 7 Monaten beinhaltete noch ein memory-mapped konzept. Also ein Bild das im RAM fertig ist darzustellen. Das klappt mit AVRs einfach nicht oder nur bei winzigen Auflösungen und Monochrom. Der Atari2600 macht das anders. Hier gibt es kein RAM das irgendwelche Bilddaten enthält, sondern nur ein paar register. Die GPU malt strikt ein TV-Bild vor sich hin und die CPU schubst es immer an wenn mal ein Pixel kommen soll oder eine bestimmte Farbe. Genauso kann man eine einfache Konsole mit 2 AVRs realisieren. Ein AVR malt immer ein Bild. Es gibt immer einen austausch zwischen CPU und GPU wenn z.B. das Bild neu gezeichnet wird, oder eine Farbe gesetzt wird. Das kann man mit wenigen Bits realisieren und ist verdammt schnell. Damit sind große Auflösungen und Farbtiefen möglich...z.B. 128x96 Pixel bei 8 Farben. Man muss eben nur beide ICs immer gut synchronisieren und man muss wissen wo die GPU zu welcher Zeit im TV-Bild rumwuselt. Man hat dann immernoch genug Raum für ein paar Sprites (bewegte Bildchen) oder Textzeichen. Mehr Zeit spart man noch wenn man kein FBAS sondern ein langweiliges RGB+Sync Signal erzeugt. Das läuft eigentlich auf jedem moderneren (ab 1995 sicher) TV-Gerät. Was haltet ihr von der Idee? Seht ihr große Stolperfallen?

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    so etwas habe ich vor. da ich hardwaremässig nichts am hut habe, lasse ich mir zur zeit eine gesamtplatine anfertigen , wo drauf ist : 2x atmega644 20mhz , 1x atmega8, 1x ps2-tastaturstecker, 1x fbas-steckbuchse, 1x mc/sd-kartensteckplatz, 1x display 2x16zeilen, 1x rs232-schnittstelle zum pc. das wars.
    daran werde ich meine video-kenntnisse oder nichtkenntnisse austoben lassen.

    mfg

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    22.11.2003
    Beiträge
    214
    Hallo,
    ich bin vor wenigen Wochen mal auf den Propellerchip gestoßen. Mit diesem Chip gibt es auch eine Spielekonsole mit Namen Hydra. Vielleicht ist die ja was für Euch - es sei denn ihr steht mehr auf die eigentliche Entwicklung.
    Leider sind mir die Links verloren gegangen. Aber googeln dürfte helfen.
    Gruß
    Stefan

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    23.04.2007
    Alter
    29
    Beiträge
    10
    das hydra board für den propeller chip wird auch in (ich glaube) der neuesten elektor vorgestellt
    ist ein set mit handbuch und erklärung wie man denn spiele programmiert und natürlich dem chip auf nem board mit vga-anschluss und tastatur und maus und noch viel mehr

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    03.11.2004
    Ort
    Süderlügum
    Alter
    37
    Beiträge
    86
    Ich muss gestehen, ich hab den letzten Thread nicht verfolgt.

    Aber mir brennt grade eine Frage: Wie soll denn das mit der Programmierung der Spiele funzen?
    Ergo, wie lädt man ein Programm von einer externen Datenquelle zur Laufzeit in den AVR? Die Dinger führen ihr Programm ja direkt vom Flash aus, also müsste man ja bei einem neuen Spiel quasi den AVR sich selbst neu flashen lassen, und das gäbe irgendwann sicher Probleme wenns zu häufig passiert.
    (Na gut... mindestens 10000 mal verschiedene Spiele spielen, wird ne Weile halten)
    Aber Prozessorarchitekturen ohne integrierten Flash wären ja doch wesentlich praktischer.
    (Spiel von Speicherkarte/Datasette etc ins Ram laden -> Programm vom Ram aus laufen lassen)

  6. #6
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.10.2006
    Ort
    Bayern
    Alter
    31
    Beiträge
    313
    Blog-Einträge
    1
    Ich denke mal, dass z.B. auf ner SD-Karte die Spieledaten gespeichert sein sollen (Grafiken, Welt, Figur, etc). Der AVR liest dann erstmal die Grafikdaten ein und verarbeitet sie um sie auszugeben auf dem Monitor/Fernseher/Display. Dann nimmt er die Daten des Eingabegerätes an (zb. Tastatur oder Joystick) und verändert entsprechend den Daten aus dem Eingabegerät die Anzeige.

    Also z.B:

    Zeichne Figur an Pos. X --> Nimm Tastaturdaten (pfeil nach vorn) --> lösche bildschirm --> zeichne Figur an Pos. X + 1

    usw. So oder so ähnlich könnte ich mir das vorstellen...

    Mfg.
    Lemon

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    20.03.2007
    Beiträge
    23
    Hehe ihr denkt schon ein bisschen zu weit. Spiele von einer SD-Karte zu lesen ist einfach nicht performant genug, da die Befehle ja interpretiert werden müssen.
    Die Konsole könnte aber aus nur einem AVR bestehen, nämlich den Grafikchip, und ein Spielmodul enthält dann eben die CPU.
    Ich denke die GPU könnte aus einem ATMega8515 bestehen mit 16kb SRAM welchen man nach dem starten mit Sprite-daten befüllen kann.
    Schaut euch ruhig mal die funktionsweise des Atart 2600 an.
    Mit 256 Byte RAM kamen da schon ne Menge guter Spiele bei raus.

    Mein Ziel ist es mit winzigem Aufwandt eine gute Plattform zu entwickeln.
    Kein SMD-Löten und auch kein Propeller Chip

    Der Propeller ist ein guter Multi-Core Controller, allerdings ist die Technik einfach nicht ausgereift. Man bendenke er besteht aus 8 Cores (Cogs) die man mit bis zu 80Mhz Takten kann.
    Das sind astronomische Leistungen, und viel zu schade für einen Atari-Clon. Als DSP oder ähnliches sollte man so einen guten Chip einsetzen.
    Noch dazu ist es einfach...zu einfach eine Konsole damit zu bauen. Paar Widerstände, Kondensatoren und Buchsen dran und fertig...fertige Libs für VGA und FBAS? Wo bleibt denn da noch der Spaß?
    Aber wer daran Spaß hat gern. Aber bitte dann mit Assebler programmieren und nicht mit Sp!n.

    Das größte problem macht eigentlich der Aufbau der GPU.
    Ein Bild 128x96 Pixel bei 16 Farben ergo 4 bit ist 6kb groß.
    Es gibt, glaube ich, keinen AVR mit einem so großen internen RAM.
    Folglich kann nur ein Mega8515 mit externem Speicherinterface eingesetzt werden an dem dann ein entsprechendes SRAM dranhängt. Jede Operation der GPU muss aber schnell genug sein um min. alle 5 µs ein Signal an den TV geben zu können (und das ist auch fast schon zu lahm).
    Ein SRAM mit 100ns wäre schon kritisch. 55ns gerade noch im Bereich des möglichen. Einen SRAM mit 35ns Ansprechzeit für normale Preise habe ich noch nicht gesehen.

    Ich bin mir nicht ganz sicher wie der TIA im Atari2600 die Bilddaten speichert. Schließlich muss das Bild ja auch wenn die CPU mal keine Befehle schickt angezeigt werden.
    Auch die Speicherung der Bilddaten stellt wieder ein performance Problem dar. Den SRAM schnell genug ansprechen und einen Pixel im 6kb großen Bild zu speichern und dann noch das Signal an den TV schicken...uiuiui.
    Hat jemand eine Idee?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    Hehe ihr denkt schon ein bisschen zu weit. Spiele von einer SD-Karte zu lesen ist einfach nicht performant genug, da die Befehle ja interpretiert werden müssen.
    ihr sollt nicht rumlabern, kauft euch ein board oder baut euch mal eins zusammen, dann können wir uns wieder unterhalten. so aber vorläufig nicht.
    es gibt auf der welt zuviel theoretiker , die vor geiz alles kaputtreden.


    dieses hydarboard habe ich. geht gut ab. musste 220 euro dafür hinlegen. wenn ihr es testen wollt kauft euch das ding und lasst euch vor geifer nicht immer die spucke im mund zusammenlaufen. wer ein hobby hat redet nicht, sondern führt es aus und kauft sich einfach die teile...pong..

    ...lol...

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    .....Der Propeller ist ein guter Multi-Core Controller, allerdings ist die Technik einfach nicht ausgereift. Man bendenke er besteht aus 8 Cores (Cogs) die man mit bis zu 80Mhz Takten kann......

    ich habe es.
    die technik ist ausgereift und mit den 8 core kannste dinge machen, die du noch nicht ein mal im traum erlebt hast.

    aber ich möchte es mit meinem board und dem atmega machen.

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    27
    Beiträge
    522
    Hallo junk_sandy,

    ich glaube das hier würde Dich interessieren : http://www.mikrocontroller.net/topic/54562#new
    So kann man sogar die ganze Konsole mit nur einem Controller realisieren.

    MfG Mark

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •