|
沙罗曼蛇是我人生第一个接触的游戏,直到现在还是回味无穷:lol :lol :lol
( h8 |- w0 U" Q+ p( ?3 s: |因为水平太差所以以前的FC就非常迷无限防护这个版本,/ p; r: y: o8 D3 C/ h5 ^+ V$ ~
几年前开始搞FC模拟的时候也想找这个HACK版本,但苦于找不到完美的,:Q :Q :Q :Q ,还好在PC的模拟器中有金手指:L 让我无敌了
, j0 G) c# C6 I% K9 m这几天晚上没事又把PSP拿在手上时又想玩这游戏,不知道是因为我PSP上模拟器版本差还是怎么的,总是找不到金手指设置的地方,
- N5 ^! }) U3 O) [今天特意到BAIDU寻觅这一HACK版本,但结果真的让人很是内牛满面,所谓的无敌就是死了立马复活,真是太伤感情,太伤原著本意了:'( :'( 4 u( @7 q d: l! X
3 J ?- y ]9 V/ n# O
还好在寻觅的过程中找到了这里Emu618.com找到了另一条出路,自己动手做HACK ROM:victory: :victory: :victory:
9 K G/ c6 v' D1 k. c6 E; r' O1 n D; g' \4 \
根据论坛上的说明,下载VirtuaNES调度器开始动手做(我自己只有一个模拟器,没带调试功能),下载了《6502编程大奥秘》做为NES指令速查(第一次做这个东西):L
6 _/ s( @0 \: ]; R# u5 Q
$ q3 E. F1 L9 t简单用文字说一下处理过程,其实就是大家有需要可以照着论坛上的方法做就行了,# X% H' t q: Z
; `9 ?2 g: w: l0 ], \& O
6 d) K3 O3 x2 U' ^9 @
1.先用模拟器的金手指功能查找相应变量的地址
8 z( i. I; D. B2.进入调试器,设置地址断点, l6 p! I$ f! _1 ^
3.根据断点代码分析是否需要跟入" ^- D0 j# |4 y( a s1 B$ [" r
4.分析跟入后的过程,来确定新代码注入位置,在这个LifeForce中我选择了一整个过程(函数)实际地址为0xC6CC左右的位置,文件位置是0x0001C451的地方(我自己也不确定是不是,但能确定的是他是一个外部调用的结果),通过跟踪可以知道这是一个重后初始过程,所以只需要在这个过程后加上我们自己需要设置的值就能达到目地了,
7 ~+ N+ O, s" ]/ J' @2 V5.选择ROM中大块预留地,(FF字节块,要大段的,因为要插入代码)在LifeForce中我选择的是最后的一个预留地,
+ x: H2 G/ V% A+ M6.将原过程代码抄至选择的预留地中,这里要注意不要包括最后一个RET(60)指令,不然你在后面补的东西就无效了(每个ROM的调用方法不一样,在LiefForce中他是用RET做返回,有些也可能是直接用JMP跳转,还是要根据跟踪结果来处理)
8 K* f+ E$ V8 y- W7.将自己的新代码插入抄来的代码后面,这里注意要做RET或JMP的处理,RET是最方便的,JMP要记下原来跳转后的地址这是很关键的。5 H& }1 A* t$ k
8.保存,就这样这个LifeForce完成了
, L+ V8 v( @8 h7 h, N8 `0 y6 S( n% }* X$ E7 [
( n$ v4 |8 n, h) P0 ]* o不敢独享,把东西全放上来,为人民服务:loveliness: :loveliness: :loveliness: 2 q4 s' J9 i. G6 n
. s5 ?1 P) d, Q0 R% U
PS:这个Rom是我第一个也是最后一个Hack的,希望大家别扔太多砖头给我,怕痛的:victory: :victory: :victory: :victory: ) j3 Q% q0 a9 R& v: \' t% U
顺便放个我珍藏多年的HEX编辑器上来,看到论坛上基本都是用UE,但个人觉得HEX要比UE方便高效,毕竟是针对性的工具
6 S: ]+ t6 g. A7 o6 F0 [LifeForce' v- q% L9 d, i
3 ]$ m1 {2 V& N* Y2 Y# w
无限防护,一出生就有
" D. `( L* e4 C1 K
- N f$ q: d2 R无限生命,死不完的,锁死99了
# a3 f, _+ h. Z9 ^9 M4 r6 T - F8 h, X7 G5 S6 M P1 Q7 p
, @% Z# f% [- ~[ 本帖最后由 晒屁屁 于 2009-10-30 18:33 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
评分
-
1
查看全部评分
-
|