Forum: Mikrocontroller und Digitale Elektronik Spielekonsolen mit AVR


von Peter K. (Gast)


Lesenswert?

Welche guten Spielekonsolen wie ein Gamboy, Gamegear etc au Basis eines 
ATMEGA z.B. 128 kennt ihr?

Also nichts mit TV Ausgang oder so, sondern rein als standalone Gerät.
Inspiriert durch den Artikel von golem.de komme ich gerade darauf

von Max B. (citgo)


Lesenswert?

Uzebox

von Steve van de Grens (roehrmond)


Lesenswert?

Ich denke, dass die 8 Bit AVR dafür ungeeignet sind. Vor allem weil sie 
zu wenig RAM haben.

von Max B. (citgo)


Lesenswert?

Steve schrieb:
> Ich denke, dass die 8 Bit AVR dafür ungeeignet sind. Vor allem weil sie
> zu wenig RAM haben.

Geht alles, wenn auch mit ein paar Einschränkungen.

Gibt auch noch die ganzen Arduinosachen wie Arduboy oder Gambuino

von Sibert (Gast)


Lesenswert?

Steve schrieb:
> Ich denke, dass die 8 Bit AVR dafür ungeeignet sind. Vor allem
> weil sie
> zu wenig RAM haben.

Denken und Scheißen sind nicht gleich zu setzen. Es gibt hier ein 
Projekt das genau dies macht.

von Cyblord -. (cyblord)


Lesenswert?

Sibert schrieb:
> Steve schrieb:
>> Ich denke, dass die 8 Bit AVR dafür ungeeignet sind. Vor allem
>> weil sie
>> zu wenig RAM haben.
>
> Denken und Scheißen sind nicht gleich zu setzen. Es gibt hier ein
> Projekt das genau dies macht.

Es gibt einen Unterschied zwischen "ungeeignet" und "unmöglich". Um in 
deinem Bild zu bleiben: Eine Klobürste ist ungeeignet um Klopapier zu 
ersetzen. Unmöglich ist es hingegen nicht.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Steve schrieb:
> Ich denke, dass die 8 Bit AVR dafür ungeeignet sind. Vor allem weil sie
> zu wenig RAM haben.

RAM ist nicht das Problem. Schau Dir an, was der originale Gameboy 
hatte. Der hatte auch nur 8k.

Das eigentliche Problem ist die Architektur. Der AVR kann keinen 
Objektcode von externem Speicher ausführen, sondern ausschließlich aus 
dem internen Flash. Damit sind Konzepte wie Software in externen 
Einsteckmodulen, aus denen der Code direkt ausgeführt wird, einfach 
nicht drin. Ja ok, man könnte den Code jedesmal aus dem externen ROM ins 
interne Flash laden, aber das Flash hat auch nur begrenzt 
Schreib-/Lösch-Zyklen. Ist also doof. Man könnte auch einen 
Bytecodeinterpreter implementieren, aber der wäre langsam - also auch 
doof. Wie man es dreht und wendet, für einen Gameboy-Nachbau wäre AVR 
einfach eine ungünstige Wahl. Da sind klassische 8-Bit Architekturen wie 
Z80, 6502, 8052 oder auch irgendwelche Ärmchen einfach besser geeignet.

Da sind Leute, die mehr als nur AVR kennen, einfach im Vorteil.

fchk

von Klaus (Gast)


Lesenswert?

Habe im Netz ein Board mit dem Atmega 128, 2 Joypads zusätzlich mit 
Tasten, AD Wandler mit PCF8574 und PCF8591 und einem Farb TFT Display 
gesehen. Alles lief über den I2C Bus und passenden AD Wandler dazu. Man 
konnte damit Ball spielen mit 3 Runden. Der Schläger hatte verschiedene 
Aufprallwinkel und an den Rändern wurde der Ball umgelengt. Das alles 
mit 8 Bit- nicht schlecht. Man sieht aber es geht. Wenn ich das richtig 
gesehen habe lief der I2C bus mit 100kHz.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Frank K. schrieb:
> Damit sind Konzepte wie Software in externen
> Einsteckmodulen, aus denen der Code direkt ausgeführt wird, einfach
> nicht drin.

Was spricht denn gegen einen AVR im Steckmodul? AVR Mario z.B. treibt 
dann einen externen Monitor an, der auch ein LC-Display sein könnte.

: Bearbeitet durch User
von Peter K. (Gast)


Lesenswert?

Ich denke für so eine Spielerei sind es mehr als genug Flash Zyklen....
Diese Sorge ist also ganz sicher unbegründet

von Peter K. (Gast)


Angehängte Dateien:

Lesenswert?


von Max B. (citgo)


Lesenswert?

Wie gesagt, die Uzebox basiert auf dem ATMega644 bzw. 1284 und ist 
anfangs als Konsole für den TV erschienen und mittlerweile auch als 
Handheld nutzbar

Hier noch was:
Beitrag "Re: Zeigt her eure Kunstwerke (2020-2021)"

Beitrag "Re: Zeigt her eure Kunstwerke (2020-2021)"

Und die ganzen Arduinosachen eben

Peter K. schrieb:
> Inspiriert durch den Artikel von golem.de komme ich gerade darauf

Welcher?

: Bearbeitet durch User
von Peter K. (Gast)


Angehängte Dateien:

Lesenswert?


von Hamsterer (Gast)


Lesenswert?


von PittyJ (Gast)


Lesenswert?

Für eine Stunde macht sowas vielleicht Spass. Dann auch noch das Gefühl: 
"Super, was damals mit 8 Bit alles schon ging".

Am Tag danach wird dann wieder die Playstation eingeschaltet. Die ist 
ergonomischer, hat 3D Sensoren, und die Spiele machen doch mehr Spass.

von john doe (Gast)


Lesenswert?

PittyJ schrieb:
> Für eine Stunde macht sowas vielleicht Spass. Dann auch noch das
> Gefühl:
> "Super, was damals mit 8 Bit alles schon ging".
>
> Am Tag danach wird dann wieder die Playstation eingeschaltet. Die ist
> ergonomischer, hat 3D Sensoren, und die Spiele machen doch mehr Spass.

Der Weg ist das Ziel ;-)

von Programmierer (Gast)


Lesenswert?

Es gibt so viele Mikrocontroller, warum muss es ausgerechnet der AVR 
sein? Verwendest du auch einen Schraubenzieher zum Nägel einschlagen 
wenn nebenan eine gigantische Werkstatt ist?

Es gibt jede Menge andere Controller, welche z.B.:
- Wesentlich mehr Rechenleistung haben
- Ein direktes paralleles LCD-Interface haben
- I²S für Soundausgabe haben
- Code aus dem RAM ausführen können
- Genug RAM haben/extern ansteuern können für komplexe Grafiken

Entsprechende Boards kann man auch fertig kaufen, z.B. 
STM32F429-Discovery und STM32F746-Discovery und viele mehr.

von Uwe B. (boerge) Benutzerseite


Lesenswert?


von Max B. (citgo)


Lesenswert?

Programmierer schrieb:
> Es gibt so viele Mikrocontroller, warum muss es ausgerechnet der AVR
> sein?

Weil er danach gefragt hat?

> Es gibt jede Menge andere Controller...

Kaufst du dir auch einen Ford Mustang wenn du für deinen VW Polo einen 
Sportauspuff suchst?

von Programmierer (Gast)


Lesenswert?

Max B. schrieb:
> Kaufst du dir auch einen Ford Mustang wenn du für deinen VW Polo einen
> Sportauspuff suchst?

Wenn ich irgendwas mit "Sport" machen will kauf ich mir keinen VW Polo.

von Nick (Gast)


Angehängte Dateien:

Lesenswert?

Makerduino ...

von Max B. (citgo)


Lesenswert?

Programmierer schrieb:
> Max B. schrieb:
>> Kaufst du dir auch einen Ford Mustang wenn du für deinen VW Polo einen
>> Sportauspuff suchst?
>
> Wenn ich irgendwas mit "Sport" machen will kauf ich mir keinen VW Polo.

Du hast den Wink nicht verstanden.
Wenn er doch fragt: Welche Konsolen mit AVR kennt ihr?
Dann ist der Hinweis auf bessere Controller irgendwie am Thema vorbei. 
🤷‍♂️

von Bri (bri)


Lesenswert?

Programmierer schrieb:
> Es gibt so viele Mikrocontroller, warum muss es ausgerechnet der AVR
> sein? Verwendest du auch einen Schraubenzieher zum Nägel einschlagen
> wenn nebenan eine gigantische Werkstatt ist?

Was soll denn dieser sinnlose Kommentar? Jeder weiß hier, dass es noch 
andere Mikrocontroller gibt.
Er will es mit einem AVR machen. Wenn du seine Fragen nicht beantworten 
kannst, dann schreib einfach nicht.

von Programmierer (Gast)


Lesenswert?

T. B. schrieb:
> Was soll denn dieser sinnlose Kommentar? Jeder weiß hier, dass es noch
> andere Mikrocontroller gibt.

Vielleicht weiß der TO ja nicht, dass und warum andere Controller viel 
besser geeignet sind. Vielleicht freut er sich ja darüber, wenn man ihm 
viel Zeit und Ärger erspart, indem man ihn auf einen besser geeigneten 
Controller hinweist. Man muss ja nicht immer vorm Tellerrand bleiben.

von Nichtgast (Gast)


Lesenswert?

? Ernsthaft?
Was stimmt mit einigen hier nicht 😂Wenn es um mehr Rechenleistung ginge, 
könnte man es auch gleich am PC machen....

Wenn es ums Spielen ginge könnte man sich auch gleich eine 8bit Konsole 
bei eBay kaufen

Es geht ums Basteln und in erster Linie programmieren.
Angefangen von einfach bis schwer ist bei so einem Projekt alles drin 
und man hat am Ende ein Ergebnis.
Jemand der damit nichts anfangen kann, sollte hier gar nicht weiter 
mitlesen....
Es geht um aber und Spielekonsole.
Da braucht man nicht herumdiskutieren an der Startbedingung.

von H. H. (Gast)


Lesenswert?

Programmierer schrieb:
> Max B. schrieb:
>> Kaufst du dir auch einen Ford Mustang wenn du für deinen VW Polo einen
>> Sportauspuff suchst?
>
> Wenn ich irgendwas mit "Sport" machen will kauf ich mir keinen VW Polo.

Wer Polo spielen will, der sollte sich ein Pferd kaufen.

von Programmierer (Gast)


Lesenswert?

Nichtgast schrieb:
> Es geht ums Basteln und in erster Linie programmieren.
> Angefangen von einfach bis schwer ist bei so einem Projekt alles drin
> und man hat am Ende ein Ergebnis

Man muss es sich aber nicht sinnlos schwer machen. Was hat man davon 
eine eigene Display Ansteuerung hinzubasteln, die langsam und 
umständlich ist, wenn man das auch mit einer Hand voll Zeilen auf einem 
geeigneten Controller mit integriertem LCD-Controller machen kann, 
sodass man dann mehr Leistung übrig hat? Was hat man davon, den Flash 
vom AVR abzulutschen durch wiederholtes Laden von Spielen, wenn man auch 
einfach einen Controller mit ausführbarem RAM nehmen kann? An Auswahl 
mangelt es da wahrlich nicht, vom Z80 bis zum ESP32. Effizient und 
energiesparend zu programmieren ist immer noch eine spannende 
Herausforderung. Auch auf alten Spielekonsolen hat man extra geeignete 
Prozessoren verwendet und nicht irgendeinen der zufällig herum lag.

Eine interessante Variante wäre so etwas wie die Lilygo ESP32 
Smartwatch. Mit den ganzen Sensoren könnte man sehr interaktive Spiele 
basteln, die man vielleicht sogar kontinuierlich am Handgelenk trägt. 
Das wäre doch mal innovativ im Vergleich zur 8bit-Nostalgie mit 
unnötigen Verrenkungen.

von Max B. (citgo)


Lesenswert?

Jaaaa, da hagelt es wieder Negativbewertung nur weil man die Frage vom 
TO richtig interpretiert.

Peter K. schrieb:
> Welche guten Spielekonsolen wie ein Gamboy, Gamegear etc au Basis eines
> ATMEGA z.B. 128 kennt ihr?

Fragen wir ihn doch mal...
@Peter K., suchst du jetzt Spielekonsolen auf ATMEGA Basis wie im 
Eröffnungspost geschrieben oder suchst du leistungsfähigere Controller 
mit denen man mehr machen kann anstatt nostalgisch zu werden? 🤷‍♂️

von Programmierer (Gast)


Lesenswert?

Max B. schrieb:
> anstatt nostalgisch zu werden? 🤷‍♂️

Wie nostalgisch ist es, es sich noch schwerer als mit den 
Original-Prozessoren zu machen?

von Max B. (citgo)


Lesenswert?

Meine Güte, er hat doch nur gefragt ob jemand Konsolen auf Basis von 
ATmega kennt und nicht ob es Sinn macht sich eine Konsole mit einem 
ATmega zu bauen.

Das sind 2 verschiedene Fragestellungen. Und auf die erste haben einige 
geantwortet. Auf die letztr nur du. Und das obwohl sie nie gestellt 
worde.

von Rolf M. (rmagnus)


Lesenswert?

Max B. schrieb:
> Meine Güte, er hat doch nur gefragt ob jemand Konsolen auf Basis von
> ATmega kennt und nicht ob es Sinn macht sich eine Konsole mit einem
> ATmega zu bauen.

Und deswegen ist es unter Strafe verboten, was anderes auch nur zu 
erwähnen? Was ist denn so schlimm daran, zu erklären, dass AVRs einige 
Nachteile für diese Anwendung haben?

von Os2fan (Gast)


Lesenswert?

Leute. Rafft es doch Mal .
Es geht um Spielekonsole mit AVR
Leiden hier viele unter ADs oder so?
Dieses Forum ist unfassbar.
Dazu gehört natürlich auch die Option diese zu bauen oder eben Link
Für die ganz begeiffstutzigen.
Nein, es kommt sein Arm in Frage auch kein Pentium oder Ryzen

Machen das die neuartigen Drogen. Schnüffeln hier viele an Sprühsahne 
oder Klebstoff?

Schafft es wirklich keiner hier beim Thema zu bleiben.

Neuer Tag neues Glück.
An die arm und mehr RAM etc Fraktion..
Versucht es heute doch noch Mal, strengt euch an oder klickt auf eine 
andere Seite....

Vom Handy getippt

von Max B. (citgo)


Lesenswert?

Rolf M. schrieb:
> Max B. schrieb:
>> Meine Güte, er hat doch nur gefragt ob jemand Konsolen auf Basis von
>> ATmega kennt und nicht ob es Sinn macht sich eine Konsole mit einem
>> ATmega zu bauen.
>
> Und deswegen ist es unter Strafe verboten, was anderes auch nur zu
> erwähnen? Was ist denn so schlimm daran, zu erklären, dass AVRs einige
> Nachteile für diese Anwendung haben?

...unter Strafe... 🙄🤦‍♂️
Hat doch niemand behauptet. Ihr könnt auch die PS5 erwähnen als Ersatz 
für einen ATmega. Aber darum geht es doch gar nicht.

Der TO sucht Äpfel und ihr bietet ihm an Bananen zu nehmen weil die 
länger sind.
Das ist doch völlig am Thema vorbei!

von Jester (Gast)


Lesenswert?

Frank K. schrieb:
> Wie man es dreht und wendet, für einen Gameboy-Nachbau wäre AVR
> einfach eine ungünstige Wahl. Da sind klassische 8-Bit Architekturen wie
> Z80, 6502, 8052 oder auch irgendwelche Ärmchen einfach besser geeignet.

War nicht sogar im Game Boy/Game Boy Color ein 8080/Z80 Derivat verbaut? 
Ist schon zu lange her, dass ich damit gebastelt habe ...

von c-hater (Gast)


Lesenswert?

Jester schrieb:

> War nicht sogar im Game Boy/Game Boy Color ein 8080/Z80 Derivat verbaut?

Ja. Aber das interessiert im Kontext der Fragestellung des OT eben kein 
Schwein.

von Os2fan (Gast)


Lesenswert?

Damals gab es eben auch noch kein atmega 64 z.B.
Und klar ginge es auch mit z80, aber den wollte ich in einem anderen 
Projekt einsetzen

von Jester (Gast)


Lesenswert?

c-hater schrieb:
> Jester schrieb:
>
>> War nicht sogar im Game Boy/Game Boy Color ein 8080/Z80 Derivat verbaut?
>
> Ja. Aber das interessiert im Kontext der Fragestellung des OT eben kein
> Schwein.

Mich interessiert es - aber bin ich deshalb gleich ein Schwein?

von Peter K. (Gast)


Lesenswert?

Dann mach doch einen eigenen Thread zu dem Thema auf das dich 
interessiert....

von Stefan F. (Gast)


Lesenswert?

Frank K. schrieb:
> RAM ist nicht das Problem. Schau Dir an, was der originale Gameboy
> hatte. Der hatte auch nur 8k.

8k RAM + 8k Grafikspeicher. Die Color Variante hatte 32 + 16k.

Jester schrieb:
> Mich interessiert es - aber bin ich deshalb gleich ein Schwein?

Dort ist er ganz detailliert beschrieben, mit vielen weiterführenden 
Links:
https://www.mikrocontroller.net/attachment/59939/1_gameboy.pdf

von Jester (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Frank K. schrieb:
>> RAM ist nicht das Problem. Schau Dir an, was der originale Gameboy
>> hatte. Der hatte auch nur 8k.

> [...]

> Dort ist er ganz detailliert beschrieben, mit vielen weiterführenden
> Links:
> https://www.mikrocontroller.net/attachment/59939/1_gameboy.pdf

Danke für die Info. 1_gameboy.pdf ist wirklich lesenswert, beschreibt 
das Paper doch im Detail, was den Entwicklern bei Nintendo besonders 
wichtig war - u.A. auch bei den Anpassungen der CPU, der Anbindung des 
LCD und dem Soundgenerator.

Daraus könnte man schon ableiten, welcher AVR geeignet sein könnte, und 
was man diesem beiseite stellen müsste, um ihn als Basis für eine 
Spielkonsole effektiv nutzen zu können.

Ich sehe das ählich wie Frank K. - RAM dürfte eines der kleineren 
Probleme sein ...

von Jobst M. (jobstens-de)


Lesenswert?

Frank K. schrieb:
> Das eigentliche Problem ist die Architektur. Der AVR kann keinen
> Objektcode von externem Speicher ausführen, sondern ausschließlich aus
> dem internen Flash.

Man könnte ja einen AVR Kern in ein FPGA schieben. Und beliebig Speicher 
dran schnuddeln. Und zusätzliche Peripherie.

Gruß
Jobst

von Peter K. (Gast)


Lesenswert?

Wenn man mit FPGA basteln wollte könnte man das...nur geht es hier nicht 
darum....
Wenn ich ein Thema zum Z80 aufmache ist ein FPGA ebenfalls fehl am 
Paltz..
Wenn ich sage ich möchte was einfaches mit FPGAs basteln, dann kannst du 
dieses beispiel sinnvoll einbringen...

Jobst M. schrieb:
> Man könnte ja einen AVR Kern in ein FPGA schieben. Und beliebig Speicher
> dran schnuddeln. Und zusätzliche Peripherie.

von Jobst M. (jobstens-de)


Lesenswert?

Peter K. schrieb:
> Wenn man mit FPGA basteln wollte könnte man das...nur geht es hier nicht
> darum....

Nicht? AVR ist zunächst einmal eine Architektur. Die kann man auch in 
einen FPGA stecken. Ist dann immer noch AVR.
Passt also.
Außerdem ist dies ein Forum. Da kann jeder seine Ideen einwerfen. 
Vielleicht sind diese ja sogar für jemanden anderen Hilfreich, der hier 
auch liest. Die für Dich am besten passende Lösung wirst Du Dir also 
schon selbst aus den Antworten heraussuchen müssen. Verständlicherweise 
wird keiner hier sich darüber Gedanken machen, ob seine Antwort Dir so 
schmeckt. Solltest Du das erwarten, erwartest Du vermutlich auch gleich 
noch eine Komplettlösung mit Schaltplan. Alles Andere wäre ja auch eine 
Frechheit!

Mir wirst Du nicht den Mund verbieten. Leb damit!

So, meinetwegen kann nun Rudi Ratlos hier übernehmen ...

Ab dafür!

von Lotta  . (mercedes)


Lesenswert?

RAM kann man ja bis 64 Kb an den AVR anschließen.

Man könnte ja auch für jedes Spiel einen eigenen Atmel vorsehen,
der dann in der Console als Modul ausgewechselt wird.
oder...
Man kann alle Grafikprimitiven und das Soundsystem im Flash halten
und die einzelnen Befehle des Spiels als Skript oder Bytecode aus
dem RAM laden, wie ein Interpreter also, aber schneller, da
der Ram Code praktisch nur die Grafikprimitiven und Soundpattern 
"zusammenklebt", die im Flash bereits enthalten sind.
So wären dann mehrere Spiele, die aus ner Cardrige ins RAM
geladen werden, möglich.


mfg

von Frank K. (fchk)


Lesenswert?

Peter K. schrieb:
> Wenn man mit FPGA basteln wollte könnte man das...nur geht es hier nicht
> darum....
> Wenn ich ein Thema zum Z80 aufmache ist ein FPGA ebenfalls fehl am
> Paltz..
> Wenn ich sage ich möchte was einfaches mit FPGAs basteln, dann kannst du
> dieses beispiel sinnvoll einbringen...

Das Problem ist, dass das in der echten Welt nicht so funktioniert. Da 
gibt es eine Anforderung, z.B. "Ich brauche xyz", und dann sucht man 
ergebnisoffen(!) nach der optimalen Architektur und den am besten für 
diese Aufgabe geeigneten Bausteinen - was immer das dann auch sein mag.

Du hingegen hat eine Lösung und suchst ein Problem. Ok, im Bastelkeller 
kannst Du das so machen, aber professionell geht anders.

fchk

von MCUA (Gast)


Lesenswert?

> RAM kann man ja bis 64 Kb an den AVR anschließen.
Mit (RAM)Banking kann man unbegrenzt (S)RAM an den AVR anschliessen.

Bsp.:
  Ab Adresse $1100 werden die oberen AdressBits für die Bänke
     (in FF-ICs (bsp '374 '574)) geschrieben;
  (evtl noch weiteres Konfig-Byte für verschiedene 
Aufteilungs-Varianten.,
      geht in PLD (*))
  Ab Adresse $8000 (obere 32kB vom AVR) werden diese Bänke (mittels 
32kB- /
      16kB-  8kB-  4kB- Pages) dann adressiert.
     (bsp. 1x32kB oder 2x16kB oder 4x8kB  oder 1x16kB u. 2x8kB oder ...)
  (*) das PLD schaltet die Bänke frei (an \E von FF-IC), je nach 
Variante
      und nach AVR-Adresse A12..15).
  Das kostet fast nichts; ein FF-IC kann man für unter 0,10$ kriegen,
  Als PLD ist nur ein kleines nötig (oder man macht das mit sep. Logic)

von Peter K. (Gast)


Lesenswert?

@Frank K
Das Problem ist, dass es in DEINER Welt nicht funktioniert.
Du solltest diese Denke daher nicht auf andere Übertragen.
Ich weiß was sich will und wie ich es mir vorstelle etc.
Ich wollte das Thema hier einfach nur generell mal wieder anregen, was 
du in DEINER Welt natürlich nicht nachvollziehen kannst

Wie man bei MEINER Vorstellung und Einleitung auf die Idee kommen kann, 
einen FPGA zu empfehlen ist mir ehrlich gesagt schleierhaft...

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.