EMU618社区

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

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

[复制链接]

签到天数: 1357 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
) n2 g4 k8 y, b  我该的是Name=彩虹岛
5 e- O" W# B9 }: B( D         [小宝石全齐]ON=54F,FF
2 a9 {' o2 S8 W) \* _9 }. o   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

! k2 y& Q3 f+ O4 J   然后就将改成
; V3 ]7 ]) j6 `3 l% A7 x9 W/ H   再然后改成/ \! L; H$ W" p  z( [: f* w3 I
   最可耻的是最后竟然弹出这幅令我精神失常的图- n! a  e1 T% Z; A! [9 X
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2022 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
6 T' F8 Y) G2 ^! S( e% z" p$ _( A
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。8 x6 I9 a+ j* p6 Q

0 p; ^# ?( f& G: t3 Y* N48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD% F! q8 ~5 Z0 A6 w! ]8 v

3 Z- z, s( Z7 C3 g* m8 I* K机械码      机械码指令解释
) J4 R: L) t; i6 h& \( ~5 H# l: z5 K$ o
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
& C* O$ n4 I6 F) ], T' ~) A& a  ^6 ?# v( I8 a% }1 f6 f4 C: q
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
5 Z; ^. @3 M' _; M+ B- H6 x- K
3 S" R3 J/ G- @( D" u, Q: E' LD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.* p" \! L* A8 H$ }# t9 I+ I2 S
& o$ b8 u, @/ C- p/ i& \. t. i
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
; s' [1 ^- X$ n( q. M* S) A2 b& }! w; k/ }, p
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
. q6 J% t3 z: P  F7 I
/ h; v& p. q) z* ^7 R3 F& C! V' v68               PLA             A出栈(还原寄存器A在保存的时候的数据)" ?2 [8 [- k& @! W# p0 G( j

+ r2 k7 z7 y  S. }9 }$ v4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序  o8 P, \, y3 ?/ ]/ z4 X) ]4 S( x1 j

3 Z1 _9 R5 ]5 w/ w" t他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA4 M  X8 Y; c! B' ?

% W0 ^9 j- b, v   PHA是隐含寻址方式的单字节指令,操作码是 489 ]) U3 `$ r- x, }& e
% S0 I6 {- G, t2 _9 [
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1, ?# }) c* T: q, O. i+ @! u
5 ~! E9 i6 R9 f0 z  G
累加器出栈指令 PLA& m/ z& m8 X1 P# T! w

7 l$ Y0 u1 X6 G6 K! \8 d% l   PLA是隐含寻址方式的单字节指令,操作码是 68
; i  K. a9 h3 x6 M8 Z5 E6 ?: [5 c* _9 M$ b* G; [
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A* ~& ]8 ~5 {0 c8 y* B

9 h9 g+ E8 I3 i& Z5 [比较指令1 Z, I* z6 f6 a+ i4 b

; q+ a) T! m" _, S: W& UCMP--累加器和存储器比较# H: Q0 K8 n0 D8 n: u/ D: @
  J6 y# I  i& p' d) Y: j) u
CMP #$data C9 立即寻址 , r' ]  f4 \' [7 q- b; w

6 L5 T1 r2 [8 e8 S0 EJMP--无条件转移指令
6 F( N, B. i3 [3 c; C% E) d) ?9 `3 t) q
符号码格式 指令操作码 寻址方式
( e% ]! t; A' K1 h0 wJMP  $data16 4C 绝对寻址 & a  M1 ]( l0 W0 H: b) X
( d2 @% B% R# \! E- ]' u$ E2 ^; B
2. 条件转移指令# s; K7 t% M9 B
2 y* [) Q/ g- \9 T& [* [6 n6 j, d
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 " Z$ G7 v, Z$ a
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 : [9 r7 |& w  N+ M
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 1 W2 G) _" W4 u6 H7 P: L) o" F
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
3 y8 C, A2 [! ^, \* I# f1 hBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
1 m/ X2 p1 v' t& Y# YBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
4 W; `2 p/ v6 b: z$ ]5 ~4 _BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 4 o- ~* C$ O( r
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
+ D- N) p& U- z9 i! J; g& C. T0 Q& q; J: K, `. E# c: d
STA--将累加器的内容送入存储器 A--M
2 [$ x2 z" U4 s4 dSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
9 u7 ~3 h9 s( _* _8 D+ D- ?6 |7 y# h! j: ~- e& C

8 d: n: Y- ?/ x/ W( @1 X看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
: O; _) w9 r0 o: c/ g3 W. H
2 `( l. ~+ {9 R% S7 ?$ s+ G" y* S. b( B2 ~$ H/ K6 h
LS竟然隐身。{:4_114:}
3 u  I6 b( E/ nBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 3 L6 f$ w* \4 n' }" }, @1 r
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
2 L( b/ t" q( K, a5 ~1 J6 x0 c! _" ?. u1 r; D
这两条也挺好用,比较大小的。

签到天数: 1357 天

[LV.10]以坛为家III

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

签到天数: 1357 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 / V$ y& F0 _- B' }5 A" _
5 O; [1 T( Y! z4 ]& f- G2 o& Q
3 f0 L, C8 {: Z8 f3 Z1 L, u
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-28 02:45 , Processed in 1.086914 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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