27-Show (Gameboy-Emulator per STM32F746)

Hallo,

hier ein Gameboy Emulator für das STM32F746-Disco board.

Der Z80 Emulator ist nicht kopiert :-) sondern den habe ich selbst geschrieben,
um ihn gleich an den Gameboy anzupassen.

Alle „mcu instruction“ unit tests von „Shay Green“ werden mit „passed“ bestanden.
Beim timing gibt es Abweichungen und auch sonst habe ich nicht alles zu 100% umgesetzt.
(könnt ihr ja noch verbessern 😉

hier ein Screenshot der Version 1.00 :

hier ein Screenshot von Version 1.15 (mit Screen-Mode 2:1) :

Steuerung über USB-Keyboard an CN13
(per INI-File von SD-Karte einstellbar)

Cursor = w,a,s,d
Btn-A = o
Btn-B = p
Select = Space
Start = Return

Die Tasten F1..F4 laden vorhandene Spiele aus dem flash.
Die Taste ESC dient als „pause/repeat“
F8 öffnet die SD-Karte zum laden (an CN3) [Cursor up+down, right]
Mit F9 und F10 kann die Farbtabelle geändert werden.
F11 sendet den LCD inhalt als BMP-File über die UART
Mit F12 kann per UART ein *.gb file geladen werden. (max 32kb)
(UART an CN14 mit 115200bd 8N1)
Die Taste TAB ändert den Screen-Mode
Mit den Tasten +/- kann die Emulationsgeschwindigkeit eingestellt werden.

Hinweise zur SD-Karte:
Alle Spiele müssen im „Root“ der SD-Karte liegen.
Per Cursor-Up + Cursor-Down kann ein Spiel ausgewählt werden und per
Cursor-Right wird es geladen und versucht zu starten.
Beim einschalten wird das File „gb_ub.ini“ auf der SD-Karte gesucht.
Falls es gefunden wird, werden alle settings aus diesem File geladen.
(Color-Table, Keybindings, Screensize usw).
Hier eine Vorlage zum abändern per Texteditor:

gb_ub
gb_ub

stm32f746 Gameboy Emulator ini-file

Hinweis zum MBC:
die emulation vom „memory bank controller“ habe ich zum schluß hinzugefügt
und braucht sehr viel resourcen. Da kann man bestimmt noch viel verbessern.
Ich habe auch nur support für MBC1 hinzugefügt, um größere ROMs zu
unterstützten (zur Info: Boulderdash im Flash ist 64k groß).

Cartdriges mit anderen MBC-typen werden nicht laufen.

Den MBC support kann per define deaktivieren (um höhere FPS zu bekommen)

Hier das Binärfiles mit aktiviertem MBC1:

F746_Gameboy_MBC1_v123
F746_Gameboy_MBC1_v123

Binärfiles mit aktiviertem MBC1, Version 1.2.3

Fix Google Chrome Failed Download Error

Hier das komplette Projekt mit allen sourcen:
(viel Spass damit)

F746_Gameboy_v123
F746_Gameboy_v123

Gameboy-Emulator für STM32F746 Version 1.2.3 – komplettes Projekt mit allen Sourcen.

Fix Google Chrome Failed Download Error

 


2 Antworten auf 1 Jahr pause…weiter gehts, mit einem STM32 Gameboy-Emulator Projekt

  1. Piotr sagt:

    I`m very glad see You again Uwe! Many success and best regards
    Piotr

  2. noone sagt:

    What took you so long from STM32 programming?


Wie hat Dir dieser Artikel gefallen?

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Noch keine Bewertungen)
Loading...

4 Antworten zu 27-Show (Gameboy-Emulator per STM32F746)

  1. Kamil sagt:

    Many thanks great work.

    Please is possible make sound support ?

    • admin_mb sagt:

      Hello Kamil,
      thank you for your encouragement. Currently no extensions are planned. But maybe there is someone who can install the extension and introduce it here.

      I first want to do other topics that are on my ToDo list.

      Ciao,
      Manfred

  2. Gameboy emulator STM32F7 sagt:

    Hi Uwe,

    auch nicht schlecht gemacht:
    https://www.youtube.com/embed/k4KdJnAvOpE

  3. Walter Hynson sagt:

    Thank You very much

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert