|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,1 w. K# R% O7 w) P' I3 M
. R N0 V& A4 Z# R& c, p% l有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,, ~, M# D) K$ y% G! }
有什么错误及不足请多提出。 i( f, ], S' X8 ?4 i
1 G' \+ Z; B) p) _: Z( \- v需要工具:HexCmp[Ultra Edit]7 U- _; g5 l2 Y& D
PSX v1.13(Ps 调试器)
7 V; Z1 p0 g8 U$ v6 AEmuCheat; R3 K0 z C- K! N1 l! G G9 A
MIPS汇编指令。
) `' ]* N/ D9 M& P+ p9 \; j/ ~
# W5 B4 f1 R$ }3 q; G! z洛克人X5 EC:8 o& d6 x, H4 C! B
人数:0d311d,2.9 i8 o! s" g0 L# K- n
% f) s( h# R: H* Y7 n* t4 {
步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。& R9 e" I! ~- _2 `% l( T. V7 I
+ R, v6 J8 o6 |9 b5 l步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。
! ^: T& E, q' W' W+ b5 ?会出现调试器界面。
. g! X% b% i. Q其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的/ q d4 z5 S; p/ I5 n
界面(Disassembly)。
/ }9 z$ X) \# v+ D' }右击Breakpoints的空白地,出现了添加命令的方框,点Add。* \/ ^3 N e9 u& Q. g Q9 g* D
) r' H6 J6 c. ?# x
5 H( q- a6 `" G, ^然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。 t5 Q* ?, K* B! M2 R! ]8 h6 i
然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。
8 s( W7 f" b* s4 B8 b. G
4 F. T% p; e3 Q" `1 A按F9,运行游戏。8 X/ W9 D1 Y( \( k
死一条人后,来到了这里,看Disassembly。' P$ Y/ C0 @6 M$ v9 I' \
3 I7 _1 v' Y- `: W) l7 V) L. P5 c" b$ P' I) F% h
步骤3:断到了00021cc8:sll>r2,r2,0x18 00021600
. H$ U O0 l" G- y& Q1 O% Z上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对
7 o$ l6 m- M/ ~$ K. I
2 c; m2 I' y* b' q这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。
7 n! e7 g% m8 Z5 \9 m' \( I- N$ x6 E( m$ d
步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分), V+ `$ V8 P# I1 B' s( F
& t, j, ~% X* {% d搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)
8 ]# p0 t! s; D4 f( \: Y" `" Z2 u( R5 R- I- k7 Q7 Q: j
到了这里,201afdcc.$ }9 P* H% W- r3 U
- s- O+ C, E) S. e0 h$ r1 ]: Y3 b$ ?: E% ]/ M
将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就* l& y! w9 ^$ {$ W) v
达到了不减命的目的。
$ }4 m( `/ t) l
( f0 k% |9 E V' A3 X T# c0 T到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。
3 g& |) v+ s+ J3 o/ g* P+ Q# J( I' [! _
说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。" Y/ c& h" O) {5 ~
另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。
2 A* G, y4 f. ?, W: f. x9 g$ M" _3 s# b0 o( Z$ j& h0 r$ e
注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制
# y/ ^6 ?9 ?, T) S {# c" H9 Q# s ~
过去)。另PS游戏较大,改之前最好先做好备份。
; s5 a" \3 j' v8 ~) D6 }, T" A将改过的IPS补丁也放上来。:loveliness: 3 k6 a; w; _) t* L( Q, r
1 u4 o, t5 o3 j* q0 h7 Z0 E[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|