|
|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,' F+ w+ `+ r7 h% O( A3 q
/ q/ U Y! f0 |
有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,8 B% I$ j- _+ z3 }* r4 x
有什么错误及不足请多提出。8 b$ N+ o7 q& _ P c m" v
+ H, I/ M/ z0 ?5 b8 e- ]
需要工具:HexCmp[Ultra Edit]$ W; t: N6 ~ _6 x9 C/ u% t. f1 u
PSX v1.13(Ps 调试器)
! ~# K+ i( }0 @& OEmuCheat
# w ]4 b5 O3 ?7 y; g% @! uMIPS汇编指令。
* {% ^* B) F& l+ s' l8 |* c2 g- a4 k! z- h- s
洛克人X5 EC:/ h& @9 ]6 V% j0 `% E/ o
人数:0d311d,2.3 h+ z, G2 E& U( y9 g6 U6 {
' u. e& `" c7 |& ? k3 R0 t% J r+ o步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。
+ h) E% }) p9 i1 K& v6 n' e$ M! G1 O: C6 `; }3 B; J
步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。8 p2 q, `8 z# B% W' S
会出现调试器界面。' |( c7 B. p( S5 m' e4 e) y$ D8 ?
其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的$ v- i: g$ F' @' B2 Z
界面(Disassembly)。
, T) r% m/ J: {0 U/ ?右击Breakpoints的空白地,出现了添加命令的方框,点Add。# R; N1 `7 B. K; F/ ?
/ n1 d* E5 f! z
2 ?( E* V; J6 S n然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。5 T% x6 r. U" P) s
然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。" S" k5 P# X9 {" i
/ l# |3 V' O( S% h3 k' n, f按F9,运行游戏。
+ O6 k- `% {: Q# g* v; I9 n死一条人后,来到了这里,看Disassembly。3 J# T3 |- T3 M2 }; _) h. ?
* v6 j: q* s) I
) G0 n' j% I8 M, ~' ]: B' e步骤3:断到了00021cc8:sll>r2,r2,0x18 000216009 h- o0 R# T. z$ M! P: e8 ?, _
上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对
8 Z. H B6 q, ~( h* M* e
+ e/ }8 O; a7 ~这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。
* Z' s5 j. c- |2 Y5 ^; t6 w) V5 B- S. h
步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分)
3 F/ P/ k' x0 i8 ] W' a7 S. l- a5 o" n3 M
搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)# h& o \7 T2 Y: Q. a1 X- H
4 t" O8 N5 v& S$ T$ ^
到了这里,201afdcc.
. Y5 k; m9 D& \* b$ o, S
Z/ ^: s+ v5 [, o Q0 c! m. h( g. B* Z3 Z" b
将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就
" c4 \$ L$ a( O) E3 M3 ^, ^达到了不减命的目的。8 r' H1 M8 B- ^& h9 _
6 r6 U6 w9 ^* Q- S4 k% i到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。
! K+ y3 _) B8 o$ E. o6 o/ T3 X2 I3 O0 m3 i
说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。
0 F8 ^ [8 ~$ F另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。* v. P1 D( n4 m x& I
" \8 [6 M& l$ }: o& Y t& y' C
注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制7 r* e- ^/ l+ b; b2 N2 q6 q8 m* N
# e. w) o( v* O过去)。另PS游戏较大,改之前最好先做好备份。* }" H* i7 X% R* s7 x# y+ Z; U4 o
将改过的IPS补丁也放上来。:loveliness:
' B( m4 v( U/ {/ ~( e
" N/ E" \5 J# t4 R% P& X[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
1
查看全部评分
-
|