|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,
9 i( X4 _! G5 o; X1 U1 n G
4 Y" p" ^: n1 y0 g) v$ {7 W有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,4 P V3 h" H# f
有什么错误及不足请多提出。
0 W% b- C6 s/ a0 t: A k& t- T# G/ U" u; a8 x* [ `2 @
需要工具:HexCmp[Ultra Edit]; @, d ^0 s% _, O2 o
PSX v1.13(Ps 调试器)
: V2 L" }7 I" t- XEmuCheat7 @# x2 ^8 q+ Y! x! s9 ~5 h
MIPS汇编指令。
7 N* k9 \" {1 E& w2 Z
# ~% \. ^7 y4 f洛克人X5 EC:/ o S- }6 ~7 I- Z) x
人数:0d311d,2.6 k' o) g9 n7 l% ~$ x0 S
1 V( d. u; D$ Y
步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。
- b6 Z e9 D7 o0 g
& {- a+ C, P S$ y步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。
8 [% p @, M. r8 D& h. e% O会出现调试器界面。
6 p/ B' f% i& V: h其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的* {7 d2 d, t* U4 _! Z% T$ d
界面(Disassembly)。! a3 ~& ^- J: ?5 R. \6 G
右击Breakpoints的空白地,出现了添加命令的方框,点Add。
- B( H, h" P% g. ~* v* O: s* A7 `( y: f8 Q. _, k
0 n$ I9 D8 n- \! |$ f
然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。
4 \0 O( A9 B* r+ M然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。
* ]3 A/ i3 B7 \- j7 J+ i
- J6 t. C1 K( T) t. |, F按F9,运行游戏。: n6 x! A4 ^/ a
死一条人后,来到了这里,看Disassembly。
+ U Y3 g5 S9 I' D; j( R- d+ @7 k9 o1 p. {, C( B% J' b5 f
z+ P" j8 [5 Y
步骤3:断到了00021cc8:sll>r2,r2,0x18 00021600
% B' a+ @/ P3 R' q2 o+ R* l/ [ {# q上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对
8 h6 s, n8 E0 I, ~4 G3 e6 f, N3 f- W2 l
这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。5 I. s) m% f% ^" s/ T& b
; q7 P3 W; @) ?
步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分)- s7 R Y8 O2 I* L) N
. ]; l) a' i5 Q9 j& B4 h. n搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)
$ f; i: O2 a, m) d, r1 e) x
" L8 ^8 `( v7 Q9 i9 O到了这里,201afdcc.) n% `2 D8 a d
$ a4 }5 n E/ B/ N. v1 l# c. f# @, l
, Q. r; T; x& v! x' _7 ~, `9 h将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就# w- B4 @: `+ ^* F
达到了不减命的目的。8 L+ Q. L' D( \" s/ ^
8 w o/ k3 p* E0 \/ S; b1 N- n
到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。9 U' ?( _7 k3 D
" i2 d* U ^. V
说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。- m( Z% m8 j& j: s, ]: m7 L0 F! l
另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。
; H* b' v' v. c6 B, U
E! ~3 E( r1 x+ O9 ]: S0 [注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制
7 d% X! T7 e. f2 D9 t! v. o$ @ P- \# l
过去)。另PS游戏较大,改之前最好先做好备份。
; _, |2 E" U9 j6 I. s' J将改过的IPS补丁也放上来。:loveliness:
& m% M6 P/ N8 v4 d6 l; h @1 e- T
8 W8 M$ E" h( A2 B: `( L$ _$ J) Y[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|