Programming 板


LINE

※ 引述《powerguy (小P)》之铭言: : 这个问题让我好奇很久了,而且也不知道能去哪问 : 想来想去,我想还是这儿最适合吧,毕竟能写出模拟器的都是程式高手..... : 我想过 : 方法1:厂商有公布or流出电玩的spec. : 听说当年GBA模拟器能那麽快写出来,就是规格外泄 : 但那些规格未知的电玩模拟器是怎麽写的? 有种东西叫做示波器, 它可以探测讯号 有种东西叫做三用电表, 它的好处我举例不完 硬体高手可以藉着这两种基本工具和其他测试工具 画出大概的图或是 spec. 举例: 破解光碟保护不挑片的破解晶片就是这样来的 : 方法2:拆解硬体,然後写出模拟器 : 觉得这方法根本是天方夜谭 = = 拆解硬体是一样要的 : 方法3:软体逆向工程 : 例如藉由厂商公布电玩支援的指令集、API....等 : 然後分析这些指令、API对应到的机码,藉此写出模拟器 : 不过这方法是我乱想到的,不知道可行吗? : 请乡民补充,还有有错请更正 : 谢谢 <(_ _)> 基本上, 经由 1, 2 的步骤就可以得知大致上的规格 (CPU/讯号 ... 等) 如果不知道, 换找一个硬体工程师来帮你检测 而 CPU 的指令码资料, 要弄到不是难事, 大部分资料网路上都有 没有的话, 最好可以找到有在 "游戏开发产商" 内部工作的人 因为他们都会有 "整包的开发工具" 等到这些都完备後, 基本上, 就可以开始写模拟器 * 程式撰写人员基本都要有侦错能力和组合语言实作能力 如果有机械语言撰写编排能力更好 因为你接下来要面对资料档都是这些玩意 1.请把游戏片上的 ROM 全部当成 "资料档" 即使要模拟 "使用 x86 系列 CPU 的 WSC" 也一样 也请把模拟器的角色当成是一个 DEBUG 按照该 CPU 的指令解码流程, 解析 ROM 档後的相关结果 (暂存器/旗标) 和计算该指令的对应时序和目前执行指令的时序 以上都可存放在各个自订变数 时序太少的 (CPU 较慢), 可以用延迟指令补足 时序太多的 (CPU 较快), 可以在画面处理处补足 (Skip Frames) 或是想办法最佳化自己程式码 2.等到 1 完成後, 再来就要处理最难搞的 "I/O 中断" 因为每个平台主机都有自己的独特 I/O 和中断处理方式 即使该平台主机用的 CPU 一样 这时候就要搭配硬体人员画出来的规格书 哪种讯号会送到哪边去处理...等等 (这部份是大工程) 3.可以跟 2 同步进行, 这部份要做的是自家电脑的 "绘图/音效/输入/档案" 处理 输入初期都会以键盘为主, 等到完成度差不多了, 才会考虑支援摇杆或是 GamePad 绘图方面, 先求画面正确, 再求其他优化的演算法 音效方面, 先求声音正确, 再求其他优化 (爆音/环绕...等) 演算法 档案方面, 以档案处理为主, 即使是光碟, 一样会先拷贝到硬碟处理 等完成度差不多了, 才会撰写其光碟驱动程式, 或是用 Mount 的方式 不过我还没有碰到过需要写 Driver 的模拟器就是 :) 4.大量样本 ROM 的 Debug 这可以侦测出可能遗漏处理的中断或 I/O 处理 另外有些厂商会自行加入额外的晶片 (ex. SFC) 要正确执行 ROM, 支援该种额外晶片是一定要的 这通常都要 CRC/MD5 检测确认是不是该 ROM 档 大致上就是如此, 先说到这, 说个大概就好, 真要写相关细节, 可以出书了 :D -- 私が生存への道は 今も未来も唯一つ 私自身の闇黑のためだ 即ち「ハ・ル・ヒ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.168.73
1F:→ Lordaeron:基本上只靠哪样应该是不全可行的 125.232.133.9 09/01 05:47
2F:→ Lordaeron:因为SFC 的几颗特殊的chips 到现在都还 125.232.133.9 09/01 05:47
3F:→ Lordaeron:没有任何的完整方案 125.232.133.9 09/01 05:48
4F:→ Lordaeron:例如SFC的DSP3 有partial但无完整方案125.232.133.110 09/01 07:03
5F:→ Lordaeron:而ZNES的team也有出个少少的奖金希望能125.232.133.110 09/01 07:04
6F:→ Lordaeron:找到解决方案125.232.133.110 09/01 07:04







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP