概述
That Arcada該播放器非常適合在MakeCode Arcade或CircuitPython中編寫自己的游戲-但如果您想嘗試自制的Nintendo設(shè)計,也可以通過將nofrendo移植到ATSAMD51來播放NES ROM。
該仿真器可以從內(nèi)置QSPI存儲設(shè)備中以全速和聲音播放游戲!播放任何256KB或更小的ROM,并保存/恢復(fù)游戲狀態(tài),以便您可以隨時休息一下。
嘗試一些經(jīng)典ROM,或查看令人驚嘆的NES自制場景,以嘗試經(jīng)典8位游戲平臺,定義了世代
支持的硬件
從理論上講,任何支持Arcada的主板-但我們建議使用帶有游戲手柄+按鈕的主板:
Adafruit PyGamer入門套件
產(chǎn)品編號:4277
請注意:入門套件可能會帶來寶藍色或紫色的保護套(它們都是可愛的顏色)什么東西適合您的口袋,完全打開。..
缺貨
外面數(shù)量
添加到愿望清單
+新列表
用于MakeCode Arcade,CircuitPython或Arduino的Adafruit PyGamer
產(chǎn)品ID:4242
什么東西可以裝在您的口袋里,完全開源,并且可以運行您自己編寫的CircuitPython,MakeCode Arcade或Arduino游戲?沒錯,這是Adafruit 。..
$ 39.95
入庫存
添加到購物車
添加到愿望清單
+新列表
用于MakeCode Arcade,CircuitPython或Arduino的Adafruit PyBadge
產(chǎn)品ID:4200
即將推出!注冊后將收到通知,通知卡有多少張信用卡,可以運行CircuitPython,MakeCode Arcade或Arduino?那就是。..
缺貨
缺貨
添加到愿望清單
+新列表
Adafruit PyBadge LC-MakeCode Arcade,CircuitPython或Arduino
產(chǎn)品ID:3939
信用卡的大小是多少,即使您使用的是信用卡,也可以運行CircuitPython,MakeCode Arcade或Arduino預(yù)算?沒錯,就是theAdafruit 。..
缺貨
缺貨
添加到愿望清單
+新列表
它所做的事情:
模擬一個使用nofrendo核心的大量ROM/游戲
大多數(shù)情況下,全速播放(如果ROM各個部分的子畫面很多,則速度可能會有所降低)
通過耳機/揚聲器播放游戲音頻
對160x128顯示屏(4比1像素)進行降采樣,如果320x240顯示屏則為1:1像素
保存并恢復(fù)游戲狀態(tài)
支持諸如PyGamer和PyBadge之類的Adafruit Arcada板
對芯片進行超頻很多
它不能做的事情:
播放大于256KB的ROM
播放非NES ROM
某些ROM無法正常工作-例如Dragon Warrior
支持非SAMD51芯片(要獲得Teensy支持,請訪問TeensyCEC)
支持其他硬件,除非您已向Arcada添加了支持(可以!)
》
快速入門
除非您需要/希望重新編譯源代碼,否則我們建議您通過在Arcada板上安裝以下UF2來快速入門。
QSPI文件系統(tǒng)
這些UF2默認使用QSPI存儲。因此,您必須已經(jīng)有一個CircuitPython/FAT文件系統(tǒng)。這是由CircuitPython首次安裝時創(chuàng)建的,如果您從未加載CircuitPython,請在此頁面上查找UF2。安裝匹配的驅(qū)動器,檢查計算機上是否存在CIRCUITPY驅(qū)動器,然后可以重新加載Arcada_Nofrendo
CircuitPython下載
Arcada Nofrendo UF2s
雙擊重置可將您的電路板置于 BOOT 模式,并將這些 UF2 文件拖到上面!
pybadge或edgebadge nofrendo.UF2
OR
pygamer_nofrendo.UF2
安裝ROM
添加ROM非常簡單。安裝完上述UF2后,您的開發(fā)板將在計算機上顯示為 CIRCUITPY 驅(qū)動器。這是2 MB或8 MB的QSPI內(nèi)部存儲。如果您已經(jīng)運行CircuitPython或我們的Arduboy/Gamebuino演示,甚至可能已經(jīng)在其中存在一些文件。
新建一個名為 nes
然后在該文件夾中放置所有 nes 個文件。您可以根據(jù)需要創(chuàng)建子文件夾。
右鍵單擊 CIRCUITPY ,然后彈出驅(qū)動器(如果是Mac,則拖動到“垃圾箱”中)以確保文件已保存。
啟動ROM
按重置重新加載Nofrendo。您將看到選擇菜單:
您可以使用操縱桿/D-pad上下移動以滾動瀏覽游戲列表。
如果您按下 B 按鈕將進入文件夾級別。
如果在游戲上按下 A 按鈕,它將啟動游戲。如果選擇了文件夾,它將導(dǎo)航到該文件夾。
除非您重新編譯將ROM加載到SAMD51芯片的RAM中,否則它將立即將游戲加載到FLASH存儲器中。這有點像引導(dǎo)加載程序,但是它從內(nèi)存末尾開始。
在加載時,如果FLASH中已經(jīng)包含數(shù)據(jù),則不會擦除/重寫。因此游戲第二次加載速度更快。如果游戲不合適,則會出現(xiàn)錯誤
就是這樣!游戲?qū)⒈患虞d并可以玩
要嘗試的ROM
有數(shù)百種可以嘗試的自制ROM。這里有一些收藏夾,但不要阻止您尋找自己的收藏夾。
https://www.zophar.net/pdroms/nes.html具有公共域ROM li》
http://www.nesworld.com/article.php?system=nes&data=neshomebrew有更多的NES自制游戲。
Google搜索“ NES自制”!
2048
此端口tsone制作的DIY ROM是流行且令人上癮的滑動拼貼游戲的一部分,它很有趣,可以用來學習和學習。
從此處下載
2048.zip Mirror
同化
一個外星人冒險游戲,您可以在其中玩外星攻擊者!
從此處下載
assimilate.zip鏡像
The Wit.NES
一個家釀酒港口/致敬見證人-此游戲是一款偉大的益智游戲,具有神秘的規(guī)則和一個未知歷史的島嶼。..
在此處下載
thewit.zip
保存/恢復(fù)狀態(tài)
任天堂游戲非常困難。如果您來自后代,那么您可能會為少數(shù)人的生命感到震驚,而事實上,當您輸了錢時,您常常會被踢回開始。某些游戲的代碼可以顯示,您可以輸入其中的內(nèi)容,從而恢復(fù)到中間點;還有一些游戲具有電池供電的SRAM-塞爾達傳說(Legend of Zelda)和《最終幻想》(Final Fantasy)是著名的例子。
目前,我們沒有Just-SRAM保存/重新加載支持。 但是,我們確實具有全狀態(tài)保存/重新加載支持。這意味著我們會在游戲進行的任何確切時間備份整個NES系統(tǒng)。我認為這更好一些-只要您愿意,就可以保存整個游戲狀態(tài)!如果您要保留一款特別不錯的游戲,甚至可以從計算機上備份和還原保存的游戲。
備份保存狀態(tài)!損壞,如果您正在玩很長的游戲,請備份計算機上的sav文件。
目前,每個游戲只有一個保存狀態(tài)!想要添加多文件保存支持,我們很樂意看到它,但沒有計劃這樣做
保存狀態(tài)
保存很容易-按住 Select + Start 一秒鐘,您將會彈出一個彈出菜單:
使用操縱板滾動菜單,然后按 A 選擇您的選擇:
繼續(xù) 》-表示可以繼續(xù)游戲,無需保存或恢復(fù)
保存-保存當前游戲狀態(tài)t
重新加載保存-如果要“跳過”,從上次保存時從磁盤恢復(fù)游戲狀態(tài)。
保存并退出-保存狀態(tài)并將游戲退出到主菜單
退出-將游戲退出到主菜單,但不要保存游戲狀態(tài)。
如果您檢查 CIRCUITPY 驅(qū)動器,現(xiàn)在將看到 nes與每個游戲匹配的.sav 文件。您可以根據(jù)需要備份它們。
下次加載該游戲時,會彈出一個新菜單:
加載保存游戲?qū)⒓虞d上次保存的狀態(tài)
開始新游戲?qū)⒑雎员4嫖募皇侵匦录虞d游戲
刪除保存文件將從文件系統(tǒng)中刪除文件,在出現(xiàn)問題時非常方便保存(發(fā)生)
在Arduino中構(gòu)建
該項目在Arduino中,添加了大量C語言。如果要添加對其他板的支持或嘗試不同的設(shè)置,則可以自己構(gòu)建。
首先-在Arduino中添加對板的支持,以便編譯和上傳代碼。然后加載所有Arcada庫。
從此處下載/克隆Arcada nofrendo端口,重命名文件夾nofrendo_arcada并在Arduino中打開它。
編譯設(shè)置
上載時必須具有一些設(shè)置:
CPU速度必須盡可能達到最高,我們希望在200MHz下超頻。優(yōu)化必須 -Ofast ,我們不建議 -funroll-loop s ,因為它似乎并不能加快播放速度,并且體積很大。要顯示磁盤驅(qū)動器,需要 TinyUSB 。
配置設(shè)置
在emuapi.h中,您可以進行一些設(shè)置:
下載:文件
復(fù)制代碼
#elif defined(ADAFRUIT_PYGAMER_M4_EXPRESS) || defined(ADAFRUIT_PYBADGE_M4_EXPRESS)
#define EMU_SCALEDOWN 2
#define USE_FLASH_FOR_ROMSTORAGE // slows it down, but bigger roms!
#define DEFAULT_FLASH_ADDRESS (0x40000-2048) // make sure this is after this programs memory, with unrolled loops we‘re at 222,192! we need a little more than 256KB since roms have 10 extra bytes
#define USE_SAVEFILES
#define USE_SRAM
#else #elif defined(ADAFRUIT_PYGAMER_M4_EXPRESS) || defined(ADAFRUIT_PYBADGE_M4_EXPRESS)
#define EMU_SCALEDOWN 2
#define USE_FLASH_FOR_ROMSTORAGE // slows it down, but bigger roms!
#define DEFAULT_FLASH_ADDRESS (0x40000-2048) // make sure this is after this programs memory, with unrolled loops we’re at 222,192! we need a little more than 256KB since roms have 10 extra bytes
#define USE_SAVEFILES
#define USE_SRAM
#else
EMU_SCALEDOWN用于獲取NES輸出并將其縮放到160x128顯示。如果具有320x240的顯示屏,則設(shè)置為1!
USE_FLASH_FOR_ROMSTORAGE將ROM放入FLASH中,這對于48KB以上的游戲來說是必需的,但是如果要獲得最高速度,則可以將其注釋為使用RAM/malloc。
DEFAULT_FLASH_ADDRESS-我們開始刻錄ROM的位置。必須在 引導(dǎo)程序(16KB)+ arduino代碼(?200KB)默認值非常好,除非您懂數(shù)學,否則不要搞亂。
USE_SAVEFILES是保存/恢復(fù)支持,保存時會占用大量RAM,因為它具有內(nèi)存映射整個文件,因此如果RAM用完了,請注釋掉
USE_SRAM,以打開/關(guān)閉仿真器的SRAM實現(xiàn)。請繼續(xù)。
責任編輯:wv
-
模擬器
+關(guān)注
關(guān)注
2文章
894瀏覽量
44405
發(fā)布評論請先 登錄
適用于 WLAN 和藍牙?應(yīng)用的 2.4 GHz 高效前端 skyworksinc

DevEcoStudio 中使用模擬器時如何過濾日志
如何制作適用于Visionfive 2的Debian + UEFI固件系統(tǒng)?
如何安裝模擬器玩nes小游戲-基于米爾瑞芯微RK3576開發(fā)板
電網(wǎng)模擬器工作原理淺析
CAN總線模擬器的使用指南 CAN總線網(wǎng)絡(luò)的安全性分析
電動汽車交流接口模擬器相關(guān)介紹

如何使用光伏模擬器

可回饋式電網(wǎng)模擬器的使用方法有哪些?
負載模擬器是干什么的,負載模擬器需要接電源嗎
電池模擬器的原理和運用介紹


通過GNSS模擬器實現(xiàn)RTK高精度定位 #RTK #GNSS模擬 #GNSS仿真 #GNSS模擬器
適用于TI超聲AFE的模擬時間增益控制(ATGC)解決方案

適用于模擬輸出模塊的雙極Fly-Buck-Boost解決方案

評論