{"id":168,"date":"2024-05-28T23:36:38","date_gmt":"2024-05-28T23:36:38","guid":{"rendered":"https:\/\/www.rawrlab.com\/blog\/?p=168"},"modified":"2024-05-28T23:58:06","modified_gmt":"2024-05-28T23:58:06","slug":"hi-do-you-also-port-gameboy-games","status":"publish","type":"post","link":"https:\/\/www.rawrlab.com\/blog\/2024\/05\/28\/hi-do-you-also-port-gameboy-games\/","title":{"rendered":"\u2013 Hi! Do you also port GameBoy games?"},"content":{"rendered":"\n<p>September 2023.<\/p>\n\n\n\n<p><strong>\u2013 I&#8217;m afraid I can&#8217;t help with that, sorry. It&#8217;s beyond my capabilities.<\/strong><\/p>\n\n\n\n<p>There&#8217;s no way I can write by myself a GameBoy emulator. I&#8217;m no low-level hacker, just a tinkerer.<\/p>\n\n\n\n<p><strong>\u2013 But&#8230;<\/strong><\/p>\n\n\n\n<p>FOSS licenses are amazing, and their developers are awesome too!<\/p>\n\n\n\n<p><strong>\u2013 What if&#8230;<\/strong><\/p>\n\n\n\n<p>Sameboy: Game Boy and Game Boy Color emulator written in C.<\/p>\n\n\n\n<p><strong>&#8211; Mmm&#8230;<\/strong><\/p>\n\n\n\n<p>MIT licensed. SDL2 based.<\/p>\n\n\n\n<p><strong>\u2013 MMMMMMMMMM!!!!!!!<\/strong><\/p>\n\n\n\n<p>Within a few hours, leveraging my past experience porting an SDL2 based game engine, I had a GameBoy game up and running on my developer kit! \ud83e\udd29\ud83d\udcaa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1291\" height=\"726\" src=\"https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/Captura-de-pantalla-2024-05-28-235442-edited.png\" alt=\"\" class=\"wp-image-170\" srcset=\"https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/Captura-de-pantalla-2024-05-28-235442-edited.png 1291w, https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/Captura-de-pantalla-2024-05-28-235442-edited-300x169.png 300w, https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/Captura-de-pantalla-2024-05-28-235442-edited-1024x576.png 1024w, https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/Captura-de-pantalla-2024-05-28-235442-edited-768x432.png 768w\" sizes=\"auto, (max-width: 1291px) 100vw, 1291px\" \/><\/figure>\n\n\n\n<p>It was far from perfect but I achieved something I thought was impossible. <strong>And yet, it happened!<\/strong><\/p>\n\n\n\n<p><strong>\u2013 There are a couple of things I need to fix, add a bezel too and it should be good to go.<\/strong><\/p>\n\n\n\n<p>What? Just &#8220;add a bezel&#8221; and ship it? No way. <strong>Not my style<\/strong>.<\/p>\n\n\n\n<p>But&#8230; what if we&#8230; mix it<strong> WITH A GAME ENGINE?<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/ssstwitter.com_1716934579565.mp4\"><\/video><\/figure>\n\n\n\n<p><strong>OH YES!<\/strong> Now you can game your GameBoy game while you game a game game.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>And so, <strong>&#8220;THE WRAPPER&#8221; was born!<\/strong><\/p>\n\n\n\n<p>My tool for porting GameBoy and GameBoy Color games to the Nintendo Switch and Steam is called &#8220;The Wrapper&#8221;. <strong>It&#8217;s based on <a href=\"https:\/\/github.com\/SplinterGU\/BennuGD2\" data-type=\"link\" data-id=\"https:\/\/github.com\/SplinterGU\/BennuGD2\">BennuGD2<\/a> and <a href=\"https:\/\/sameboy.github.io\/\">SameBoy<\/a><\/strong> and powers &#8220;<strong>A Cat &amp; His Boy<\/strong>&#8220;, coming to the Nintendo eShop <strong>TOMORROW<\/strong>! \ud83e\udd73<\/p>\n\n\n\n<figure class=\"wp-block-embed aligncenter is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"A Cat &amp; His Boy - Heartwarming narrative adventure about a cat that helps a kid\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/vuNIrihprEo?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>\n<\/div><figcaption class=\"wp-element-caption\"><strong>&#8211; A Cat &amp; His Boy, developed by Howdyriceball, is a short heartwarming narrative adventure about a cat that helps a young boy cope with his parents&#8217; divorce. Nintendo eShop link:<\/strong> <a href=\"https:\/\/rwr.es\/nlink\/catboy\">https:\/\/rwr.es\/nlink\/catboy<\/a><\/figcaption><\/figure>\n\n\n\n<p>It currently lacks many features commonly found in other emulators, because <s>making UIs for everything is a pain in the<\/s> I believe the game should be experienced as the developer envisioned it. \ud83d\udc40<br>(Don&#8217;t worry! In future patches The Wrapper-based ports will include many more features and options!)<\/p>\n\n\n\n<p>Here is a list of <strong>The Wrapper&#8217;s current features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dynamic customizable menu<\/li>\n\n\n\n<li>Saving &amp; Loading savestates<\/li>\n\n\n\n<li>Autosaving<\/li>\n\n\n\n<li>Vibration<\/li>\n\n\n\n<li>Borders (a la Super Game Boy)<\/li>\n\n\n\n<li>Songs and sounds can be played by The Wrapper instead of the emulator (for enhanced songs, or freeing GB audio channels)<\/li>\n\n\n\n<li>Many extras\n<ul class=\"wp-block-list\">\n<li>Art gallery<\/li>\n\n\n\n<li>Manual<\/li>\n\n\n\n<li>Music player<\/li>\n\n\n\n<li>Level select<\/li>\n\n\n\n<li>Alternative ROMs (demo, languages, beta, etc\u2026)<\/li>\n\n\n\n<li>Achievements (Steam &amp; internal)<\/li>\n\n\n\n<li>Unlock everything (art, music, extras, etc\u2026)<\/li>\n\n\n\n<li>Credits &amp; Staff roll (Want to add everyone from a Kickstarter? No problem!)<\/li>\n\n\n\n<li>Other custom interactions with the game engine<\/li>\n\n\n\n<li>\u2026 and more!<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><s>For one game we&#8217;re even using the controller&#8217;s gyroscopes!<\/s> <strong>OK, keep walking, nothing to see here<\/strong> \ud83d\udea8\ud83d\ude43<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>And I&#8217;ve only just begun! I&#8217;m incredibly proud of this experiment, and I never expected it to reach this point. I look forward to port many fantastic neo-retro GameBoy and GameBoy Color games!<\/p>\n\n\n\n<p><strong>Many thanks to GB Studio&#8217;s main developer, Chris Maltby, and all the contributors for creating such an amazing and user-friendly tool! Additionally, heartfelt thanks to Lior Halphon, the developer of SameBoy, and SplinterGU, the developer of BennuGD2.. <\/strong>\ud83d\ude47\u200d\u2642\ufe0f\ud83d\ude47\u200d\u2642\ufe0f\ud83d\ude47\u200d\u2642\ufe0f<\/p>\n\n\n\n<p>The Wrapper would not exist if it weren&#8217;t for their altruistic efforts!<br><strong>They all helped spread the story of A Cat &amp; His Boy so far and wide!<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"849\" height=\"600\" src=\"https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/22.png\" alt=\"\" class=\"wp-image-173\" srcset=\"https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/22.png 849w, https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/22-300x212.png 300w, https:\/\/www.rawrlab.com\/blog\/wp-content\/uploads\/2024\/05\/22-768x543.png 768w\" sizes=\"auto, (max-width: 849px) 100vw, 849px\" \/><\/figure>\n\n\n\n<p>Thank you for your time reading this \u2665 I hope you enjoyed it!<br>Yours truly, Pablo Navarro.<\/p>\n\n\n\n<p>PS: If you would like to know a bit more of the amazing GameBoy homebrew scene, get started in:<br><a href=\"https:\/\/gbstudiocentral.com\/\">https:\/\/gbstudiocentral.com\/<\/a><\/p>\n\n\n\n<p>PSPS: Yes, I didn&#8217;t use Godot this time, but in my defense I will say that BennuGD2 is also made by a developer from Argentina \ud83d\ude43<\/p>\n\n\n\n<p>PSPSPS: Following my usual practice, I&#8217;ll donate 10% of my profit share to the developers of the tools used in creating The Wrapper. It&#8217;s not much, but I hope it treats them to a nice dinner!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>September 2023. \u2013 I&#8217;m afraid I can&#8217;t help with that, sorry. It&#8217;s beyond my capabilities. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":173,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[16,18,12],"class_list":["post-168","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rawr-stuff","tag-gameboy","tag-howdyriceball","tag-switch"],"_links":{"self":[{"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/posts\/168","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/comments?post=168"}],"version-history":[{"count":9,"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/posts\/168\/revisions"}],"predecessor-version":[{"id":185,"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/posts\/168\/revisions\/185"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/media\/173"}],"wp:attachment":[{"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/media?parent=168"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/categories?post=168"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rawrlab.com\/blog\/wp-json\/wp\/v2\/tags?post=168"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}