[閒聊] 即使是古早GameBoy模擬

看板Emulator作者 (.)時間8年前 (2015/11/04 16:36), 8年前編輯推噓9(900)
留言9則, 9人參與, 最新討論串1/1
純閒聊... 原本覺得gb模擬應該相對於其他主機容易, 也的確要寫出來會動的gb模擬器應該是比它後期的主機都容易, 但要寫出來跟寫出精確.正確的模擬器又是兩回事... 原本是要朝向更多功能發展(gbc.sgb功能追加.mbc type功能追加...), gbc.sgb也的確都跑出了顏色,瑪莉歐dx甚至跑起來也有一個樣子, 但就是都有一些顯示上的bug,別說gbc遊戲, 最基本的rockman word5 甚至跑關會跳出...... 想說我都把cpu模擬的部分修正到跑測試完全無誤,到底是哪裡還有問題... (gb模擬器驗證 可參考 http://gbdev.gg8.se/wiki/articles/Test_ROMs ), (另外FC可參考 http://wiki.nesdev.com/w/index.php/Emulator_tests ) 想說應該是哪個指令其實還有小問題,找非常久..... 最後前一天發現原因,是因為 0xcb 延伸opcode的 cycle time 完全沒加到, timing不正確.... 後來又好奇拿別的模擬器測試,雖然那些模擬器相容性好, 功能支援也完整(gnuboy與vba),跑起一般遊戲好像也沒問題,但跑cpu test, 錯得亂七八糟....11個測試掛掉幾乎一半 (好奇怎不修一修....) 而我的cpu pass,但其他測試當然全掛.....主要是觀念不夠清楚, cpu雖然硬修正到pass,但像是timing的環節.中斷等等一堆細節, 中間可能都還一堆問題,所以我後來領悟了....... 能寫出來只是一個最基本入門的門檻,但如何正確.精準處理又是另一個層次, 也許gb相較於其他主機簡易些,但依照我的能力,應該先求正確, 至少跑遊戲畫面要對,別跑一跑跳掉或是怎樣的,testing能過當然更好, 但重點是太多觀念還得再離清....後來就決定化繁為簡,先把最最基本的gb都做到好, 其他功能後續再說了. 現在寫一些早期8bit或是16bit的主機困難度應該是少幾年前非常多 (寫到完整又另一回事),主要是前輩括荒時期,沒那些文件描述, 據說都是直接拆晶片靠電子相關技術在測試特性, 模擬器追根究柢是精通硬體的人比較吃香,難是難在很多觀念和運作正確理解, 會寫軟體但對硬體理解有限,要弄出完整的東西,真的是比較吃力. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.250.102 ※ 文章網址: https://www.ptt.cc/bbs/Emulator/M.1446626191.A.551.html ※ 編輯: erspicu (118.171.250.102), 11/04/2015 16:38:24

11/04 16:45, , 1F
雖然看不懂,但是推專業與用心
11/04 16:45, 1F

11/04 17:14, , 2F
讚喔
11/04 17:14, 2F

11/04 20:48, , 3F
11/04 20:48, 3F

11/04 23:18, , 4F
加油 走過就是你的了
11/04 23:18, 4F

11/05 00:43, , 5F
11/05 00:43, 5F

11/05 01:09, , 6F
Fan Wen Yang算是神人嗎/.y
11/05 01:09, 6F
印像中好像是很早期就寫出相當不錯任天堂模擬器的人,滿厲害的.

11/05 05:13, , 7F
純好奇,為什麼會想寫到精確呀?感覺要寫得比前人好太難
11/05 05:13, 7F
精確是期望能有最好,但至少要能正確,好比說最少最少畫面正確, 或不會玩一玩跳出遊戲關卡之類的 ※ 編輯: erspicu (60.248.56.181), 11/05/2015 18:02:38

11/14 14:29, , 8F
辛苦辛苦 推 努力付出
11/14 14:29, 8F

11/15 21:34, , 9F
好厲害@@
11/15 21:34, 9F
文章代碼(AID): #1MESEFLH (Emulator)