|
|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
- _! M2 C1 B8 J1 ?/ q2 p- ~. V& z
1 I! M1 E' G) l7 A: O街机游戏修改流程
2 F- l7 S7 K8 O( ?最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!8 w! r) w, b. K4 f+ z4 o
下来就将我修改的流程放上来,大家可以共同研究。- d8 Q2 I6 @6 ]7 O8 Y# b S3 g: |- a
工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).9 N, y# S, w8 Y
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。# ]) h3 z& i7 ^8 Q5 d% @
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
& h4 ~7 G9 L5 g) m6 g! XCheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)8 F. P! @9 P' P
, n. ^% x# I% t. r2 K9 M3 M
游戏:战国世纪(Samurai Aces)。: g* j# ^1 r W$ h% ?
修改目的:1P战机数不减。
3 F& T% r' T F流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:; A- c, ~( G5 x6 p5 H
- h2 D2 k" L ]1 Q0 u. W8 |②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。2 ~ o R+ ^, O# l6 E1 P0 @
, P( S- W0 V' j" |7 F1 j, q进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05 9 x" B- v- M6 w( ]5 ~8 g ]) X" \5 C
注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。
" H" T% O/ Y' ^* i3 }4 S, n1 M死一战机后,程序停止,来到这里;4 ~8 F( b6 e6 a6 d1 @
( V# m# z ]8 |' X06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2): g* O2 I1 i$ `7 J5 F( W
这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。$ w) n3 m- I3 V
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)
" d* t- ^! \3 B" u载入Rom,开始做第一步,同①。
( a/ l/ r, P9 p) N. E* [- m接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE06 C3 u' T/ _. m/ q
按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。; B, `) h. o0 G5 S0 \
# d5 |+ U' U+ a2 V6 C; q# o$ l
看右边,记下536A 0010 4A6A 0010
2 c5 r# @/ d4 G+ c# c
% Z( o1 Q9 s0 g, `9 nWinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。
( n z" h6 F( ?, F; ]
8 X7 U7 d: h; MSubq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。
) J$ e" j/ N/ E$ l |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|