EMU618社区

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

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

[复制链接]

签到天数: 1409 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
4 y& S0 d, S9 g; C- L# G  我该的是Name=彩虹岛; Q- W0 |; I3 j2 G5 ^( d/ ]! g
         [小宝石全齐]ON=54F,FF
  q, g' y1 N3 L   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
9 L/ M6 [2 a2 ^1 a
   然后就将改成
& P2 M3 Q9 \1 _   再然后改成
  L5 @2 t2 I: M' q/ f. S   最可耻的是最后竟然弹出这幅令我精神失常的图
& E* W7 F5 y5 n1 I; z5 A2 q& h3 g   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2153 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
6 p- z6 z7 d5 B- I
% h' |0 L+ u6 e9 Z4 `! \# u' a5 N还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
  X% ]/ @" k2 F; Z$ W; K# M/ X* a& h: V: ^/ x
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD& R1 G( t( q; Q9 i! k- o! K

( O; W* j" Y" N: O/ p2 m: v2 w1 `机械码      机械码指令解释8 y$ X) Q7 X# i7 _& j& H8 X% Q
  t4 O% U) H; B' u& Z
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
. S6 `  G0 z- G+ F1 l# u0 M& u2 \* L
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)8 b' q- ?, m& Q( s: \+ a" J$ ?, D
9 s" i! Y, [4 d* S
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键., I- Y' j4 ?% \) j  h
# g: i0 j# }. J5 |: E, Z4 A
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)6 Y4 c7 C/ k( B7 s

6 h- w9 m9 G+ z4 Z% R5 F8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)" q7 t( p( ^, ?+ ~
9 ]  z$ q9 _+ U( `
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
: l% ~/ o' z% K. R
3 }8 a2 E3 i( k  K+ y# J  [4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
% p; L0 N9 q8 J& u; Z. I* e: j. F2 ^! {( |) O+ o$ a: D
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
* K- z' z# f2 P
4 t/ G( ^$ e4 f, a- S% Z4 K   PHA是隐含寻址方式的单字节指令,操作码是 487 r1 w& Y5 p& h

+ ^/ [: N/ T! m9 u* R+ Q* x   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1* F0 H! B: i7 I% V3 H
! A' ?/ M4 m7 x  V6 I0 v# a  k- _
累加器出栈指令 PLA
, M. o/ f5 d4 @+ p. A  O  E* [. N: |* n+ s
   PLA是隐含寻址方式的单字节指令,操作码是 688 f3 Q7 X8 H' [3 W" i' m$ t% {

" Y, o/ ?( C+ m6 C5 G   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
4 _/ ?+ R  M* K  l% q! d. y) E/ E4 e4 V) v# p' ?9 ?
比较指令+ ?! y- q1 L  x. F/ \" z

  h1 b% Z/ _5 k; x; \4 BCMP--累加器和存储器比较' ?2 |) c  y1 P- W
# @# {7 |4 t7 [9 O+ g4 ^# z1 R
CMP #$data C9 立即寻址
2 l( M2 {5 w: [9 K4 P+ p  m1 Z+ \# l  J
JMP--无条件转移指令1 P' m8 _, G+ [( E% R7 y& ^

( g& A) @1 R5 z. g% T2 S符号码格式 指令操作码 寻址方式
) q1 L1 W! n! Q0 ~  L9 AJMP  $data16 4C 绝对寻址
) ?( }+ g7 V* Y( M/ \9 `; Q5 E, f) }( Z9 @
2. 条件转移指令; O) n1 v# t$ `! A9 q
/ w) a) W' c: z* x* q, Q- j! B5 @
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 % T( W9 J4 L5 }* a
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 # F  O! }5 e  ]% Q9 i5 J
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ; ], q3 K( r" L  a2 Q* p
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
& L' f+ c3 p0 `  F- rBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
2 W0 V9 {1 b2 p( k" `* kBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
( w; B' y- q& y' o+ fBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
" ?* Z# Z1 t$ _# v2 y+ [BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ! l( ]  g; h+ o! s
( g7 A0 d& N1 d- y* c
STA--将累加器的内容送入存储器 A--M/ T; P" y! D( R4 U
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 # {( [+ {4 a9 o' {8 Z  r" ?

5 j- A) m* ~3 w% U5 K3 I" [, A6 s: r8 T! f' Z6 i9 N
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 8 k5 O( t8 r1 C" Q; L
4 G* ~, N7 P. y/ g. ]* {+ F

# b( F8 q6 U: {# S/ KLS竟然隐身。{:4_114:} : L0 s+ ^) v' Y4 N0 n' h" W
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 * E( C7 f& B9 k8 }0 n' d
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 . M# U- n3 l" p" j$ U( e9 H; V
/ |5 s8 c: b1 Z* H- D# v: f
这两条也挺好用,比较大小的。

签到天数: 1409 天

[LV.10]以坛为家III

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

签到天数: 1409 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 - R3 d! J! Q. e2 F

& T! l: o; X9 S/ W& w6 Z, l6 Q& s* j# l- i$ g  L% p5 c
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-7 03:15 , Processed in 1.099610 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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