AprNes 任天堂紅白機模擬器 by erspicu_brox 2017.02.24 => 2026.02.21
這是2026年重啟的模擬器專案,現在的用途是讓我摸索vibe coding和各家AI工具.模型的能力邊界,幫我把以前中途而廢的模擬器專案給完善維護,加上了以前沒有完成的APU音效功能,解決掉超級瑪利歐3代畫面一些瑕疵問題,功能層面上算是堪用,但後面嘗試繼續用AI達成cycle accurate的水準(這真的不是很容易的事情,很考驗AI思考跟study的能力),目前都還在處理中,也利用AI發展了一套test rom unitest流程,可以自動流程化測試test rom還有哪些項目尚未通過,進行維護修改.
測試結果整理
測試流程與工具說明(English)
測試流程與工具說明
GitHub專案連結
2026.02.21版本下載 加上APU音效效果,超級瑪利歐3代畫面瑕疵解決.
AccuracyCoin測試 (抓2026.02.21發行版本,共136測試)
這是2015年重啟的模擬器專案,將之前未完成的專案加以繼續追加完成度,專 案建立目的以學習和研究為目標,無法與其他成熟版本相比,若是單純要玩遊戲,請選擇其他版本,若是想了解和研究任天 堂紅白機模擬器,此款專案可以當為參考範本.專案在 timing 與背景rendering部分有參考 https://github.com/scottferg/Fergulator 這款GO語言專案 , 而PPU記體正確access規則與CPU指令錯誤修正有參考 https://sourceforge.net/projects/mynes 這款C#語言專案,即使部分有參考其他專案寫法,但還是盡量以自己的理解與閱讀文件達成實作的方式為主.
本軟體以學習為主要用途,功能與主要mapper 支援尚不完善,未來如果有足夠動力,會希望讓 timing 以及一些細節計算更為正確,來通過測試驗證ROM https://wiki.nesdev.com/w/index.php/Emulator_tests ,另外就是達到幾個主要mapper的支援,最後是聲音功能.
|
影像Scaler Filter
(基本上算是移植,但加上大量code精簡.重構.效能校調,以符合即時性播放使用) https://code.google.com/p/2dimagefilter XBRz |
|
程式ICON圖示來源 http://www.easyicon.net |
|
http://sharpdx.org 遊戲手把輸入 , DirectSound 聲音輸出 https://github.com/yallie/unzip 極為輕量化的unzip library |
| NROM (Mapper 0) 支援 | ||
|
|
|
| MMC1 (Mapper 1) 支援 | ||
|
|
|
| UNROM (Mapper 2) 支援 | ||
|
|
|
| CNROM (Mapper 3) 支援 | ||
|
|
|
| MMC3 (Mapper 4) 支援 | ||
|
|
|
需要 Microsoft .NET Framework 4.6.1執行環境,如果無法順利開啟程是,請點此安裝
GitHub https://github.com/erspicu/AprNes
| 2017.02.24 版本下載 |
| 版本說明 |
|
1.增加Scanline Filter 2x 4x 6x. (實作NTSC CRT比例修正與 YIQ 4:1:1 color bleeding) 2.增加操作右鍵選單功能 3.重構程式,效率改善 4.修復很多test rom沒通過的錯誤項目. 測試結果(有可能存有小錯誤) 5.移除第三方library依賴性 (程式檔案目前縮減到只有 167KB 大小) 6.全螢幕模式下可以在Background目錄內放入背景圖片. PS.此版後暫停更新,但 I will be back. ![]()
|
| 2016.11.21 版本下載 |
| 版本說明 |
|
1.Mapper 4 (MMC3) 支援,整體遊戲達到約7成支援量. 2.修改fps limite Thread.Sleep 參數,大幅降低cpu使用率. 3.xBRZ 6X filter增加 , 以及效率改善 4.xBRz filter加入處理器多核心平行加速處理功能(一般效能電腦應該可以放心使用 6x) 5.Mapper 7(AxROM) . 11(ColorDreams) . 66(GxROM) .71(Camerica) 支援
|
| 2016.11.12 版本下載 |
| 版本說明 |
|
1.追加支援 mapper 1 (MMC1) 與 mapper 3(CNROM) , 目前整體支援mapper 0.1.2.3 共4個主要mapper 2.追加SRAM記錄存檔功能 (薩達爾傳說1代可以記錄,不過目前遊戲畫面有一點點小問題) 3.增加讀取ZIP檔案功能 4.增加rom資訊閱讀介面 ![]() 未來希望 1.mapper 4 (MMC3)與 fds類型 追加支援 2.聲音功能 3.或許增加支援XBOX類型搖桿 4.AprNesWall分支版本發展 ? https://www.youtube.com/watch?v=_CS7GrWqNrk 5.timing與某些正確性修正 |
| 2016.11.05 版本下載 |
| 版本說明 |
此版修改介面增加設定功能與重置功能,加入放大.語系.FPS限制.手把鍵盤操作設定,此外也加入對UNROM支援(mapper
2)以及修正rom載入mapper判斷.
|
| 2016.10.26 版本下載 |
| 版本說明 |
|
此版為初次版本,諸多地方尚不完善,目前僅支援mapper 0 ,但Sprite0Hit 跟 SpriteOverflow 兩個狀態 flag
已實作,sprite跟背景之間的穿透特性應該也修正完畢,大致上多數mapper
0遊戲支援應該都沒問題,除了少部分遊戲因為timing準度確問題造成少部分掃描線繪製偶而錯位(Super Mario
Bro就是其中一個例子,但不影響遊戲性). 日後將支援更多基礎mapper,並且完善操作介面(更多設定項目),以及優化和重構code. 操控 z : A , x : B , a : Start , s : Select , 上下左右對應鍵盤上下左右方向鍵 ![]() |