|
|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,
: a7 d- G3 Q( ?$ W6 k5 e
e- Z/ Y7 O: J, e有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,
7 K' {4 {) e4 @+ h/ R有什么错误及不足请多提出。
5 F) k3 u& j! O+ n7 [: ^ Q5 f7 {# R1 }" e
需要工具:HexCmp[Ultra Edit]. X! n) x3 Z/ j" E0 J5 j
PSX v1.13(Ps 调试器)$ n* Z% ]+ y7 l1 h) N6 p3 ^" H
EmuCheat
: M% P2 K' l+ a5 ]MIPS汇编指令。$ E+ Z4 e% ]1 V3 T2 r
/ b& A7 y; }2 y8 P# U. T9 h
洛克人X5 EC:
3 Q# |' X* Q% J人数:0d311d,2.
5 c( ?% ~ U" |! h B5 x# ~8 I$ A( c& `% U4 D9 R8 h0 b" A
步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。
" P% T$ i& T g3 Z# Z% X9 m2 Y0 z' I* p0 }
步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。
, a0 k; j* b: ?! O会出现调试器界面。
& m8 d# X: O1 I( d' b" k其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的( o- H* o" J: T, P3 |3 j. E
界面(Disassembly)。) ]0 Y( x3 a0 A
右击Breakpoints的空白地,出现了添加命令的方框,点Add。
5 V6 f( A9 M4 J* X4 P9 \# Q. B$ y) W7 o* r9 s# ^
$ |9 H+ I! F; |5 g3 p然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。
" @0 I; N6 ~7 @5 R) A然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。
0 C1 }. p/ ^, t- M
. H7 ]& D/ a, D8 r6 i2 J按F9,运行游戏。/ p9 M* w# \1 R7 ~* S- p3 H
死一条人后,来到了这里,看Disassembly。9 M: z, X% O! a9 v+ V; y
) N ?, }4 S" ^/ T6 q* Q7 [0 _
. b/ f3 f3 G6 x) N步骤3:断到了00021cc8:sll>r2,r2,0x18 00021600# E6 n; ]+ X* n, I4 k
上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对1 |4 I8 b/ ^2 b$ a2 P5 H6 u
% p2 L8 ~+ ^$ N+ `) z这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。
) b) n2 J' x" K8 B0 z# r6 t7 F/ O/ g8 d
步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分)( k6 ^9 p n9 S
9 t. i4 f! E5 w9 Q; b搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)
C/ d2 a- l4 | \$ c% I+ K& R+ _+ h
& h3 h6 K. r6 z- C3 X% R6 m6 G到了这里,201afdcc.
, `5 Z( C. g1 S: t1 F y& Z: t G1 F! V% C& s3 V% ?3 l5 f& P
3 s3 `% ?3 d7 \$ N* r5 f将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就
: i- M8 x8 f" u, g. `达到了不减命的目的。
7 n2 ]- D: i0 H, x. |& X
$ I% J# o7 |& h U, Q( N到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。
N- {8 {, c4 b9 b0 y
7 E3 `' c) c5 p W9 h说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。
$ c- H& s' B7 N6 Z另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。
2 ]4 D9 }9 c( B* J9 m O: t8 B8 j @: _. g( O0 n8 A& H" Y/ r8 Z
注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制" [, `; M6 ^' Y/ V& @5 U( L6 k
8 X3 e2 C* w u过去)。另PS游戏较大,改之前最好先做好备份。% i" h0 Q* x' t9 f- k
将改过的IPS补丁也放上来。:loveliness: + C5 u" ]) \* J) D3 C
: a4 X6 K4 p+ Y1 R+ M6 Q& G5 o/ }
[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|