设为首页收藏本站

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

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

[复制链接]

签到天数: 204 天

[LV.7]常住居民III

发表于 2014-7-22 20:31:21 | 显示全部楼层 |阅读模式
本帖最后由 fanco238 于 2015-1-31 17:10 编辑
% o/ Y! R! N( o7 l7 y
+ l5 t% [1 A% A) `7 B! b在此先感謝 管理員 疾風之狼 以下帖子的分享
/ T0 g0 L1 R( o! r5 @http://www.emu618.org/thread-21186-1-1.html; S' w! z8 ?: g) w+ s: E$ _5 q) b/ |

& D9 d; V0 E! u' w4 g5 |我按著 指示 也成功自行 修改到 FC赤影戰士的 不減飛鏢了
, ~% S$ R, q( M成功一刻, 真是興奮莫名+ `* J+ q( M: E; D/ f+ m  t. l
3 E* ?: v' W* c

* o, M. o+ V2 ~8 P* u   W: h. D8 L* b8 R( ^6 h

3 d7 T% \# g) o. n0 E不過也只是 完全 跟著指示, 過程中還是有很多疑問,
) ~8 _) m! d6 v+ [( Q' I如不解開, 那麼修改 也只是 局限於 此遊戲
' |# ?, e0 B% v( V3 q4 O4 @1 C7 h- r
===============================. ^. v! n: _5 L7 ^7 g2 E
- z, O) D2 W# y" F9 A; H9 q- [+ A
圖6 後 的一段文字還是看不懂
! c0 |0 x( y* J6 @, b+ H6 {7 }# X
[ 一 ] : 那段文字第一行  ((查指令表得知 B84 這個地址 DEC$0662,X  指令作用是將0662+(X)=真正暗器地址的數值減1))# b) @* p2 b9 B; J8 k) I
問題一 # 指令表 就是說圖6 吧 ?
( T) o4 Z. [* @1 `
; [0 Z. l/ [9 I( I7 U問題二 #
為什麼說 指令作用是將0662+(X)=...數值減1, 我看著圖6 右下角是[0662]-- =0x13
6 A: a. e; V' p/ f* }" t( Z                0x13 不是應解作 數值 減13 嗎 ?
( q" i1 N2 ]  C  ?) }. F                從何知道 0662+(X)=...數值減1      
$ f' O; k6 Q% i- F0 M9 n1 e( Q. ]0 P7 C+ C* O
-----------------------------------------------------------------------------------" B8 k1 w' k, d% \
[ 二 ] : 那段文字第二行 ((既然這樣, 只要把這條 DEC$0662,X 指令 改為 LDA$0662,X 就可以讓暗器數量不減了))+ ]0 B& r) w! ~" \' U
問題一 # 為什麼 DEC 改為 LDA ?   LDA 這3個英文字母 是從哪裡知道  就是代表了 可讓暗器數量不減 ?. }6 `1 q# M) V1 f
                $ b( Y' L3 k- r& ?2 g' j  R& `" G
問題二 # 我在圖6 中間位置 也看到很多 英文字組..例如 BEQ, AND, BNE, 為什麼 就是要 改成 LDA
5 @1 Y2 X, ?) B- A1 r7 [& v( s/ a# l) W6 ?+ i+ x; j$ F

3 Y, S  N7 y5 ?# F4 }-----------------------------------------------------------------------------------. o" b) [: K5 {: O: i
[ 三 ] : 那段文字中間 (( 查指令機器得知 DE是DEC-absolute,X   BD是LDA-absolute,X, 注意尋區方式要一樣...))  g$ K) B+ W0 M. Z* S" ?6 @  v
問題一 # 指令機器 是說一軟件工具嗎 ?  在哪裡可以下載 ?: Z$ i6 U& M$ K
! r. D: E+ r) [% I
問題二 # 尋區方式 即是什麼 ?; j4 S3 s% ?" x& x
7 F3 Y5 U# m6 c2 [6 J

( o! A/ _7 r; o, f: R7 j* r" ?% I其實還有其他問題的, 不過一次不問太多了$ a4 }' X# [6 g& D3 ~
在此 懇請各位懂得的 大大 及 高人 能夠指點, 偶是有心慢慢學習的  G- }4 _7 F" P, J& N
就算不全部解答, 懂多少就答多少, 對偶可能也是一大幫助
[发帖际遇]: 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 编辑
) u; U% b, O7 V) y  w4 x
紫龙666 发表于 2014-7-23 15:22# R2 y3 i* p; }# G  r9 z" w4 D: L* S. |
你要看6502大奥秘,就知道指令是什么了,论坛有资料去下载。
  j% @7 J! W- m# W2 H

7 Z; n; j' l8 a( @" Z! c8 i先感謝 紫龍666 的回覆  {:4_118:} $ [5 }; f- s# E) T. z
- @6 b1 E- P  s: i* e
我已於 管理員 疾風之狼 以下帖子 找到 6052汇编大奥秘* m- F7 e: H. q" H: {  }9 n3 {
http://www.emu618.org/thread-20393-1-1.html
. o8 S4 W: c& a2 K! ^/ P. q
3 T; a# `" m: G6 u5 Z; K5 ]: {, u下載解壓後 得到一個檔 1 X; @' B, E  Y( N; `8 D0 ]

" w' s+ ~" ^( o0 W( s' G# Z8 U1 r& x3 m- o2 W: _
但我卻開不到這個檔, 顯示(無法開啟檔案): i+ u4 p- C8 M' Q- {4 c
愚昧請問一下   6052汇编大奥秘 是否 一個文字檔 : z* I# ~7 i. _3 D# R* ~, V
此檔有很多文章在內 嗎 ?

点评

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

使用道具 举报

签到天数: 2053 天

[LV.Master]伴坛终老

发表于 2014-7-23 19:44:38 | 显示全部楼层
[ 一 ] : 那段文字第一行  ((查指令表得知 B84 這個地址 DEC$0662,X  指令作用是將0662+(X)=真正暗器地址的數值減1))8 o7 s, \" ]4 n2 Z
, B$ ]5 q1 x1 W- B4 S) V
問題一 # 指令表 就是說圖6 吧 ?
2 C; p8 s. i1 g# t1 b2 S% {0 S+ Z6 @3 q0 N) G3 S& U' Y0 g+ r
問題二 # 為什麼說 指令作用是將0662+(X)=...數值減1, 我看著圖6 右下角是[0662]-- =0x13
6 U7 O0 e0 I3 S" [: h' T6 x
, \. W7 G8 I, C: J& s& X! J0x13 不是應解作 數值 減13 嗎 ?
, B/ g% D0 N( Z6 m$ O4 W  j7 g% L8 z8 V4 t6 m! _. c
從何知道 0662+(X)=...數值減1
# _4 Z0 |0 W% U; H

1 N2 X$ O" S9 Z! `& F[0662]是地址,0x13是该地址的数值
* \) ?4 S* D1 m  e- {5 E; A1 _( J4 `0 R
DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$addr+X的地址数据减1,结果存于$addr+X* b, }- K0 c5 j/ o8 N. N1 ~
' a, I8 L2 l& E8 O/ P" _7 f/ O+ P
[ 二 ] : 那段文字第二行 ((既然這樣, 只要把這條 DEC$0662,X 指令 改為 LDA$0662,X 就可以讓暗器數量不減了))
1 u9 M1 N3 W5 a4 v- G1 V' g+ U: ~. }. P. I
問題一 # 為什麼 DEC 改為 LDA ?   LDA 這3個英文字母 是從哪裡知道  就是代表了 可讓暗器數量不減 ?& ]7 v8 M, M1 {
+ N4 [6 O0 |: Q
問題二 # 我在圖6 中間位置 也看到很多 英文字組..例如 BEQ, AND, BNE, 為什麼 就是要 改成 LDA

; N6 a+ ~! _1 W+ X# o8 `5 N4 d3 ^$ T" V
LDA是读,STA是写2 E+ K% N. k& N9 E; t  x$ w

+ u" X: a, g' ?1 {1 ~DEC修改为LDA,把$0662地址的数值读入寄存器A,0662地址的数值维持不变,不就不减了. k3 n) y! E/ h8 p) n8 n
$ B: H& q. T; x& h! ]9 p
BEQ和BNE是条件跳转指令,BEQ是等于时跳转,BNE是不等于时跳转
; L7 t5 B$ O) n" x
9 K; z4 J+ {3 F' l3 ?4 pAND是逻辑运算指令- ~2 }6 P5 e& \# A

4 [5 \" Q( N+ Z, e/ @请看《6502汇编大奥秘》
3 l/ A& z& v. n1 W/ ~! l
/ |3 H% d1 v. k) m# c% {  Y
[ 三 ] : 那段文字中間 (( 查指令機器得知 DE是DEC-absolute,X   BD是LDA-absolute,X, 注意尋區方式要一樣...))- F/ H4 W  d2 D1 m" R8 ^* {! E3 g

' T+ D- Z& i8 @6 D# N  R, I問題一 # 指令機器 是說一軟件工具嗎 ?  在哪裡可以下載 ?2 s7 j6 R; l2 X1 v% l
; ?6 N$ t7 A% w' u- l
問題二 # 尋區方式 即是什麼 ?

6 L( }3 L+ H: B+ j' N, A1 n' I: }( J% h
我是说查指令机器码表,没有这指令机器码表,你能知道每条指令作用么?, L' c* Y& U) x; _) S

' Q- ~  i$ f* y5 b( d$ Y" S6 I寻区方式请看《6502汇编大奥秘》
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-7-24 00:52:40 | 显示全部楼层
本帖最后由 fanco238 于 2015-1-31 17:13 编辑 # x- I) }$ o7 n- B" R8 V6 h/ s5 j$ t
疾风之狼 发表于 2014-7-23 19:44! o* L+ Z$ b" f# y5 B5 D( {1 X
[0662]是地址,0x13是该地址的数值$ T& Y0 A. [0 n1 c5 {
) U! G7 ~7 V, }5 @, I
DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...

0 G- ?0 a( M, S- |. `0 e- \0 \! Q
, ^2 h+ @2 I1 n7 `) @7 P先感謝 管理員 疾風之狼 的回覆 {:4_118:} 1 R# p* Y- H  Q* V4 a! }
: Q8 Y* ?3 e8 a6 I/ S4 {7 J
好像有些明, 又好像有些不明
$ S$ O$ c+ k3 C! I6 `5 s6 x" a於圖6 下面的 [0662] - - =0x13
" H" E# T6 }8 _. v大大說  [0662]是地址,  0x13是该地址的数值* W( ^( ?5 Q; l

) f! E- P7 J* K6 E* ^5 c$ ]: u我先愚昧簡單的想:
# ~* X3 k0 \( B  w: E3 o6 w  P(( [0662]是地址 )) 想像是一個 掌管了 飛鏢數量 的 地方名稱 飛鏢倉庫1 s1 H. o. z8 y$ @0 H: ^
(( 0x13是该地址的数值 )) 數值當然是 飛鏢倉庫內 有多少飛鏢
8 R9 U8 L1 j& v( X; ]                                        13 其實是一個 16進制的數,   如果化成 十進制是 19, 因剛才是用了一發飛鏢按暫停的
9 H" x. G/ C$ N/ A+ E6 k8 o) c2 z
5 b: R  ~; j5 J遊戲拿到飛鏢寶物始初是 20發, 用去一發 就是 193 Y5 X8 d! C; z1 A* C/ C

6 y1 k' R1 P$ }, X------------------------------------------------------------------------------------------------4 u7 Q* I5 {9 Q( ~  r2 R0 W

+ R& v; B: P/ _9 m5 K/ e跟著我們看到 圖6下面的 DEC $0662.X,   重點 是DEC
2 p* {( x9 i: X$ w5 LDEC 是 自减指令,  即就是 這指令 控制了 飛鏢 是減數量, 只是把它改了 就可以
$ w3 t' Z1 L  x% g$ ELDA  是 读入指令,  即就是 要改到 把 地址 讀入至 寄存器A
' Q1 u, Q7 _0 S$ W' I
5 ?- N/ a  y0 V, [( c" S6 \- }; D" W4 W雖然 讀入至 寄存器A 這方面 還想不通,
- w' e4 ~: @. d9 N5 b# P* g5 n總之 就是改掉 DEC 不讓它有自減的指令,  就能達成 我們不減飛鏢數的 目的了 # n; O% J. `1 r+ [- f! m6 \9 \/ X

6 w6 J" R+ c( s- g3 {: F. v# H
! b5 J8 w% C+ W7 _8 ?; q8 d# #  最後 看來一切都是要 先 熟讀 6502汇编大奥秘, 否則就不知道 那些英文指令的作用/ z% p/ C" H# p0 {0 k* n. P  V
! f8 |/ x% M, `; f* s- m' N  E; E$ r
=================================================9 u6 Y5 B( m. O' T8 e& W& w

; [* q( Q. n1 J) ?2 i8 x( c說回 6502汇编大奥秘  CHM檔,  偶也開到了, 方法如下 :; ^% g  u2 Q2 I; N5 R) K9 H5 G
$ M/ O) |5 y# j5 n2 P: T
一 : 檔案名稱 及 所在的路徑 要更改成  不能帶有中文字, 9 t/ x7 Z, o+ B& \
二 : 跟著 右按 選 以簡體模式開啟
. m6 }% q) V$ o      可能我的電腦繁體字版, 此CHM檔 是以簡體字去寫, 所以就需這步驟( _* U  K/ h0 J, a2 z
: h7 k  d/ A8 u1 V6 z

9 T% ?! @9 r$ `5 V  {& F9 t$ s9 ?# O$ ?1 M  v  t3 D9 l6 S0 Q$ d* _( p/ [

/ A) c4 X/ ?6 x. t: j2 ?; D; }  l- G! R, _- Y
: x  M. H& |3 f3 ?
# # 這CHM檔 可說是一本教科書, 從現在開始 才是真正 考驗一個初學者了
. W$ m# u: G9 l0 E) D! c3 s% w9 u9 H9 h% D       如果沒有 耐性 及 恆心, 或者沒有前人 的指導, 相信都很難學會呢
[发帖际遇]: fanco238 发帖时在路边捡到 2 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-7-24 15:34:22 | 显示全部楼层
疾风之狼 发表于 2014-7-23 19:44
( Y! r4 d7 F" `* |$ a) ]" C[0662]是地址,0x13是该地址的数值
/ W. o1 Y, ^0 p5 H5 ?' u
: u! _; P/ q5 x. EDEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...

3 u1 n' F6 r" {5 V+ h1 \/ j今天又領悟到多一件事 {:4_98:}
: d* W9 d/ W9 \- g3 B) S
) ~+ [* S% S3 c於1樓始初的鏈結之圖6 下方一段文字 中間寫的 起初看不明白
" u: M9 a* n/ e0 ?+ }現在又想通明了少少0 S& L% M6 J' j# k
---------------------------------------------------------------------------------------------5 @* K: J% }5 ~5 s

, S3 n  |7 j- n中間寫著 :
3 c8 }9 ^2 A, w; b' G8 L2 P舉個例子 假設 X寄存器 數值是6... .... ,  1234+(X=6)=123A3 f1 @( Q% `) {7 [# s
起初真不明, 還以為大大 是 一時手誤 打錯字嗎 ? 1234+6  不是 等於 1240 嗎 ?
$ r0 h( h2 S! i  S9 |或者 那個+ 不是 加的意思, 只是 單純一個符號嗎 ?
) t6 M! H! Y$ u" q
; \4 h! |2 v9 U+ s# q+ h. n! F原來又是 16進制 的因由
, T5 f$ c6 s1 l! H3 [! ^0 t: t- B) |) c; }
在 16進制中 16個碼 是 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F! b4 p: Q- ?+ h) u$ ?' q6 J
即是說 9 之後 不是 10, 是 A' |. w+ C& h. Q
6 Y6 E5 ~7 g6 O
所以 1234+6 不是=1240- d. e# _4 }0 i+ Y0 V/ x
個位數原在 十進制 進位變成 10 , 但在 16進制 不超過16是不用進前一個位
. [* R0 p# t) G% f% O" ~所以 1234+6  個位 4+6 不是等於10,  只是 等於 A,  就是 123A  9 C" E6 c6 g8 M$ R

0 N% ?7 w. a8 U! Z8 @1 G==========================================; a2 u* h8 E6 m% i
  _# t0 }' T7 R5 M& F7 o
其實我也知道 管理員大大每天也很忙碌, 其實不用回帖給我了8 v/ u; S4 \: d9 n
除非 以上 是我 理解錯誤, 才請作出修正, 也在此再次感謝
  ~& C$ ^0 G8 Y  r+ Y8 N: k& U  ]) b6 S. c, I/ T; q
其實研究如何修改遊戲, 真的是非常困難, 且非常耗時
" [9 ~7 }3 X; m; M9 E我是現在暑假才比較空閒, 就看看我 這今年夏天 能領悟多少吧  {:4_108:}
[发帖际遇]: fanco238 打扫环境卫生,被奖励 3 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 6 天

[LV.2]偶尔看看I

发表于 2014-7-24 19:04:00 | 显示全部楼层
搜索->修改% J: w" J% R5 [. }9 `3 \$ _! k
% a7 \* q. o  a8 v; l( T
说白了
3 y% p5 |* z* c6 ^3 H! ]+ H修改游戏就是这么的简单

点评

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

评分

1

查看全部评分

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

使用道具 举报

签到天数: 204 天

[LV.7]常住居民III

 楼主| 发表于 2014-8-31 20:58:20 | 显示全部楼层
本帖最后由 fanco238 于 2015-1-31 17:13 编辑 8 m9 H+ q- N% l0 ^
疾风之狼 发表于 2014-7-23 19:44& F4 W- K6 v. h
[0662]是地址,0x13是该地址的数值
; F1 i: ?8 v2 t. p# k* P3 b+ B( l9 Q: y# |
DEC是自减指令,DEC $addr,X指令是以寄存器X的值作为偏移量,把$ ...

. ^3 v, i# A2 \6 ?/ c0 g
- T7 g5 ^* ^- m0 S" Z( T終於成功修改了 赤影戰士 受攻擊不減血. g1 t3 j& \3 u

0 X) m1 k" K8 n6 @, F9 B6 y4 W4 A
1 F: ]5 q9 Z9 \& X7 {$ t; H6 c. M. e/ b/ K" F
今天是暑假最後一天了, 整個暑假結果也領悟不到什麼...  看來是資質有限了
# ^, G; l: m6 M5 ~我曾試把此方法 套入其他遊戲去修改
1 p1 \; N5 m& \但可能我心中想改的遊戲 不是受攻擊不減血的類型遊戲, 是受攻擊就馬上死去的類型+ g- f0 W' ~" h5 T: x
所以都不成功呢
: l8 \& h+ x" L( P最後雖學習失敗, 但也非常感謝疾風之狼大大的教導  {:4_118:}

点评

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-26 14:03

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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