设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 718|回复: 10

[求助] 請教自行修改遊戲檔一些疑問

[复制链接]

签到天数: 204 天

[LV.7]常住居民III

发表于 2014-7-22 20:31:21 | 显示全部楼层 |阅读模式
本帖最后由 fanco238 于 2015-1-31 17:10 编辑
1 X4 P( B3 E7 P9 u( Y( f2 v9 _
6 h6 |4 Y+ c, E, r在此先感謝 管理員 疾風之狼 以下帖子的分享
( A1 k) B! u+ I& ?5 U9 H2 y7 E* U) uhttp://www.emu618.org/thread-21186-1-1.html  n& A+ o1 ~+ a$ }; U9 ?# C

& S4 f- I* ^. o* ~1 Q9 h: k3 t  |- H我按著 指示 也成功自行 修改到 FC赤影戰士的 不減飛鏢了
0 S" R6 G( [  ^9 Q% [" o成功一刻, 真是興奮莫名% ~- o2 [# q1 q6 O+ }7 P$ ?
. Q! _3 t) q# P; O8 g5 n+ X! E

6 r& e3 D2 Y4 n' E  C$ [
. h3 e% |. p: [0 d2 j% o
+ b/ [2 F' Q% U; o# k2 a* E不過也只是 完全 跟著指示, 過程中還是有很多疑問,
3 D1 ?% l) s  s  J& K& R9 U如不解開, 那麼修改 也只是 局限於 此遊戲2 }  i1 K$ c' s5 R& G2 p

. t2 X, S1 Y# e3 Y===============================
  {% \. N" M) s2 g% l. r& W4 f" w" p5 b2 W/ p1 N; `6 N
圖6 後 的一段文字還是看不懂1 f# h5 M0 y4 T' I! u

/ X' g. i2 P- X3 i, K: X[ 一 ] : 那段文字第一行  ((查指令表得知 B84 這個地址 DEC$0662,X  指令作用是將0662+(X)=真正暗器地址的數值減1))
/ P: s; l! ^2 K問題一 # 指令表 就是說圖6 吧 ?
$ D( y1 \: m4 U! s0 Z9 e5 ^7 L
問題二 #
為什麼說 指令作用是將0662+(X)=...數值減1, 我看著圖6 右下角是[0662]-- =0x13: o1 b5 @  s) T/ j% u0 q& R' W
                0x13 不是應解作 數值 減13 嗎 ? 9 d- y: F# w  A. w! z6 ]# b6 S+ ?. A
                從何知道 0662+(X)=...數值減1      
8 `0 H) P  N& [1 d/ L) l, b- F0 u6 t) ~" w0 R" F; A
-----------------------------------------------------------------------------------
" m7 g3 Y$ X- J' x+ J/ S3 A+ z[ 二 ] : 那段文字第二行 ((既然這樣, 只要把這條 DEC$0662,X 指令 改為 LDA$0662,X 就可以讓暗器數量不減了))
$ w+ @8 ~/ }' _8 l; ]9 O! e問題一 # 為什麼 DEC 改為 LDA ?   LDA 這3個英文字母 是從哪裡知道  就是代表了 可讓暗器數量不減 ?
. N" I7 y6 P" n' _7 I               
3 y4 d3 u; d$ Q0 y/ {1 o/ Z3 R問題二 # 我在圖6 中間位置 也看到很多 英文字組..例如 BEQ, AND, BNE, 為什麼 就是要 改成 LDA2 m+ a# ?0 C6 m

  p" F# \7 L4 c. d2 w/ Q2 K# H. c, y# X' ?
-----------------------------------------------------------------------------------
- w: q+ B8 Z) C# P- K; k& B[ 三 ] : 那段文字中間 (( 查指令機器得知 DE是DEC-absolute,X   BD是LDA-absolute,X, 注意尋區方式要一樣...))4 ^% y/ @+ t; O; _
問題一 # 指令機器 是說一軟件工具嗎 ?  在哪裡可以下載 ?
7 _3 M  q7 N, u# W& F. W
# N" G8 u) ?! \3 h7 N5 Q& G! y8 f' ^' G問題二 # 尋區方式 即是什麼 ?/ C' @( L8 A+ t. k
' t5 z9 v& g! a
/ q6 w, K& V9 E! s: e
其實還有其他問題的, 不過一次不問太多了$ G2 S  j* v1 s" V3 v- t  d
在此 懇請各位懂得的 大大 及 高人 能夠指點, 偶是有心慢慢學習的
1 C' u6 o' l. ~0 p+ D9 o) l就算不全部解答, 懂多少就答多少, 對偶可能也是一大幫助
[发帖际遇]: fanco238 在网吧通宵,花了 8 个 柠檬. 幸运榜 / 衰神榜

签到天数: 134 天

[LV.7]常住居民III

发表于 2014-7-23 15:22:08 | 显示全部楼层
你要看6502大奥秘,就知道指令是什么了,论坛有资料去下载。
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-7-23 18:51:31 | 显示全部楼层
本帖最后由 fanco238 于 2015-1-31 17:10 编辑 8 e: Z! A) Q2 u5 V% N; z
紫龙666 发表于 2014-7-23 15:22% F% s" Q- [& h5 U& L; b
你要看6502大奥秘,就知道指令是什么了,论坛有资料去下载。
6 a) w1 x" h/ F, i

/ c' i. C# t% l  H/ @) l# d先感謝 紫龍666 的回覆  {:4_118:} 0 r! l; t+ P4 R2 M8 {) Y

  D& ]. k3 N" N9 [/ L我已於 管理員 疾風之狼 以下帖子 找到 6052汇编大奥秘
$ r. J9 K6 V' G& T# [  u6 o  Ahttp://www.emu618.org/thread-20393-1-1.html
3 S$ L- J1 X% |* Z4 F
. ^5 |# M+ s, Y$ c下載解壓後 得到一個檔
) {& H# O7 [- R- J  E$ ?/ ]8 M% e% @+ ~: h3 K

! Z- i8 }4 N' T2 s; m但我卻開不到這個檔, 顯示(無法開啟檔案)
+ p2 \- k: E; E愚昧請問一下   6052汇编大奥秘 是否 一個文字檔
: C. ^: O$ O1 |3 W" }此檔有很多文章在內 嗎 ?

点评

CHM档打不开请百度一下解决办法  发表于 2014-7-23 19:49
[发帖际遇]: fanco238 被钱袋砸中进医院,看病花了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1941 天

[LV.Master]伴坛终老

发表于 2014-7-23 19:44:38 | 显示全部楼层
[ 一 ] : 那段文字第一行  ((查指令表得知 B84 這個地址 DEC$0662,X  指令作用是將0662+(X)=真正暗器地址的數值減1))
: c  N6 a: x. W/ H
9 E. v) O  q' x8 |! `5 e問題一 # 指令表 就是說圖6 吧 ?
- j3 T# y- ^- v# ?% z; q% C9 M" ^, H) a2 E5 ~/ ?
問題二 # 為什麼說 指令作用是將0662+(X)=...數值減1, 我看著圖6 右下角是[0662]-- =0x13
+ {( n9 M/ R) C" \5 ]. k3 i
" h7 f' v5 X" K0x13 不是應解作 數值 減13 嗎 ?
' m9 W5 L# j3 d7 f) Z! G- n1 W
從何知道 0662+(X)=...數值減1
, J2 N2 S2 v" y5 N$ a
7 f$ }2 [+ i. b* G+ U: O* m
[0662]是地址,0x13是该地址的数值
9 r) {3 T0 D" |9 Y, C: m" d/ Y% e, m2 V4 C4 r) X
DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$addr+X的地址数据减1,结果存于$addr+X
3 g& B9 d, L, K" `  ]6 P
. N/ D; j: d7 I! P0 j# T0 z5 d6 K% R
[ 二 ] : 那段文字第二行 ((既然這樣, 只要把這條 DEC$0662,X 指令 改為 LDA$0662,X 就可以讓暗器數量不減了))
- g* S: B9 K2 Z- [  L9 t1 w2 I; M0 O
問題一 # 為什麼 DEC 改為 LDA ?   LDA 這3個英文字母 是從哪裡知道  就是代表了 可讓暗器數量不減 ?
) u7 e$ s, M+ `: p
4 g+ Z. h8 C: j2 Z6 Y2 a& P問題二 # 我在圖6 中間位置 也看到很多 英文字組..例如 BEQ, AND, BNE, 為什麼 就是要 改成 LDA
& g$ s& g* a& M: \8 X

% D$ N1 D8 L$ v& Y* x1 rLDA是读,STA是写
: S- ]' a- v; i7 m& Z/ `
+ o  q4 i7 V2 G9 p; PDEC修改为LDA,把$0662地址的数值读入寄存器A,0662地址的数值维持不变,不就不减了
" A# J, o6 |# f% R( j
7 h* Q9 }0 Q7 H7 k& @2 R. O: q( KBEQ和BNE是条件跳转指令,BEQ是等于时跳转,BNE是不等于时跳转, `2 b5 U/ |4 x7 `  s

% p- l# x) K' c7 a2 nAND是逻辑运算指令& }) z* ~3 f* t$ a# V# Z( J
& p$ d' E' e, a
请看《6502汇编大奥秘》
# k3 [5 j/ k0 K# [( j/ U0 [
* w: ~' i( p2 V+ Y* s  X
[ 三 ] : 那段文字中間 (( 查指令機器得知 DE是DEC-absolute,X   BD是LDA-absolute,X, 注意尋區方式要一樣...))
& L5 P1 j7 O+ V0 L# X& n/ O: g% U1 |5 }8 B% P2 ]$ E
問題一 # 指令機器 是說一軟件工具嗎 ?  在哪裡可以下載 ?( g: b* z- Y* t" A; B

! H2 D( x' e( w( i問題二 # 尋區方式 即是什麼 ?

7 w: c, T& r/ w' z7 ^
1 F/ j9 f; H) n/ T6 F: t- r我是说查指令机器码表,没有这指令机器码表,你能知道每条指令作用么?! I, k9 K( }: s5 E6 ]
' q, t3 y4 k8 }5 d( R9 a. Y* c- X
寻区方式请看《6502汇编大奥秘》
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-7-24 00:52:40 | 显示全部楼层
本帖最后由 fanco238 于 2015-1-31 17:13 编辑 9 h  n# W4 H6 s1 U$ {, d- Y
疾风之狼 发表于 2014-7-23 19:44- L0 i$ u& ~' ~# L2 K# Y
[0662]是地址,0x13是该地址的数值
* \0 i4 z+ l8 m9 ]* Z, M! l$ l0 R# w) v' V( H
DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...

: E, z0 v; b1 j3 f$ H2 R& M+ n; F. p
, q  |% _) `: }先感謝 管理員 疾風之狼 的回覆 {:4_118:} 4 Z6 P; l! u" \' U; H0 C

1 t, ~+ c& Y8 f+ G$ ~# L/ z好像有些明, 又好像有些不明8 M8 B5 ]* y5 i6 I* T( f" I
於圖6 下面的 [0662] - - =0x13
/ t, F1 k5 a. j, J% K3 k大大說  [0662]是地址,  0x13是该地址的数值
2 y+ D' W$ c9 O! v0 j- N/ C+ ~8 D
! ^4 f5 Q* {% D我先愚昧簡單的想: - ]( }& V4 s; g# W: H' V/ }
(( [0662]是地址 )) 想像是一個 掌管了 飛鏢數量 的 地方名稱 飛鏢倉庫+ D) g# f8 j7 h# k) Z; q" d
(( 0x13是该地址的数值 )) 數值當然是 飛鏢倉庫內 有多少飛鏢 0 w3 ?* g  g# U7 e2 N6 M
                                        13 其實是一個 16進制的數,   如果化成 十進制是 19, 因剛才是用了一發飛鏢按暫停的
; Q* r/ Y  n) M# V8 S" ], u* w
2 Z3 O3 s4 L8 g遊戲拿到飛鏢寶物始初是 20發, 用去一發 就是 19
4 o" V4 d( d" k' ?  w4 }3 ^4 r6 J. g5 l/ w+ E. |5 e
------------------------------------------------------------------------------------------------* t" T5 s8 P, ?1 m7 {7 f
" d, y9 B4 ]4 f" @" Z: A
跟著我們看到 圖6下面的 DEC $0662.X,   重點 是DEC
+ c& X+ Z- F! r  t! dDEC 是 自减指令,  即就是 這指令 控制了 飛鏢 是減數量, 只是把它改了 就可以7 V4 p" ~+ b5 m, a- v
LDA  是 读入指令,  即就是 要改到 把 地址 讀入至 寄存器A 9 L, {0 E/ X) Y8 V7 ]" U2 _" M% c8 N

* K4 D0 J' G7 x0 w- _/ g$ h, W雖然 讀入至 寄存器A 這方面 還想不通,
) B0 a, h# b7 v0 t# q" n總之 就是改掉 DEC 不讓它有自減的指令,  就能達成 我們不減飛鏢數的 目的了 ' K, a" s) o' K, u+ l
+ u) ^4 w0 \7 b' ?

0 a; C7 z/ t9 S" z% Y4 ~0 F* R# #  最後 看來一切都是要 先 熟讀 6502汇编大奥秘, 否則就不知道 那些英文指令的作用
; a1 E9 G/ J/ ~- W* p( Z  @4 _
% A. j4 z! `4 l& J- K=================================================. Q4 v7 T. t& j3 ^

' j  z2 O+ D1 u9 U說回 6502汇编大奥秘  CHM檔,  偶也開到了, 方法如下 :' m" h  g3 [6 Z. y  T" y8 B$ }
: `: k2 N: t0 K- Z! z+ C0 W& T7 @
一 : 檔案名稱 及 所在的路徑 要更改成  不能帶有中文字, / k+ w+ i- _+ K, l' N
二 : 跟著 右按 選 以簡體模式開啟
+ d+ b' b# p; D  C$ ]      可能我的電腦繁體字版, 此CHM檔 是以簡體字去寫, 所以就需這步驟
) ?9 k) t  v9 Z: d& D' o6 X; Z6 M
+ o. i+ q  K7 H+ c% y% D3 v( \8 o! i* M) R
; t5 k7 R; ]" ^
' i2 p# [, [0 X6 E7 b  J* J/ I4 h

" _% p: v- P  l; t$ y
1 N5 z# {, a7 T) m/ M4 n, ]# # 這CHM檔 可說是一本教科書, 從現在開始 才是真正 考驗一個初學者了: k# Q5 d# ^8 H" ?5 b+ E
       如果沒有 耐性 及 恆心, 或者沒有前人 的指導, 相信都很難學會呢
[发帖际遇]: fanco238 发帖时在路边捡到 2 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-7-24 15:34:22 | 显示全部楼层
疾风之狼 发表于 2014-7-23 19:445 T- V5 |8 w/ j& L; X. N9 Z1 X
[0662]是地址,0x13是该地址的数值
% A- B. y$ Z8 M; H% C' _
9 a9 q# z2 O( _1 Q7 `, c8 iDEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...

2 x/ m0 I: Z3 y4 a( ]/ }今天又領悟到多一件事 {:4_98:} ! J. I: c: C2 |

* O' _  A. m" Q0 @0 b於1樓始初的鏈結之圖6 下方一段文字 中間寫的 起初看不明白' L, t6 f( F& H8 p
現在又想通明了少少7 [, p, m2 {* _6 \3 {
---------------------------------------------------------------------------------------------- R6 N. l9 z8 z$ f4 T" d
! P6 R. ^* ~) L: n* G
中間寫著 :
, I% l, {" Q- j2 Q舉個例子 假設 X寄存器 數值是6... .... ,  1234+(X=6)=123A
9 o* f8 e$ P: {' j. G$ V. Z  a起初真不明, 還以為大大 是 一時手誤 打錯字嗎 ? 1234+6  不是 等於 1240 嗎 ?
( j1 d$ T3 E( b2 V7 G) g或者 那個+ 不是 加的意思, 只是 單純一個符號嗎 ? " }: Z4 d" H% ~. h
5 ]3 x2 V! F; F$ w
原來又是 16進制 的因由
0 R/ y7 g" C5 M. s( o0 B* G8 J$ K
在 16進制中 16個碼 是 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. x) Z( o" m* N3 Y/ @
即是說 9 之後 不是 10, 是 A% Q3 j+ ]/ I, O% W7 o8 }
' |9 P. @" K/ K6 Y3 T/ n3 H& [9 s* s
所以 1234+6 不是=1240
; w  z* N% k6 N+ r' B5 }個位數原在 十進制 進位變成 10 , 但在 16進制 不超過16是不用進前一個位
7 Z3 R: Y) w0 @- F, s所以 1234+6  個位 4+6 不是等於10,  只是 等於 A,  就是 123A  
: L  h) ?+ x2 D  Y; b- Q & R; w* ?( C( q5 P* u
==========================================3 r) v$ v/ H6 f7 R1 b

. I* S3 e; r# |  e; L8 E其實我也知道 管理員大大每天也很忙碌, 其實不用回帖給我了
8 Y  c3 h" O- Q& p! @除非 以上 是我 理解錯誤, 才請作出修正, 也在此再次感謝
/ @$ }) g3 }2 h6 I& }4 g
4 N+ s) s% x6 x7 b+ j其實研究如何修改遊戲, 真的是非常困難, 且非常耗時( I& }8 i& k" x" E  [; O9 |
我是現在暑假才比較空閒, 就看看我 這今年夏天 能領悟多少吧  {:4_108:}
[发帖际遇]: fanco238 打扫环境卫生,被奖励 3 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2014-7-24 19:04:00 | 显示全部楼层
搜索->修改
8 v5 F. Q1 l$ j5 S8 x0 j9 n  g! O& @. L
说白了
. R. N! |3 W7 [" t, V* e修改游戏就是这么的简单

点评

這麼的簡單 >_< 這句說話就簡單, 其實是在取笑我嗎 ...? 無言了  发表于 2014-7-24 20:29

评分

1

查看全部评分

[发帖际遇]: 银河漫步 捡了钱没交公 柠檬 降了 2 个 . 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-8-31 20:58:20 | 显示全部楼层
本帖最后由 fanco238 于 2015-1-31 17:13 编辑
/ x/ _7 Y( d6 I* Y
疾风之狼 发表于 2014-7-23 19:447 r; Y+ L/ R: x2 P
[0662]是地址,0x13是该地址的数值, i+ f4 c! x1 w( @

* V8 C2 V( H" F. iDEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...
) {  U. `$ o6 u$ G9 U

" b% z; m- H8 A* {終於成功修改了 赤影戰士 受攻擊不減血; {4 x! H6 e$ X7 n0 M7 k9 T, l

! b. V0 N9 y& S  v8 c. Z, x& l: Z) v. o. k, u! H( @
# S% c% p. K8 V2 j! }5 c
今天是暑假最後一天了, 整個暑假結果也領悟不到什麼...  看來是資質有限了% x# D3 V+ Z  I' O7 f+ t# Q( W. R
我曾試把此方法 套入其他遊戲去修改
3 b3 b' x) ?. D( V5 N# o. z但可能我心中想改的遊戲 不是受攻擊不減血的類型遊戲, 是受攻擊就馬上死去的類型
" U$ f/ j6 F+ x1 |0 a' h: t所以都不成功呢
9 h5 K" ?* Y& H5 K8 ?( a最後雖學習失敗, 但也非常感謝疾風之狼大大的教導  {:4_118:}

点评

受伤即死很容易的,在减血后面必然有一个当前血量是否为0的判断,改成必定跳转即可  发表于 2014-9-3 15:22
[发帖际遇]: fanco238踩坏了花花草草,被罚款8 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-5-3 13:24

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表