作者powerguy (小P)
站內Programming
標題[問題] 電玩模擬器是怎麼寫出來的?
時間Sat Aug 30 23:53:48 2008
這個問題讓我好奇很久了,而且也不知道能去哪問
想來想去,我想還是這兒最適合吧,畢竟能寫出模擬器的都是程式高手.....
我想過
方法1:廠商有公佈or流出電玩的spec.
聽說當年GBA模擬器能那麼快寫出來,就是規格外洩
但那些規格未知的電玩模擬器是怎麼寫的?
方法2:拆解硬體,然後寫出模擬器
覺得這方法根本是天方夜譚 = =
方法3:軟體逆向工程
例如藉由廠商公佈電玩支援的指令集、API....等
然後分析這些指令、API對應到的機碼,藉此寫出模擬器
不過這方法是我亂想到的,不知道可行嗎?
請鄉民補充,還有有錯請更正
謝謝 <(_ _)>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.209.212.52
1F:推 saxontai:建議一:去逛逛巴哈 Emulator 版 61.231.168.244 08/31 00:13
2F:→ saxontai:建議二:抓 VisualBoyAdvance 源碼來看 61.231.168.244 08/31 00:14
3F:→ eva19452002: 三:去逛逛ptt emulator看看140.136.149.183 08/31 00:42
※ asoedarren:轉錄至看板 Emulator 08/31 02:13
4F:→ MOONRAKER:23都要用,3遇到的問題一定要從2來 59.115.206.104 08/31 09:34
5F:→ MOONRAKER:尋求解決。就1而言沒有未知規格的模擬 59.115.206.104 08/31 09:34
6F:→ MOONRAKER:器,所謂未知都有蛛絲馬跡可循,然後再 59.115.206.104 08/31 09:35
7F:→ MOONRAKER:針對少數已知軟體調整。所以模擬器不一 59.115.206.104 08/31 09:35
8F:→ MOONRAKER:定支援全部遊戲,甚至僅限幾個的也很多 59.115.206.104 08/31 09:36
9F:推 sunneo:方法二是Arcade emulator常做的 59.127.209.65 08/31 16:51
10F:→ sunneo:往往要拿到主機板去dump 寫wrapper 59.127.209.65 08/31 16:51
11F:→ sunneo:把處理器的指令轉為本機指令或對應功能 59.127.209.65 08/31 16:52
12F:→ sunneo:碰到有解碼、解密的還需另外處理 59.127.209.65 08/31 16:53
13F:→ sunneo:除了轉指令外就是要映射記憶體位址 59.127.209.65 08/31 16:54
14F:→ sunneo:規格書自然是少不了的 59.127.209.65 08/31 16:56
15F:→ Lordaeron:emulator有這麼好寫就好了,任天堂的 125.232.136.47 08/31 21:29
16F:→ Lordaeron:到現在還未能完全emulate 所有game 125.232.136.47 08/31 21:30
17F:→ Lordaeron:更別說SFC 的一堆奇怪chipset 125.232.136.47 08/31 21:30
18F:→ Lordaeron:這種東西,講跟做, 落差很大的 125.232.136.47 08/31 21:31
19F:→ Lordaeron:不要想得太夢幻. 125.232.136.47 08/31 21:46
20F:→ MOONRAKER:人家問原則,當然答原則 59.115.209.72 09/01 02:04
21F:→ MOONRAKER:不用每次都奚落別人,或者你一定要這樣 59.115.209.72 09/01 02:05
22F:→ MOONRAKER:才會爽?"P4有四百個通用暫存器"先生。 59.115.209.72 09/01 02:06
23F:→ Lordaeron:唉?我奚落到你囉?"P4有四百個通用存器"? 125.232.133.9 09/01 05:46
24F:→ Lordaeron:我只陳述一個事實就是emulator不好寫 125.232.133.9 09/01 06:22
25F:→ Lordaeron:務實面來講,也不是原則和實際完全一樣. 125.232.133.9 09/01 06:22