|
|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,9 D4 Z9 |$ J5 O- z. ?% J
0 J0 ~! t+ x; ?1 I
有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,
% ~9 R9 i+ b# v) c8 E) Y2 R有什么错误及不足请多提出。0 H( _' d+ E2 ^1 |0 `) k
: w8 K2 h& _$ S9 D* m& [* w需要工具:HexCmp[Ultra Edit]# e/ }0 ]# [% u
PSX v1.13(Ps 调试器)
! f' Q& R5 [; B: T, kEmuCheat
- H, |: M8 D. r: s$ PMIPS汇编指令。9 {$ P0 u4 Y! h" O( ~
( _# G1 C1 O' N& H1 @% V5 T, c洛克人X5 EC:- r1 z3 p$ b/ [' I2 t
人数:0d311d,2./ t9 d, J, I0 T
9 g0 \; \% _) s' l" s步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。
) a: B3 z; A* Q2 C, _' R- m: E' H0 C+ ]3 D$ i
步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。
, C/ a. V: F( Y7 ^: n( V j会出现调试器界面。" |. V! _! p% Q2 o( h! \; F
其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的2 [. h- I/ U$ ]9 V( o
界面(Disassembly)。
# U& z0 q& ?4 [" Z, L2 i$ [; Q右击Breakpoints的空白地,出现了添加命令的方框,点Add。8 w1 _. Z$ F/ W! o( I, {- x
. ?- j$ O: M8 Y& _. o" D/ E. h& S) H
然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。+ V7 t' ~4 [2 L: L t4 R6 T: P
然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。
" [- u( ~5 T8 A- Z4 f' J8 Z- j
3 Z5 s, d5 y2 W7 t按F9,运行游戏。" g+ Z" p$ O# P/ a/ h' p" l
死一条人后,来到了这里,看Disassembly。
/ }9 u0 H: |. w" o; w: Y6 `6 r+ m+ l$ I* V% }5 m c. G9 z
2 U- z% ^+ d z* f+ b4 E* R' r+ c步骤3:断到了00021cc8:sll>r2,r2,0x18 00021600 c( W# Z5 O. w
上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对 J I5 k1 c V. _( P
9 e: e) d/ x5 {6 S! b* T8 w
这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。; @, o* R, X1 o
: p0 [ Q+ Y W' z& w* z0 N$ Q步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分)2 q5 T0 u: q! C" a: q a' l8 D \3 Q
: d9 p k7 r# ^+ M搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)
6 q1 }( F: ^8 s& t& e6 N) W& A/ D, i# {; e" L8 b0 l0 h$ n0 ~
到了这里,201afdcc.8 Q+ O# p% R/ [6 m& I- k
* m& A; j% Y2 m3 i- t
! d. ] _ z" H O" r7 n& A将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就
+ o+ M. G$ f+ \" p1 H2 `达到了不减命的目的。+ s: x ^ ~4 L8 q g$ H5 s- _# \
$ s O3 K3 X" W4 p$ {到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。
, t' ^' d4 W1 m) `) U) D, S
7 t' Q r [. s$ X9 @1 T& y3 G说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。 W/ e2 z9 E. v: D; j3 O4 s
另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。
: J/ o& F5 G! L" _1 W) u) r0 d- o
2 ?" C% Q1 h W1 s注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制) z8 X3 H3 R! c7 s' a& ~1 d+ ~+ k
) s0 }) k7 p( w, I
过去)。另PS游戏较大,改之前最好先做好备份。% v5 Y, b7 t) x' v! F; c
将改过的IPS补丁也放上来。:loveliness: $ k# K$ W- S) L" B& F' A' d
/ I( I) Z6 V! h6 C4 n
[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|