|
应网友YZB的要求,因此写了此篇文章,我也是菜鸟一个,PS也就改了两三个游戏,只会改简单的XX不减,
& b0 h+ z' ?" a! C) U4 n9 a. N, P5 _0 b% J, u! U0 ]5 D$ z/ c9 Q* v
有些只是经验之谈,对于MIPS汇编指令也不清楚,而且不一定每次修改都有效。旨在和大家交流下学习经验,: \. b, W0 v" ^/ }- V- B
有什么错误及不足请多提出。 q J+ G- l& y) g4 g; X' N x6 N
3 C6 G' S0 a2 `/ J# l( X g需要工具:HexCmp[Ultra Edit]
; r) B; l! F7 I3 y7 c) I* LPSX v1.13(Ps 调试器) i* _- [7 }& ~" i8 z# X, I
EmuCheat$ F* l( |" z9 g& m3 j. e- U$ r$ o+ F
MIPS汇编指令。8 ?; _4 m3 ^ J; j& Q2 O7 i
& s& u! i* Y7 ~洛克人X5 EC:
5 F4 v# V5 G- K ^- U人数:0d311d,2.
4 ^; X) h, \) C: x
5 n7 ~8 n& Z* g步骤1:载入洛克人X5镜像文件。点击File,再点击Insert CD Image,选择游戏打开。- z2 f$ M5 P/ D2 D; J1 a) _0 C
" G) J1 `# w7 h! W/ M: `( I% r
步骤2:设置断点。运行游戏,等到洛克人X血值快为0时,暂停游戏,点击Debug-Monitor-r3000。
, v1 R4 B: p+ L# K0 K# H+ }会出现调试器界面。% K: s( x7 |" N0 a
其中有两个小的,一个是设置断点的界面(Breakpoints),另一个是观察指令的
( r, O' T: k& X$ a: D界面(Disassembly)。; @6 h5 Y, E; O9 W: _8 f, v( h: c& ^
右击Breakpoints的空白地,出现了添加命令的方框,点Add。; L, j4 M$ y" h5 `7 R
4 K6 [& Z1 I0 \$ Z% T( ?
9 P: h1 X5 n G( P! \然后在adress处写入命数地址。先点Memory,再将read前的对勾取消,再点OK。( m" p9 n6 p% T+ [5 Q
然后点Edit,会发现adress处变为:0x00000000,将其改为0x000d311d。点OK。$ ]: f( K9 b: @' [
8 g; `$ ^) Q6 I3 I按F9,运行游戏。
6 S2 W; ^# D6 T+ b; i" ?死一条人后,来到了这里,看Disassembly。' O+ v1 [4 E1 a0 `# l
2 o4 Q" I% s4 I" r; B/ |
- z& N- Z, S! Y9 Y
步骤3:断到了00021cc8:sll>r2,r2,0x18 00021600
, z; E' i7 u( |: Y上面的一条指令00021cc4:sb r2,0x0045(r6) 04410018.这个应该是减命的指令(自己猜测的,不过对5 V+ w4 c7 r# J
% g" b+ Y! H- _* r这个游戏是有效的,别的游戏一般也在断点附近,自己修改后测试)。
: Q7 y: E" f) U7 p6 e
S# M0 u c; M步骤4:用HexCmp打开镜像文件(直接打开IMG,ISO,BIN等都行,总之是最大的那个,游戏的主体部分)
6 e$ L9 H; H+ R% B% d l2 a: M7 j2 k4 v# b
搜索:ffff4224 4500C2a0 00160200 (将原来Disassembly里的数值倒着搜索)
2 [$ k+ N! @4 v' B5 \% t6 d1 K6 J6 b* U5 K
# b3 ^1 P3 U; C$ r到了这里,201afdcc.
* m( z0 L! t$ Z" r6 S/ B( k Y+ [* P1 i! ] J% Q( }
, ~0 C: Y3 g( P
将45 00 c2 a0的指令改为NOP(00 00 00 00)就行了,游戏运行后,死一条命,其指令却不执行,这就
e6 J5 h: C9 P, p3 \达到了不减命的目的。
1 P. N _" W8 M& }* X- o7 m
% k/ [' P6 Q4 u% c$ k. t. z) H到此,就结束了。从头运行游戏看看,洛克人X和ZERO果然不减命了。
* D+ s& @& R7 P! y( q: g: ?# e
说明一下,NOP并不是对所有游戏的修改都适用的,想真正的改好,还是得看看MIPS汇编指令。/ j) Y! T l* o* b) L4 Q
另外,本人也是菜鸟一个,MIPS也看不太懂。如果有什么跟汇编指令有关的问题,还请找高手来解决。
: a6 H0 L0 X) l8 t& ?; Z8 @
h! M& k/ P# p- j" |注意:请将SCPH1001.bin放进调试器的BIOS文件夹里,这样才能正常运行。(一般EPSxe中就有,可以复制
" Q' i/ t7 N6 \" \; U' r |8 B3 d+ ?7 Y2 h, k) h7 T
过去)。另PS游戏较大,改之前最好先做好备份。1 J! w. c1 D6 }8 }9 `" S$ E
将改过的IPS补丁也放上来。:loveliness:
+ Z8 G0 P! c# }; c8 w8 a/ |0 m$ j2 K ]( |( {/ i
[ 本帖最后由 HeavenTrain 于 2009-5-1 22:40 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|