|
|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,
0 w+ S; b$ t4 T1 d( o4 s& _0 L* J) \) [( }! b" L: l# ?4 J
有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,
$ \- z5 T, B# ]! i有什么错误及不足请多提出。
+ Y, F c/ k, t3 q P" t% i3 m! w' p% _$ c% i( S- s5 z6 ^, O8 t
需要工具:HexCmp[Ultra Edit]# z7 |, t @! x/ |) u
PSX v1.13(Ps 调试器)
- [, Q0 \9 g( \0 r VEmuCheat& P- y$ L9 t9 S( g- P
MIPS汇编指令。
/ V4 e& [0 {* `3 a& [4 w0 c6 i5 h9 k1 ~# k' a4 T. M
洛克人X5 EC:; A- q" y' e* w% i2 {2 f
人数:0d311d,2.4 }5 v$ z( K3 {1 }( _) ~
+ x0 w7 z4 ?0 G" A! g2 r+ H步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。
# U& d2 t% M/ R: q% s- F
, p: t L( e9 w* P* g$ t步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。1 T" U) |7 D1 r$ v* D
会出现调试器界面。( S" a% H' E# Y0 f5 \: E R
其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的) i7 r" b0 n7 k1 ]. z) Y
界面(Disassembly)。
7 d1 Y R& t# n: R右击Breakpoints的空白地,出现了添加命令的方框,点Add。
6 I6 }# U3 t$ R4 n% q( c. c* U, }+ P% T5 Z+ w" ~
3 Q7 m" H y1 B5 E" _8 E然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。' h5 |) f9 A, t7 F7 r
然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。
7 g" ~: r: @" g3 C2 }0 w3 ]+ a; V8 F6 g9 v: s5 e4 `
按F9,运行游戏。: h" f+ B7 F$ |$ L( x* ~" H$ R
死一条人后,来到了这里,看Disassembly。2 x7 I3 c1 U3 V) j
$ w: `& G2 F; I2 `2 r0 }
7 t# X' w0 ]' }/ ?# d' h
步骤3:断到了00021cc8:sll>r2,r2,0x18 00021600
0 m; E8 o# C# t( f上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对9 E' ]: H0 a+ k& }! @( W6 \
}) c2 ]2 [0 G9 H这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。5 @7 b5 s: V G7 N, ?& g6 O
$ y$ B: ~ T" O$ G步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分)1 E6 }4 \9 U; o8 Q( i! f
; o" S- w' b8 ^9 }" S+ v搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)
) k# i3 v7 `0 L$ h
- I( _: E- i* u7 l3 {& h) ? c到了这里,201afdcc.
1 p4 V9 y2 D7 J$ i3 v8 u
* Q0 h$ @' d m, ~" N# \( q5 k0 E0 d6 D8 c8 ?' P
将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就
; c% _, I: O# u+ O3 `# i( N; `1 U达到了不减命的目的。
$ R' @& @3 l0 u- ^7 F4 ~1 I# t* i; N8 l0 ?- ` J" X
到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。. @: B6 s: x$ P) E0 U
) \6 g9 G9 s+ ~) g% V) o3 K说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。6 E8 `1 \$ x ^3 I( b" `. H
另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。
9 l v+ W- c3 u8 ^. [3 ?
; y5 x5 k" N5 P2 U; T注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制
/ X% f, {$ v( ?& j
' d& }8 ^1 _0 M8 m过去)。另PS游戏较大,改之前最好先做好备份。
6 {$ R2 U; o' I5 c1 j将改过的IPS补丁也放上来。:loveliness: 9 P- ]6 A2 A$ a1 j: w6 T: |. e4 c
+ R8 @9 R! }3 R" l/ o$ p1 m6 T[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|