作者OPWaug (哼哼)
看板Emulator
标题Re: [转录][问题] 电玩模拟器是怎麽写出来的?
时间Sun Aug 31 10:31:27 2008
※ 引述《asoedarren (天真岁月阳仲寿)》之铭言:
: 这个问题让我好奇很久了,而且也不知道能去哪问
: 想来想去,我想还是这儿最适合吧,毕竟能写出模拟器的都是程式高手.....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实不见得
: 我想过
: 方法1:厂商有公布or流出电玩的spec.
: 听说当年GBA模拟器能那麽快写出来,就是规格外泄
: 但那些规格未知的电玩模拟器是怎麽写的?
真的要解释起来很复杂所以用简单一点的方法说好了
模拟器作者会根据公布的主机性能去写出一个可以模拟的方法
例如当年超任的放大缩小马赛克化功能
因为电脑(硬体)本身没有类似的功能存在
所就得靠软体"演"出来
至於GBA的例子除了因为规格太早公布外
另一方面GBA的一些参数演算法跟前面的GBC差不多
所以有人就直接利用GB模拟器作为基调并参考GBA的规格来写出假的GBA模拟器
等主机上市跟游戏的rom被丢出来後再逐一作修改
: 方法2:拆解硬体,然後写出模拟器
: 觉得这方法根本是天方夜谭 = =
这是必要的
不能了解实际的硬体规格
写出来的效果就会有很大的误差
像目前正在尝试破解电储问题的PSP就是一个好例子
: 方法3:软体逆向工程
: 例如藉由厂商公布电玩支援的指令集、API....等
: 然後分析这些指令、API对应到的机码,藉此写出模拟器
: 不过这方法是我乱想到的,不知道可行吗?
可能但实际运用层面很小
厂商如果要这麽做他们可能就会自己开发官版的模拟器
不太需要作这种慈悲为怀的事情
拿石头砸自己的脚只会痛不会有其他好事发生
其实还是希望有真正的高手来回答这些问题
毕竟我不是专业的模拟器作者科科
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.224.53.131
1F:→ jackalch:GBA应该是最夸张的..没上市烧录卡就作好了 08/31 11:53
2F:推 Splash5:因为架构差不了太多 加上又是用arm7作处理器 所以.. 08/31 12:11
3F:→ Splash5:烧录卡的话用分析仪看一下卡带动作就可以作了 不难 08/31 12:12