|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,* x) {, R q+ ]
/ r$ L$ J( ~ t# n
有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,, ]: ?6 }) [9 Q6 d
有什么错误及不足请多提出。" E# [/ S7 e( x# B+ |4 y% y( o
/ q4 x7 D1 G. H1 ~+ Z' u' ]
需要工具:HexCmp[Ultra Edit]
" f: [' w: R" |7 r# B3 APSX v1.13(Ps 调试器)* K2 C' ^# `7 M. w
EmuCheat
: K3 t6 _- F7 k2 V4 g" nMIPS汇编指令。
3 m. J! h0 M) s9 J4 \
$ q) V/ f# }& t5 b; @洛克人X5 EC:2 u. c9 \" l$ @/ a4 M o$ e. h
人数:0d311d,2.
" }7 F S8 q) Y8 p7 C o8 m% I2 q |$ l! W8 N
步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。
0 C7 `6 G1 W8 [. O& D$ E
3 ^1 g# m7 {9 h5 o Y步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。( w9 t! ]. g- p& X: z
会出现调试器界面。, F" o) W; w$ S. ]3 a% J, j' i
其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的
" H- t X1 k5 u' f% s界面(Disassembly)。& B" q9 t" P0 r1 I- g8 ?
右击Breakpoints的空白地,出现了添加命令的方框,点Add。
; D7 |6 F; l, }9 j, }' g& h3 c/ i8 W# |+ c, J5 j- o) s/ y
, ] t' D0 W) S4 j2 g- A
然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。. l J, S' W- Q8 \8 j
然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。
! t+ W* G' ^6 y- @# n. v$ O. t0 {$ z+ Y' \5 J! J$ `! G
按F9,运行游戏。
; R9 ?' t; y3 [) H死一条人后,来到了这里,看Disassembly。! i$ Z0 H' Q% H9 B' ~6 {
4 Q0 h- M9 e0 ~* F9 Z
; R. T* Y2 L/ W6 U! r
步骤3:断到了00021cc8:sll>r2,r2,0x18 00021600/ g( a8 c' r2 c( T" g
上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对
$ o+ | X n( G* V
1 Y6 ^! `* ?$ Z( h* j这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。
7 D! u3 T) ~7 n' [) l
\7 ]9 [/ K1 g9 }& ^步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分)- t/ H8 I6 m( S7 X4 \) Q6 F5 q
; H5 h/ ]7 u1 p4 o6 K搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)
8 N! T& y! ^: A. \# m
5 g& |# N$ W) R* s; ?; U到了这里,201afdcc.
5 R* P+ Q: \4 @8 v
. S3 ?$ U0 j1 ^8 s, i/ P
" R6 b- l0 g/ i# Z将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就
8 a+ L1 ]' @$ h4 u达到了不减命的目的。
6 V( p# u7 j4 _1 N( p4 i
' A. T9 F8 ?: u+ x到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。: _( T' c% h" D' z% G- F9 f
6 w. F% N, s: a4 J3 y/ ^7 v说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。: x1 E( v' c3 n- ~" e7 t" Y
另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。
0 l: {8 t8 V" ?4 ~5 |. u
( m/ t. V' _$ @2 W* t' V注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制2 F/ y0 g6 p, b4 W8 ]2 N- |/ w
. X* t* n% h% Z, h
过去)。另PS游戏较大,改之前最好先做好备份。7 }" w' G5 s* b; U0 z$ B
将改过的IPS补丁也放上来。:loveliness: 5 W7 ?, }3 o# y9 T- |
: b; C. ]: D H% _2 L! D5 z. m# D[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|