设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
6 J6 |5 ~/ R+ d) E$ Y  A( \/ N  我该的是Name=彩虹岛
% u' C! A& X, K& v         [小宝石全齐]ON=54F,FF# N* c9 L* J) h( d# G' O
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

4 f4 G( u& R6 y: r   然后就将改成
5 X0 s! y$ `+ h, p   再然后改成; ?. b5 F, A% l6 u- a" _' B
   最可耻的是最后竟然弹出这幅令我精神失常的图
) e% T5 _# N6 \* Z3 n; x   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 1993 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
  U. |2 t; U0 M$ ]9 L, T7 Q1 s7 _! K
9 I* Z& |  [* F7 E; O! A还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
3 h, e: S- R8 f( v6 ?
' r: @  w0 E6 s48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD; n! A1 P5 M5 E( J/ P7 Y
% W& @! D! C: u, V( N! l* r
机械码      机械码指令解释
4 \7 }+ N5 Q5 F; u" u
, w- |5 i4 O/ [2 Z) O3 L48              PHA            A入栈(可以理解成保存寄存器A里的数据)
, s5 M# M, p( C' M3 p0 ^. L. L! c# D: b: N( Z- O( b
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)# K& ^% Z7 E( D' S

3 ^% S3 d7 Z3 R6 w8 yD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
; U! [% d4 o$ Q( w" a& G8 w# q" l0 Y! V& q& K! B; ^' o6 f. }
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
5 t; v9 b3 W( [8 Q+ ]& \( b+ S% V* ]& b) d' l
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)! {; ?6 Q5 X2 A5 W) n

. w( Y$ F  s" r5 S; j( Q68               PLA             A出栈(还原寄存器A在保存的时候的数据)/ }5 P+ J6 |% K, E5 S! ]

3 {! j9 {" m% v! B+ w1 I3 [/ c3 B4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序1 [6 M3 y: k* E& e$ s7 {5 M

1 z( b0 g3 s1 M8 [$ _9 z他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA" s8 W/ d, `3 N* P. \) v) p# R  ?

/ Z2 B8 G6 ~* ^9 d0 K/ w7 Y2 m   PHA是隐含寻址方式的单字节指令,操作码是 48# v) |7 _+ J5 O/ g' n

$ s9 c+ F( j  Y5 E" t, D  d, S' `   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1! T! |# p* g. Q
5 Z9 B: j# I8 G; z; t
累加器出栈指令 PLA; l: d% `: L# M3 p: u
$ k. x' K3 Q. a: w1 {
   PLA是隐含寻址方式的单字节指令,操作码是 68; K" a% Q% i0 z+ Y( Y3 N) Y) Q4 x
1 h; o, c: H/ e1 x: R
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A- V* s- p9 i6 l1 W: [( A) k' F

( p4 C$ r- h: ?3 i9 C2 b比较指令( t& s2 Z% P3 ~% ?4 Q; c2 h4 U" P
5 |, ?2 w7 N: w
CMP--累加器和存储器比较3 P/ P  {- l& R! A# z5 \& E

& z5 l1 C' u+ c( Y( m' f% H+ w* F  jCMP #$data C9 立即寻址 ' z5 B+ A9 |2 g
& v! H9 d' v" P$ m6 Y% q) B
JMP--无条件转移指令
3 O8 D& D2 F( Y; P
" Z1 E& `5 g9 D8 s; y, P# K符号码格式 指令操作码 寻址方式
& p% k2 N6 N' L( W" o+ |  K. B  EJMP  $data16 4C 绝对寻址 . j, m0 {3 q3 u3 U! ?. c4 G
& M2 `! y9 c+ f( c
2. 条件转移指令
$ Z9 V8 F* @/ s4 q7 W
/ n* M: J0 L. `- ?" YBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
% l; V; i$ m& ABNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 % G  b9 O1 E& o  |0 H3 r
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
# s& U2 o- M) s$ p+ D& J& PBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
# }& j* r* a# c( S; q9 zBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
' V5 X) O7 V1 V3 d) h  BBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 3 Z2 Y+ z1 G) C9 U( l( @) I
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
0 q' o. I2 r# ?( O8 T4 `BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ! \* y' R9 _6 ^% ~
4 P3 K8 q/ k" i1 N# L1 m9 \) o
STA--将累加器的内容送入存储器 A--M
: m5 W& f8 N7 K* ]% y  e9 ASTA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 7 h) W* q# v9 |2 x
& Z' W) J' [2 H
9 s7 I' f6 k! t! ~  w) @
看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 ) R! d- n/ E9 w: O
9 L# A. {# Q+ e6 D) P
- g6 B& M( {3 _" d4 ]
LS竟然隐身。{:4_114:} & k( _: S; J" Y
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ) r% H9 G1 S6 a$ W0 @
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
# m' ]: a! _9 x" K4 E' M8 }' H; Q: X/ G% s2 ^
这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 + @/ d. g* l/ d7 j$ @

# ^- z  G# U6 E  W( `9 }# D3 j3 I) l$ I* `# {
修改成功!!谢谢狼大大
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-26 08:53

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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