|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑
) z: h. z8 `* Y) h8 x, S8 b& j
4 w+ f+ K5 q ^# ^街机游戏修改流程
z$ v* j* G9 p- m- Z最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!. w3 j$ B% I4 J+ L9 d1 S
下来就将我修改的流程放上来,大家可以共同研究。
$ h7 d* E+ m: X& e工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).1 D; h/ U1 {2 ~7 N
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。& `6 G7 F/ k v9 }- R$ L, W
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
' l& K0 Y @( H# ?Cheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢)
; r$ q& @4 w) J
. p* n3 M& E* y游戏:战国世纪(Samurai Aces)。
a5 V* x+ M9 I4 `' R修改目的:1P战机数不减。0 O, F( u: p6 o0 w
流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:' S1 k, K% D% D8 v0 Q
8 W. f+ u; O: U* Z
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。9 u K# }" L# _) F4 v9 _) h
& |5 Z' Y4 g: ^! D. w进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05
; ?0 m' d0 W5 G注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。$ n0 u: x7 Q y" X
死一战机后,程序停止,来到这里;
+ P5 o; ] N' A$ @. ]2 C. E
8 o* ^$ q0 g- A06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)( Q7 d3 f% ~- u- U
这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。* e- o. s5 o5 S3 C* K0 l
③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)
k8 s) K" B) c2 o7 Y* y4 u载入Rom,开始做第一步,同①。0 i" q4 r9 x, n1 e7 O% Q8 B
接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0
: z4 f2 x z: @6 A按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。: A" ?8 M, Z4 M1 i( p+ P) A3 v
1 J1 L+ r& I" L0 }# `: e+ Z看右边,记下536A 0010 4A6A 0010
$ _* R# h# F# J9 d/ O' Z$ o J$ ^" T7 |" j# W5 `# u8 v! D
WinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。3 n) r, s% l I
; z7 H6 d9 j3 H1 M# y. I. l
Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。
+ g8 F' ~% J+ D, h( b8 t$ x |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|