|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
$ o/ e& B& ^8 q5 s: _' c: I; i2 d' ^0 {, ~. r' U
街机游戏修改流程# i- R1 F8 Y" ?6 c& z k
最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!+ b; Q9 u4 j' \6 H: M
下来就将我修改的流程放上来,大家可以共同研究。
# ]' c4 `' o+ Q( b工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).7 R( O' B l' [8 d( T- S
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。& G, [) t3 `$ A- t
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。3 F( F( Z0 ]- J, Q
Cheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)/ w7 H. }: C; Z, @. E1 Y/ M0 S1 u
' M- E& R' P5 S4 n游戏:战国世纪(Samurai Aces)。
0 z* q2 C x6 |) h) ?修改目的:1P战机数不减。5 C! _. X6 r# m
流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:
& n- Q& Z7 {* x- V ^3 L1 u1 P/ G. _; M m7 d
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。2 F0 g: t/ \0 L# Y' X- ~1 ^% _
6 s* O! z H. D+ j
进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05 9 { d' }4 j$ X% K8 Z
注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。
+ e3 q8 G. K% E死一战机后,程序停止,来到这里;8 E- S" p9 |8 i+ p: s$ t4 J6 C
1 ?% k9 A$ b" D; g
06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)
$ {2 z; _7 v- T, _% w这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。3 v7 m5 Z8 L v& y+ P, A
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)
# ?8 U) w4 m, h载入Rom,开始做第一步,同①。9 Q% z0 [1 Q+ B( p5 P0 E" n* ]" D
接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0
1 z, V9 u7 x2 X& p按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
8 Z0 P* J! N* T* p; [$ a' @* F
W) y/ e; K8 I4 X; A7 k看右边,记下536A 0010 4A6A 0010
2 W1 X7 d( Q) C' p
+ T: n; Q% i! r& IWinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。/ h* |; Z; F4 o" ]9 U
- d, m3 s: w4 Y; a2 _( E2 WSubq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。
$ i/ Y( i$ k. E2 e |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|