设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。+ o- [9 t: E2 Z9 H
  我该的是Name=彩虹岛- Y/ P" o: B# U4 @  g
         [小宝石全齐]ON=54F,FF( ?2 u8 z% D9 t$ \) e: e2 d
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

4 _" g- O) _- n* W8 [  C   然后就将改成  {  ~. |6 m3 O/ M1 {
   再然后改成
) a, v- G/ l! r0 ^( T3 j& M   最可耻的是最后竟然弹出这幅令我精神失常的图( i0 g! ~1 T. b5 M" t
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 1914 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}% j, |9 e1 @1 [3 h( C

5 q1 N! ~, ^4 o# @) s1 ~+ t  y1 h还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
' D3 M' F: E8 V3 l, R. w6 ^
8 ^; _& J' N5 H, k48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
+ }% L. o$ v9 W$ [1 b) t
4 e4 ?; b$ p  ]8 C$ K/ Q# u1 b机械码      机械码指令解释( [2 t1 Y! A$ h; t9 U/ B
7 e" }1 z  y! d: @: g' E+ d
48              PHA            A入栈(可以理解成保存寄存器A里的数据)5 @0 v5 [: [3 h/ Z
" s' E4 l: L: v5 }/ S, ?
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
( S: ^$ W3 @. L; c' T) ^: T" o( j  e. K" P! P! K% V6 z
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
# ?7 `! s* x+ p
. h- ]7 o) e% S% {9 Y' u) NA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)0 X5 Q# l. t0 p

4 Q( @9 |0 E8 a* e: E* P8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
1 E* ^- g, f1 k1 J5 I
2 r8 Y& }9 h  g$ g$ P: }) f68               PLA             A出栈(还原寄存器A在保存的时候的数据)! e* y! t7 I4 n5 J
; v! K& ~- |* j! ]; U
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序3 U' T2 T& }: O5 g* Z  R

. D& h, Y# B3 S# R0 i& G2 `+ ]他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA" O4 u* u# u2 g$ [

+ T/ [6 S8 _+ b* f# Y* W  J# k5 _   PHA是隐含寻址方式的单字节指令,操作码是 484 x, M/ N+ X) S
" V/ Z3 c0 v" t# N) T9 o! B  m) ^
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1! E9 o5 G7 ]9 b

6 q6 A0 q8 x/ o( J累加器出栈指令 PLA- I7 m0 J- G2 c: M6 v) i

% y; S/ U- d0 W+ t+ ~, D$ h  L   PLA是隐含寻址方式的单字节指令,操作码是 68
8 X& s- r0 k5 M5 `) }
( t1 {* I! ~3 ?9 y) P0 d, P0 a" i   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
; W1 y/ V  B) Q# z
$ d9 s& x( o" P3 x& z比较指令
' K' {" ]) c- \. K2 o
" S$ ?! }! W4 ]8 `( p$ b( \* ^# MCMP--累加器和存储器比较* _% r9 P* C: l5 t
, J) w5 Q" D2 ]$ }1 }5 q- S5 l
CMP #$data C9 立即寻址
1 B1 w, d1 F' v* e8 {' T0 r3 k( E! X3 y, i% v
JMP--无条件转移指令; x2 u4 B2 c+ ?2 H9 x

+ C' y0 G9 e0 ?, B7 F. v9 v- }. G符号码格式 指令操作码 寻址方式
) ^$ Q( x# m. k/ N7 I6 g% KJMP  $data16 4C 绝对寻址   _; \# z. V% E/ T  d

$ |% [3 L' j* ^8 l2. 条件转移指令
+ t. d6 r+ m$ t7 `
' z1 }+ P4 P' s$ u, D, GBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 : Z- Q; h: w) \: ^! n+ Y5 T
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 5 Q; V$ [/ T2 I
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
" H% @7 |( R5 h) h: cBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 $ e0 f+ V$ d; u' X" ~# I
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 6 R4 \9 u/ U) ^* l! E- b  g; D( y; G
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 5 A# O! s' h; c# `( v
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
1 H7 f5 g) g. K$ j$ wBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
- y2 Y9 V( p8 I. A% Q% A6 p
7 @$ [  q$ t) _3 w+ S+ L: gSTA--将累加器的内容送入存储器 A--M! I5 z; x; c- g% y( E2 C  Y+ _/ b
STA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
: F/ O. v1 g. N, }* G+ g! {* j- ^! a0 U
- L# d: j$ e& p7 O% ~
看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物   I% `  h' m' q( p' n1 `4 w+ N

7 P) F' M' O: c* W7 L0 u7 G. r5 y% ?; t: z+ F* p% q
LS竟然隐身。{:4_114:}
. s; n' Z$ e( z( |  k2 xBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
7 ]: g1 G- n3 C  {: b: `BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
8 }- R: H9 ]0 {5 f) |- z, n5 a" I6 M  A- B3 ]
这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
% x# S: l; @$ b% ]  D9 {4 z) E6 n8 T
* J0 V9 S* B2 w5 U/ E7 x) O( W; l& l0 Y. S2 W# T! c. g, W4 ?0 |
修改成功!!谢谢狼大大
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-6 23:13

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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