|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑 ' l4 I' S3 d; P& r8 d
3 r* {" k9 y; c4 _" Y4 V街机游戏修改流程. S: Q6 S- r0 \7 [( z0 C
最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!* F, J) j1 {7 {
下来就将我修改的流程放上来,大家可以共同研究。5 H- }" @6 L0 `! k' I
工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).
6 U, y9 X3 a7 P. F工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。; V* F$ J ~# j( A" o, Q% l
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
, G9 n9 A" p% y/ d. C6 kCheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)9 }+ U3 `: e% _
9 y7 e4 {" T) H4 F: V- E
游戏:战国世纪(Samurai Aces)。, T! B) s; O/ X! S. N+ @0 O( _
修改目的:1P战机数不减。
8 {" _0 G8 h4 J- l2 t% P流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:
& G% ^" i5 Q$ s8 d8 k7 Y2 n6 m. \5 G. s
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。/ _0 b7 W$ r o
+ O# }& X% |8 e0 u进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05 8 Z0 l' Z t9 |$ y& }9 T
注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。5 Z1 v- o1 F! ~5 F
死一战机后,程序停止,来到这里;
' [5 W) z/ X, j! q
# R. c0 c" z2 S/ x L2 O0 Q# e06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)
- O n# h7 Z, A1 x) x+ l这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。
% Y0 S( y4 _5 U" P' x0 `③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)
, J' n9 W8 }$ P) a; L: A" F y% D载入Rom,开始做第一步,同①。: |3 x( c! l% H+ S9 A
接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0
: I' a/ z, [2 r3 w6 \! S按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
/ i$ J1 e( d& a+ e. B, h6 S! o* C" K s
看右边,记下536A 0010 4A6A 0010
4 q9 q5 \& O7 l) ?( \0 V, t
# t! D1 A* ]) k1 I& OWinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。# n- e8 z( v1 M$ U1 z4 L: _
2 W# |) h$ C1 T/ p; H/ c) XSubq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。
" u; n4 I; B8 C1 V |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|