|
|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
7 Y9 H+ V5 b0 X( i- M! C2 z- K
/ l- |1 H1 c3 D# B. A& {街机游戏修改流程* B7 O$ _0 w5 D( [ H
最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!
1 m4 n: R4 [6 G+ A2 [; @下来就将我修改的流程放上来,大家可以共同研究。
6 t. C0 m& v- X, Y8 N7 i: Y工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).5 _ M0 D6 \! h3 h( u( O
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。
4 Z3 D' b4 m. `! `2 X- ~, K2 fFBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。4 ]( T3 M; w# q) b( ?
Cheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)% \( a0 ]* U, J8 u J$ k
0 R% ~- X+ i+ t% @
游戏:战国世纪(Samurai Aces)。9 P. x' v8 [% C/ `
修改目的:1P战机数不减。
1 Y7 g) }% @8 O( W3 w1 a流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:
* v% G/ z' x9 D* m5 j3 ~( }' j& f9 z8 x* L* B/ T
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。, ^/ ]3 |( x, t; v5 L
! V8 A0 H4 t% p4 h5 }* s+ {- \+ i
进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
& k" ~" c# ~) `" E* ?# p注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。7 |; S, b9 A0 r
死一战机后,程序停止,来到这里;: d4 R3 A& l7 @7 G: Q# k) g* ]
( ~9 h, D1 _+ L+ \0 d& ]! k06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)) k |$ P' W2 |+ z
这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。0 \: p7 d; g8 F
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)
6 a- F2 H7 {3 a$ J$ m载入Rom,开始做第一步,同①。
, q, {& Y4 `8 B7 K接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0
# C2 n0 X8 J, u+ Q7 V$ P" ]按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
1 r9 G& D$ e4 z% U$ d
3 u; c1 q* d0 k6 K; D+ z: E7 ]* h看右边,记下536A 0010 4A6A 0010
4 ~; v! U' U$ `' s
t) y' }: O* P' Y$ gWinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。
H: I8 B9 g3 y; \& x
6 \& Z5 E( q7 Z: y; C/ u/ J! }Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。- }+ P; X( ^3 @
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|