EMU618社区

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。3 ~2 W; x' s2 w. W( b0 {
  我该的是Name=彩虹岛4 h0 }0 A9 U  V$ o: U$ P' z
         [小宝石全齐]ON=54F,FF
2 C7 V2 E: C. `0 l: O   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

3 ~9 h, K; u! c6 R: f, }5 L   然后就将改成+ h- I& Y/ H( j* T' Y% z
   再然后改成
4 {* Q9 f2 N7 W  O3 x   最可耻的是最后竟然弹出这幅令我精神失常的图
# U# O$ U2 m4 }1 z  S8 z9 f9 t   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1895 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
' F4 H1 n$ A; S3 S- }; c1 \' P/ j, {, v2 b6 S
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
  a; F9 |- ^6 ?
( U1 U2 b, w# A( A) g9 U48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD) E9 O' s# a  O, D- o) B6 S8 b
  F1 |& L, K- _* I9 u
机械码      机械码指令解释; z/ [1 V) Q1 \4 O+ q
0 H" ~7 D# H5 }* K& M2 |! P
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
0 X8 c. X$ d0 @9 o& N
: a7 z1 D2 a  P$ V0 O1 AC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)  y* \+ D7 ]" A2 I" \
7 A' ?: ]3 p& C8 s3 C
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
2 k  }) Z4 p- i' Q2 I% b/ y: ~4 `# W* A! W' q
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
- K2 @  k0 u1 T! W1 @; C/ c# _( E; Z) f
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
/ L/ z3 y9 u7 X2 q; G) K: t, g
) C) C: e& m2 D. B5 p# L  `68               PLA             A出栈(还原寄存器A在保存的时候的数据)
3 I/ {3 H$ k& R5 E, P7 M2 N( s9 @( Y" z
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序  n) @! m, @" ~  F
' F, R3 l, o! B+ ]% o' ^( o4 v
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
+ l. _- P4 H! j: @: r
8 t1 o. C- z' D/ C( M, r- M/ V   PHA是隐含寻址方式的单字节指令,操作码是 48
! U3 i( N3 R+ u2 p/ b3 F  ^* N; C- n" y' D0 }: M+ |' j' e" l3 V
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1$ E& `* f0 b/ {& n! K5 P2 c
& I( L: m4 A8 x3 v6 V; s* [6 g
累加器出栈指令 PLA! C$ |, e; [4 q2 F# |) T

% w7 D$ ?0 a/ H9 n6 l   PLA是隐含寻址方式的单字节指令,操作码是 685 ]. v1 w) }. l4 F1 G2 C7 y; z5 j

0 a- x- e8 }- q) ^5 d3 E   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
6 C9 G- F' O. U0 u' @) g% I  S) u6 c. i* H' j- H$ n& l, {  a
比较指令- q& v+ V/ l- b# U7 }
# z( q# n+ ~7 z( P& P5 M2 t
CMP--累加器和存储器比较
: R2 ]- ~+ J8 R. d3 v
: [1 I$ A! Q3 NCMP #$data C9 立即寻址
4 K, f# f) V. I  X
# k% ^9 Q# p; K' T1 a& mJMP--无条件转移指令' H) r6 ~+ d8 o* v8 m

" x. c- C* y% f7 V2 F符号码格式 指令操作码 寻址方式 9 y3 F+ o% G3 Z
JMP  $data16 4C 绝对寻址 6 Y) S9 J1 E, m* ?+ V+ ^

+ K% B# b4 K: s+ o2. 条件转移指令
) v( ]& I% ~* Q6 s2 Q& T' |' i  D4 `- b/ a% @6 g! R$ z* ~
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 6 F* I; \* Y) h8 w. }- f6 j. R& |
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
  b4 U' T+ T3 @8 n+ @/ xBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 & c/ C$ b1 i: k
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 , E7 p+ b  g+ R5 V/ `* d. F
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 7 z3 Z, n# ~5 l* l' W; z' m4 v
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
: z3 G, r# ]% |* P; W# w4 E. bBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 . T( E9 F$ P) H+ m% ]% g
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ) k7 @% r2 U  J2 Z% h
- |. I! B" A: A" H
STA--将累加器的内容送入存储器 A--M6 S$ j4 s1 c1 x  I1 D
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 7 h5 Q% O  X, u( ?) T

. r0 p3 X! j" m/ B5 [! d5 i+ w: `' V' e( g8 ]' ]- Z
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
. H/ ?* P( Q0 R# `! s0 c( {  c6 j7 ^
+ k% k; {5 q  e% A" Q* H( U" r* R5 @, l6 z+ V
LS竟然隐身。{:4_114:}
5 o) V) T2 |2 ^BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 " ?* f/ I0 p2 U. N7 d7 r
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 ! a* O% W6 U9 a8 J& g" _

# z4 o2 w3 i6 {! W1 t这两条也挺好用,比较大小的。

签到天数: 1229 天

[LV.10]以坛为家III

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

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 7 Z# a' w# o$ W" J

) F4 A# R7 x; P+ c* r' a* \+ m/ \5 t
3 n' M- X. y9 }( I) `7 c& H+ P8 g修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-2-25 03:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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