设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。: H% T/ _# y; ?# R) s
  我该的是Name=彩虹岛
: w/ v1 _+ o5 }5 C' X5 }9 z3 L         [小宝石全齐]ON=54F,FF
# u' X$ v+ E% q( G   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
7 e* O5 W  {. \/ [2 S0 T
   然后就将改成. m4 ?: _' ?1 x7 d$ q
   再然后改成
5 H0 m) S' I+ l. I  o, Y4 o0 ~7 E   最可耻的是最后竟然弹出这幅令我精神失常的图% u9 I9 K7 q+ |9 t" }: |
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 1973 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}/ N2 y9 \5 [4 c' u  N( \& e! f
: V. ~0 O( a( B
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
. \5 L8 `7 D& X
9 C; |( d9 w5 @% G) {48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
0 ^. h: T, c* R4 Z1 O4 E3 D9 c3 K- R- D) G0 X9 F+ {
机械码      机械码指令解释; H/ K5 `: W' r8 u3 H
2 z3 k$ k" M; V8 a) I3 z) u
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
. g/ Q0 l# R9 G) c' W5 a; ~% v! ~) D' ]8 ?" O: d9 q0 ], {
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)& m5 v" W0 a, E  G& R2 ^
8 H8 R: x# V- s5 ~* L9 x
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.' B4 Y  U$ n2 K
# q  q; d6 K! n1 |
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
' {! ~! u) ~1 \& K- O% _7 g; j" F; F% r9 R5 R
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)3 u- R1 S1 l7 b" i- T+ x
- Z9 \4 A2 ]+ s( n6 n9 {) N6 N2 ~5 l
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
9 D  `6 f$ ?' Z1 Q& U: O8 `$ E$ s2 Z( `
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
, s. ]  k' u2 K6 b  S: D( X: o$ T4 f9 b% Y
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
  i! A# |& h. k5 `7 p& j7 c  l0 x# _0 P) K4 ]' b
   PHA是隐含寻址方式的单字节指令,操作码是 48
6 m* R; N0 t# e2 @4 P) u1 ~7 T; k7 \1 X9 Z
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1. e) t; E2 {. o7 [9 d

9 `5 O; j$ D6 }; L  G2 q累加器出栈指令 PLA
/ Q. w7 w  q$ o! b- i
, u& O3 p9 q! ]# k: }   PLA是隐含寻址方式的单字节指令,操作码是 68
$ o; q! r8 }9 f8 l% e6 l
& s' }) T# z. G( h, F% U   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
5 T5 Q* [& z8 j1 k9 m! R7 N4 e4 z3 N8 K7 o6 r4 K. t
比较指令, L( M, E' P1 T8 }9 l1 K
2 Y1 @% n& O/ ]% y( c
CMP--累加器和存储器比较1 ?9 K0 Q& b7 z2 T; M

# {: v4 f) I9 vCMP #$data C9 立即寻址
* s5 a- `1 H4 [
  l% R& E( b3 r& H( ]9 ~+ c  zJMP--无条件转移指令
& J* _5 _3 Y5 R" Q# r0 l9 o7 \+ l! @+ W5 x9 n
符号码格式 指令操作码 寻址方式 7 O1 m- H. f( ]& H" I
JMP  $data16 4C 绝对寻址 3 t0 Z2 W' N& [; a4 M

1 g: R: i9 g4 y' F# J, @" I2. 条件转移指令9 y. ^" v4 P8 _) L
6 C5 l+ d% D  S0 y$ s
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 1 A2 C5 v2 \! B, ^# y( Z' H
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
# X& e3 K. P" d+ f% q" fBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
1 {7 u! a- N0 y3 o" p* hBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 1 n* Y0 j, j- o, `( ]
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 $ g. E* B! N2 d% d7 y
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
: S8 F) R! z" M: ^, ~BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续   n8 M6 c' D0 D! \$ A: I6 ?# Z/ v
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ( Q  S5 u+ O) @& a4 D

+ E# W# n2 N( S" _STA--将累加器的内容送入存储器 A--M( H3 s: J+ A9 u! P2 O; [( g
STA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
6 U9 e/ C* Y2 N* @3 U: i4 u/ t/ h
( t, q$ [: F7 a. q( u& z1 K0 x/ b
/ H7 F' b$ J  J! m- K看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 & y1 s0 m$ D8 T  R

. S, I* |+ S; y# z, t
: I6 _4 d* P3 Q# d! c& M4 aLS竟然隐身。{:4_114:}   w8 p# w- V6 B: H* \7 `
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
# e* v5 i) m# L. Q' Q! @BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 % }0 S1 r8 H$ \/ S+ v  Z: o

: U# f; J3 t4 V- g这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼   n' b+ c7 X9 V* Q9 u9 H) [- J3 ]0 c8 l; G
$ K3 ]/ I! f, K6 u4 g

! }* @0 U9 p# [8 ~# {/ {/ s  ^修改成功!!谢谢狼大大
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-6 05:02

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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