设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
) |8 o% b; l' |. t" S9 E) _: E  我该的是Name=彩虹岛
" v" {9 b1 `9 K! [; J7 w6 u1 M         [小宝石全齐]ON=54F,FF( w. }, ~$ k& {/ c" O
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
# I" ]- B2 i1 F. K  o4 p# ]' w1 h2 p% S
   然后就将改成
3 S; o3 a, w' d2 o& ^   再然后改成
# m. Z3 @( p% @: K   最可耻的是最后竟然弹出这幅令我精神失常的图
, G" b6 x: O9 W7 L/ _" x# I   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 1993 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
9 M$ t- o; B8 F5 v
1 U& U- G  ?( L, w! f还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。( Q2 b6 c1 j$ H3 h* U

, N4 K+ ]* C% p1 U+ k. X7 w48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
/ ^& s0 R) a' v
4 P6 m7 K1 S3 X6 n* [3 \机械码      机械码指令解释
+ X" v; N  b  t+ Y* d  Q/ {% ^* q2 t! S" K' U: k
48              PHA            A入栈(可以理解成保存寄存器A里的数据). p/ u1 {7 R- L8 Q2 c
5 N- ^- B0 Y* V% v; {) e: S
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
9 M1 k4 m% I/ n
1 [$ I# ~0 @4 ~9 z, YD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.- h6 y8 K/ L4 ~1 W6 E

( d( y1 s2 }3 Q3 q+ mA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)1 h4 _+ d* Z8 _, e; U1 y  y7 n
5 p" X. t  h" j3 ?
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)! @6 m3 t6 x$ C( U+ q' K
) p# z! ?" B) T; E
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
% t+ b. ]5 v! }* a1 ?' M, O" N( Y% }5 G
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序/ P& Q& x0 N! ?: }$ Q+ M

; s$ d4 W2 d! I  A他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA) T+ v, d% `: Z8 Q1 ~& {

' C" V  F  g# `3 m! F( V   PHA是隐含寻址方式的单字节指令,操作码是 48* O2 P+ C" o0 @& E& W
% U, U4 ^, g  _2 a8 S- n3 ]) z; j
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1" M( n' W  v" B/ A1 c' W/ [

" W+ p  l. h/ s" A累加器出栈指令 PLA
# {3 {. [4 [" Y8 w! s8 ]. J" C
2 @3 q4 \6 H8 a0 e8 X   PLA是隐含寻址方式的单字节指令,操作码是 688 x, y& ?0 T# `( ^
  H% _3 S7 Y! \( Y: m+ q
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
1 i' y' M8 y' D
" O) D* y7 x9 b4 {比较指令
$ \8 Z5 Z+ T  v6 }' a9 X' G
7 n: E* E7 B$ f1 ^CMP--累加器和存储器比较( l0 e+ w+ Z- w

% W& x0 q/ _- z5 {CMP #$data C9 立即寻址 : q  f0 N* h) {$ V1 `5 |: Q( k1 z

1 l2 b& z5 [$ {+ mJMP--无条件转移指令, o* M1 W/ G7 f7 ^. \0 z2 T$ W

' c4 L  b# F; L; |5 t+ t符号码格式 指令操作码 寻址方式
9 M4 k: y7 j* MJMP  $data16 4C 绝对寻址 6 \$ k2 G8 L0 A2 H2 d. ^" ^% F

% G1 J2 z, z2 R8 M7 U, z* a2. 条件转移指令& }; L# M9 Y& _$ |; {& ~
3 k  W5 X" Y$ P# N8 y. e1 D2 l' E
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 5 Y. @  H0 M* Q- u% }
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
1 L9 s9 B. i! ^! L( l  JBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
, Z" ^  ]$ M2 O, F5 ABCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 # O: S5 x9 p- c6 r3 ]
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 6 ?4 b# c8 }1 g) y8 `. @
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ; e, G6 W# T  u7 k6 h  ^
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 1 s4 G  j$ E: X5 J5 ?
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 8 G$ Z' X: z1 K  @6 Q3 |1 o! o6 G

; z" K# j& z2 W) o  uSTA--将累加器的内容送入存储器 A--M4 h- k" ~# C, w2 K4 L/ o$ f
STA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
$ _* }9 s8 X- R! i: X' U7 v* h* H$ p2 h3 t) W
6 Z+ w  }6 m# U9 a8 V+ m  D
看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
" c- ?# r4 A: R/ o! c0 ^( n, h8 ^( P
+ X; b4 k0 n' h1 v, x. U" k0 V7 z0 S% S+ A5 J# q0 _
LS竟然隐身。{:4_114:} 9 H  {* T  U- j+ p5 g- w
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
; D# o! A7 Q, p/ O: l" W+ \3 nBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
9 X+ E7 v5 ~1 m' R$ b/ p: a, G0 m/ y# N+ Y# Q: f' P) _& G
这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 9 L1 g6 o  V3 Z4 O, P" y2 l9 d( K4 n: H
  b, V( \& n8 W3 U
  v: l$ _1 R' ?- V$ V; B
修改成功!!谢谢狼大大
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-26 13:10

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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