EMU618社区

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

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

[复制链接]

签到天数: 1291 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
# ~: G* k+ e7 l( ?. t  我该的是Name=彩虹岛  m+ p- N& x/ z% a& H4 g# P
         [小宝石全齐]ON=54F,FF3 r! ^4 B8 r  q9 b4 V
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

5 e: B3 A) E6 b5 @- m! X$ I$ L   然后就将改成
9 ^' K$ Y* G+ }) i   再然后改成
& Z8 W& y4 |6 H7 f, f* k6 W   最可耻的是最后竟然弹出这幅令我精神失常的图, T3 B( y' L+ U  X
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1952 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
; ~0 u/ w! l6 j2 ?& B5 K
- E# O, m, y7 h8 l' Q1 ?- h$ }! u, N还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
6 ]7 ~0 j# g: P& u" p9 U8 G
7 v9 ^1 m) p0 k5 `: u" x9 L2 V& n48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
, D5 \" z- e& q; I: @! J, O" j& A7 E, U! }: O. J" M
机械码      机械码指令解释
  J4 o3 q/ t4 K4 h8 q/ X6 R& Z8 x- `9 W! y& j
48              PHA            A入栈(可以理解成保存寄存器A里的数据)0 y" t2 W* w! p& r" X
+ F' d( V, x7 W% m. Y" v1 J1 @# W
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
, G. v9 M: E" l0 ?& B5 p6 s% W/ X" @4 ?6 _& V7 C4 Q
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.8 D: O8 V7 C5 S# ]
& R. y# u* q7 ~- K
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
5 B2 O( U2 N) T6 K! x1 A$ P
) e/ Q# G0 R4 v; E8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
0 ~4 h% P% f0 }5 U
6 E9 |8 `3 r+ l0 }" O68               PLA             A出栈(还原寄存器A在保存的时候的数据)
2 X. m; w/ f( l) r( e5 A
, i! w; Y1 A( i1 Z% `8 p1 u. v6 E4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
- N* P! ~  f/ ]. d& o  Y* a- f! D, _+ m, A/ E( ?# J
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA: _5 X1 a3 V( L- A0 S$ m! b; Z+ _
$ I7 U% t& T: I) w  [3 s- n
   PHA是隐含寻址方式的单字节指令,操作码是 48( }/ P( g2 e$ }' F2 Y8 O& T/ f
1 _. _7 V& z" E
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1) I8 R: A& ^8 [: g; m$ K' N
- M! b/ Q) A; P& K* l- t9 L
累加器出栈指令 PLA
& X7 T; B% A6 r! b% e8 `1 z1 K& o" H6 }4 m5 O
   PLA是隐含寻址方式的单字节指令,操作码是 686 `2 P' [8 j- x7 N6 q3 F: W% h

4 B4 m; T$ Q" t1 V5 b$ d3 i6 t   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A, A" R9 x# ]( P9 H& M$ ~9 u2 K1 s

% X9 `9 V- p4 z, b3 j$ z比较指令/ }! y; d1 S! P, ^

+ d/ B+ m- {: R5 q$ @CMP--累加器和存储器比较
8 f( b: \/ k0 n- B) I( Z
) j0 M9 z$ C( j+ \3 `/ M1 G9 V0 pCMP #$data C9 立即寻址
& X7 Z% s2 A+ l; Q9 u$ H9 k/ q" Y: \0 Q1 K+ {
JMP--无条件转移指令& e0 @) \$ Q% A& f3 }/ s
& L8 E% _; U4 W1 x% [' o! ?$ [
符号码格式 指令操作码 寻址方式
5 A) v+ k0 b; i& [4 ]$ MJMP  $data16 4C 绝对寻址 ! m& i) y0 q8 s9 E! U& x( S

9 {0 Q  e" t# {7 a7 A2. 条件转移指令6 G8 r3 ~* Z! O2 t7 P4 _5 p

3 T: e& U5 M5 G  E) V* y1 IBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
: }7 o% _0 n5 F8 O, ?+ D4 iBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
7 t5 A- O3 G' z9 f0 d0 P: o! c" GBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
4 O; n( \& o9 F" A5 a$ x, LBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
3 S; R. d0 i) j' I' NBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
' L3 E5 {, \* F3 H6 |BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
$ O& D5 w& |9 q" cBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 / n- [$ a  q& U6 n' [+ D! |# v
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 # l( I2 S# `8 E5 c/ q2 i
$ s! \8 [, g  V
STA--将累加器的内容送入存储器 A--M
5 C2 w/ G% q1 B! i$ I( ?. [STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 " h. `1 A! e$ f+ `2 w

5 a0 @# }8 G" S2 j
  U6 S2 e, R8 ?& w+ p看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 6 A7 P4 T1 r8 s

6 |# V8 Z: b4 T0 K1 \
) i+ L& a+ p; k! A8 Q8 qLS竟然隐身。{:4_114:}
% }. N; n% G2 p7 ?' E( Q& @. w; r, eBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
3 Q2 H) R4 R, {4 x3 n( FBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 & u7 f9 ?3 T2 W& l7 k* J7 v
$ ~+ M6 s8 O0 R3 E& M7 g$ s
这两条也挺好用,比较大小的。

签到天数: 1291 天

[LV.10]以坛为家III

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

签到天数: 1291 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
# W3 W: i" w4 r8 F& u3 d
9 X8 o, \6 e# ^1 V$ {1 w& s1 c/ q$ @& o9 b. L7 g+ J, M$ c
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-18 17:54 , Processed in 1.092773 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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