即使是古早GameBoy模擬 - 模擬器

Iris avatar
By Iris
at 2015-11-04T16:36

Table of Contents


純閒聊...

原本覺得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的主機困難度應該是少幾年前非常多

(寫到完整又另一回事),主要是前輩括荒時期,沒那些文件描述,

據說都是直接拆晶片靠電子相關技術在測試特性,

模擬器追根究柢是精通硬體的人比較吃香,難是難在很多觀念和運作正確理解,

會寫軟體但對硬體理解有限,要弄出完整的東西,真的是比較吃力.

--

All Comments

Kelly avatar
By Kelly
at 2015-11-07T01:38
雖然看不懂,但是推專業與用心
Liam avatar
By Liam
at 2015-11-11T13:00
讚喔
John avatar
By John
at 2015-11-13T14:13
Isabella avatar
By Isabella
at 2015-11-14T07:11
加油 走過就是你的了
Edith avatar
By Edith
at 2015-11-15T01:45
Valerie avatar
By Valerie
at 2015-11-17T00:55
Fan Wen Yang算是神人嗎/.y
Isla avatar
By Isla
at 2015-11-20T23:25
純好奇,為什麼會想寫到精確呀?感覺要寫得比前人好太難
Barb Cronin avatar
By Barb Cronin
at 2015-11-22T04:34
辛苦辛苦 推 努力付出
Jack avatar
By Jack
at 2015-11-23T02:44
好厲害@@

Final Burn Alpha v0.2.97.37

Ida avatar
By Ida
at 2015-11-04T16:00
http://www.fbalpha.com/ ‧Added clone of Contra (US / Asia, set 3) [system11, iq_132, JacKc] ‧Added several fixes for the SDL version of FBAlpha [Dmitry Sm ...

Cemu v1.0.2

Hamiltion avatar
By Hamiltion
at 2015-11-03T19:59
http://cemu.info/ v1.0.2 | 2015-11-02 ‧Improved accuracy of shader emulation (again). ‧Improved the emulation of color and depth buffers. ‧Implemented sup ...

(C64 for Mac OS X) VirtualC64 v1.2.1

Kristin avatar
By Kristin
at 2015-11-03T13:11
2015.11.03 VirtualC64 is a C64 emulator for Mac OS X from Dirk W. Hoffmann. VirtualC64 emulates a Commodore 64 personal computer on your Macintosh. Virtu ...

George avatar
By George
at 2015-11-03T10:34
矇眼全破《薩爾達傳說 時之笛》最誇張的是中間的準備過程 http://news.gamme.com.tw/1355232 《薩爾達傳說》可說是任天堂的當家看版遊戲之一,不知道眾多名作中卡友們最喜歡的一 代是哪一部呢?小弟個人最喜歡的作品就是「時之笛」了,這一代在N64推出時造成不少 玩家衝擊,可說是不朽名作 ...

Clrmamepro Software List 功能

Frederica avatar
By Frederica
at 2015-11-02T23:18
從0.129開始追到現在0.167了 還是搞不清楚 Software List是啥功能 不知道哪一板開始就有這功能 用Clrmamepro整理,我都是按No 不過最近這幾板開始有人放 Software List Roms 那跟之前放的好像沒啥兩樣 有人能具體說明這個功能嗎? 中文玩家都沒有特別說明,只有 ...