EMU618社区

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

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

[复制链接]

签到天数: 1409 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。: E7 }9 t. m* K. T
  我该的是Name=彩虹岛
0 S8 B! i+ r. ]: q4 e. d         [小宝石全齐]ON=54F,FF
) i* J' n- S5 Q5 w+ A   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

$ Z, h- f! n# ?, v6 s   然后就将改成7 I+ u, w* _1 d7 U- Z& [4 ?! Y
   再然后改成
6 e" ]4 i/ c  e: N1 H6 A   最可耻的是最后竟然弹出这幅令我精神失常的图
9 I( Q& {1 X7 C% ]  D7 X/ C/ N! V2 R   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2153 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}8 b- ^; e5 K* V$ r  i0 Y, V6 X- Y
/ V5 _' y" B. e
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。. n* j6 P( C3 a
, w- ^. O9 t1 d  k( p0 N7 o
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD! G8 q' P6 u8 Y
9 e+ K% ^# o0 D# ^
机械码      机械码指令解释
1 y: ~  k0 i; m: T7 d1 c$ i; [' J. n/ k, s) M4 j
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
. \' j: I. ]" S% r. E& ]  F! K
7 I; N" u. v- w/ o: sC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
0 _# ^& }. ]$ |. A- b7 |0 w9 W  p- x' v$ R
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.' Q* B6 O' Q0 L% B# j
/ |0 Y8 n# i! _( B" P
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
6 s# i/ G4 }' j0 i4 f0 X3 D% ?$ ~" V" }+ @# X3 e
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
3 O: m) L: `. U# a: o$ x; s% u
6 s" a2 E0 r( w68               PLA             A出栈(还原寄存器A在保存的时候的数据), Q2 b$ y/ ?1 I
* v  h5 K% r: O$ Q7 l: b7 l
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
9 V& `( n8 J" |# |6 X
" T( ~  z/ W- t9 ^他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
+ C/ g3 q4 f& ^0 A) d8 R' g* E; O6 }/ E6 f" ]
   PHA是隐含寻址方式的单字节指令,操作码是 489 Z6 H  a% T/ W! E9 l& s

8 F' Y9 O* q; q5 V& Y7 X# v" E   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
" B) Z! F3 e0 S
" }; T7 V3 U- \累加器出栈指令 PLA6 E" Y* @2 D% b. b: ^* y
/ a& B' v& |' `4 o0 @
   PLA是隐含寻址方式的单字节指令,操作码是 68/ T' R* W0 q4 s' f1 x6 o
% M. [6 H9 @! H7 N. G
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
# A; Z1 y# b2 u4 w0 c9 H! |5 i7 b7 B
比较指令/ \/ Q% i' @# s( j, l

+ p3 S) Z: ^: M: Z; |CMP--累加器和存储器比较4 A0 E- ]2 K7 Z. Y8 X& Q9 j
; T7 ~$ S" Q# k  \. d
CMP #$data C9 立即寻址
. R, T5 Z+ C( C4 y* k1 X# ~
0 c9 ^& \8 w+ C, r1 BJMP--无条件转移指令
% k; N1 d" ?3 \# ~& B  |
/ \6 J: Q* W: e$ k% B符号码格式 指令操作码 寻址方式
5 N- N0 h9 G' QJMP  $data16 4C 绝对寻址 & J! J. h& ~& E$ L' I  v

. B% y4 @( E1 i, l3 b2. 条件转移指令
' e& a/ Y% F. x. d! K7 f7 U+ x
& ?4 e' t8 W  A2 @/ FBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
, z. B; E9 T9 H& q+ A4 I) sBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 " f/ j3 f3 D  [4 D6 l# V, c
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 . |( [; U/ B3 s1 Q) g$ I- P, D5 x6 H
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 * Q& y# r3 F0 u
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 / Q; u% D: f9 I1 ^
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ( {7 x( b  B; {
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
$ r9 F( u  G- y9 C" t" qBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
6 E  x8 K0 l) U% N: l0 Y, S+ y- t  D3 b5 p
STA--将累加器的内容送入存储器 A--M
% [7 C" Z+ |' X5 i  S% n$ h. W7 `) qSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 ( i4 ~& b0 D% r! s! g& q# D5 o
( r8 `9 {$ h3 E/ Q  v/ I

% W) Z. M# n, W" L" k看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
% N& N9 |, ~3 n# Q/ d# a1 j3 A0 S, o
2 L9 H- I8 n7 l- E3 r! Q2 J* k+ K% o: O( S( T2 f
LS竟然隐身。{:4_114:}
0 t- I& c+ V0 A; m1 aBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
. F5 c6 A/ I! R( @# i2 d; V+ ], HBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 / M) Z2 l& P* o4 j  I

7 B9 W' F4 B, M, w7 p这两条也挺好用,比较大小的。

签到天数: 1409 天

[LV.10]以坛为家III

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

签到天数: 1409 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
0 h+ f, B% |/ C& B7 \" z
3 }& p" {4 r; ?5 e8 T, Y1 X& k& M# w' n& r4 l
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-7 13:06 , Processed in 1.101563 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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