{"id":1290,"date":"2017-12-10T19:15:53","date_gmt":"2017-12-10T18:15:53","guid":{"rendered":"http:\/\/mikrocontroller.bplaced.net\/wordpress\/?page_id=1290"},"modified":"2019-11-16T22:55:08","modified_gmt":"2019-11-16T21:55:08","slug":"27-show-stm32f746-gameboy-emulator","status":"publish","type":"page","link":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/show-projekte\/27-show-stm32f746-gameboy-emulator\/","title":{"rendered":"27-Show (Gameboy-Emulator per STM32F746)"},"content":{"rendered":"<p><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-previous\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/show-projekte\/show-26-wave-player-per-stm32f746\/\" title=\"26-Show\u00a0(WAVE-Player per STM32F746)\"><span class=\"meta-nav\">\u2190<\/span> 26-Show\u00a0(WAVE-Player per STM32F746)<\/a><\/div><\/div><!-- #nav-below --><div id=\"nav-below\" class=\"navigation\"><div class=\"nav-next\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/videos\/\" title=\"Videos\">Videos <span class=\"meta-nav\">&rarr;<\/span><\/a><\/div><\/div><!-- #nav-below --><\/p>\n<p><iframe loading=\"lazy\" title=\"Gameboy emulator - STM32F746 Discovery\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/GDn-retDl0Q?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Hallo,<\/p>\n<p>hier ein\u00a0Gameboy Emulator f\u00fcr das STM32F746-Disco board.<\/p>\n<p>Der Z80 Emulator ist nicht kopiert <img decoding=\"async\" class=\"wp-smiley\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-includes\/images\/smilies\/icon_smile.gif\" alt=\":-)\" \/> sondern den habe ich selbst geschrieben,<br \/>\num ihn gleich an den Gameboy anzupassen.<\/p>\n<p>Alle &#8222;mcu instruction&#8220; unit tests von &#8222;Shay Green&#8220; werden mit &#8222;passed&#8220; bestanden.<br \/>\nBeim timing gibt es Abweichungen und auch sonst habe ich nicht alles zu 100% umgesetzt.<br \/>\n(k\u00f6nnt ihr ja noch verbessern \ud83d\ude09<\/p>\n<p>hier ein Screenshot der Version 1.00 :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v100_mbc0.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2347\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v100_mbc0-300x170.jpg\" alt=\"\" width=\"300\" height=\"170\" srcset=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v100_mbc0-300x170.jpg 300w, https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v100_mbc0.jpg 480w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>hier ein Screenshot von Version 1.15 (mit Screen-Mode 2:1) :<\/p>\n<p><a href=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v115.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2392\" src=\"http:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v115-300x170.jpg\" alt=\"\" width=\"300\" height=\"170\" srcset=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v115-300x170.jpg 300w, https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2018\/04\/v115.jpg 480w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Steuerung \u00fcber USB-Keyboard an CN13<br \/>\n(per INI-File von SD-Karte einstellbar)<\/p>\n<p>Cursor = w,a,s,d<br \/>\nBtn-A = o<br \/>\nBtn-B = p<br \/>\nSelect = Space<br \/>\nStart = Return<\/p>\n<p>Die Tasten F1..F4 laden vorhandene Spiele aus dem flash.<br \/>\nDie Taste ESC dient als &#8222;pause\/repeat&#8220;<br \/>\nF8 \u00f6ffnet die SD-Karte zum laden (an CN3) [Cursor up+down, right]<br \/>\nMit F9 und F10 kann die Farbtabelle ge\u00e4ndert werden.<br \/>\nF11 sendet den LCD inhalt als BMP-File \u00fcber die UART<br \/>\nMit F12 kann per UART ein *.gb file geladen werden. (max 32kb)<br \/>\n(UART an CN14 mit 115200bd 8N1)<br \/>\nDie Taste TAB \u00e4ndert den Screen-Mode<br \/>\nMit den Tasten +\/- kann die Emulationsgeschwindigkeit eingestellt werden.<\/p>\n<p><strong>Hinweise zur SD-Karte:<br \/>\n<\/strong>Alle Spiele m\u00fcssen im &#8222;Root&#8220; der SD-Karte liegen.<br \/>\nPer Cursor-Up + Cursor-Down kann ein Spiel ausgew\u00e4hlt werden und per<br \/>\nCursor-Right wird es geladen und versucht zu starten.<br \/>\nBeim einschalten wird das File &#8222;gb_ub.ini&#8220; auf der SD-Karte gesucht.<br \/>\nFalls es gefunden wird, werden alle settings aus diesem File geladen.<br \/>\n(Color-Table, Keybindings, Screensize usw).<br \/>\nHier eine Vorlage zum ab\u00e4ndern per Texteditor:<\/p>\n<div class=\"sdm_download_item \"><div class=\"sdm_download_item_top\"><div class=\"sdm_download_thumbnail\"><img decoding=\"async\" class=\"sdm_download_thumbnail_image\" src=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2019\/11\/document_file_ini_64x64.png\" alt = \"gb_ub\" \/><\/div><div class=\"sdm_download_title\">gb_ub<\/div><\/div><div style=\"clear:both;\"><\/div><div class=\"sdm_download_description\"><p>stm32f746 Gameboy Emulator ini-file<\/p>\n<\/div><div class=\"sdm_download_link\"><span class=\"sdm_download_button\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?sdm_process_download=1&download_id=2692\" class=\"sdm_download green\" title=\"gb_ub\" target=\"_self\">Jetzt herunterladen!<\/a><\/span><span class=\"sdm_download_item_count\"><span class=\"sdm_item_count_number\">601<\/span><span class=\"sdm_item_count_string\"> Downloads<\/span><\/span><\/div><\/div><div class=\"sdm_clear_float\"><\/div>\n<p><strong>Hinweis zum MBC<\/strong>:<br \/>\ndie emulation vom &#8222;memory bank controller&#8220; habe ich zum schlu\u00df hinzugef\u00fcgt<br \/>\nund braucht sehr viel resourcen. Da kann man bestimmt noch viel verbessern.<br \/>\nIch habe auch nur support f\u00fcr MBC1 hinzugef\u00fcgt, um gr\u00f6\u00dfere ROMs zu<br \/>\nunterst\u00fctzten (zur Info: Boulderdash im Flash ist 64k gro\u00df).<\/p>\n<p>Cartdriges mit anderen MBC-typen werden nicht laufen.<\/p>\n<p>Den MBC support kann per define deaktivieren (um h\u00f6here FPS zu bekommen)<\/p>\n<p>Hier das Bin\u00e4rfiles mit aktiviertem MBC1:<\/p>\n<div class=\"sdm_download_item \"><div class=\"sdm_download_item_top\"><div class=\"sdm_download_thumbnail\"><img decoding=\"async\" class=\"sdm_download_thumbnail_image\" src=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2019\/11\/stm32_bin_file_64x64.png\" alt = \"F746_Gameboy_MBC1_v123\" \/><\/div><div class=\"sdm_download_title\">F746_Gameboy_MBC1_v123<\/div><\/div><div style=\"clear:both;\"><\/div><div class=\"sdm_download_description\"><p>Bin\u00e4rfiles mit aktiviertem MBC1, Version 1.2.3<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=QGz2nau0pn0\" target=\"_blank\" rel=\"noopener\">Fix Google Chrome Failed Download Error<\/a><\/p>\n<\/div><div class=\"sdm_download_link\"><span class=\"sdm_download_button\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?sdm_process_download=1&download_id=2695\" class=\"sdm_download green\" title=\"F746_Gameboy_MBC1_v123\" target=\"_self\">Jetzt herunterladen!<\/a><\/span><span class=\"sdm_download_item_count\"><span class=\"sdm_item_count_number\">538<\/span><span class=\"sdm_item_count_string\"> Downloads<\/span><\/span><\/div><\/div><div class=\"sdm_clear_float\"><\/div>\n<p>Hier das komplette Projekt mit allen sourcen:<br \/>\n(viel Spass damit)<\/p>\n<div class=\"sdm_download_item \"><div class=\"sdm_download_item_top\"><div class=\"sdm_download_thumbnail\"><img decoding=\"async\" class=\"sdm_download_thumbnail_image\" src=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-content\/uploads\/2019\/11\/stm32f7_icon_128x128.jpg\" alt = \"F746_Gameboy_v123\" \/><\/div><div class=\"sdm_download_title\">F746_Gameboy_v123<\/div><\/div><div style=\"clear:both;\"><\/div><div class=\"sdm_download_description\"><p>Gameboy-Emulator f\u00fcr STM32F746 Version 1.2.3 &#8211; komplettes Projekt mit allen Sourcen.<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=QGz2nau0pn0\" target=\"_blank\" rel=\"noopener\">Fix Google Chrome Failed Download Error<\/a><\/p>\n<\/div><div class=\"sdm_download_link\"><span class=\"sdm_download_button\"><a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/?sdm_process_download=1&download_id=2696\" class=\"sdm_download green\" title=\"F746_Gameboy_v123\" target=\"_self\">Jetzt herunterladen!<\/a><\/span><span class=\"sdm_download_item_count\"><span class=\"sdm_item_count_number\">751<\/span><span class=\"sdm_item_count_string\"> Downloads<\/span><\/span><\/div><\/div><div class=\"sdm_clear_float\"><\/div>\n<p>&nbsp;<\/p>\n<hr \/>\n<h3 id=\"comments-title\">2 Antworten auf <em>1 Jahr pause\u2026weiter gehts, mit einem STM32 Gameboy-Emulator Projekt<\/em><\/h3>\n<ol class=\"commentlist\">\n<li id=\"li-comment-4996\" class=\"comment even thread-even depth-1\">\n<div id=\"comment-4996\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/0.gravatar.com\/avatar\/a9041aac4484c78073068fa83dbcfc37?s=40&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">Piotr<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">18. April 2017 um 12:15<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>I`m very glad see You again Uwe! Many success and best regards<br \/>\nPiotr<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<li id=\"li-comment-4997\" class=\"comment odd alt thread-odd thread-alt depth-1\">\n<div id=\"comment-4997\">\n<div class=\"comment-author vcard\"><img loading=\"lazy\" decoding=\"async\" class=\"avatar avatar-40 photo\" src=\"http:\/\/1.gravatar.com\/avatar\/5798bce88fb4f6ca62f075deb7ad1c9e?s=40&amp;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D40&amp;r=G\" alt=\"\" width=\"40\" height=\"40\" \/><cite class=\"fn\">noone<\/cite> <span class=\"says\">sagt:<\/span><\/div>\n<p><!-- .comment-author .vcard --><\/p>\n<div class=\"comment-meta commentmetadata\">21. April 2017 um 11:23<\/div>\n<p><!-- .comment-meta .commentmetadata --><\/p>\n<div class=\"comment-body\">\n<p>What took you so long from STM32 programming?<\/p>\n<\/div>\n<\/div>\n<p><!-- #comment-## --><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Hallo, hier ein\u00a0Gameboy Emulator f\u00fcr das STM32F746-Disco board. Der Z80 Emulator ist nicht kopiert sondern den habe ich selbst geschrieben, um ihn gleich an den Gameboy anzupassen. Alle &#8222;mcu instruction&#8220; unit tests von &#8222;Shay Green&#8220; werden mit &#8222;passed&#8220; bestanden. Beim &hellip; <a href=\"https:\/\/mikrocontroller.bplaced.net\/wordpress\/show-projekte\/27-show-stm32f746-gameboy-emulator\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":591,"menu_order":27,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[134,130],"tags":[270,277,287,167,105,106],"class_list":["post-1290","page","type-page","status-publish","hentry","category-show-projekte","category-stm32f746","tag-emulator","tag-game","tag-gameboy","tag-projekt","tag-stm32f746","tag-stm32f746gdiscovery"],"_links":{"self":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/1290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/comments?post=1290"}],"version-history":[{"count":23,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/1290\/revisions"}],"predecessor-version":[{"id":2698,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/1290\/revisions\/2698"}],"up":[{"embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/pages\/591"}],"wp:attachment":[{"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/media?parent=1290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/categories?post=1290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikrocontroller.bplaced.net\/wordpress\/wp-json\/wp\/v2\/tags?post=1290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}