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