EMU618社区

 找回密码
 立即注册
搜索
查看: 1261|回复: 7

[求助] FC按键得到某效果的修改问题

[复制链接]

签到天数: 1380 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。: `/ R0 i7 V4 f8 p& F7 B0 e9 ^8 q" s
  我该的是Name=彩虹岛
$ W' A* E& I& Q% |0 k4 ^( H         [小宝石全齐]ON=54F,FF
9 b3 P% O$ v9 L9 t   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

+ Q" J" p5 ^( L8 N; j8 B   然后就将改成
" B1 K  r- m# o4 ^( K& {2 T   再然后改成
* K/ s+ r+ E$ g1 s" V: x# X   最可耻的是最后竟然弹出这幅令我精神失常的图3 @; f, M9 V& a5 U; o
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

签到天数: 2049 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}! Q8 a1 Q8 [$ E" d

" t0 i4 _6 a  y! g9 b# j还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。* Y; M7 x0 e% q2 d, |
3 x, F1 c. a1 A0 \7 L+ Z/ T
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
9 A4 u0 r5 F6 F# y+ s9 r5 z6 X' P9 B' u+ f% r* d( U0 X$ ^; Y
机械码      机械码指令解释+ `- [) W6 \+ ?" |% h9 S/ @9 W

7 \( o7 E3 _: p4 N9 C# o% w7 _+ |48              PHA            A入栈(可以理解成保存寄存器A里的数据)1 k# A/ ^, L2 `0 m

9 w  a9 E& H5 F4 P. v' P  _0 SC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)& Q8 ?5 p9 Z9 c" k2 Z$ h
- q) K1 V6 p0 o, m& C/ L
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
, F3 V7 ^! C- k& |: O" n) F
: E- F# E$ _7 @; r3 k  V9 fA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)6 P  R9 D, |$ F

5 X  l' h1 [+ L5 a7 i* `8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)( |2 x1 u8 ?9 K. T  c' Z5 l
9 t5 |* L& X) X9 A
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
0 d' L  D! z# B) P# Y- j2 I- N( j- e  _, j, G5 w: ]' e
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
, v; C; K" X( i/ `" g- X5 t6 G! G& x; P) m3 t& s, t0 @0 n
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

发表于 2010-11-16 23:08:59 | 显示全部楼层
{:4_121:}图太小

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA: `% f# d+ c2 G8 f$ ]/ G
3 m# s7 H5 R) o7 M- Q7 _
   PHA是隐含寻址方式的单字节指令,操作码是 48" ^4 }8 H0 B  j% _5 k  n
( }4 M$ n5 k: a  F4 B0 y
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
- t' Z1 L) p# e( [7 q2 c, B" Y# ~9 l: H0 D
累加器出栈指令 PLA
9 I) Y# t  d* V/ @& w) Q
2 K# O; V* [  i+ a+ s& z% h   PLA是隐含寻址方式的单字节指令,操作码是 68' x  E4 m2 `5 Q0 \
) v- j$ Y; E4 G: \
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A2 ^! D( ^& h; a: c

# X. N- k' l/ @& i1 m比较指令  i' W0 p5 i- m/ O* S) `' a

2 ^6 }! ~9 _. H/ _3 OCMP--累加器和存储器比较* \$ b7 G+ {3 V2 Y  X0 u

5 ?( L' E! I& i! |4 y! }  dCMP #$data C9 立即寻址
8 |1 W  G: F3 R5 M; o
! }6 B" ~5 ]  i. HJMP--无条件转移指令
. f7 [/ T( T! M2 x3 O+ G; V2 j4 e; X; I" F: d8 Y+ n
符号码格式 指令操作码 寻址方式
, d2 _- Z: h  M. mJMP  $data16 4C 绝对寻址
% H7 u/ }) m; H( L% J- S% m* `7 y1 J, A1 {0 H9 }+ J
2. 条件转移指令0 P$ n1 U  l3 p1 ^

5 w8 x$ y) f& y4 u$ |$ H, vBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
3 {" F% A) A5 o8 v- SBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
1 W+ C+ b! [) ^& r- HBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
* v" e8 a! W3 `& sBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
+ b6 @+ g' w, Y# F% L6 n* NBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 1 g6 _; c0 g- }. L0 ]* l3 Q
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 / B4 h. E1 K5 l
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 4 s& {. o6 [2 I# O
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续   g0 |7 J) L! h- |& y

* \, ]0 v+ B& i# y; ~% NSTA--将累加器的内容送入存储器 A--M. Y- P; V' M: q$ k, J2 K9 p
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 / D! u6 Q6 Y% W$ Y% r* X

+ I0 s" A- t# @& p8 W6 c# w* ?* ~" X, ^5 }
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 - _) T+ `$ m1 f' m. [

! A0 k2 t6 M, {" b# d% S
8 I. ]2 \( V9 w: }3 MLS竟然隐身。{:4_114:} + H. J2 Y5 J- p1 D% w: C/ }
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 - |7 h* l# ^9 t) M. i
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
' L( K( G+ B$ I- W7 G0 ?( ?) U
1 |2 L% X' `" p7 b+ z# ?' g这两条也挺好用,比较大小的。

签到天数: 1380 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 17:55:33 | 显示全部楼层
感谢各位大哥 帮忙!!谢谢{:4_104:}

签到天数: 1380 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
9 D5 }' s) M+ h5 e, m$ o* |7 D/ t3 t9 F. [7 O

# r, T* M  V5 I# \/ O修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-24 11:20 , Processed in 1.096679 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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