EMU618社区

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

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

[复制链接]

签到天数: 1148 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。; t+ i& d/ N( X; a! H  p
  我该的是Name=彩虹岛3 Z7 C: k* X# O$ T  K' [
         [小宝石全齐]ON=54F,FF
) X6 U4 m; [  O! f5 x9 E4 i   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

0 G8 W: R5 Z* ^$ Z   然后就将改成
6 c# J& i3 U$ D; N   再然后改成
! v, F( _5 z8 w7 N   最可耻的是最后竟然弹出这幅令我精神失常的图' i8 G4 I" A+ O/ r
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1803 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
8 O: `2 \4 c2 d6 G4 ~5 {& |, n+ a! A
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
4 G9 d' q) [# t  n+ n/ F" W
" P6 B" n7 ]7 `. Q0 U48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
+ \; U5 D- n5 j. I3 \4 c
! l* n1 A/ v0 h0 N9 w( O机械码      机械码指令解释6 O! R8 C" H9 |
0 V" m; P( u0 `. S7 J" z+ n5 V
48              PHA            A入栈(可以理解成保存寄存器A里的数据)* \+ c  H- D! f4 r, m# J
' G/ }# v7 i( x# j
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)6 t' a& ^7 c0 c  Z) L% g2 m3 E

  _) g* E$ x# k3 y; ]  bD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
& r; T8 ~) J8 O$ j: A: ~* [- }
4 Z6 P! p: l3 P. IA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)8 k$ I0 D% }  o- k. P
! w$ g* \" X- J; B& [
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
+ W. w* w! \2 a1 r. n7 j4 y# d& Q  A5 b; y' k5 H) r$ d
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
7 M- {8 o# {# ~
% l* J# L- V" @3 ^2 Q4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序5 `8 w0 T! [8 v* }9 [' E8 j

: z5 q1 n6 L) q+ X6 j, G+ F2 h他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA/ X. W3 r: G. M6 L: V1 Z, q
7 G+ f9 K: d' X# S2 L
   PHA是隐含寻址方式的单字节指令,操作码是 48- B) r& D8 `( ?+ Y1 U

  ~. c. M9 y$ z/ D   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减16 f- u  E5 q* g( `8 T. g; V4 A6 \5 a

* h5 W2 Q: r0 y7 B累加器出栈指令 PLA; d; s: Y4 p" Z2 ~  j+ O+ \0 t% h
4 R: J8 j7 s2 I  s
   PLA是隐含寻址方式的单字节指令,操作码是 68
- f+ }; a! y1 j: m7 ?( H4 V
0 E' {( a4 Y; \$ E   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A3 G+ L7 {- O2 V# |* A

1 w' n) N/ f; r" v: r$ l比较指令
5 s3 I0 V1 }5 k, E9 R8 ]! Y* w2 R$ ~2 t# M# U6 r* X: v
CMP--累加器和存储器比较
8 `% x0 l7 u1 `$ h- }& r! f9 L1 U
$ W0 o8 ^9 [  G7 }/ BCMP #$data C9 立即寻址 * v! z8 S; S+ p0 T- i8 Z
' N+ o( T- W; m5 e' v
JMP--无条件转移指令
! i% m* A# }5 m7 O, \
% S' J9 m. ?& E. J6 y/ U* x符号码格式 指令操作码 寻址方式 6 _& o$ @; L* ?' J- H' x0 I2 R
JMP  $data16 4C 绝对寻址 ( ?* `& x" [" N( a+ R9 M9 @3 X

# O  V# z4 ?: _& M2. 条件转移指令# _8 k$ b& E4 x: Y
: O6 U& Z& a0 [, a2 x' O) M: {
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 8 s9 j$ m2 c& t& K
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
" o1 Y7 B/ a2 u# |/ eBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
0 r6 M- b( j2 |+ y6 ^& ABCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
9 }* B; O$ v) g5 Y/ iBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
& u$ n) m$ s3 L2 U0 f+ RBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 % m. P: J1 P0 ~
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
; Y8 Z$ d% d4 n  cBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 1 @" o6 @, ^; P

( ^4 C/ u) @# Y0 TSTA--将累加器的内容送入存储器 A--M
7 M! D) z0 d4 ^$ z2 Z/ I. H5 GSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 8 `8 P( H# E# `- t3 |, Y- n+ w# m) N

$ `6 D2 }, Z. `& Z( W( f$ [+ S
0 |9 x* r0 H$ M看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 : @, N5 B' L' l- D- e7 |1 S

: ]& X% p5 |5 y% o3 F; R2 z
: y4 q  _/ V' I7 \LS竟然隐身。{:4_114:}
% p% d( T& n. E, g) mBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ; ^0 v9 J3 h9 a% c8 k7 T2 @( x
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
8 R* a, T  J3 X5 E- R7 B$ ^
  P* A8 ~/ ~/ A0 ?; T$ u这两条也挺好用,比较大小的。

签到天数: 1148 天

[LV.10]以坛为家III

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

签到天数: 1148 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 ( H$ m+ z+ G0 a4 e( n! Y
$ U- R' W( U8 Q& d! v) [% M
  C7 L; I  t( V
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-20 00:09 , Processed in 1.116211 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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