[問題] 電玩模擬器是怎麼寫出來的?

看板Programming作者 (小P)時間17年前 (2008/08/30 23:53), 編輯推噓2(2023)
留言25則, 5人參與, 最新討論串1/5 (看更多)
這個問題讓我好奇很久了,而且也不知道能去哪問 想來想去,我想還是這兒最適合吧,畢竟能寫出模擬器的都是程式高手..... 我想過 方法1:廠商有公佈or流出電玩的spec. 聽說當年GBA模擬器能那麼快寫出來,就是規格外洩 但那些規格未知的電玩模擬器是怎麼寫的? 方法2:拆解硬體,然後寫出模擬器 覺得這方法根本是天方夜譚 = = 方法3:軟體逆向工程 例如藉由廠商公佈電玩支援的指令集、API....等 然後分析這些指令、API對應到的機碼,藉此寫出模擬器 不過這方法是我亂想到的,不知道可行嗎? 請鄉民補充,還有有錯請更正 謝謝 <(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.209.212.52

08/31 00:13, , 1F
建議一:去逛逛巴哈 Emulator 版精華區
08/31 00:13, 1F

08/31 00:14, , 2F
建議二:抓 VisualBoyAdvance 源碼來看
08/31 00:14, 2F

08/31 00:42, , 3F
三:去逛逛ptt emulator看看
08/31 00:42, 3F
asoedarren:轉錄至看板 Emulator 08/31 02:13

08/31 09:34, , 4F
23都要用,3遇到的問題一定要從2來
08/31 09:34, 4F

08/31 09:34, , 5F
尋求解決。就1而言沒有未知規格的模擬
08/31 09:34, 5F

08/31 09:35, , 6F
器,所謂未知都有蛛絲馬跡可循,然後再
08/31 09:35, 6F

08/31 09:35, , 7F
針對少數已知軟體調整。所以模擬器不一
08/31 09:35, 7F

08/31 09:36, , 8F
定支援全部遊戲,甚至僅限幾個的也很多
08/31 09:36, 8F

08/31 16:51, , 9F
方法二是Arcade emulator常做的
08/31 16:51, 9F

08/31 16:51, , 10F
往往要拿到主機板去dump 寫wrapper
08/31 16:51, 10F

08/31 16:52, , 11F
把處理器的指令轉為本機指令或對應功能
08/31 16:52, 11F

08/31 16:53, , 12F
碰到有解碼、解密的還需另外處理
08/31 16:53, 12F

08/31 16:54, , 13F
除了轉指令外就是要映射記憶體位址
08/31 16:54, 13F

08/31 16:56, , 14F
規格書自然是少不了的
08/31 16:56, 14F

08/31 21:29, , 15F
emulator有這麼好寫就好了,任天堂的
08/31 21:29, 15F

08/31 21:30, , 16F
到現在還未能完全emulate 所有game
08/31 21:30, 16F

08/31 21:30, , 17F
更別說SFC 的一堆奇怪chipset
08/31 21:30, 17F

08/31 21:31, , 18F
這種東西,講跟做, 落差很大的
08/31 21:31, 18F

08/31 21:46, , 19F
不要想得太夢幻.
08/31 21:46, 19F

09/01 02:04, , 20F
人家問原則,當然答原則
09/01 02:04, 20F

09/01 02:05, , 21F
不用每次都奚落別人,或者你一定要這樣
09/01 02:05, 21F

09/01 02:06, , 22F
才會爽?"P4有四百個通用暫存器"先生。
09/01 02:06, 22F

09/01 05:46, , 23F
唉?我奚落到你囉?"P4有四百個通用存器"?
09/01 05:46, 23F

09/01 06:22, , 24F
我只陳述一個事實就是emulator不好寫
09/01 06:22, 24F

09/01 06:22, , 25F
務實面來講,也不是原則和實際完全一樣.
09/01 06:22, 25F
文章代碼(AID): #18kMqFXc (Programming)
討論串 (同標題文章)
文章代碼(AID): #18kMqFXc (Programming)