|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑 2 s+ l2 n1 }9 r" G6 @4 l, s. }, c' d
; O! |" M) Y3 W+ f2 H街机游戏修改流程
; ]& r; g# d1 p @$ o1 b. j5 r3 w最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!* S6 I" `) U8 c' I. ]2 O
下来就将我修改的流程放上来,大家可以共同研究。
- ]& Z1 E$ w; C( @! l" K工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).& ^+ X7 j8 j- z a. k
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。8 r, s5 K, e5 Y" A f3 s' [
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
% }( `7 o. p# b5 _1 ECheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)
7 b6 q3 k( O' S3 Z; \. B' ~/ g6 z4 G! w$ {+ n
游戏:战国世纪(Samurai Aces)。
0 v: [4 W+ I7 l" d1 l修改目的:1P战机数不减。$ g8 I* }3 ]; e
流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:& ]7 U2 l2 w( D
) Y, H: d9 X: @& |②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。) v5 W6 W8 n7 x( V: k: j0 X& D" B+ b1 _
$ m, d' X" `7 R2 ~# z( h
进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
% w+ K/ b0 P! `5 C. H1 R注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。# I9 A" P( S" ]" ^1 K
死一战机后,程序停止,来到这里;6 f* F* @9 ] Q/ _; b
7 C, L! g) Y: ]
06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)
" R2 n+ I g# y% h这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。, e. y3 a3 q( q4 b8 b
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便), v0 o& I+ \ H: d+ ?8 g
载入Rom,开始做第一步,同①。
1 I( m7 \" G- Q( }! X6 h2 R: v接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE03 g$ v6 Q! g& {! A4 A
按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
8 K" _7 d" h$ Y% V6 b( O9 w7 n. _. A2 W( ^
看右边,记下536A 0010 4A6A 0010 3 f' `9 z4 q7 s M2 ]9 H( ?
$ o; g& ~; _0 L5 f& y. z1 `5 Z4 a
WinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。! Y9 j5 B& I1 j1 Y
4 M5 l/ ~, a. f( Y4 `( J) m. JSubq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。% h$ C+ M# p& w5 r# z: J: P
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|