EMU618社区

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

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

[复制链接]

签到天数: 1114 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
7 X+ H, u" \- B8 l7 b3 J' v  我该的是Name=彩虹岛9 @' z1 y6 C+ L
         [小宝石全齐]ON=54F,FF
' E2 I! @7 O* p, m, B   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
; T) H# {; Y- k7 [% S% C! X
   然后就将改成; J" z# }( g+ S$ |( V
   再然后改成* ~. Z; r, s' F
   最可耻的是最后竟然弹出这幅令我精神失常的图
: Q) {4 K% S7 V   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1768 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
% }0 m+ h1 m3 ~8 B: V$ x
3 P" ^! b- g. k+ Q* ~3 c8 L; U' [还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。3 W8 D) c5 p9 a9 y- [1 J
! D3 m4 L% o: j) {2 @. W, B9 t
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
9 n1 n0 y7 N0 W3 ~) ]7 ]1 m# O* [; W5 V, p6 i
机械码      机械码指令解释, A  I3 f! \# v0 B

7 C6 \2 k* h0 I( F' g  H48              PHA            A入栈(可以理解成保存寄存器A里的数据)" R+ j' R8 c1 V, r7 u2 J
0 ^  [7 S- o, }' Z+ R+ \# I7 B
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
/ X2 K3 S: r7 C1 Q3 Y9 z
; y+ H, ?  j1 v- L* D% `  _- ~' SD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.! S  \, ^' G+ C3 J6 A8 b' G: U

8 R  i9 F) c" `( D+ ^% s; iA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
6 h. c* I. S% ^: C
6 |0 J% y5 h/ t! ^# o8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)2 ?, k, U2 ]6 d) {
; p  k  l7 @6 S" L
68               PLA             A出栈(还原寄存器A在保存的时候的数据)- w; X6 f  z+ S) g/ c0 z9 D( A' T

/ K! T" G: E$ T  Z; m4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
  p" G1 g& d; j: U' Z& i2 }2 C  c) c
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
) O; j0 W: P3 Z7 `5 c0 j* B
/ J3 C" U7 C* o+ D  ]   PHA是隐含寻址方式的单字节指令,操作码是 48
) H; ~4 u8 ^7 g4 o$ f
& ^% ]* s) M% f( L7 L0 T  r   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
* D; u% ^6 t. }/ U* _$ O+ V) b7 c
累加器出栈指令 PLA
  f. W, B! x* E& Z) i% c7 E# V( Q; X& ~  t6 U/ Y
   PLA是隐含寻址方式的单字节指令,操作码是 68
, L5 b) W1 A+ u$ v( q6 _' B- j. v6 m* X; r, k* {4 V
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
3 @1 c3 Q* _( c9 F: z1 T3 ?7 r0 x* U
比较指令# p- K3 S/ `! S# x" ?& ]5 M
% V# g; K# I0 A- v# F
CMP--累加器和存储器比较
8 v& I" Q" T  a7 o, Y4 N4 ?2 l/ T$ x& c# L2 v( _& A: C0 u  u4 Y( B
CMP #$data C9 立即寻址
" j' w6 n6 a' F  S+ b- i2 Y1 A6 Y' Q/ a( ~
JMP--无条件转移指令9 ]8 f" v$ F" F' x3 o

; b/ l; d" b* t: i) w+ X符号码格式 指令操作码 寻址方式
. }/ j7 c+ |' g  }9 Y% dJMP  $data16 4C 绝对寻址   r: `# b1 s, L# m) I5 F
/ S# [* V  o% u0 c" g
2. 条件转移指令
+ z% X* F* y& J* C3 j! s% L4 M9 V& x
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
+ {" ]6 [) t/ l! Y3 ?BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
1 @' Y# T6 r2 UBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
. d( E5 T4 T% c( _" MBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
- Z% u& o) u; C' s0 v* f' YBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
/ S& A. y8 _& i7 A  L& sBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ! P( o! f) @: _) X
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
- `; M: v* T! h4 ^BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
6 n" T* D  c- `7 N! v6 n8 C
$ m- O# u4 |  N1 G3 Z9 K0 p* I9 PSTA--将累加器的内容送入存储器 A--M
* Z; ^4 s" H3 A1 n, vSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
) I7 b( G/ ?4 `' A
& y% B7 P6 k; l& V# S# P+ v, \# I0 w" M. f# z
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
, X( N, d5 W  @' Z$ v; l( T+ ~9 c
; g3 g# {) l  p- P9 D
8 S% @( h1 l4 n" ZLS竟然隐身。{:4_114:} 1 G/ h$ @4 P" A9 ?
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ( l3 A# y# {- \' L/ F
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
: F5 w4 Z8 ~% _, @" D9 @9 p; r, n" j9 N4 r
这两条也挺好用,比较大小的。

签到天数: 1114 天

[LV.10]以坛为家III

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

签到天数: 1114 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
0 G0 U- b; Z0 Z6 m6 w& A9 i& h

5 R/ Z; E. n& [8 n. y* G& R; I修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-14 21:57 , Processed in 1.130860 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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