EMU618社区

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

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

[复制链接]

签到天数: 1148 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
5 v' |& z% r; o& Q+ q. v: F) b; _  我该的是Name=彩虹岛
3 U% N5 Q+ ~, `0 K* ^/ B. g$ K         [小宝石全齐]ON=54F,FF# d7 M( J. A& j, N
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

2 ?8 y1 @7 e- b0 ?9 u2 a1 \' l   然后就将改成# {1 H7 C$ a5 n& d  f
   再然后改成; \( p# {) L! @" C7 F- g1 e
   最可耻的是最后竟然弹出这幅令我精神失常的图
$ K7 I: A% _+ j0 a& n0 E! L* c   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1803 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
$ _3 W7 t: m% A" H/ ?  X
, m7 t* S+ n! e% z' n还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。9 t& I3 F) m+ Y7 h
* J( |* r7 R3 J! I' D
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD/ C& f0 Q8 z, i( v! d; d

1 ^0 V) B4 R1 i机械码      机械码指令解释2 J! J( u+ W  Y) T# f/ R

( b5 ], C' u- B3 F& f48              PHA            A入栈(可以理解成保存寄存器A里的数据)
+ ~. x. f' g9 C/ K$ V# [! S' Y
% f+ t+ Q+ M. _+ X* @% NC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
& B1 {5 f( g' {5 q" c5 ]6 m
" o. {9 n1 ~" ]) s) _' WD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.8 A' ?2 z+ E- Q# ~+ l  F

1 U$ s. A' m& p/ W* u' ]A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
8 L; e# S+ h7 U( P: [% I! s5 b& e% @3 i
% [4 X1 n7 h. |$ _; {6 Q8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
! S, H/ ~/ ?' ^5 D( x" u# h
- o2 R5 ]. l: N! Z$ s6 R/ ?2 C5 U68               PLA             A出栈(还原寄存器A在保存的时候的数据)
: T; |3 G2 T/ h8 K: P/ M0 z. k. B% ]6 \' A- e; @. Q$ h* m
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
1 r6 T0 E0 D5 A3 }# A0 A
3 Q6 J" d  @) z; y, {) A他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
3 z1 e! Z, g3 k7 Y/ K
# T: O# u' S4 o; |   PHA是隐含寻址方式的单字节指令,操作码是 48) D, a4 ]  d, j5 L  J! I6 Y( q( k

* i* N9 z6 a9 _; n: M8 B   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
& ]) c* D9 j- {' [  {' h7 V- n' W9 q  Y! o9 X+ i  G
累加器出栈指令 PLA
3 v: ~( N. t1 T: P% W& X9 M% G2 R9 ^
% k) H/ p1 i( P8 M. H$ W   PLA是隐含寻址方式的单字节指令,操作码是 68
( F  L5 \! o" i. n/ |; Q8 r- z# w. p& N  C% H
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
( I8 f( V! P. X2 F# Z( J; O* @
; A9 ~) Q# l$ |( T+ `0 |9 N比较指令
7 L. M) [: n5 O6 [9 D; l" B, M/ `; O) o! B# Z2 \0 L6 M
CMP--累加器和存储器比较& B, [& F1 u- f) t9 t

8 H* v( z& X0 P0 E5 }. u3 hCMP #$data C9 立即寻址 4 j1 _/ c( b7 t2 o) B' o8 Z
. L' i/ Q9 U. O( F6 S
JMP--无条件转移指令
; R3 ~( M' h* W$ Y0 @2 p# |, M1 i4 D9 B% ~7 x
符号码格式 指令操作码 寻址方式 " I8 }7 V9 z+ J3 ^, D
JMP  $data16 4C 绝对寻址
1 M# p- C( _3 O5 y/ V9 x9 `
. Y' I4 h8 ^6 a/ L3 |+ {" ?2. 条件转移指令( _0 H; f  W9 ^0 J4 |0 C6 o: h

% T6 C: o0 @0 n1 c1 A/ t( XBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 # a8 ?- u# \1 Y
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
! ~3 V! N4 v& i) h  o0 S/ O5 O4 BBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ' {1 {+ C0 e, n
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 # @+ A+ \- t5 w8 C3 J, b) L6 A
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 1 N" p  D; o5 i9 k+ n
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
7 n0 n: x$ H+ j/ h1 s7 _# ABVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 ' a0 m- |; o/ [
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
1 ~6 h/ j  J4 |$ r. ^% X3 K& B2 @' ]; L+ U7 Z* V
STA--将累加器的内容送入存储器 A--M0 w( w% F1 ]9 w, P
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 2 i1 Z$ n" t$ m5 `

" O( Y+ U- S; e/ n" o
% a6 A2 }! C6 O* i: X3 _看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
% ?  I( d- v0 a- h( b
5 p+ Z7 x( l0 ^. U+ I5 i
, B1 [( B0 t# V5 {5 OLS竟然隐身。{:4_114:} , C/ p3 T$ _% Z$ q4 z1 o' f* v( d2 V
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 0 w0 q& t8 K- K% O
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 ' @6 G0 i' u, v5 H+ v) \
4 `: ^  R" z" n1 Z  `0 Z, x) [
这两条也挺好用,比较大小的。

签到天数: 1148 天

[LV.10]以坛为家III

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

签到天数: 1148 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 ( W' B% J4 F; G' `! J) y+ \- {; R

: J! ?. h2 z5 S- ]; o$ s' q' j. G4 q0 @* I3 N
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-20 00:02 , Processed in 1.120118 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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