99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何制作適用于Arcada的NES模擬器

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-28 17:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

That Arcada該播放器非常適合在MakeCode Arcade或CircuitPython中編寫自己的游戲-但如果您想嘗試自制的Nintendo設(shè)計(jì),也可以通過將nofrendo移植到ATSAMD51來播放NES ROM。

仿真器可以從內(nèi)置QSPI存儲設(shè)備中以全速和聲音播放游戲!播放任何256KB或更小的ROM,并保存/恢復(fù)游戲狀態(tài),以便您可以隨時(shí)休息一下。

嘗試一些經(jīng)典ROM,或查看令人驚嘆的NES自制場景,以嘗試經(jīng)典8位游戲平臺,定義了世代

支持的硬件

從理論上講,任何支持Arcada的主板-但我們建議使用帶有游戲手柄+按鈕的主板:

Adafruit PyGamer入門套件

產(chǎn)品編號:4277

請注意:入門套件可能會帶來寶藍(lán)色或紫色的保護(hù)套(它們都是可愛的顏色)什么東西適合您的口袋,完全打開。..

缺貨

外面數(shù)量

添加到愿望清單

+新列表

用于MakeCode Arcade,CircuitPython或Arduino的Adafruit PyGamer

產(chǎn)品ID:4242

什么東西可以裝在您的口袋里,完全開源,并且可以運(yùn)行您自己編寫的CircuitPython,MakeCode Arcade或Arduino游戲?沒錯(cuò),這是Adafruit 。..

$ 39.95

入庫存

添加到購物車

添加到愿望清單

+新列表

用于MakeCode Arcade,CircuitPython或Arduino的Adafruit PyBadge

產(chǎn)品ID:4200

即將推出!注冊后將收到通知,通知卡有多少張信用卡,可以運(yùn)行CircuitPython,MakeCode Arcade或Arduino?那就是。..

缺貨

缺貨

添加到愿望清單

+新列表

Adafruit PyBadge LC-MakeCode Arcade,CircuitPython或Arduino

產(chǎn)品ID:3939

信用卡的大小是多少,即使您使用的是信用卡,也可以運(yùn)行CircuitPython,MakeCode Arcade或Arduino預(yù)算?沒錯(cuò),就是theAdafruit 。..

缺貨

缺貨

添加到愿望清單

+新列表

它所做的事情:

模擬一個(gè)使用nofrendo核心的大量ROM/游戲

大多數(shù)情況下,全速播放(如果ROM各個(gè)部分的子畫面很多,則速度可能會有所降低)

通過耳機(jī)/揚(yáng)聲器播放游戲音頻

對160x128顯示屏(4比1像素)進(jìn)行降采樣,如果320x240顯示屏則為1:1像素

保存并恢復(fù)游戲狀態(tài)

支持諸如PyGamer和PyBadge之類的Adafruit Arcada板

對芯片進(jìn)行超頻很多

它不能做的事情:

播放大于256KB的ROM

播放非NES ROM

某些ROM無法正常工作-例如Dragon Warrior

支持非SAMD51芯片(要獲得Teensy支持,請?jiān)L問TeensyCEC)

支持其他硬件,除非您已向Arcada添加了支持(可以?。?/p>

快速入門

除非您需要/希望重新編譯源代碼,否則我們建議您通過在Arcada板上安裝以下UF2來快速入門。

QSPI文件系統(tǒng)

這些UF2默認(rèn)使用QSPI存儲。因此,您必須已經(jīng)有一個(gè)CircuitPython/FAT文件系統(tǒng)。這是由CircuitPython首次安裝時(shí)創(chuàng)建的,如果您從未加載CircuitPython,請?jiān)诖隧撁嫔喜檎襏F2。安裝匹配的驅(qū)動(dòng)器,檢查計(jì)算機(jī)上是否存在CIRCUITPY驅(qū)動(dòng)器,然后可以重新加載Arcada_Nofrendo

CircuitPython下載

Arcada Nofrendo UF2s

雙擊重置可將您的電路板置于 BOOT 模式,并將這些 UF2 文件拖到上面!

pybadge或edgebadge nofrendo.UF2

OR

pygamer_nofrendo.UF2

安裝ROM

添加ROM非常簡單。安裝完上述UF2后,您的開發(fā)板將在計(jì)算機(jī)上顯示為 CIRCUITPY 驅(qū)動(dòng)器。這是2 MB或8 MB的QSPI內(nèi)部存儲。如果您已經(jīng)運(yùn)行CircuitPython或我們的Arduboy/Gamebuino演示,甚至可能已經(jīng)在其中存在一些文件。

新建一個(gè)名為 nes

然后在該文件夾中放置所有 nes 個(gè)文件。您可以根據(jù)需要?jiǎng)?chuàng)建子文件夾。

右鍵單擊 CIRCUITPY ,然后彈出驅(qū)動(dòng)器(如果是Mac,則拖動(dòng)到“垃圾箱”中)以確保文件已保存。

啟動(dòng)ROM

按重置重新加載Nofrendo。您將看到選擇菜單:

您可以使用操縱桿/D-pad上下移動(dòng)以滾動(dòng)瀏覽游戲列表。

如果您按下 B 按鈕將進(jìn)入文件夾級別。

如果在游戲上按下 A 按鈕,它將啟動(dòng)游戲。如果選擇了文件夾,它將導(dǎo)航到該文件夾。

除非您重新編譯將ROM加載到SAMD51芯片的RAM中,否則它將立即將游戲加載到FLASH存儲器中。這有點(diǎn)像引導(dǎo)加載程序,但是它從內(nèi)存末尾開始。

在加載時(shí),如果FLASH中已經(jīng)包含數(shù)據(jù),則不會擦除/重寫。因此游戲第二次加載速度更快。如果游戲不合適,則會出現(xiàn)錯(cuò)誤

就是這樣!游戲?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是流行且令人上癮的滑動(dòng)拼貼游戲的一部分,它很有趣,可以用來學(xué)習(xí)和學(xué)習(xí)。

從此處下載

2048.zip Mirror

同化

一個(gè)外星人冒險(xiǎn)游戲,您可以在其中玩外星攻擊者!

從此處下載

assimilate.zip鏡像

The Wit.NES

一個(gè)家釀酒港口/致敬見證人-此游戲是一款偉大的益智游戲,具有神秘的規(guī)則和一個(gè)未知?dú)v史的島嶼。..

在此處下載

thewit.zip

保存/恢復(fù)狀態(tài)

任天堂游戲非常困難。如果您來自后代,那么您可能會為少數(shù)人的生命感到震驚,而事實(shí)上,當(dāng)您輸了錢時(shí),您常常會被踢回開始。某些游戲的代碼可以顯示,您可以輸入其中的內(nèi)容,從而恢復(fù)到中間點(diǎn);還有一些游戲具有電池供電的SRAM-塞爾達(dá)傳說(Legend of Zelda)和《最終幻想》(Final Fantasy)是著名的例子。

目前,我們沒有Just-SRAM保存/重新加載支持。 但是,我們確實(shí)具有全狀態(tài)保存/重新加載支持。這意味著我們會在游戲進(jìn)行的任何確切時(shí)間備份整個(gè)NES系統(tǒng)。我認(rèn)為這更好一些-只要您愿意,就可以保存整個(gè)游戲狀態(tài)!如果您要保留一款特別不錯(cuò)的游戲,甚至可以從計(jì)算機(jī)上備份和還原保存的游戲。

備份保存狀態(tài)!損壞,如果您正在玩很長的游戲,請備份計(jì)算機(jī)上的sav文件。

目前,每個(gè)游戲只有一個(gè)保存狀態(tài)!想要添加多文件保存支持,我們很樂意看到它,但沒有計(jì)劃這樣做

保存狀態(tài)

保存很容易-按住 Select + Start 一秒鐘,您將會彈出一個(gè)彈出菜單:

使用操縱板滾動(dòng)菜單,然后按 A 選擇您的選擇:

繼續(xù) 》-表示可以繼續(xù)游戲,無需保存或恢復(fù)

保存-保存當(dāng)前游戲狀態(tài)t

重新加載保存-如果要“跳過”,從上次保存時(shí)從磁盤恢復(fù)游戲狀態(tài)。

保存并退出-保存狀態(tài)并將游戲退出到主菜單

退出-將游戲退出到主菜單,但不要保存游戲狀態(tài)。

如果您檢查 CIRCUITPY 驅(qū)動(dòng)器,現(xiàn)在將看到 nes與每個(gè)游戲匹配的.sav 文件。您可以根據(jù)需要備份它們。

下次加載該游戲時(shí),會彈出一個(gè)新菜單:

加載保存游戲?qū)⒓虞d上次保存的狀態(tài)

開始新游戲?qū)⒑雎员4嫖募?,而只是重新加載游戲

刪除保存文件將從文件系統(tǒng)中刪除文件,在出現(xiàn)問題時(shí)非常方便保存(發(fā)生)

在Arduino中構(gòu)建

該項(xiàng)目在Arduino中,添加了大量C語言。如果要添加對其他板的支持或嘗試不同的設(shè)置,則可以自己構(gòu)建。

首先-在Arduino中添加對板的支持,以便編譯和上傳代碼。然后加載所有Arcada庫。

從此處下載/克隆Arcada nofrendo端口,重命名文件夾nofrendo_arcada并在Arduino中打開它。

編譯設(shè)置

上載時(shí)必須具有一些設(shè)置:

CPU速度必須盡可能達(dá)到最高,我們希望在200MHz下超頻。優(yōu)化必須 -Ofast ,我們不建議 -funroll-loop s ,因?yàn)樗坪醪⒉荒芗涌觳シ潘俣?,并且體積很大。要顯示磁盤驅(qū)動(dòng)器,需要 TinyUSB 。

配置設(shè)置

在emuapi.h中,您可以進(jìn)行一些設(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)默認(rèn)值非常好,除非您懂?dāng)?shù)學(xué),否則不要搞亂。

USE_SAVEFILES是保存/恢復(fù)支持,保存時(shí)會占用大量RAM,因?yàn)樗哂袃?nèi)存映射整個(gè)文件,因此如果RAM用完了,請注釋掉

USE_SRAM,以打開/關(guān)閉仿真器的SRAM實(shí)現(xiàn)。請繼續(xù)。

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    894

    瀏覽量

    44405
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    適用于 WLAN 和藍(lán)牙?應(yīng)用的 2.4 GHz 高效前端 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()適用于 WLAN 和藍(lán)牙?應(yīng)用的 2.4 GHz 高效前端相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有適用于 WLAN 和藍(lán)牙?應(yīng)用的 2.4 GHz 高效前端的引腳圖、接線圖、封裝手冊
    發(fā)表于 06-20 18:30
    <b class='flag-5'>適用于</b> WLAN 和藍(lán)牙?應(yīng)用的 2.4 GHz 高效前端 skyworksinc

    DevEcoStudio 中使用模擬器時(shí)如何過濾日志

    DevEcoStudio 中使用模擬器時(shí)如何過濾日志 #鴻蒙核心技術(shù)#鴻蒙開發(fā)者工具##DevEcoStudio 在 Hilog > Settings > Filter
    發(fā)表于 05-23 10:46

    如何制作適用于Visionfive 2的Debian + UEFI固件系統(tǒng)?

    制作適用于Visionfive 2的Debian + UEFI固件系統(tǒng)
    發(fā)表于 03-10 07:51

    如何安裝模擬器nes小游戲-基于米爾瑞芯微RK3576開發(fā)板

    本篇源自:優(yōu)秀創(chuàng)作者 小手涼涼本文將介紹基于米爾電子MYD-LR3576開發(fā)板(米爾基于瑞芯微 RK3576開發(fā)板)的安裝模擬器nes小游戲方案測試。 核心板系統(tǒng) 操作系統(tǒng)鏡像文件說明
    發(fā)表于 02-08 12:10

    電網(wǎng)模擬器工作原理淺析

    電網(wǎng)模擬器是一種能夠模擬實(shí)際電網(wǎng)運(yùn)行狀態(tài)的裝置,它在電力系統(tǒng)的規(guī)劃、設(shè)計(jì)、測試和維護(hù)中發(fā)揮著至關(guān)重要的作用。了解電網(wǎng)模擬器的工作原理對于優(yōu)化電力系統(tǒng)的設(shè)計(jì)和提升其運(yùn)行效率具有重要意義。 電網(wǎng)
    的頭像 發(fā)表于 01-09 16:58 ?873次閱讀

    CAN總線模擬器的使用指南 CAN總線網(wǎng)絡(luò)的安全性分析

    CAN總線模擬器的使用指南 CAN總線模擬器(如ICSim)是一種用于模擬CAN總線通信的工具,它可以幫助用戶在沒有實(shí)際硬件的情況下進(jìn)行CAN總線通信的測試、調(diào)試和學(xué)習(xí)。以下是一個(gè)基本
    的頭像 發(fā)表于 12-23 09:16 ?2661次閱讀

    電動(dòng)汽車交流接口模擬器相關(guān)介紹

    吉事勵(lì)電動(dòng)汽車交流接口模擬器也叫便攜式充電樁測試儀,是一種用于測試和驗(yàn)證電動(dòng)汽車充電設(shè)備性能和安全性的儀器。它主要用于模擬電動(dòng)汽車的交流充電接口,與充電設(shè)備進(jìn)行通信和交互,以確保充電設(shè)
    的頭像 發(fā)表于 11-26 18:10 ?568次閱讀
    電動(dòng)汽車交流接口<b class='flag-5'>模擬器</b>相關(guān)介紹

    如何使用光伏模擬器

    光伏模擬器是一種用于模擬太陽能光伏電池工作原理和性能的軟硬件設(shè)備。它能夠提供光伏電池在不同光照、溫度和環(huán)境條件下的電流、電壓、功率等參數(shù),用于測試和評估光伏電池的性能,并幫助開發(fā)、優(yōu)化
    的頭像 發(fā)表于 10-30 17:12 ?861次閱讀
    如何使用光伏<b class='flag-5'>模擬器</b>

    可回饋式電網(wǎng)模擬器的使用方法有哪些?

    電力系統(tǒng)的運(yùn)行,提高電力系統(tǒng)的安全性和效率,具有重要的意義。 故障模擬:回饋式電網(wǎng)模擬器還可以用于故障模擬。通過設(shè)置故障參數(shù),可以模擬電網(wǎng)的
    發(fā)表于 10-16 10:50

    負(fù)載模擬器是干什么的,負(fù)載模擬器需要接電源嗎

    負(fù)載模擬器是一種用于模擬各種負(fù)載條件的設(shè)備,它在多個(gè)領(lǐng)域都有著廣泛的應(yīng)用。以下是對負(fù)載模擬器的主要功能和用途的詳細(xì)解析:
    的頭像 發(fā)表于 10-01 15:57 ?1646次閱讀

    電池模擬器的原理和運(yùn)用介紹

    電池模擬器是一種功能強(qiáng)大的設(shè)備,它能夠精確模擬電池在實(shí)際使用中的多種特性,包括電壓、電流和內(nèi)阻等。這種設(shè)備在現(xiàn)代科技中發(fā)揮著重要作用,特別是在電池管理系統(tǒng)和充放電設(shè)備的測試與校準(zhǔn)方面。隨著
    的頭像 發(fā)表于 09-11 16:11 ?2001次閱讀
    電池<b class='flag-5'>模擬器</b>的原理和運(yùn)用介紹

    通過GNSS模擬器實(shí)現(xiàn)RTK高精度定位 #RTK #GNSS模擬 #GNSS仿真 #GNSS模擬器

    定位模擬器
    虹科衛(wèi)星與無線電通信
    發(fā)布于 :2024年09月06日 17:52:32

    適用于TI超聲AFE的模擬時(shí)間增益控制(ATGC)解決方案

    電子發(fā)燒友網(wǎng)站提供《適用于TI超聲AFE的模擬時(shí)間增益控制(ATGC)解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 09-05 09:52 ?0次下載
    <b class='flag-5'>適用于</b>TI超聲AFE的<b class='flag-5'>模擬</b>時(shí)間增益控制(ATGC)解決方案

    選擇適用于汽車應(yīng)用的基準(zhǔn)電壓

    電子發(fā)燒友網(wǎng)站提供《選擇適用于汽車應(yīng)用的基準(zhǔn)電壓.pdf》資料免費(fèi)下載
    發(fā)表于 09-02 11:26 ?0次下載
    選擇<b class='flag-5'>適用于</b>汽車應(yīng)用的基準(zhǔn)電壓

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

    電子發(fā)燒友網(wǎng)站提供《適用于模擬輸出模塊的雙極Fly-Buck-Boost解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 09:17 ?0次下載
    <b class='flag-5'>適用于</b><b class='flag-5'>模擬</b>輸出模塊的雙極Fly-Buck-Boost解決方案