|
本帖最后由 克罗诺亚 于 2010-11-17 23:05 编辑 ' u: c. F' c( L1 G5 O
* S0 q! e5 ?% i) q: t7 y1 S2 |9 u
街机游戏修改流程
- m2 v: T+ X# a. A# ?" [最近闷得慌,没事研究起街机游戏,有点成效,也有好些问题。希望了解的人给予帮助与解答,十分感谢!
5 J) w5 t% B: h% d2 H) z3 R下来就将我修改的流程放上来,大家可以共同研究。
; {/ r( {" B2 L F' n$ |工具:WinHex(16进制编辑器),cheat.zip;FBA Debugger,Mame Debugger(可以不用,但是个人喜欢).3 k7 ~( s# t+ |4 V8 w( S: ]9 s
工具置顶帖里都有收集,http://forum.emu618.com/thread-20393-1-1.html。+ E! ?; C& S, R% A! B" e% H' p
FBA Debugger下载与使用说明By 疾风之狼http://forum.emu618.com/thread-95692-1-1.html。
M; _9 {. F7 a+ OCheat.zip:就是Mame的作弊文件,可以解压出来,直接找到要作弊的代码。(FBA支持作弊码查找,不过有现成的,何乐而不为呢). c8 x9 |1 [/ ~
! l; A w- ]. O! j2 n; l游戏:战国世纪(Samurai Aces)。
% E4 {8 E1 y% H" W1 U' z G修改目的:1P战机数不减。0 U* l( ?+ s |8 B9 U. u% T
流程 ①:找到cheat文件夹下的:samuraia.xml,找到作弊码无限生命:FE1B05=06。如图:1 }, c* |7 m* u8 C; X& {
, l# s* y; s" t: B9 P |
②:打开FBA Debugger,载入Samurai Aces。先查看游戏信息,点击Game—View Game info-Rom info,可以看到哪些文件是主程序,哪些是图形和声音数据。 S( O, s; C: a( { @
/ c& f- ^8 x( g6 K进入游戏,准备好自杀的时候。点击MISC,再点击Invoke Debugger,弹出FBA Debugger界面。在底下的框中,写断点:sb w 1 FE1B05 0 S8 P! i$ q8 b9 e; F# n5 l8 Y
注意空格。点击Execute,断点就被写入了。接下来,点击go,继续游戏。
6 o0 w; ?0 u, S$ T死一战机后,程序停止,来到这里;- B! |" N: l6 F
}7 W8 ^) @) ^6 ^1 ?4 s; a06CEE0 tst.w ($10,A2);往上看一行,06CEDC Subq.w #1, ($10,A2)
+ c8 P' j5 t. t这句语句的意思在明显不过了,就是使战机数地址的内容减去1,改掉这句,战机数就不减了(PS:这个游戏是68EC202汇编,自己看代码意会的,错了高手不要笑我)。
. d3 }$ l9 D: @- |1 q③:打开Mame Debugger。(用FBA Debugger也可以,不过感觉字体小,而且不很方便)# z0 V2 m. Z6 t- H
载入Rom,开始做第一步,同①。
( \# K9 }9 j2 M% ^+ R接下来,设置断点,这个断点和先前那个不一样,是PC断点(不知道说法对不对)。在底下的空白处,写:bp 06CEE0' h) `/ F0 {/ N! ~
按Enter键写入断点;F5继续游戏,等到死一架战机时,停到这里:06CEE0,就是设置的断点地址。
d7 b. g: {# H# _% r/ _$ L0 q4 C4 e8 l) R9 Z, N
看右边,记下536A 0010 4A6A 0010 0 c; n. G! [( E
+ p+ p6 p7 Z+ x6 J U; n/ e# MWinHex打开bin文件,在第②步中,一共有三个bin文件是主程序,查找6A53 6A4A,一个一个文件查,在4—u127中找到6A53 6A4A,找到后,将6A53改为6A4A。& \3 N+ x% e$ _$ w
' L7 G5 z/ L/ K4 t% ?Subq.w #1, ($10,A2)改为了tst.w ($10,A2),不减1,直接送入战机地址,然后将4-u127替换原来的文件,压缩好后,进入游戏测试,果然命数不减了。 h! t+ d" A: d/ Q0 u
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
2
查看全部评分
-
|