设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
4 T3 {8 ?/ M) r* x$ d  我该的是Name=彩虹岛: {: D3 H# n3 k; L6 Z. w4 }
         [小宝石全齐]ON=54F,FF. S9 a) ]. a/ Y4 o
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

( n, B  t+ L: A4 Q  W& T   然后就将改成
3 A, k, o  G' ~. ^% K: ^   再然后改成
8 y7 I) ^8 x! v+ D   最可耻的是最后竟然弹出这幅令我精神失常的图
+ r9 Q7 R, X' }$ z" E  p. q) F2 _/ _- B   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 1934 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}, D, P( E9 x! |7 g" v2 Y" T

$ o. S$ A% X  ?+ i$ F, _' W; ?( Z还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
9 @) R5 M! k2 Q2 m# z0 H' i
# c! f/ h3 I/ l- t48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
: ?  k6 B/ b; r; f
4 _: R1 k8 C1 l# \+ B机械码      机械码指令解释
: R9 ^$ H) @7 R  }. I" L6 M' V% R
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
. {" @- R* |* ^* t- Y5 I  o( x* `1 i+ k) i4 `
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
' J4 i8 O# G6 C- ^( B, h5 f% N/ u( _' e# A# L" J1 Z
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.4 i$ C" m& f$ Q7 i! `7 P' l. S
8 d5 z/ a8 v  N% y
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
3 M- X- o" ^4 E, p# r% }( K4 L! s% n
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
0 V7 `# r. k3 A- e: t/ U
9 e. ]/ o3 U4 }% r% u68               PLA             A出栈(还原寄存器A在保存的时候的数据)/ Q! O# F; ?2 W

5 W0 r& w5 [- G4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
' z0 D) t0 x. V* ?; D
. T( `9 u8 T, |6 s" G6 J$ w+ w' ~他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
+ {  L6 b1 U  L+ o9 J1 ]4 q0 [
% Z8 H% u/ v3 P2 h   PHA是隐含寻址方式的单字节指令,操作码是 48+ O9 C# N0 d* E, e6 l& l

. R$ V) o/ M$ H8 k6 K4 ~1 z   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
# {- C2 E2 }$ v) \- c) @
0 X2 O, O7 a2 C8 j7 ~: s1 j6 J累加器出栈指令 PLA+ H. E7 a6 G  U7 s/ m; v  E9 w

5 i4 m; I: N  b. }% `4 y   PLA是隐含寻址方式的单字节指令,操作码是 68, K, f1 B9 u* f7 _# H

. ]. k! Z, H- T$ H$ e; L( ?( z! r) k   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
# m, T+ E- r  o' Q& ~" s
# m$ S: k7 a( j比较指令
: b. J/ K( T3 a4 n* [5 I* S& r3 u% `3 C0 y! D% U8 e  M$ a/ v
CMP--累加器和存储器比较
# ^% l& V& z. T# Z; P0 v3 }+ a
, v( ^5 s2 y+ U( B# Y3 P3 ?+ L3 MCMP #$data C9 立即寻址
. O% O7 b( p3 a' C& W4 I* }5 q1 H6 Z) h1 a; f8 P% E
JMP--无条件转移指令
3 z& @+ H5 @1 j$ ^; D/ r/ {+ u, N% v
4 C: N2 e/ m! V, @8 t9 P' N符号码格式 指令操作码 寻址方式
8 z) Y$ i' X' U+ F3 HJMP  $data16 4C 绝对寻址 3 T% b# D6 z: z  e

+ C4 s8 y( q# c2 a- e) w2. 条件转移指令: {% c9 I2 h* N# s
( F3 [8 I5 x/ j
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
0 L; x: a4 Z; eBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
$ G# W! E' @% d$ @" s. L3 WBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
. e2 ~! d+ ^( \4 ]  BBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 ( a/ I/ k* c& c$ f: @
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
8 f# k/ w$ ?: Z' D  E! b- T. D% mBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ) x9 z( X" h% k" \5 A- Q0 h
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 " s6 }  t: T! S6 U, F
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ; L5 Q0 ?9 }! A3 D: V8 }
+ w# T+ N& j. `0 d! ]# M  d6 e
STA--将累加器的内容送入存储器 A--M
: }9 @6 r, x  e% G1 ISTA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
- @7 X/ z% G1 W
% v: ~/ B3 G" r, Z; C( P* w  i: D, d4 w4 u' o% O
看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 2 S  F5 ^2 I* m9 ~4 x$ N3 Y7 C

) A4 S3 Y+ L. y* I9 s3 |$ {
- n6 D2 w% s% `LS竟然隐身。{:4_114:} 8 Q: u& S* D7 r0 s( X
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
: y: A( t" S' D+ Q  C" D8 Y" J: ZBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
& Q3 X. m: S# {: K0 ^8 |+ i% i
& ?" h: |, P) R4 R这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
: d! L7 ~  z8 R5 v  K  ^9 g- a0 o0 \* y5 r

1 N6 J& _% U$ g% Z5 V修改成功!!谢谢狼大大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-27 07:53

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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