设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。# X+ ]; C+ K6 ]) L; g4 E
  我该的是Name=彩虹岛; A2 W& t$ l9 L4 y
         [小宝石全齐]ON=54F,FF4 [1 e, `; z7 B/ w1 ^, [
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

1 W2 ]4 k7 W* i2 M" z   然后就将改成  M) v) m+ i1 I- {
   再然后改成: j0 @$ l9 G% r8 s- L# l
   最可耻的是最后竟然弹出这幅令我精神失常的图& e+ ?$ U( k% U3 G2 Z2 b
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 2012 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
6 o( _/ d$ x* {* O6 T1 W& ]) e( i& ^3 O9 y
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
7 l7 t+ b0 s# n' |: N6 ~" Z. E5 M8 J! f  i: T2 n
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
* p+ A+ \5 F" W) I6 F) T* w* Q2 [
: k4 I9 m3 ?% v# \9 l4 A机械码      机械码指令解释3 D) T6 G0 v' O# I

* L7 N& t+ U* ]( {! I! V3 c48              PHA            A入栈(可以理解成保存寄存器A里的数据)
- A0 }! _$ n0 \, {  j+ {# q# }# F1 R6 \8 h7 q* M& Y
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
; }* v5 g1 ?5 E( e5 g0 W8 q" ]% i6 p
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.8 T5 g0 e7 s/ W" u# c* M: q: r

" n4 }% @0 j' XA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
" `" Y. {. N( F4 {6 e
* B; R0 d5 Q. Z5 s8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)) V; r; R! _/ y" F" J1 R7 U8 `/ }, ~
% [; a  G( K! r) l8 g, z* ?
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
- y0 C" K& m' P# P* y
5 D4 u# L0 C2 G3 s3 Y4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序6 j9 j* I/ h( ~; \9 ^" x1 S9 h# l

3 v8 K7 G; U2 S他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
. t- R9 e( a6 {, Q, d% g2 f& C
( r6 |: Q4 U9 u& {" Y4 ]   PHA是隐含寻址方式的单字节指令,操作码是 48  ^/ ?$ n) b& I3 x& X0 B
$ q! N& N  l) o% b  p% k
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
5 Q6 r" j3 B' w* u) s1 v
) n# ^- M" x3 q2 b7 k1 H累加器出栈指令 PLA
; A4 d2 S1 @( r
& L3 n4 o) S4 d- e: r- y) S! m   PLA是隐含寻址方式的单字节指令,操作码是 68
3 G3 |6 U, F$ [( S$ m, Z% D' V( b& k
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
/ Q. o/ _9 @$ [+ k1 g0 e; p+ D& c6 T% e# t7 `* ]
比较指令
' e7 `2 @( M9 d0 D( l+ _1 K6 E- M+ g0 `! R* H* |6 @  m
CMP--累加器和存储器比较
. j% g; R- R) w8 X
+ [9 k: _3 x; B" YCMP #$data C9 立即寻址 $ U, _4 E) y8 @: s

6 j# M* p/ ]; l+ y, `# UJMP--无条件转移指令: p5 O  x6 B/ C, S3 w7 C! l* K

- C& g8 G3 J9 _" y/ k7 T9 h  b- W符号码格式 指令操作码 寻址方式 ( F, C: q# Q0 _
JMP  $data16 4C 绝对寻址
( u) I, P6 B% u" S
$ h, Z- G' N4 Q' Y' k, H2. 条件转移指令
" E7 A0 ?4 j1 E+ n, M# E
. m) _7 P* ?# x# t5 @BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 ! o4 R2 Q' k) l5 \9 q9 i
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
; O1 x: f7 I5 x# ^  I, g# \BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 / l; F8 X! h2 x1 L; \1 u
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
* Z; l3 z+ _# aBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
$ h7 k" q" p* [8 lBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 9 l* Q0 H5 t9 R6 p& I9 V: {  u2 N
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
9 P, z. j% T( Y! }+ j! p( aBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 . }6 c$ n' h% q7 {

2 X9 |, P/ Q8 mSTA--将累加器的内容送入存储器 A--M% F: v! F2 N- z) \# e$ Z( {4 f8 G4 d8 {
STA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
- D2 }. k4 N) ~0 l  Y& N# {# U
, e0 a" e! p- U: ]" J4 p' \/ z# y; m% j& [2 a- _( K
看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 . a6 Z) d: I' A5 x
' D5 K! C% v  T' N5 u; c7 m
  l( c3 y3 a+ o/ n
LS竟然隐身。{:4_114:} * G$ A& E" t+ ?, n9 m+ ]* O/ j4 H
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 8 L) |) @" h9 \
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 4 b6 {  N1 u/ i/ v1 |6 |( a

% F2 F, w" u: _这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 ) s' G  V+ ~$ m  k
* L8 j6 L- ?) G! ]) x% e; M* O

4 z8 C+ `' p( y! \1 D9 i修改成功!!谢谢狼大大
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-16 11:09

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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