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

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

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

F746_Gameboy_v123

 


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?

3 Kommentare 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

Schreibe einen Kommentar

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