设为首页收藏本站

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

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

[复制链接]

签到天数: 204 天

[LV.7]常住居民III

发表于 2014-7-22 20:31:21 | 显示全部楼层 |阅读模式
本帖最后由 fanco238 于 2015-1-31 17:10 编辑
( l  f2 S% B& y' u
9 ^& [% o8 f, y在此先感謝 管理員 疾風之狼 以下帖子的分享1 @/ Y& x( L+ g2 P
http://www.emu618.org/thread-21186-1-1.html
0 N" _* ~2 h1 L# R
& C7 g( m, s  Y2 M我按著 指示 也成功自行 修改到 FC赤影戰士的 不減飛鏢了
& Z% L) V) b% v8 r; @2 Y& J! Q成功一刻, 真是興奮莫名
/ p# t- e4 C7 O2 x$ D1 h. j% y9 L+ H
3 ?: r+ h2 u) G; \' V3 }! o/ F  U9 L
8 Z& C$ ^+ ]( q, O0 l( @9 A ; \. Q5 D8 O. ?; s9 q5 }( V
+ f* v) C) f. ]# q9 {
不過也只是 完全 跟著指示, 過程中還是有很多疑問,
! t% t7 r; b2 _* ]如不解開, 那麼修改 也只是 局限於 此遊戲
$ X7 f2 T& L$ @+ G% [" W" ]! H7 E8 F# W5 m& Z9 L4 u8 p2 Z
===============================
& M8 G/ q& D9 u; ~  D
0 T# I" S, h( n# e圖6 後 的一段文字還是看不懂
' @+ h6 R3 ^0 r. Y- |/ S5 h
4 U' `8 \( x5 J. B! h9 z[ 一 ] : 那段文字第一行  ((查指令表得知 B84 這個地址 DEC$0662,X  指令作用是將0662+(X)=真正暗器地址的數值減1))
5 T+ n( W# n* Y7 Q問題一 # 指令表 就是說圖6 吧 ?
, k, P2 D- C( n9 s8 b- H
1 c0 f4 h% `# s) q% F問題二 #
為什麼說 指令作用是將0662+(X)=...數值減1, 我看著圖6 右下角是[0662]-- =0x13- w- c* R" g' }" j
                0x13 不是應解作 數值 減13 嗎 ? 3 l- x9 z* T- W! w7 Z9 s
                從何知道 0662+(X)=...數值減1      
3 a2 d7 g# h! J0 g2 x& X- b$ s; N; m6 B1 K% h, n3 \% @/ z7 B
-----------------------------------------------------------------------------------+ D) d4 A6 x7 ^: k7 f- R
[ 二 ] : 那段文字第二行 ((既然這樣, 只要把這條 DEC$0662,X 指令 改為 LDA$0662,X 就可以讓暗器數量不減了))9 A1 I( L# G+ M9 V
問題一 # 為什麼 DEC 改為 LDA ?   LDA 這3個英文字母 是從哪裡知道  就是代表了 可讓暗器數量不減 ?) h0 V* I# i2 m; I; u3 q. t& |
                ' [7 Y$ [% G3 I) t0 h) ^& _
問題二 # 我在圖6 中間位置 也看到很多 英文字組..例如 BEQ, AND, BNE, 為什麼 就是要 改成 LDA
; t. B. L- g1 S) R1 G
9 {  f3 l. r& ?8 l3 g% h
7 ?0 W$ {6 u) K# F' C  m  t! d4 u7 z-----------------------------------------------------------------------------------$ Y- h, w, T9 z7 Y5 Y, f8 z: n
[ 三 ] : 那段文字中間 (( 查指令機器得知 DE是DEC-absolute,X   BD是LDA-absolute,X, 注意尋區方式要一樣...))7 W& Q& Y  R! R) X
問題一 # 指令機器 是說一軟件工具嗎 ?  在哪裡可以下載 ?
7 [9 x4 _2 G7 ^" V
' B" C' V! H  F問題二 # 尋區方式 即是什麼 ?. }3 q9 h2 ^! A3 R: V
2 L0 l% t" n# E' H! t2 ~& e7 [+ J

; g' s/ H+ ^( z( g其實還有其他問題的, 不過一次不問太多了
' m/ ~3 h, c% N. O在此 懇請各位懂得的 大大 及 高人 能夠指點, 偶是有心慢慢學習的
" R8 S3 ~2 ?7 m: E0 l1 Z) L( F就算不全部解答, 懂多少就答多少, 對偶可能也是一大幫助
[发帖际遇]: 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 编辑
$ k1 E3 v; M4 K% H9 f4 k- o
紫龙666 发表于 2014-7-23 15:22
. ]. x' Y5 Q. L! j0 \- j- T; d( p你要看6502大奥秘,就知道指令是什么了,论坛有资料去下载。
4 B; ~# o' w- O5 g
& H: h. G; G$ g! v  M+ U$ t0 `
先感謝 紫龍666 的回覆  {:4_118:}
6 w7 I9 [6 _1 [, ~! C3 b3 W3 |/ \5 y
我已於 管理員 疾風之狼 以下帖子 找到 6052汇编大奥秘
0 _1 t) j2 Y: R' x& Hhttp://www.emu618.org/thread-20393-1-1.html' V" k8 [' E6 ?: M

/ C. S. ]* E5 \, K4 J下載解壓後 得到一個檔
# l! L- q9 w% _; E2 J% e( u# F# c% Y3 }
# t2 t2 L+ T' J$ {" O1 a1 {) u
但我卻開不到這個檔, 顯示(無法開啟檔案)9 r( ~: @. ]$ T8 B9 |
愚昧請問一下   6052汇编大奥秘 是否 一個文字檔 ; e5 Y, a3 N1 r, Q. i
此檔有很多文章在內 嗎 ?

点评

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

使用道具 举报

签到天数: 1941 天

[LV.Master]伴坛终老

发表于 2014-7-23 19:44:38 | 显示全部楼层
[ 一 ] : 那段文字第一行  ((查指令表得知 B84 這個地址 DEC$0662,X  指令作用是將0662+(X)=真正暗器地址的數值減1))
7 z- o$ ^5 @7 e$ a' \( ^; b' y/ a5 D1 O2 e- }; L
問題一 # 指令表 就是說圖6 吧 ?0 H' f8 k8 b9 d1 N: O4 k+ N

( f" ]# v: B2 d. v6 j2 X1 |7 Q問題二 # 為什麼說 指令作用是將0662+(X)=...數值減1, 我看著圖6 右下角是[0662]-- =0x13
4 |2 m) u4 b1 F9 e; y" ]' m) B) d' e! `* y
0x13 不是應解作 數值 減13 嗎 ?
# k; L  t& f8 [
- G- _1 j! ~' T' @9 V8 l從何知道 0662+(X)=...數值減1
, K6 o, L  P7 @2 B& I1 P- L

) c9 ?9 b5 X7 w6 S8 p[0662]是地址,0x13是该地址的数值5 z/ [4 u- `$ e/ p5 J

. |3 T0 D2 R# V) }DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$addr+X的地址数据减1,结果存于$addr+X' W! W' `  s- a' z$ p3 c; N
+ ^' K( ]: o9 ]$ g: D  Z7 E
[ 二 ] : 那段文字第二行 ((既然這樣, 只要把這條 DEC$0662,X 指令 改為 LDA$0662,X 就可以讓暗器數量不減了))% q/ l, {5 o  q8 f, b" u/ H
( Q0 u( z& u; p6 L$ \/ G
問題一 # 為什麼 DEC 改為 LDA ?   LDA 這3個英文字母 是從哪裡知道  就是代表了 可讓暗器數量不減 ?
+ E4 h9 ?; [/ |5 t( R6 V
( k( ^/ U; |) H" t4 E3 s+ J問題二 # 我在圖6 中間位置 也看到很多 英文字組..例如 BEQ, AND, BNE, 為什麼 就是要 改成 LDA
4 l* W3 g4 e+ W  \2 i) E
+ R: f2 ~7 J) A; @& M; m
LDA是读,STA是写* {8 s1 T! q7 t9 m, C6 G3 e! {
+ N( B0 w+ f0 E; u3 d0 C) p; f
DEC修改为LDA,把$0662地址的数值读入寄存器A,0662地址的数值维持不变,不就不减了5 u2 X9 X# J- b" G: b% p4 d
' a% a! g# Y: _9 k* Y5 V
BEQ和BNE是条件跳转指令,BEQ是等于时跳转,BNE是不等于时跳转0 Z( ^0 t9 t6 [' C6 \6 n' n
0 B7 f' P3 g% t2 p% {4 I
AND是逻辑运算指令$ b$ Q  J7 s0 z! |% Z
* M( V' |; ?" B5 T& }2 h1 _5 G# D
请看《6502汇编大奥秘》/ i' X; f3 w5 \7 i2 S4 L4 Q
! }7 h% ~% O, }$ t- w
[ 三 ] : 那段文字中間 (( 查指令機器得知 DE是DEC-absolute,X   BD是LDA-absolute,X, 注意尋區方式要一樣...))2 }; v1 e3 x+ e$ i+ C. m; `

$ D$ D2 K, Y/ S" ^% I2 v' z, C( \問題一 # 指令機器 是說一軟件工具嗎 ?  在哪裡可以下載 ?
9 l% M! \8 W! r8 [, q& g9 _+ g# t4 C
問題二 # 尋區方式 即是什麼 ?
' G& o  @3 O8 n/ O* p
: ]) T* \' A$ b* `( [) Q( s0 C
我是说查指令机器码表,没有这指令机器码表,你能知道每条指令作用么?
& @2 ^( G1 A+ G1 F* z$ D- ]2 ^/ V' _* P5 }4 E$ L' Z+ F9 R4 x9 `
寻区方式请看《6502汇编大奥秘》
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-7-24 00:52:40 | 显示全部楼层
本帖最后由 fanco238 于 2015-1-31 17:13 编辑 " U4 X- w5 P8 Z- O
疾风之狼 发表于 2014-7-23 19:44" u' {- F/ B1 H& H0 X7 A
[0662]是地址,0x13是该地址的数值
4 b: H7 D6 Q5 |5 W) P1 o; |5 B- U7 {
DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...
6 h6 M% H9 H0 H$ L+ R

2 V4 [5 C; _4 s) @8 {, C先感謝 管理員 疾風之狼 的回覆 {:4_118:}
: l+ ?, M6 h9 c. L- S$ v/ w' x! t, k8 R' F
好像有些明, 又好像有些不明% ]2 o+ c1 {& ?' R' W% e2 n
於圖6 下面的 [0662] - - =0x13
5 w4 w2 x6 [! b2 t; ^大大說  [0662]是地址,  0x13是该地址的数值
+ c- z8 K/ S5 N: n
" b" C( V! z; f( c0 o我先愚昧簡單的想:
  @; B2 @- R! z$ i(( [0662]是地址 )) 想像是一個 掌管了 飛鏢數量 的 地方名稱 飛鏢倉庫
  H8 E7 A' _% S  T7 [(( 0x13是该地址的数值 )) 數值當然是 飛鏢倉庫內 有多少飛鏢
9 w, U- b7 ^5 a0 q0 g* ^/ F                                        13 其實是一個 16進制的數,   如果化成 十進制是 19, 因剛才是用了一發飛鏢按暫停的5 `" j" e/ ^! v$ ?
, N% Z1 e' h- Z) D8 m' }$ O
遊戲拿到飛鏢寶物始初是 20發, 用去一發 就是 193 {5 |5 \+ q) w) t' ~/ Q% J: o  V: H
" r0 T1 y, }/ n5 j/ P5 z& e' `
------------------------------------------------------------------------------------------------
3 f0 ~0 {6 R9 M' q$ H  V' _% V8 w9 Y
: V: p, W+ ~+ Q: Y跟著我們看到 圖6下面的 DEC $0662.X,   重點 是DEC5 ?8 i6 Y( ]& N5 p% L- Z1 \
DEC 是 自减指令,  即就是 這指令 控制了 飛鏢 是減數量, 只是把它改了 就可以1 i* u5 E; ]4 F- w6 W+ b% Y/ z" M
LDA  是 读入指令,  即就是 要改到 把 地址 讀入至 寄存器A
6 c, c3 ~2 B% T# C2 h3 H" D/ ^$ d& n
雖然 讀入至 寄存器A 這方面 還想不通, 5 y! W* ^. q( @6 O8 C
總之 就是改掉 DEC 不讓它有自減的指令,  就能達成 我們不減飛鏢數的 目的了
1 G) ~& Y$ E) }! g7 h- F% _/ s( \; [* c3 O1 P

9 `& o" o  m7 K# #  最後 看來一切都是要 先 熟讀 6502汇编大奥秘, 否則就不知道 那些英文指令的作用
. t7 P" Z# G  |2 r+ B% v* e" Q( X; T" u! h5 w
=================================================; B: X. C' `' a6 L, s# u
1 v, {+ t; K1 A, R2 Y
說回 6502汇编大奥秘  CHM檔,  偶也開到了, 方法如下 :
; \' w  {4 V, m4 ]8 @0 ^" M
" D' S, U* T8 O* T! M: b/ k- G一 : 檔案名稱 及 所在的路徑 要更改成  不能帶有中文字,
0 a  ~9 ~8 ]: _* t: z2 m* s二 : 跟著 右按 選 以簡體模式開啟
/ k) ?# q  a# L1 i; ~      可能我的電腦繁體字版, 此CHM檔 是以簡體字去寫, 所以就需這步驟) y+ e/ z1 X! p' y* T7 G) c" I

( h. ~% t# y+ O) e! P! m/ |8 _  C, m$ S. A" p( M
6 X: S5 ]. T# Y6 T9 w) n# a$ A4 k
3 L7 T2 q" D$ n* A1 W6 S" M

0 |  E$ J$ q- E( h
6 B; \/ h, d5 W+ L* p9 G7 Z6 t# # 這CHM檔 可說是一本教科書, 從現在開始 才是真正 考驗一個初學者了. o& U$ v, m. ~3 t
       如果沒有 耐性 及 恆心, 或者沒有前人 的指導, 相信都很難學會呢
[发帖际遇]: fanco238 发帖时在路边捡到 2 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-7-24 15:34:22 | 显示全部楼层
疾风之狼 发表于 2014-7-23 19:44
: ?& J+ K& S, n3 A[0662]是地址,0x13是该地址的数值- }5 s7 q0 k. X. e* l/ a4 x' i! c1 c
+ G- S7 p; w  y: w  O& z
DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...
2 ?/ R; a; M  q/ z
今天又領悟到多一件事 {:4_98:}
) w3 D$ Z# V, F# Y' T; ^% T0 K0 Q  N6 H+ v8 c
於1樓始初的鏈結之圖6 下方一段文字 中間寫的 起初看不明白
" b; f+ k/ h9 z% L, \% J現在又想通明了少少
% b5 E: d! ?9 r1 o: g1 v* h. x---------------------------------------------------------------------------------------------9 F0 ~. }$ U1 z; m: S4 g# I  v

# i% G3 j# h+ \; p$ X中間寫著 :
( B" V( f% w6 C( J, E/ A舉個例子 假設 X寄存器 數值是6... .... ,  1234+(X=6)=123A
" ~4 f0 d7 i# _& S* A! s+ P起初真不明, 還以為大大 是 一時手誤 打錯字嗎 ? 1234+6  不是 等於 1240 嗎 ?
9 o( r, u. J5 f) e# g+ ~0 d0 [) Y. t或者 那個+ 不是 加的意思, 只是 單純一個符號嗎 ?
5 I2 G! a5 i) X1 z9 ]) V# {* G! n& R" A4 M
原來又是 16進制 的因由" M* ]  R' w5 h1 \. I# L$ Y

0 ]- a$ L( m5 |  P4 r2 p+ Q在 16進制中 16個碼 是 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F, }/ K4 y+ O+ C
即是說 9 之後 不是 10, 是 A
& M* V% b6 s) _
2 H# k* K% S8 f+ O所以 1234+6 不是=1240
. b$ z9 \5 I" c8 y& H; x' Z0 c: }個位數原在 十進制 進位變成 10 , 但在 16進制 不超過16是不用進前一個位
/ e. [, K$ \5 I9 i  T: L$ I# S( y. T所以 1234+6  個位 4+6 不是等於10,  只是 等於 A,  就是 123A  
# X" N" ?4 M0 b' f, r7 w
/ B) n2 ~8 }, V( a==========================================" ^, `' v0 o5 Y7 r4 L' \
* X- n/ n1 x2 ^2 v
其實我也知道 管理員大大每天也很忙碌, 其實不用回帖給我了
2 w$ s! d/ X5 d0 Q5 L" B除非 以上 是我 理解錯誤, 才請作出修正, 也在此再次感謝
, g! h% g; \/ {( `' K* `, {/ f! N8 m2 f3 Z' ^. l+ A2 s; B
其實研究如何修改遊戲, 真的是非常困難, 且非常耗時
8 n' Q, S7 u6 v, D我是現在暑假才比較空閒, 就看看我 這今年夏天 能領悟多少吧  {:4_108:}
[发帖际遇]: fanco238 打扫环境卫生,被奖励 3 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2014-7-24 19:04:00 | 显示全部楼层
搜索->修改
# t6 e. r! P) W/ j
* @" l# r6 I$ V' V& [" ^( X4 u说白了5 {' z; ]# ]5 k/ T4 T* v
修改游戏就是这么的简单

点评

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

评分

1

查看全部评分

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

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-8-31 20:58:20 | 显示全部楼层
本帖最后由 fanco238 于 2015-1-31 17:13 编辑 + h  G7 N, Y' s$ k5 q* a, s/ d/ i
疾风之狼 发表于 2014-7-23 19:44
9 Y1 ?4 {4 r* \2 _, I: A  M2 m[0662]是地址,0x13是该地址的数值8 H+ c: H5 B3 @% B) D4 W

9 V, j0 z0 N. VDEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...
6 [  a" n2 W. Y
: M# m3 ]- Q9 W! M  A' h
終於成功修改了 赤影戰士 受攻擊不減血
' A' W* s: Y* a/ O- L5 o* k6 Z9 Y1 P! Q7 [* {3 G- i3 a: q
) L9 m* d7 h2 O' F- J
! j# Z6 P$ B- K8 A2 }
今天是暑假最後一天了, 整個暑假結果也領悟不到什麼...  看來是資質有限了) p1 ^8 n5 O- H" j3 ^' |9 e
我曾試把此方法 套入其他遊戲去修改0 @, Q5 ~0 s; ~! C" N' M6 w
但可能我心中想改的遊戲 不是受攻擊不減血的類型遊戲, 是受攻擊就馬上死去的類型  {" \1 i' Q$ w- k  {
所以都不成功呢/ x" ?5 i1 d) T5 C* f' f; g' N
最後雖學習失敗, 但也非常感謝疾風之狼大大的教導  {:4_118:}

点评

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

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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