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

Game Bub:一款基于FPGA的開源復(fù)古掌機(jī)

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

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

項(xiàng)目簡(jiǎn)介

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

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

硬件設(shè)計(jì)

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

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

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

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

微控制器固件

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

開源鏈接

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

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

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄