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:
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:
Binärfiles mit aktiviertem MBC1, Version 1.2.3
Hier das komplette Projekt mit allen sourcen:
(viel Spass damit)
Gameboy-Emulator für STM32F746 Version 1.2.3 – komplettes Projekt mit allen Sourcen.
I`m very glad see You again Uwe! Many success and best regards
Piotr
What took you so long from STM32 programming?