0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于FPGA DIY一個NES游戲機

OpenFPGA ? 來源:OpenFPGA ? 2023-12-27 09:27 ? 次閱讀

現在回憶起小時候,總覺得那時候日子特別美好。

兒時的我們雖然沒有手機,但是卻一點也不會無聊。

尤其是和小伙伴們一起偷偷地玩游戲機。

后來隨著電腦和手機的普及,童年記憶里的老物件,也因為停產而逐漸遠去。

兒時的游戲離我們原來越遠,漸漸消失在我們生活中。

為了找回童年的美好,今天我們動手做一臺NES游戲機。

硬件模擬好在哪?

一般來說現在想玩老游戲有三種方法。

第一種方法是在二手市場淘換當年的原機原卡帶,但是非常稀缺、價格昂貴,品相難以保證。

年代久遠的游戲機只能輸出模擬視頻信號,需要更換芯片或用采集卡才能連接現代的數字顯示器,會帶來顯示延遲。

第二種方法是軟件模擬,雖然硬件性能今非昔比,手機上都可運行許多模擬器,但有兼容性問題,不是所有游戲都能穩(wěn)定運行。

使用軟件模擬還會出現操作輸入延遲,和聲音延遲。

對高難度的動作游戲來說,雖然延遲只有毫秒級別,但還是能感覺到手感不同,老游戲難度普遍又高,輸入延遲使一些高級技巧難以操作。

△經典超難紅白機游戲《魔界村》

對于音游來說,那就根本沒法玩了。

△GBA上的音游《節(jié)奏天國》

現在市面上有一些基于樹莓派等環(huán)境的開源游戲機,任天堂、世嘉等也不斷地推出官方迷你復刻版。

但這些本質上還是使用現代硬件架構的軟件模擬,不能解決軟件模擬帶來的問題。如任天堂迷你FC實際上是在ARM架構上運行Linux系統(tǒng)。

068b04f8-a450-11ee-8b88-92fbcf53809c.jpg

第三種方法就是使用FPGA硬件模擬。

FPGA的全稱是現場可編程門陣列,通過直接對芯片中的模塊和邏輯單元編程來模擬老游戲機硬件的運行方式。

0699d6ea-a450-11ee-8b88-92fbcf53809c.png

軟件模擬器是用CPU做通用計算,按順序執(zhí)行代碼,需要比被模擬的硬件運行頻率快許多倍的CPU才能達到原硬件的運行速度。

FPGA通過編程重組生成專用電路,相當于“可變形的硬件”。

可以讓被模擬硬件的不同芯片同時工作,耗費的資源更少,同時解決延遲問題。

還可以模擬大型游戲卡帶中特制的增強芯片,解決游戲兼容性問題。

06b30ee4-a450-11ee-8b88-92fbcf53809c.png

△SFC星際火狐中的增強芯片負責渲染3D多邊形

以及模擬老機種的音頻芯片輸出原汁原味的游戲音效。

此外,在測試中GameGirl輸出的畫面比原機清晰度更高,色彩也更鮮明。

NES FC 小霸王 。。。傻傻分不清楚

查看《萬字長文帶你回顧電子游戲的七十多年歷史(完整版)》主條目:第三代視頻游戲機

總結一下,美國叫NES,日本叫FC,中國叫小霸王(山寨),其實都是任天堂和SEGA8位游戲機。

硬件介紹

GameGirl核心板+擴展板

FPGA核心板

EP4ce22f17

SDRAM:HY57V561620 32MB

06eb7edc-a450-11ee-8b88-92fbcf53809c.png

擴展板

AT91SAM7S256

MAX1304(SPI轉USB

07040aba-a450-11ee-8b88-92fbcf53809c.png

實物如下:

071f775a-a450-11ee-8b88-92fbcf53809c.jpg

治好你的頸椎病

程序

https://github.com/suisuisi/gamegirl/tree/master/CoreCPU/nes

下載下來使用Quartus II進行編譯,編譯選項注意下面截圖勾選:

072ca146-a450-11ee-8b88-92fbcf53809c.png

編譯后會產生.RBF文件:

073976be-a450-11ee-8b88-92fbcf53809c.png

SD卡準備

將上述文件拷貝到SD卡根目錄下,并重新命名為core.rbf。

在SD卡上創(chuàng)建nes文件夾,將自己喜歡的游俠放到該目錄下,支持.nes .nsf .bin等擴展文件名。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1625

    文章

    21628

    瀏覽量

    601252
  • 游戲機
    +關注

    關注

    9

    文章

    299

    瀏覽量

    33372
  • 樹莓派
    +關注

    關注

    116

    文章

    1696

    瀏覽量

    105456

原文標題:【開源】我們和童年的距離,就是一臺游戲機-用FPGA DIY一個NES游戲機

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    nes游戲機diy

    游戲機
    lkad
    發(fā)布于 :2023年05月24日 21:56:00

    基于FPGA“乒乓球比賽游戲機”的設計

    基于FPGA“乒乓球比賽游戲機”的設計
    發(fā)表于 08-17 11:45

    用BeagleBone Black做的掌上游戲機

    5游戲機機殼內總共搭載了5模擬器(即NES,SNES,GBA,Genesis和Famicom)。最厲害的模擬
    發(fā)表于 07-04 14:42

    用BeagleBone Black做的掌上游戲機

    造的Retron 5游戲機機殼內總共搭載了5模擬器(即NES,SNES,GBA,Genesis和Famicom)。最厲害的模擬
    發(fā)表于 10-21 17:36

    賺人氣,用STM32F407做個NES游戲機玩玩

    ` 本帖最后由 JACK847070222 于 2015-11-18 11:36 編輯 上家單位很閑,無聊畫了NES游戲機,自己玩玩,可實現功能:播放音樂,顯示圖片,玩
    發(fā)表于 11-18 11:29

    簡單的DIY臺MINI游戲機

    本文詳細的描述下整個DIY的過程方便想自己上手的小伙伴可以輕松的搞出來。01先說說這個游戲機的方案,這個游戲機的主板其實就是arduino-Leonardo的簡化版,除了將USB、六
    發(fā)表于 08-25 11:12

    【HD-G2UL-EVM開發(fā)板體驗】掌上游戲機之三 —— NES游戲模擬器移植

    192.168.1.101 5004 /dev/input/event1 中國象棋 總結至此我們完成NES游戲模擬器的移植,實現了掌上游戲機的項目。后面會繼續(xù)優(yōu)化體驗,再出
    發(fā)表于 12-22 16:01

    復刻游戲機掀起了陣“妖風”,但憑什么情懷只有它賣出去?

    把曾在 1985 年發(fā)行的 NES 游戲機進行「迷你」復刻,發(fā)售了 NES Classic Edition 版本,經推出便迅速售罄。官方售價 60 美元的主機,在亞馬遜平臺最高被提到
    的頭像 發(fā)表于 05-18 12:34 ?3204次閱讀

    便攜式吉他游戲機diy圖解

    臺便攜式吉他游戲機,是通過合形成。
    的頭像 發(fā)表于 09-10 15:37 ?3674次閱讀

    制作FC游戲機

    任天堂代經典的FC紅白成為無數玩家童年的經典,即便如今各種3D大作甚至VR這種全息沉浸式的游戲,FC那些“廉價”的像素游戲依舊備受歡迎。國外玩家Love Hultén近日公開了
    的頭像 發(fā)表于 02-20 14:26 ?1.1w次閱讀

    FPGA實現三回合打地鼠游戲機

    ASIC 課程設計,用 FPGA 實現三回合打地鼠游戲機。 (b站處女作竟然是課程設計 emmmmm)
    的頭像 發(fā)表于 08-06 06:09 ?3392次閱讀

    PALPi是由Raspberry Pi零W驅動的DIY復古游戲機

    電子發(fā)燒友網站提供《PALPi是由Raspberry Pi零W驅動的DIY復古游戲機.zip》資料免費下載
    發(fā)表于 10-28 15:55 ?0次下載
    PALPi是由Raspberry Pi零W驅動的<b class='flag-5'>DIY</b>復古<b class='flag-5'>游戲機</b>

    使用Arduino(Arduboy)DIY手持游戲機

    電子發(fā)燒友網站提供《使用Arduino(Arduboy)DIY手持游戲機.zip》資料免費下載
    發(fā)表于 11-10 09:25 ?0次下載
    使用Arduino(Arduboy)<b class='flag-5'>DIY</b>手持<b class='flag-5'>游戲機</b>

    DSO138mini(DIY示波器套件)游戲機

    電子發(fā)燒友網站提供《DSO138mini(DIY示波器套件)游戲機.zip》資料免費下載
    發(fā)表于 06-19 10:53 ?10次下載
    DSO138mini(<b class='flag-5'>DIY</b>示波器套件)<b class='flag-5'>游戲機</b>

    基于FPGA乒乓球比賽游戲機的設計

    電子發(fā)燒友網站提供《基于FPGA乒乓球比賽游戲機的設計.pdf》資料免費下載
    發(fā)表于 10-20 10:31 ?2次下載
    基于<b class='flag-5'>FPGA</b>乒乓球比賽<b class='flag-5'>游戲機</b>的設計