EMU618社区

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

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

[复制链接]

签到天数: 1413 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
- f% P5 h2 W! o+ b3 [  我该的是Name=彩虹岛0 i' y9 S0 U3 [& {8 l
         [小宝石全齐]ON=54F,FF. I" V4 a$ @, p9 G- Z2 R6 N
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

$ Q  f. y* `' u+ y* n3 K# d5 N! e* C   然后就将改成
; J2 O' M1 b) h2 ]) M( V   再然后改成
; P7 G3 `' D" o7 q& e! Z   最可耻的是最后竟然弹出这幅令我精神失常的图5 C2 C# G/ z% Y
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2198 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}! Y% l6 {' \* t& H8 u% b
0 c# g/ x% R. J5 V  X2 x; X% Q
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
/ d# x1 d; n4 j; I: m
: k" |& q% |7 o( o" J; m1 X8 X48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD( A/ j) ~8 c5 r2 G2 z7 c

) Y7 f  D  y1 s& A机械码      机械码指令解释2 h  K6 p7 e, S

: X! k6 Y" _- K8 b& k4 e' _  D) h48              PHA            A入栈(可以理解成保存寄存器A里的数据)' c4 `! e& Q% x3 Q
9 f7 ]' B' L8 r
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
! f1 n' h" s* ]0 S# L3 @* m
- z* W+ f- R8 Y8 R$ M" p: SD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
5 E" H( D1 ~. x4 f+ g3 H; [6 f( \
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)4 t; d0 k7 K/ R( P2 C. Z+ ]
5 K3 ?3 G0 D: t; P9 @. u
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
2 R) o% c. M% e6 R
9 w) K- u) E" m! n8 G; v6 V68               PLA             A出栈(还原寄存器A在保存的时候的数据)
, N5 p' M* U5 ~8 V' }* K; J# Y  _; F* V% S+ s: O! f3 W; y& G
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序: r/ l; B. {. A' E7 O$ E& h
, h) {) P, y) E* ?5 A( [
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA+ G1 S* l: H# {8 C/ O  U
. B$ _2 X5 e! ?( ?& o
   PHA是隐含寻址方式的单字节指令,操作码是 48
; V9 ^( g/ e" Y5 R
9 k% }. P( }# ~" k3 M, P   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
$ w2 D2 j$ \" J/ e7 x& t& X# v% ~
, {: L+ M. g$ b- J. \累加器出栈指令 PLA$ I- R0 `: b7 S9 x
2 b4 N  L( B. V5 L
   PLA是隐含寻址方式的单字节指令,操作码是 68" y& I! s% i' O* K7 }
  g  K. Y/ i/ F' z2 m* C" T0 a
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
. ~+ v6 Q) N  I$ [, q0 |
# N5 J' W# q6 M" z/ r比较指令
( N2 ~  i; w! J0 J, E9 }+ O: a+ ~$ w+ f8 S: i  j8 ?6 X% l
CMP--累加器和存储器比较
  ]: u. U6 }, j& r  X( ]9 _' b6 ]* O# t
CMP #$data C9 立即寻址
% B' M9 D/ Y9 B' }) u, f' ?" y3 u1 f' F# e" s8 M9 r  Q
JMP--无条件转移指令
  [8 z! ?! h% H0 j; `2 L2 i/ }1 B& W/ l5 {  t: O
符号码格式 指令操作码 寻址方式
& T/ M" S% O+ f/ LJMP  $data16 4C 绝对寻址 / m1 _! T9 Z3 {( v

8 ^5 W1 M+ z$ n; M3 j! P* B! ~' T' E2. 条件转移指令
/ s+ ?4 g0 y9 C9 N. z8 N, G6 b& L
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
) v2 p5 T. j* r9 s: z8 ~: uBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
( Q) T" E. B# N% ?  r( x+ `# N! U( oBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
2 W+ d: X8 t  s. m0 ?1 B7 ?BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
9 ]$ p( W/ n4 S4 h& L# c* RBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 ( y" I: A9 }  g7 P
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
7 s) }7 `; a+ `7 e1 J5 Q* VBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
" [' w) X0 v2 y1 R$ t" E+ z* iBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 , L! c0 @  N( ^' I3 h

4 i% \' ]) |, e9 @STA--将累加器的内容送入存储器 A--M
( I7 w/ [, g; kSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 & |' R9 ~" u* o

( l( o2 v. l1 U* p1 i$ z! K0 [& f( |( e+ W
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
& I$ t" @' K! S3 w1 w9 N' l/ i2 b' E6 Q  |' k* |

9 `; q% u* ]' m' Q1 |) BLS竟然隐身。{:4_114:}
5 _1 u# B: F" j9 T$ GBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ) W8 k# j9 |/ D9 _- p
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 , F' E; P: Y" j

8 P7 C7 q8 \, @6 ^# e4 L, m这两条也挺好用,比较大小的。

签到天数: 1413 天

[LV.10]以坛为家III

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

签到天数: 1413 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 " _- s. |3 q8 }0 A. \8 K- \

$ h* ?1 H3 i) v9 P, j% ]
$ U4 O6 c6 e2 j3 n7 X8 Q& a修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 02:14 , Processed in 1.096680 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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