|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑 $ P# \7 r5 n- u2 V, a- \
4 [7 M; u7 J! Y& X: S' Y街机游戏修改流程3 l" C1 C: q5 h" D
最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!
7 Z( a, H E8 J0 p- s+ P下来就将我修改的流程放上来,大家可以共同研究。/ N$ ]2 W3 r& |
工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).
, E# _5 F: f' `+ D' l; y工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。
z0 Y3 s4 Y, u1 T2 L/ w9 oFBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
4 E2 I& F8 }0 p0 jCheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)
$ G# T ]2 d2 Q" k' a3 O; T1 B% Z0 }1 t
游戏:战国世纪(Samurai Aces)。
, l) m) W2 N" F5 `3 C修改目的:1P战机数不减。
* G1 k" |; S5 ^( D f7 ]2 Q流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:
. W0 z$ j: `) |" M( e- h, j L: [) |. S, p
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。" q) a @5 J( \( i3 E& s5 s
) x- p4 o) M* R6 `) Q: a; m/ P进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
& d( V) `8 Q' [- R, K* G注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。: R; U! p, Q2 R% W
死一战机后,程序停止,来到这里; E; G- j3 J5 T+ n) F
7 ]+ j4 J3 Z' C, o1 G3 W( U& r& _" x06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)
2 k' T+ ~! K/ C这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。( T' r" u4 f+ ?6 N
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)
$ g7 @# S: v; t8 C( S2 n5 I# M! {载入Rom,开始做第一步,同①。
! b. ]# `' b" i4 [1 M$ C7 y/ y; d W接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0' h' ^1 [" P6 e2 N8 B$ x
按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。! G9 ]5 k- I, n2 D
4 R# W# H; u* F$ }看右边,记下536A 0010 4A6A 0010
$ r" B7 C9 J. D5 m: @' E1 T2 W/ X2 K2 R* |2 k
WinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。
* m0 Z4 Q1 G; W% v9 j. m9 Q5 @" ]9 y, M4 n: h
Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。8 X6 B+ U- W6 B+ G
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|