EMU618社区

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

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

[复制链接]

签到天数: 1064 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。" ~6 \' E& r; g  J7 o) F' |
  我该的是Name=彩虹岛* |1 R, a$ @7 k8 Y$ p7 @
         [小宝石全齐]ON=54F,FF
0 R. F! t4 z' f   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

2 k8 u9 f7 L1 z7 Z2 ?0 ~4 I   然后就将改成
2 N* L0 l* z& }" c) x9 E& p' A   再然后改成
0 a5 ?& [2 Y, y" U   最可耻的是最后竟然弹出这幅令我精神失常的图
. T, Y5 @% h5 x- I   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1718 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
3 l# F  a! d. `- Z! H" R" a; q3 @/ \( |
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。  `- w, P  M( Z0 P1 ~& ?7 J  A

6 I! u7 b3 G; V( _  t5 U48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD  x  |6 G; j: `1 A* B) W

. K0 h2 p, R" k8 i% [机械码      机械码指令解释) v5 W8 m1 L+ t8 I3 z
8 p4 r) }- U4 m2 S! q" C
48              PHA            A入栈(可以理解成保存寄存器A里的数据)* |) [4 ]0 N" V( H+ D0 \6 n

3 R3 X$ s5 D4 }, k+ Z4 uC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
1 D( n% x1 u" x! ^/ k  K5 _: C/ e. q+ t
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.+ Z7 |3 }- d! ?- m0 @0 s& D3 Y$ _

6 g. r& h6 C5 G' `A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)- `/ J7 [8 m4 e5 S* i

" G; K7 {' r) x* ?8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
! {7 ^5 E8 Z' c1 Z
$ Q: U  R* F+ d! b68               PLA             A出栈(还原寄存器A在保存的时候的数据)
$ m- Z1 `/ e  u/ j1 H9 V
4 |1 C/ @0 I2 S: ?, s7 S4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序2 f9 X8 G" h/ S
  H2 k8 F; M' Q# Y+ B
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
* Q3 K$ ?7 d& `: I9 e# k  m3 c$ n% i
   PHA是隐含寻址方式的单字节指令,操作码是 48
' [. S3 U5 e1 }0 @' F" g, i2 n3 j8 x* N" o; z! }  S2 G
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1' w& u) m6 S6 q( c
# I2 b. Q; y  [/ k3 d* M  @
累加器出栈指令 PLA! Q, E: X, X& j7 O
. N1 A  h3 i+ P" _- j) N) k. K* s
   PLA是隐含寻址方式的单字节指令,操作码是 681 g6 }1 W2 Q5 U8 g2 R) X( Y% o

, r7 ?0 ]( i9 c+ V. {" G9 d   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
5 ]8 \' |: Q  m) b& n& T, I4 J' U4 R. X" w( t0 _+ T7 o8 r' r
比较指令
6 O% Z) U3 S& w, M" o7 i
" K9 n% X  Y1 Q, n# Z- R) uCMP--累加器和存储器比较
% @2 ^% t1 H7 J4 B% l' ]8 W
6 I( H- S: b- W# {- RCMP #$data C9 立即寻址
* \! i1 W: x& G; s% {# t) e
& C) y  R; W. K6 s* X# ]! {& M- Z4 qJMP--无条件转移指令
; N# i" m& `1 U
( d& T$ Z* V* F* A符号码格式 指令操作码 寻址方式 4 e2 U3 M1 ^- J8 Y! J( ^
JMP  $data16 4C 绝对寻址
% I8 E- h1 t6 A: d
; h+ j: @4 T- e/ H2. 条件转移指令7 R+ V4 k2 I: Z
6 K7 Q5 j: ]7 K- l4 S$ S" r
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
! Y( C! _* Z  X" WBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 ( q. f, ^6 H1 B
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
' w" ~* M  f0 Y& DBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
  _7 Z* ]3 p3 r" p8 @5 P! U: FBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
0 D: }2 u: l# n( W5 [BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
( p1 c5 I: W+ k, {  e; m- WBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
( Q$ U# D# q5 i" F9 C4 JBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
' u9 M; A; z( O; O( i5 g9 `$ o% L/ y, t1 M# O: ^, T
STA--将累加器的内容送入存储器 A--M
' i% w2 w7 Y/ ]7 Q1 z" b# VSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 " b9 H2 L/ o- p- i& R

* J" q! J# y4 A$ M
; m; L5 v4 G+ |# t7 c0 q看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
) O. Y' M6 F' E2 M/ a& j9 s& z( V7 E
3 P; |$ D' t2 |9 F6 I; Q8 _
LS竟然隐身。{:4_114:}
0 b5 U- D) H9 z. |BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 4 O" b5 k0 R3 j( x9 [+ @2 H
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
) Z. R- G# k, w0 X$ n1 ?4 {- n; f% b
这两条也挺好用,比较大小的。

签到天数: 1064 天

[LV.10]以坛为家III

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

签到天数: 1064 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
  F% _% F% J' v) a& R8 K  I
* b: M6 f8 o% t. R3 a" X/ ~7 r2 ?! t1 Z
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-25 06:20 , Processed in 1.074219 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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