EMU618社区

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

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

[复制链接]

签到天数: 1386 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
8 M% ]4 m( u' J+ {. I5 |7 b) Q, _0 i  我该的是Name=彩虹岛7 u5 a5 [+ `  H
         [小宝石全齐]ON=54F,FF
* O% u: F5 [- f3 |0 U   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

1 ~2 R( d# h9 D" ^7 a   然后就将改成, Y- O6 I  B2 s: t( X- j# `
   再然后改成
0 t% I! w. `- R1 E   最可耻的是最后竟然弹出这幅令我精神失常的图
+ A5 W$ j9 m: I) U  M5 ^) A: ^   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2073 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
( k" V% F1 [5 \: T6 r
" @+ {& L# U6 d( p还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
5 g0 I! i- @& ^
$ M( {3 W! ~* Y- U9 h/ j4 v. e: {9 X48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD: V) ~" A" Z2 U2 c+ b

: i7 d% M- E1 c7 F% J) `机械码      机械码指令解释: F2 ?# p: e7 ]* ]. `+ k* Z
1 s# ?# L$ u# x- v  a
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
& \2 q* v+ @1 Z8 A! H/ ^! u2 N6 Y( z* O0 E0 ^! B3 t
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
7 N( Y& _  Y9 r- g* B9 w6 E$ n( N1 B4 W* Z
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.; l& D4 U. A0 B9 U+ v; @: l
1 @+ m( y# ^& v# T; s9 q
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
% o" E) k, `' f! L
% m1 w" [" t7 s  _# `; ~) w+ k2 a8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
' D( S+ s3 a: p5 m* m# m
( N8 b/ c" V' l( D# D9 u% [68               PLA             A出栈(还原寄存器A在保存的时候的数据)9 i  o7 B1 s* m' z

: y+ p( I; K; [. S% o2 t4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
, A! t1 h/ ^( h6 x; j' b0 q2 r4 U+ Z2 o
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
( W2 `8 Y9 l' I2 ~4 L4 y( {3 E8 j3 O$ x# Y& p# Y1 G
   PHA是隐含寻址方式的单字节指令,操作码是 48
/ P# C8 I& R3 n. u! ?2 m% z7 u2 I* q" h, X  N9 k5 u' \# V- e
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
0 A" v+ T- a% X1 k5 Z' `1 J/ P0 z( B6 Q: x3 j
累加器出栈指令 PLA
5 L9 o, m& q/ ~! J) ~9 r' O" h6 s6 V# d/ x5 W& z% D9 ?  D
   PLA是隐含寻址方式的单字节指令,操作码是 681 E0 }3 Q& F& Q8 e9 I+ \% |3 g

. O4 v  w4 I4 g; @( i! ]! |) }   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
+ d% K, K8 b, G3 `  c/ Y/ [! g% d$ `* b% z" f
比较指令% X1 e6 y3 N6 l+ I' _
% y: T6 \. t% E$ O& _# I) x( G. N
CMP--累加器和存储器比较5 Q) k7 d: a1 L% ?8 q* Q, F& U) |8 H5 b
% s  N$ [7 R/ P3 q+ i# P4 s
CMP #$data C9 立即寻址
. R" q4 m; k. z, Q* U7 Q8 R6 L* g, V  A3 ?- q  g7 K7 s7 ]
JMP--无条件转移指令
* q5 W! k5 g" m5 B1 Y' H
0 J" S: r% @; w7 z符号码格式 指令操作码 寻址方式
8 o5 L) I! A9 TJMP  $data16 4C 绝对寻址
3 P3 P8 u3 R% d! F' s1 a: _/ @! f* O
2. 条件转移指令
1 J5 q; ]$ |3 l. Z. u
. O% F' g) e% ~5 p% [9 IBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
3 H" Y- ^/ ]" IBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
$ E4 @3 z; O: p' X3 R! W+ w  _BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
% S6 p& P  Z: d. a  HBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
; Q6 |( y% G  N0 v# N$ bBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 / w; {. o! D1 l4 w
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
3 |* F' f  p0 r) P  bBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 2 P4 R# {- h9 v2 M
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 4 |; _; n! f2 P/ B9 S2 {
. z/ C$ v' t3 E& [$ Z' U( O  ]) L
STA--将累加器的内容送入存储器 A--M! C1 Z" [( \" ^
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
* t  b/ W. L7 s8 i! r
, A1 G$ Y# r# z$ i! K2 z1 i8 [" ~4 C8 I0 V- ]
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 " i6 V/ i" L% }* @

+ y' O4 o2 l' Q1 F& Y/ O" b' }& L* @8 K( N' k$ W9 V3 `. F  y1 T7 l. X8 _
LS竟然隐身。{:4_114:}
1 y0 U! C# U. n% yBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 # }: w, r+ U! K! |  q5 m6 T/ j3 t
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
) @3 p5 j$ K" G% i' U( }* t% m% M7 `6 [2 i/ g
这两条也挺好用,比较大小的。

签到天数: 1386 天

[LV.10]以坛为家III

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

签到天数: 1386 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
& |! o  e$ l  k, L- J
! j9 I+ w- C3 u* u8 A, X8 a: J$ R: }7 M" b. P' H; g$ p
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-17 19:38 , Processed in 1.085938 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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