EMU618社区

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

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

[复制链接]

签到天数: 1117 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
& }  ~2 ]8 M! K& C  我该的是Name=彩虹岛
% x- ?) b  W% c2 W0 ?: ~8 ?5 m9 f         [小宝石全齐]ON=54F,FF1 w+ K) g: G! [
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

& u" H3 I% L  q& P& {' }& h/ i   然后就将改成# \% B0 d4 r3 n9 [9 L9 l8 S
   再然后改成
+ ]" i( W2 R) }9 ?1 Y4 e1 ^   最可耻的是最后竟然弹出这幅令我精神失常的图
( A, M' ?) m; f0 v0 g  l   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1773 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
2 A% ^1 P3 x9 q4 ~( }/ W
$ n, f) F4 g: d4 L% }3 R/ l2 z还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。( A6 q: ?6 B# L) V4 u7 y

! K  C1 x. B( x) U+ k9 Y48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD6 S$ M" ]6 L3 X" y2 Q; T

$ M" B, \; i$ C1 Z) M机械码      机械码指令解释: O  c, O' R4 v3 _7 g
7 m( z- J+ j) n$ c! e; R+ r- @2 [
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
! J1 ^1 R0 F* |5 t7 U* o. w+ g# E6 O. v' i* d
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
1 J7 W, k6 _; w. [/ \' W. w+ v# l- r4 L. G! N
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
( J/ K2 n+ s4 v4 v. j, y( ], l! s$ C
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
9 u; O# g7 o5 }2 B* N( {. [2 U4 Q& y5 z
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)7 h! ]: A9 |0 ~$ M" T9 Z/ o% O& [* Z

; {# A6 k# J& z& N5 e68               PLA             A出栈(还原寄存器A在保存的时候的数据)5 Z9 I9 r7 n  I( f) {

; j  D' ~4 t9 N/ r5 e# a4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
8 x) M8 E! d4 }8 M. U8 q1 z7 w5 V3 K# C& X* Q7 B& I4 S9 A  R
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
6 d% }3 _" r; ?; x1 H( T+ @% C( @2 G. T2 b
   PHA是隐含寻址方式的单字节指令,操作码是 48
3 v: Z0 c0 [( P& P  }% [2 J+ N6 }9 M  k5 Z; F
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1. c7 u( e: A' g0 F
, o! A9 g3 \; P2 `
累加器出栈指令 PLA
( l# V/ N8 H2 Y# \( ^% f9 r
" b8 x6 u; K8 ?! ?: E0 p   PLA是隐含寻址方式的单字节指令,操作码是 68
% D% e# e3 F; Z: t4 t" s
1 l( Y+ {0 ]5 k8 N, H   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
% g2 e( C1 \+ u" ~9 \$ c6 S! n6 u# ^$ Q: ^% U& ~# l- N% g* a
比较指令+ g' P5 ]' X- [) ], S+ _

: m" a( E  |3 `2 Q* T9 V0 t+ u. K' NCMP--累加器和存储器比较; G+ M* L  T; U/ X1 R: J$ a* i. v
0 p  ], ~+ J3 }: M2 T( Z6 j2 t
CMP #$data C9 立即寻址
" U3 X) _" P" N8 M3 {" w/ i8 |* k
3 U! K, A- k) `6 s. ~JMP--无条件转移指令
% O: i6 L4 Y2 Z: T' U- Y! ~, M* e' b1 ^$ f2 @- O2 r9 j
符号码格式 指令操作码 寻址方式
, ?) _: S/ a0 K, p0 {; j  i: M# gJMP  $data16 4C 绝对寻址   h2 _6 Z- h' d6 z7 h" [, I
% w7 |, h* f6 [8 a
2. 条件转移指令
% g# `' m! t9 D+ k, Y7 F  A: N1 @% R2 q4 a- G3 o  @
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
7 S7 F9 o/ ?9 IBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 ) O! Z4 o3 ~) \# F7 D
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 8 e+ {. g6 b# T$ M  g# z
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 / q! T0 {6 T8 E; J; F, w
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 ' }' _" q0 Q. x" T
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 3 M) T' @" b2 e% p
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
  `; _: W$ }8 xBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
- {7 T; O0 @- r- z5 U1 w, x6 R; O  L& z" A+ h
STA--将累加器的内容送入存储器 A--M. ?8 t, J3 U, x* H1 h) q% u& n
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
. a9 b5 Y, W( U
8 ^0 {% Y) F4 j6 `
  y. m. y0 h" L5 N% \看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 % ^  b2 n& W' i5 b3 S* p

0 b6 M' e0 p) c2 c
; c/ c" r; i2 F- v% ]LS竟然隐身。{:4_114:}
: t% t! }' J- w' B0 [  V" `BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 3 L7 {4 p. S0 L
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
3 c8 b+ U2 y$ W7 m9 \8 R' @7 U4 h3 U) c8 p( K( H) a
这两条也挺好用,比较大小的。

签到天数: 1117 天

[LV.10]以坛为家III

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

签到天数: 1117 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 & m+ ~' @; D0 n- ~. Z

2 ~, ]' D& Q: U# _; _8 M# E4 y# l! U& Q, Q
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 00:48 , Processed in 1.071289 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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