|
|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
$ q' G7 U3 K! e2 q1 B3 G9 m9 I0 ?& I, x* }# }( k, X! C4 E( y
街机游戏修改流程" i- o2 X6 E F& p+ x7 v. ]6 B
最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!$ O e3 f9 A; X% w z
下来就将我修改的流程放上来,大家可以共同研究。' A# c) X) B! [8 Y+ }
工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).
: [8 Q( e/ P( `/ |, y工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。$ l/ a. n( y6 b
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。& m* g( v8 p" `) e8 }
Cheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)
9 b m5 N# a3 y
2 `/ J; {% j$ T' J+ l& [游戏:战国世纪(Samurai Aces)。' w ^# n" ]% J) `+ c
修改目的:1P战机数不减。7 r: F0 O0 f5 O: ^ k' q( E# R
流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:
# d; a) I6 e9 w& B2 g! T1 `6 [+ x7 b: j6 t6 o
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。
8 l* J* A3 U; Y( K |
7 A- s/ `4 |6 V! g* T! B进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
5 x5 X1 ]% y: y# {$ n6 T注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。
6 T2 v5 m, x- E6 @, ~死一战机后,程序停止,来到这里;1 H0 M# Y0 P% p2 @3 ?2 w; ]
- i |5 b( ?6 Q
06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)
1 |3 ~, C& L6 S$ p这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。
0 [/ D: f9 S, I③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)3 ^. f5 t2 c- u+ V' c
载入Rom,开始做第一步,同①。8 d- o2 Z9 E5 L( g
接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0 z" M; @9 k" E/ k
按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
+ e) q# p; c+ r0 E) J1 m% K( ?
' T( @3 G( d9 d8 R% Z看右边,记下536A 0010 4A6A 0010
) V5 V1 z9 i2 _& P7 M- }3 S) z" y3 Y; _" `- g! o
WinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。3 r4 w% k% B2 ~) v
: P( ~% H' U( M9 L' D% i, ^
Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。" o% L4 q# U8 C# I8 m$ s
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|