EMU618社区

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

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

[复制链接]

签到天数: 1117 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
" o( t# W5 f+ [9 c) j- L* K4 `  我该的是Name=彩虹岛7 \7 q+ H, c7 r5 V
         [小宝石全齐]ON=54F,FF
# d8 h5 K+ N, M, |3 W- E7 V: p   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
" t: _( U( |* R# K7 _5 _  W# o. H
   然后就将改成0 A; n6 b( g) u! `% u5 O
   再然后改成
: q- s! o  h1 i   最可耻的是最后竟然弹出这幅令我精神失常的图
' b/ s# c, K3 _1 N' |   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1773 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}+ P/ {" c  W. {8 e7 W

5 i  T2 ]! T7 ?/ e还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
1 q8 [" q) p' w! `5 q$ Q! I7 D$ W: X2 `) I
: ]) H% y0 r  _' T48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD! r, |" H5 M. N
7 e( V2 d9 |  q% n! Z  f$ P
机械码      机械码指令解释
  t6 F; f8 G% Q
! p; Z8 O2 d5 a' P0 s+ h48              PHA            A入栈(可以理解成保存寄存器A里的数据)/ H7 w6 U0 a' I  f5 [
- X: ]# N/ a9 }
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
) V/ i% o! A* @7 }. G! j$ e5 {! ^' L) j
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.6 K2 J7 g: O7 B1 `
, Y4 Y4 `# L$ N  c
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
- T+ b) I2 a; T- W% s8 I" `
% Y: N- j. h: k2 y$ X8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
7 `, d9 r- X0 `! o: Z* `1 q3 [# x* h  E0 l: ?# c, f
68               PLA             A出栈(还原寄存器A在保存的时候的数据)* l' o" {- d' b
* d1 S7 z# r' H7 L. @
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序" K; N8 T+ g4 p3 b" f- j* V) x

4 U  X: B) b% G他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
$ u6 j& f& p( i2 ?1 {8 S" `2 X- c8 q2 e7 ]& ~% w" X& U* [4 _, I2 `( j& Y
   PHA是隐含寻址方式的单字节指令,操作码是 48; p, A- Y# R1 o* C' f8 r
$ H$ X2 o- H3 a" P/ l" x9 W& F) l; `
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
, L: ?8 ]: x; T" M& u: `. w5 p! W" T7 N
累加器出栈指令 PLA
* W& p3 S* A5 c' k. A' R- m9 w8 T5 L, A
   PLA是隐含寻址方式的单字节指令,操作码是 68  I+ `5 t$ K" T" O$ N+ n' D
9 r6 `" R( g0 N; A' b: y
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
9 Z, I' ?# \% a1 A+ m# I
0 Z) H$ W( o: W8 X6 b$ [9 M4 [比较指令
) u$ v. x  C) e/ |8 P9 J5 j: h) K) @$ Y
7 Y8 }  n; _7 [& ?7 iCMP--累加器和存储器比较+ C7 I3 g7 W* d: K9 S3 w# i/ P

) A) N, ]) y( n1 aCMP #$data C9 立即寻址
1 w$ i  A% a( @$ U
0 {5 t4 k# W  F5 H; t9 FJMP--无条件转移指令
, a6 S7 c( V- v% O- g. N/ G4 _/ @; M. l2 ]5 V% Z6 \: c
符号码格式 指令操作码 寻址方式
2 n- |& z4 {, J- t9 u: CJMP  $data16 4C 绝对寻址
) `1 }* b: Q, [1 f7 y. W; s" w: i; ^5 q. T6 O
2. 条件转移指令
' F* h2 D+ U! W% }& N, D2 I2 B& ~
0 B& t- ]: \- VBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 6 N5 s3 k3 k& g+ @# e5 N
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
2 R* |: j2 @9 O4 ~$ e/ x/ oBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 , z6 _& p5 r+ [
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 6 Q& k2 r$ z+ e  r- A
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
. c$ p$ ?" l0 kBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ' w+ I- k/ @; ]# ^2 o2 P+ ]2 S
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 1 y% H# u# f: ?8 u6 n
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
+ D3 \' n3 y* A# i; o
6 \( {  Y! X9 H! X6 @9 ~& JSTA--将累加器的内容送入存储器 A--M
  ^7 K8 W1 v6 oSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 ( _8 ?" t+ w; m; h6 A; J( n+ s

6 m5 R8 T3 L" i+ k2 B0 `1 C
6 J) n0 z! L* T) A. z7 e2 E看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
! _- B9 Z* a; `# M. A6 ]4 B
/ s/ A, \( i4 U5 L7 `
9 z. I, m  [/ A1 uLS竟然隐身。{:4_114:} - o" s; Y$ Y9 g0 `2 M" G: L
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 0 r. ?$ N1 H2 n* L& y$ c
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
! i- M- X! \3 d5 e5 a, u+ y! t; t
# c. @7 k3 a/ t0 s* I5 J2 d这两条也挺好用,比较大小的。

签到天数: 1117 天

[LV.10]以坛为家III

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

签到天数: 1117 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
( q# n) G9 {. b" d3 H$ |& ~; n$ X9 M, F2 E5 R2 K$ \3 A

: p3 ~4 f8 a9 C2 \& f8 l修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 00:36 , Processed in 1.106446 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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