現在回憶起小時候,總覺得那時候日子特別美好。
兒時的我們雖然沒有手機,但是卻一點也不會無聊。
尤其是和小伙伴們一起偷偷地玩游戲機。
后來隨著電腦和手機的普及,童年記憶里的老物件,也因為停產而逐漸遠去。
兒時的游戲離我們原來越遠,漸漸消失在我們生活中。
為了找回童年的美好,今天我們動手做一臺NES游戲機。
一般來說現在想玩老游戲有三種方法。
第一種方法是在二手市場淘換當年的原機原卡帶,但是非常稀缺、價格昂貴,品相難以保證。
年代久遠的游戲機只能輸出模擬視頻信號,需要更換芯片或用采集卡才能連接現代的數字顯示器,會帶來顯示延遲。
第二種方法是軟件模擬,雖然硬件性能今非昔比,手機上都可運行許多模擬器,但有兼容性問題,不是所有游戲都能穩定運行。
使用軟件模擬還會出現操作輸入延遲,和聲音延遲。
對高難度的動作游戲來說,雖然延遲只有毫秒級別,但還是能感覺到手感不同,老游戲難度普遍又高,輸入延遲使一些高級技巧難以操作。
△經典超難紅白機游戲《魔界村》
對于音游來說,那就根本沒法玩了。
△GBA上的音游《節奏天國》
現在市面上有一些基于樹莓派等環境的開源游戲機,任天堂、世嘉等也不斷地推出官方迷你復刻版。
但這些本質上還是使用現代硬件架構的軟件模擬,不能解決軟件模擬帶來的問題。如任天堂迷你FC實際上是在ARM架構上運行Linux系統。
第三種方法就是使用FPGA硬件模擬。
FPGA的全稱是現場可編程門陣列,通過直接對芯片中的模塊和邏輯單元編程來模擬老游戲機硬件的運行方式。
軟件模擬器是用CPU做通用計算,按順序執行代碼,需要比被模擬的硬件運行頻率快許多倍的CPU才能達到原硬件的運行速度。
FPGA通過編程重組生成專用電路,相當于“可變形的硬件”。
可以讓被模擬硬件的不同芯片同時工作,耗費的資源更少,同時解決延遲問題。
還可以模擬大型游戲卡帶中特制的增強芯片,解決游戲兼容性問題。
△SFC星際火狐中的增強芯片負責渲染3D多邊形
以及模擬老機種的音頻芯片輸出原汁原味的游戲音效。
此外,在測試中GameGirl輸出的畫面比原機清晰度更高,色彩也更鮮明。
NES FC 小霸王 。。。傻傻分不清楚
查看《萬字長文帶你回顧電子游戲的七十多年歷史(完整版)》主條目:第三代視頻游戲機
總結一下,美國叫NES,日本叫FC,中國叫小霸王(山寨),其實都是任天堂和SEGA8位游戲機。
硬件介紹
GameGirl核心板+擴展板
FPGA核心板
EP4ce22f17
擴展板
AT91SAM7S256
MAX1304(SPI轉USB)
實物如下:
治好你的頸椎病
程序
https://github.com/suisuisi/gamegirl/tree/master/CoreCPU/nes
下載下來使用Quartus II進行編譯,編譯選項注意下面截圖勾選:
編譯后會產生.RBF文件:
SD卡準備
將上述文件拷貝到SD卡根目錄下,并重新命名為core.rbf。
在SD卡上創建nes文件夾,將自己喜歡的游俠放到該目錄下,支持.nes .nsf .bin等擴展文件名。
審核編輯:湯梓紅
-
FPGA
+關注
關注
1626文章
21671瀏覽量
601909 -
游戲機
+關注
關注
9文章
299瀏覽量
33411 -
樹莓派
+關注
關注
116文章
1699瀏覽量
105529
原文標題:【開源】我們和童年的距離,就是一臺游戲機-用FPGA DIY一個NES游戲機
文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論