设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
* d6 V) r; s  U+ I# d6 I  我该的是Name=彩虹岛; y0 y5 P& r3 {
         [小宝石全齐]ON=54F,FF
, B/ T, d# x% [9 n. n   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

; N5 l9 f) S. Z: q   然后就将改成
/ y9 q$ R9 ?# f! [( H6 w* L   再然后改成& w% `4 i6 ^! o& A  g, G5 I
   最可耻的是最后竟然弹出这幅令我精神失常的图
5 o$ o7 m, u3 B2 w& _   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 2053 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}! m* g$ E% T; F/ c( U. `( e

6 U* T2 u( \) h. q- Y还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。& e2 u' W" ?+ d9 W7 {0 M

. `2 |0 R; s# _6 v; n48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD1 P4 [% J! V/ _2 Y

7 G' C7 |- I# N- Q0 S机械码      机械码指令解释: y2 w6 s6 N& u+ t3 m
  d, C* S4 C  O% D
48              PHA            A入栈(可以理解成保存寄存器A里的数据). v0 ?; o2 U7 z" c+ s* g
( j5 l4 |: m2 S* ]
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)5 ?0 i: x7 [+ K3 w

- ]( i) r+ S8 m% ZD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
; R/ S% t4 |7 j/ B+ m7 Z6 |  ?8 G: `4 ^4 p
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
/ l7 p0 y* @2 P! z0 H! V0 t
; n$ u* Y3 g$ `# F9 N8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
  R3 o" u% t9 K8 z" y7 Y
0 z/ J! I- @' K68               PLA             A出栈(还原寄存器A在保存的时候的数据)
" V& N( T2 I, }2 t+ B  |% L# Y# A3 }
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序* ?. m! w# e* K( `3 x  l5 M0 O
1 q" X7 _* a" ]% `
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
) w1 \0 S. @  v6 m6 V& G- c$ _# e  \' V7 a! W
   PHA是隐含寻址方式的单字节指令,操作码是 48
1 I# l8 ^# L) _- `2 X
6 l. B/ n* s& ?( u5 t   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1: {  p/ T( a* U. [8 }

. E- S. P" D  l4 }累加器出栈指令 PLA
4 t  q; c& |0 W" A1 m
1 w0 j/ A- _% l0 H6 P) Y5 j8 N   PLA是隐含寻址方式的单字节指令,操作码是 68
! x" q0 j4 E( B& `( b: N% d1 O0 |8 Y$ I# [4 l
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
% s5 s4 j( q7 U. e9 ~  W' G, K& l+ o4 p2 N6 r. [
比较指令. w" k" ?" k0 K/ J0 ]& f
3 C; M& N- B9 e0 U' Q* M
CMP--累加器和存储器比较
' X- }+ c8 ^+ S8 t3 D& b9 {. r/ V0 ?2 K. r) P( a
CMP #$data C9 立即寻址 , |8 d; z1 i3 A" R1 _

4 s, T) r7 |8 v6 t2 PJMP--无条件转移指令
5 t* n, Y* b+ e( F$ ]) \
. A0 F: P" y% ?. i) E% ^! o符号码格式 指令操作码 寻址方式
, k/ ~, d9 R% g" j$ C$ _0 R8 K3 jJMP  $data16 4C 绝对寻址
. c3 Y% W/ I2 j# @; M& b' D. D% ~" V* s4 R
2. 条件转移指令; U  B% t+ E9 O7 W
, E# a  X6 R6 g
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 ( E$ T! P% _2 ]
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
( M  v1 p  Q4 W8 t$ k: h4 J8 V# nBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
0 G& }1 H/ ~( p0 j, x+ yBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 4 \$ c/ d4 b. K$ V
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 7 v5 ^1 @$ _' L0 ]& ]0 |/ P9 n/ e
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
: B- `8 P) X1 S. B) W: |) TBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 5 J! |& U4 [- h7 L& z1 F
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
+ M& P: O6 ~1 {1 g7 t
; W, t# Z" u2 W+ C- l# dSTA--将累加器的内容送入存储器 A--M' s+ i$ _- c# R, W  r( m& P, s
STA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 3 W7 h( {1 X7 ]& F6 T' L. M! P. X
1 M/ t7 _/ F1 G& u- N4 x5 _, ^2 F

8 T8 P) G4 a/ U$ _看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 6 x  V) J) o3 S" X& e/ n

" q- s5 t4 J5 T) h
3 i; n3 O4 [6 q9 R+ lLS竟然隐身。{:4_114:}
6 h+ o. o* u* Y9 g7 t5 S: RBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 2 G" x3 ?, B5 k9 e. _) N& r" n3 y
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 ! ?  _; Y; y9 ~8 d- ^: M* z. M; Y! Z( b
3 z' \2 E% [+ l- n. s5 b( Q
这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 9 a5 f* l: ~( p2 w! o
: _! [$ {6 Y/ U- B3 O  r6 b) Z
& h- n4 i* V9 b; I8 }; b$ X
修改成功!!谢谢狼大大
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-26 10:01

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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