作者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