• 正文
    • 項目簡介
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

Game Bub:一款基于FPGA的開源復古掌機

03/24 10:00
1761
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

Game Bub是一款基于FPGA開源復古仿真掌機,支持Game Boy、Game Boy Color和Game Boy Advance游戲。

項目簡介

Game Bub可以播放物理卡帶,以及從SD卡加載的ROM格式的模擬卡帶,支持多人游戲GB和GBA模式下的Game Link Cable。

同時還具有許多額外的功能:例如通過自定義擴展塢的HDMI視頻輸出、震動馬達、實時時鐘等。此外硬件在設(shè)計時考慮了可擴展性,允許通過軟件改進擴展其功能。

硬件設(shè)計

Game Bub具有定制設(shè)計的6層PCB主控芯片采用Xilinx XC7A100T FPGA。

FPGA將按鍵輸入直連到游戲卡帶(通過電平轉(zhuǎn)換器支持3.3v GBA和5v?Game Boy),并將音頻和視頻輸出到揚聲器顯示器。

微控制器采用ESP32-S3,負責處理UI、從microSD卡讀取ROM文件、初始化外設(shè)(顯示器、DAC、IMU)、處理上電排序、并加載FPGA配置。

硬件集成了內(nèi)存、顯示器、揚聲器、可充電電池、GB/GBA?墨盒插槽,所有這些都封裝在定制的3D打印外殼中。

微控制器固件

固件采用Rust編寫,基于Slint GUI框架設(shè)計圖形用戶界面。GUI在MCU上渲染,然后將渲染的framebuffer發(fā)送到FPGA。Slint支持部分渲染,僅更新屏幕中已更改的部分,從而提高了性能。FPGA維護framebuffer副本,并負責驅(qū)動顯示器。

開源鏈接

作者Lipsitz在他的網(wǎng)站上提供了非常詳細的項目設(shè)計文章:https://eli.lipsitz.net/posts/introducing-gamebub

硬件設(shè)計文件、固件、FPGA軟件源代碼均已在GitHub開源:https://github.com/elipsitz/gamebub

相關(guān)推薦