[STM32F746] Gameboy Emulator

OP #5376644
Lesenswert?

Hallo Mikrocontroller Fans,

ich wollte hier kurz auf das neue Show Projekt auf unserem Blog 
hinweisen.

Es ist ein Gameboy Emulator, welcher auf einem STM32F746-Disco Board 
läuft.

http://mikrocontroller.bplaced.net/wordpress/?page_id=1290

Viel Spass damit,

Manfred
(Firma: matzetronics) #5376653
Lesenswert?

Cooler Job, Leute!
Ums der MBC Emulation einfacher zu machen, könnte man evtl. das USB 
Keyboard und damit das HID Zeug rauswerfen und ein paar simple GPIO für 
ein Keypad benutzen. Ob man dadurch viel spart, müsste man ausprobieren. 
Auf jeden Fall habt ihr meinen höchsten Respekt! +1
#5376693
Lesenswert?

Super cooles Projekt, aber entweder ich bin blind oder es gibt quasi 0 
Info dazu? Als interessierter Leser würde ich gerne wissen was die 
Motivation war, wo die Probleme (sofern es welche gab) lagen, wie ihr 
die gelöst hab...

Die 3 Sätze unterm Link sind eher meh. Und auch die anderen Blog-Posts 
sind extrem mager. :(
OP #5376719
Lesenswert?

Matthias S. schrieb:
> Cooler Job, Leute!
> Ums der MBC Emulation einfacher zu machen, könnte man evtl. das USB
> Keyboard und damit das HID Zeug rauswerfen und ein paar simple GPIO für
> ein Keypad benutzen. Ob man dadurch viel spart, müsste man ausprobieren.
> Auf jeden Fall habt ihr meinen höchsten Respekt! +1

Hi Matthias,
es sind alle Sourcen frei zugänglich. Es sollte also ein leichtes sein 
gewünschte Änderungen auszuprobieren.
LG, Manfred
#5376750
Lesenswert?

Manfred B. schrieb:
> Hi Vincent Hamp,
>
> vielen Dank für das Feedback - aber du weisst schon, dass es auf unserem
> Blog eine Suchfunktion gibt. Dort einfach GAMEBOY eintippen - und schon
> hast du alle Infos;)
>
> Ciao,
> Manfred


http://mikrocontroller.bplaced.net/wordpress/?p=2354
http://mikrocontroller.bplaced.net/wordpress/?p=2341
http://mikrocontroller.bplaced.net/wordpress/?p=2314
http://mikrocontroller.bplaced.net/wordpress/?p=2299
http://mikrocontroller.bplaced.net/wordpress/?page_id=1290

Das is alles was die Suchfunktion ausspuckt?
OP #5376773
Lesenswert?

Vincent H. schrieb:
>
> http://mikrocontroller.bplaced.net/wordpress/?p=2354
> http://mikrocontroller.bplaced.net/wordpress/?p=2341
> http://mikrocontroller.bplaced.net/wordpress/?p=2314
> http://mikrocontroller.bplaced.net/wordpress/?p=2299
> http://mikrocontroller.bplaced.net/wordpress/?page_id=1290
>
> Das is alles was die Suchfunktion ausspuckt?

Ja genau - das sind alle Infos dazu. Es ist eins von vielen Show 
Projekten auf unserem Blog - und die Motivation ist bei allen die 
gleiche: Spass am Programmieren der STM32 Mikrocontroller.
(Firma: matzetronics) #5378315
Lesenswert?

Manfred B. schrieb:
> Hi Matthias,
> es sind alle Sourcen frei zugänglich. Es sollte also ein leichtes sein
> gewünschte Änderungen auszuprobieren.

Oh, das würde ich gerne tun, allerdings bräuchte ich erstmal ein F746 
Disco Board :-P
Wichtiger ist mir im Moment das Mini-Oszilloskop (Show-10) von euch, wo 
ich noch einen Frequenzzähler nachrüsten möchte.
OP #5379234
Lesenswert?

Genau schrieb:
> Ist das Programm speziell für diesen einen ARM-Controller von ST
> geschrieben oder lässt es sich auf andere ARM-Controller ähnlicher
> Bauart portieren ?

Hallo,
welchen anderen ARM-Controller ähnlicher Bauart meinst du denn?

Wer Uwe kennt, weiß dass seine Projekte sehr Modular aufgebaut sind.
Die Z80 Sourcen sind von ihm selbst geschrieben und mit Sicherheit auf 
anderen STM32Fx lauffähig. Aktuell läuft es auf dem STM32F7 mit ganz 
passabler Bildwiederholrate (64fps). Auf kleineren ARM Controllern (z.B. 
STM32F4) wird das nicht ganz so flüssig laufen.

LG, Manfred
#5381725
Lesenswert?

Matthias S. schrieb:
> Cooler Job, Leute!
> Ums der MBC Emulation einfacher zu machen, könnte man evtl. das USB
> Keyboard und damit das HID Zeug rauswerfen und ein paar simple GPIO für
> ein Keypad benutzen. Ob man dadurch viel spart, müsste man ausprobieren.
> Auf jeden Fall habt ihr meinen höchsten Respekt! +1

Hi Matthias,
das F7-Disco board hat keine 8 Buttons und diese frei fliegend
anzuschließen finde ich aufwändiger als ein USB-Keyboard einzustecken.

Aber die Funktionen auf GPIOs zu routen ist kein Problem
(bekommst du bestimmt auch selber hin)

Genau schrieb:
> Ist das Programm speziell für diesen einen ARM-Controller von ST
> geschrieben oder lässt es sich auf andere ARM-Controller ähnlicher
> Bauart portieren ?

das Projekt ist aufgeteilt in den Z80-Emulator:
der ist in Ansi-C geschrieben...läuft also HW unabhängig

und den Gameboy-Teil:
dieser benutzt die STM-HAL um auf die Hardware zuzugreifen,
sollte aber leicht auf jede andere Plattform zu portieren sein.
(es wird nichts "spezielles" vom F7 benutzt, nicht mal der DMA)

Mann braucht nur eine Eingabemöglichkeit (min. 8 Buttons)
und ein LCD mit mindestens (160x144 Pixel in 4 Graustufen)

Vincent H. schrieb:
> Als interessierter Leser würde ich gerne wissen was die
> Motivation war, wo die Probleme (sofern es welche gab) lagen, wie ihr
> die gelöst hab...
>
> Die 3 Sätze unterm Link sind eher meh. Und auch die anderen Blog-Posts
> sind extrem mager. :(

Hi Vincent,
die Motivation war "langeweile"
Probleme gab es recht wenige
Der Z80-Emulator war reine Fleißarbeit (fast 512 Opcodes)
Aber es gibt im Netzt super Doku und Unit-Tests für den Gameboy,
damit kommt man gut zum Ziel.

Das größte "Problem" war/ist die Emulationsgeschwindigkeit.
Der original Gameboy schafft 60fps mit dem Vorteil
das die CPU sich nicht um die Grafik kümmern muss.

Die Grafik-Funktionen vom Gameboy sind etwas "unkonventionell"
der Memory-Bank-Controller ist auch nicht viel besser.

Um nicht zu viele IF-Statements einbauen zu müssen, habe ich viel
über Tabellen gelöst, das war schon die halbe Miete.

p.s. habe eine neue bugfix Version hochgeladen und konnte
nochmal 2fps rausholen (in Worten "zwei" :-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren