|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
; _5 B* {$ o8 U ]8 {% m- Q8 |( |$ P4 g- M1 v; t& P
街机游戏修改流程
; a9 K- L3 z2 r: y7 Q最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!0 x d7 D" B7 S1 s7 D5 z
下来就将我修改的流程放上来,大家可以共同研究。
; B7 g: Q3 V" g6 Z! n工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢)., z6 h, P; p- G0 t% z- P9 J7 V; I0 [
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。) u: n& J9 o: a" F# e
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。/ |: X# f: L2 h9 y/ g& s e
Cheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)) {! z+ s) B/ Y, J% }
9 S, |+ A2 i! D2 H2 |4 ~游戏:战国世纪(Samurai Aces)。. I# f H( S2 k$ U- O# E) A
修改目的:1P战机数不减。
& \8 `& F/ M, Z% k3 s" Q流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:3 b% d2 P4 R6 X+ l: y
/ ~. p0 o4 x1 O ]
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。. ^, G3 p9 v; j! G
; I/ D! L' u3 u3 R/ j G
进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
; I& i7 F8 `5 i8 k- l q" L注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。; B$ V; c/ C/ V3 ~6 ~3 p- f# t6 n
死一战机后,程序停止,来到这里;
" j! ~. S* l d9 D9 N- h# n' g3 x8 _+ n+ b" p9 J0 G- \9 A
06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)6 Z* f% T8 S) W u
这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。
; ` q* y* W$ H' P# S- i③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)1 Y- e0 I- Y& N& R
载入Rom,开始做第一步,同①。& o9 N1 C2 m. p. C: K
接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0
9 c; G# j; Z1 c* J/ P! i# q: k按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。7 a$ V! z I6 q7 f* E4 X
! A6 I" s+ f# C看右边,记下536A 0010 4A6A 0010
0 K6 ~4 I8 G8 `' f$ e. p- t# u# B6 b x& H
WinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。' |7 T* l D5 D4 N% B- m2 }+ G7 D$ G
c8 n2 L% m7 V& H; m$ MSubq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。
3 B5 c! A6 B/ q( u( }$ c |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|