|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
; M$ ~ W! ~: b& [5 f6 c" }$ i' v! ^( m5 ?
街机游戏修改流程# b! L ?0 J8 r! r4 G. Y" V% G
最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!1 M' ~5 U0 _- ^4 F: b
下来就将我修改的流程放上来,大家可以共同研究。
5 T1 p& H, A$ V1 M工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).
6 k- F0 O, B) O) z4 J' W工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。
( \$ [" @6 i5 A, GFBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
: \6 X/ G, ^: V+ D9 n4 ACheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)
+ v' P( T' g7 y* U2 x' Y% k2 Z0 l7 P T
游戏:战国世纪(Samurai Aces)。8 k/ i3 L5 c4 w* ]( P) R: B
修改目的:1P战机数不减。
1 h$ L6 H% L' \2 |! T& K流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:
, j) z+ s# A" v
0 E5 q$ b2 }! H2 a8 I$ G# p②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。
1 t) u! `8 G' c9 T2 R `2 k; E2 q
: j) G$ _ J5 N; r2 I" N进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
0 y* W Z) Z) l2 ^注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。" W2 }$ d: h5 D6 B3 _
死一战机后,程序停止,来到这里;4 N* O* v T; U9 A A5 ?
4 C) M h8 g4 j( g! t06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)1 z3 A9 u( }4 ]. u4 b' E, ~4 B
这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。0 b! G: g5 x1 y. Y- ]7 { R6 a
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)( x& G8 b$ B9 m% F
载入Rom,开始做第一步,同①。
: c, f* a+ i# w接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0; ?6 |; S3 l' B& q) j; `' {$ B0 C
按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
, ~; g) M% f# |. i* E2 {$ q' ~ \( a
看右边,记下536A 0010 4A6A 0010 1 T2 u7 a+ F. o3 @! m" F
5 t" V/ `! Z. U" \3 a5 g
WinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。
: q( G3 X) d# [& g& k+ Q5 }, p6 p' }- Z. [3 L0 w6 P1 M& u# D
Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。
5 @7 V$ v& R' N+ M7 ~) x# E |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|