|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
9 V5 L% L7 ^- ?6 j/ A) N/ B& u6 p. Y, K
街机游戏修改流程
) X. G& q3 Q5 o! ]8 A. |! B最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!% U5 Q( F" M% M( g
下来就将我修改的流程放上来,大家可以共同研究。+ X, }! R! L) b
工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).
N, V8 W- P1 }8 f* t工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。# ]9 p& I; b/ v1 D2 d
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
: n2 x$ M$ H6 \, SCheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)
" r% g% Y1 a1 U
; s7 R% _% ]( y# E游戏:战国世纪(Samurai Aces)。
$ E( c2 ]) e+ c- I修改目的:1P战机数不减。0 F! |* M1 ?; V* x* t
流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:# r2 v! L0 d: v5 S6 q1 C
3 A8 l S5 V# m$ Q" D& h% y②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。
7 s3 @$ G9 Z B4 S! K# P- L+ J" Y5 R
进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05 ; {. C! v$ f' b- d0 h2 \
注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。' F. ?8 e# P. x
死一战机后,程序停止,来到这里;' K5 A: L+ m+ b7 y
5 U9 L/ H( }5 o! z) k0 h06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)
. Q# d/ t0 `* i/ H# r这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。4 h0 @ a9 ?6 B7 B& _
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便). f$ a4 J0 Z- I& N/ K0 J
载入Rom,开始做第一步,同①。
. W/ ?, j( @+ h% Z; I* y接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0" ?- T* c9 g9 q# k: `
按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
- {5 O; F" n& k. w( P+ O0 i2 [3 i; ~/ l1 S7 J d M
看右边,记下536A 0010 4A6A 0010 7 l2 P# c1 n; W6 s2 u
' C) z% Z& e/ {% ], |0 gWinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。" T* a: n( i2 H9 b5 A
$ y8 m; D2 M, z8 L! z' q: `% A
Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。
5 u/ S# H. |% `4 w% S6 y& R% a" { |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|