EMU618社区

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

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

[复制链接]

签到天数: 1397 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。4 P/ O- ?: i7 ~, u7 y# \
  我该的是Name=彩虹岛) |& _+ c: S4 r4 k
         [小宝石全齐]ON=54F,FF8 m$ ?+ K0 N- z2 S: C3 Z8 z
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

( e7 p) o2 v9 W' K5 L  p, [   然后就将改成$ ]1 s3 c! y. \: ^: H  L2 W) f% J
   再然后改成1 z% S3 v% b" X1 ^0 ?/ r
   最可耻的是最后竟然弹出这幅令我精神失常的图- }, @8 V7 g% C( x
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2113 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
6 b# J* {1 E$ h# W  E* d; l& u$ s4 T9 e
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
% W$ {, T6 V' E
6 g# Z" g  x; l2 q7 _$ B9 ?; _48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
# H4 |4 E; h) Y
4 N) L  F3 {5 C; o机械码      机械码指令解释7 U9 o3 X: K; \. f) t9 v  {8 o) |

# w4 W8 e! U5 V  ~9 S0 `/ o48              PHA            A入栈(可以理解成保存寄存器A里的数据)
  M4 |/ h% `% D0 z: R- I5 W9 _! ]. S* ^' n8 Q7 o
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)' Y" B2 R/ x8 e. E* ^

, i! V( d1 t& R: G- U. ?D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键." Y5 Y  F% p9 o$ ]1 u5 N0 B5 s
/ a/ D. t, B8 ~, z& R
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)3 J1 m* g5 l  Y# S- s+ o7 v
& s* q* h/ V. Z7 D0 k
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
( F3 P# s& _- K) F+ e6 N/ y- i# o! s# K( C0 }0 d. O9 ~, T
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
; B/ M. R/ z4 ~1 L
  K4 g, |- o  A/ K, j- M7 T4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序0 h* E  X  E: Y9 p

& V  {  y" A6 H; X1 Q( Y他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
- Z  r4 `) D& B. X$ }
2 }/ i+ d$ w  X   PHA是隐含寻址方式的单字节指令,操作码是 48
6 M0 T+ s% j4 \. w/ ^, n! E# {9 }( V: ^9 F
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减13 N' v+ k9 I$ l9 [* a/ T* |

* M( p; @: d- Q3 ?) g累加器出栈指令 PLA& m; R7 s1 _+ A5 }  M" e' L
2 y9 v, }, z4 h% M) s8 Y+ M) R7 p
   PLA是隐含寻址方式的单字节指令,操作码是 68
" ^. G, e+ V6 D/ O  ~3 }
5 [/ k- W+ r& ?# c6 N   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
1 c+ y" m# K. b+ X1 s3 A% l
) f; k6 e) B6 i$ R* O" I比较指令
+ C5 D  P4 {- ?8 l% N4 s6 X6 Y; H/ B' s0 \4 L  P
CMP--累加器和存储器比较# s" a: A# ^, f

: m+ G7 e5 X; O+ q7 P0 _CMP #$data C9 立即寻址 - b! x" Y0 X3 `  ~2 ?- a/ w9 [
; W/ q* I1 v/ I/ Z# _
JMP--无条件转移指令
0 b+ Q8 Q  o5 e  S% S& n( w! U9 \) p
+ H. o) {8 w& o符号码格式 指令操作码 寻址方式 5 ~9 n, _% t9 R8 R! B
JMP  $data16 4C 绝对寻址
9 D  ~4 F0 r7 U2 K3 E7 p+ T+ V
# b& ^1 ~) |7 R2 F7 D8 E2. 条件转移指令- ?! [8 d! o! i; f) b
2 U# u/ p5 K# _6 Q
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
6 H8 ?3 L/ e. p: L% y- VBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 - u0 N/ `+ R9 f
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ' u* [( T- G& f  R1 j) t
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
( Q- L) h. ^+ U( C* |- `BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 : T2 E( y& Y7 a  R, R7 g
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 & t# Y( A1 I' c  G+ Z& F% F
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
6 {2 z4 H/ w. @# |BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 8 P8 ?  ^- T3 B8 Y( p5 G
: J/ ]6 K% p; N8 E( k
STA--将累加器的内容送入存储器 A--M
2 I3 |7 H' {7 C: [4 USTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
$ G* V7 R; ], u% G- x0 _+ f& Y- v% `) ~$ i- y- ]

- n+ J; V4 g# L" S/ V! z$ S4 x' j& S; ?看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
9 Z! M- x% l6 ~# _+ f& Z
- h! t8 b# j* T! O
1 y+ ?  \# b! }; |" o, q$ j1 s) ?4 `LS竟然隐身。{:4_114:} $ K9 L4 {: P! P5 _" l- j" ]
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
3 i7 v& u  t, I4 f; i! i3 ~* ]BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 + m0 U' |. g$ B3 L2 O; g

" G  E7 @2 z" H2 Y. S/ l这两条也挺好用,比较大小的。

签到天数: 1397 天

[LV.10]以坛为家III

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

签到天数: 1397 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
$ M4 X; L) \: _3 L$ m
# _8 P6 e3 O& `( I3 @& E! Q% T3 t' ]- p7 ^* d
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-27 20:09 , Processed in 1.083984 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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