|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑 * j2 S. E1 h/ Q4 J+ q6 k# l- @
% o6 l* R) J3 z5 z8 u6 u
街机游戏修改流程
7 y& Q+ e: ]+ o- o+ P最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!2 G5 X& y3 y" p8 S5 b& T
下来就将我修改的流程放上来,大家可以共同研究。
8 n: d6 u$ |& u( B& t& j工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢). @3 \- g# k. y% r1 W, V
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。2 H* T" G2 m5 T# [* Z
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。* K0 k l a3 w7 ~+ p
Cheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢): ]& M# e: ~6 C# G( e% r
' i6 J9 u- K1 z: c
游戏:战国世纪(Samurai Aces)。8 U7 I, ~$ G8 Z8 d8 M
修改目的:1P战机数不减。4 R* O" r5 v& t, _* A: @; u
流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:! A( R1 y1 C# k+ f& ?0 J g
; K+ Y2 @ e2 X: d3 t, [& ]
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。
6 L$ H% J/ ^- w! p3 Y9 @, D
& w& w0 @3 U( ?; m" N9 y: F进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
* \3 i. b, p, c R5 Y% r注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。
" u0 `: [/ F/ p4 ^3 e% _8 C死一战机后,程序停止,来到这里;
j& O; T2 J& z! [, n* Z$ b: {. c
06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2), M/ l7 j2 V, [4 H$ S( a- m( ~
这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。# z- F ^; o! w9 k
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)
) A! f, ^7 [" E1 Y2 s: }载入Rom,开始做第一步,同①。
8 ^; k3 w- N/ k4 C接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0
5 p0 y* |2 I+ n, ]. O8 `# f- ]( h按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。3 N1 U$ }7 x/ r4 L8 w$ X5 `
- W* B0 U; Z& E3 ~4 R+ T
看右边,记下536A 0010 4A6A 0010 1 b3 F9 U" E1 n- J* w& q
. s k. U: C8 W8 N( ^) m' |* X& tWinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。
/ y0 O* z& b1 d9 H" d, j% W: X( D5 s' d
Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。 V1 ?$ A9 t6 w, K$ P
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|