EMU618社区

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

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

[复制链接]

签到天数: 1397 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
  n5 `- I1 O5 b5 H# m6 ]6 p2 j0 Y  我该的是Name=彩虹岛' z/ I1 A, z: }
         [小宝石全齐]ON=54F,FF
( n% m0 O$ R0 X8 a7 K2 {9 z   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

* j% B0 @) y+ @% n   然后就将改成
5 k# [6 s+ I% @2 Y( f1 g2 k   再然后改成
+ @3 ]' c' s& F4 h- y   最可耻的是最后竟然弹出这幅令我精神失常的图
6 o9 F& h  w# D, h   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2113 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}6 g, Z0 H# o% s1 E

4 N6 y, d# d* {2 w( N# l还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
# {4 G1 a2 q8 Z; S% f7 J) m! m1 C
6 z" r# w4 P9 H! u* R, \! o48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
* V+ s8 @% ?4 L' ^6 T9 N* v# L7 Z! a& C( s/ n" d0 z
机械码      机械码指令解释
8 B4 B: O6 b8 @* ^4 K
0 C* `; V. d2 }; J48              PHA            A入栈(可以理解成保存寄存器A里的数据)
* q: s$ U0 X0 o+ m5 _6 v8 `& M" E, `! h7 ?0 ^( a
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
/ R6 ]" y' T- |' q8 `/ |* P9 d" P
' L! p7 p& S6 T' F* [+ G* Q) AD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.: v3 `! C) j4 V
. @5 I3 [% R' q  V' S) v
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)( Q, N+ }3 T' B4 v: d4 \* v1 I6 }
+ R9 I( [/ J4 {9 h) x) B
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)& e2 z6 B) Q7 T& X
0 q6 R' g0 J. N& w2 {/ e# Q/ _
68               PLA             A出栈(还原寄存器A在保存的时候的数据)4 \9 D/ H% n/ j9 A* g3 o% t

( ?9 U. V1 ]! D& w( g4 d$ ^4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
$ {7 S& k" h- k2 `7 u4 z
2 Q1 i6 N7 {% e  e( w$ e/ G他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
" E; V5 r8 ~* Y9 ~: i6 e! a: L
5 y( G) k# v" _1 \5 B* r2 g   PHA是隐含寻址方式的单字节指令,操作码是 48
  t6 w7 }$ ~/ ^: {8 R* E2 i/ m5 w7 o' E; e; H( l7 p
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1) e+ Z  u& s; M$ `

5 z  `) F) j7 _% Q) P累加器出栈指令 PLA
5 l5 G& X' l4 m% b$ }5 I  I9 v) `: }. m+ M% r
   PLA是隐含寻址方式的单字节指令,操作码是 68
- g: ^& f  Z" m8 B+ T
+ f5 t6 t0 z  q. D/ |0 [   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
# Z1 q8 d7 G. v0 f4 g  x5 [$ o/ Z; t
2 E. h: C: W( W5 {- V( g0 k比较指令
& z1 w% U9 W, z) N
4 j- K* f1 P9 a/ I6 E) T* P' iCMP--累加器和存储器比较
! B9 I0 N/ h' v) M2 x) u* R, `- v3 {& d  M2 _7 b! i' P. i1 r
CMP #$data C9 立即寻址
# |# Q1 h% J' Q/ ?5 a+ l' W% C7 E7 Q4 Y  H* }8 D; @" K/ ~
JMP--无条件转移指令: |9 Z" m' u, o
; m2 V1 O$ C; \
符号码格式 指令操作码 寻址方式 8 `( i) l) B! C; f
JMP  $data16 4C 绝对寻址 0 s; [/ p6 W; |' `4 D

* S& U4 |* \7 Q7 e3 G5 f2. 条件转移指令
+ M2 X# M1 ?% V4 _- g6 ~+ }9 W5 e) H/ B0 A* ~; @+ @
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
+ b# [7 J% v# {+ c, ]BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 % i# {: `3 @- T6 `, S) }3 O+ ~3 w
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 $ ^3 |9 P" W' A
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 , j  Y% u: l# Q' O, Y% A7 p* v
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 $ m; l" H* x5 N; o& U
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 - h1 ^' D6 b9 p" i
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 " A! n% |( b2 o
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
0 @. a0 p0 ~7 H1 J5 k
) o) U+ y# n& ]2 E2 I; nSTA--将累加器的内容送入存储器 A--M8 g% t: P' P( U* t
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
4 V+ L& `4 h+ ~+ x7 x( M
; E0 }' }" f) l5 N  q3 U! y
* V( r$ z' Z8 X: q2 P( H看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 ! v' k9 S3 J' B' u% F4 e; Z% d

5 O" x0 E, t! T* f# V% m( n7 i0 [! m) k
LS竟然隐身。{:4_114:}
! \; L7 ]( P  w. @' d# }1 ABCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 $ Q0 b3 \* V/ V/ \3 o- |! e
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 7 Y4 e& z' W2 M- y

5 D3 K. Z" }9 w2 ^) S- Y+ {+ V这两条也挺好用,比较大小的。

签到天数: 1397 天

[LV.10]以坛为家III

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

签到天数: 1397 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
: x3 m# Q  x6 }& E3 N
8 o9 S5 w5 B8 I# m4 Z
9 O6 I2 u  K& _4 u修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-27 20:18 , Processed in 1.073242 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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