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的支援,最後是聲音功能.

參考學習資源
http://wiki.nesdev.com/w/index.php/Nesdev_Wiki
http://problemkaputt.de/everynes.htm
http://nesdev.com/6502.txt 6502 spec
http://nesdev.com/NESDoc.pdf 適合入門觀念學習
https://www.google.com.tw 最重要的網站!!

 

影像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 , 上下左右對應鍵盤上下左右方向鍵