EMU618社区

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

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

[复制链接]

签到天数: 1411 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。/ n3 t9 W; f8 Q$ {/ G; m. l
  我该的是Name=彩虹岛6 O% u8 B" V8 A, \( G
         [小宝石全齐]ON=54F,FF
; e5 X( b5 ?% \9 v# Q9 ]" R9 {. L   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

( \* d" k$ j4 d- B, m( b" d) u9 O6 V   然后就将改成  U& s9 \  a6 W
   再然后改成
3 [5 n9 Q2 |5 Y' H- J4 A   最可耻的是最后竟然弹出这幅令我精神失常的图% Q1 P, \9 e% W
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2164 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
! D0 m! t6 l+ U7 S% A- \4 L
* n/ s& s: o! Y3 k& {" O9 ]还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。  M' B0 @9 @6 M7 y3 n" n# o
7 x# z$ _- R0 R8 f5 K3 H5 O
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD  F* \& Y8 G' p8 `1 z. m4 A
& h0 c$ }( L. o
机械码      机械码指令解释
/ d( F+ d+ [$ n* z1 J. i8 e( U! S* V& t& t8 y( p8 `
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
2 }. r4 }1 V1 g* N5 H
( ~/ t* U& [5 H+ SC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
% B: Q9 x/ q1 t( I* {: `( `" A* \3 h' H( Q2 J$ @( R' B. f9 n
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.  l: I2 v: B/ q6 j6 ^4 N

$ P1 P  c% a: W. J" P! \' B; xA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
& g2 V( R% p: U5 n2 W5 x# y) m5 k7 I" W% K- e- t/ D1 P! y
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
* k- ]% j* ?( P3 E% ?
+ ]* z9 l7 e& g. U7 N2 J$ c. p: M7 {68               PLA             A出栈(还原寄存器A在保存的时候的数据)
' F( q. T  \- _% U! O7 \8 N7 \* e4 {' U, @
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
4 F9 \' ~7 a7 |' |1 j% C: J/ K
: T! X, Y0 e) L他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
' h' K1 ]# Y1 e2 p- e
% Q1 j* g  k9 U: v  `, i9 H   PHA是隐含寻址方式的单字节指令,操作码是 48
% f  u/ y# D& g; T0 I0 i: ?( g" m; X! z$ A
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减17 k! V' q. r) t# v% E. V' j0 i

& U* x, t/ Z" D- C9 p! I, s4 d累加器出栈指令 PLA! h% k: t+ B; c# f/ [. ~/ G
& v: `7 I6 A5 P2 E/ c
   PLA是隐含寻址方式的单字节指令,操作码是 68
6 N& l( M' Q2 R, c0 c& B5 J
) S9 F; G9 ?3 g  t   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A) k/ j$ s$ P$ K: u

/ l" F; Z6 Z) r/ a# s& k比较指令% v$ U, b: a! i% J
: X6 d. q  i8 ^. P2 H* |
CMP--累加器和存储器比较
# J9 a: Y$ u( Q7 X  |) K. P% |+ S) q  ?3 |3 ^% ^
CMP #$data C9 立即寻址 ! h/ t8 W4 U( I( i

! B3 m& _7 ?, P7 o6 F8 FJMP--无条件转移指令
+ Z: `# ?5 b' u+ z6 p( h, g4 {  N3 y! h9 A- }; l
符号码格式 指令操作码 寻址方式
0 f( [7 l+ T& WJMP  $data16 4C 绝对寻址
- J; Y% l' U: v* Q' f9 B) X3 m0 ~+ h
2. 条件转移指令/ G. S. |. t7 J; f9 j8 j- P
" ^  d. w! Z5 m8 C) K& s
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 8 b, V6 `7 I$ N( h7 r' q
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续   F' n' g. u, a: a
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
5 |0 w2 P0 S6 KBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 ; E' S% q9 [, P( Y8 @1 l- x
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 & Z$ J. f. \0 Z! V" d, L0 {
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ! F0 D! Z4 C* x; ^0 O. ~( N7 d7 c
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
5 S3 E7 P; m/ M, x  |! uBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 % J# M0 ]" v/ H3 v+ l* i  L
0 b* v& k! N! y; K% H, W* ]
STA--将累加器的内容送入存储器 A--M
/ f  ?/ q3 d. b1 P! V" ]( jSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 * A' `3 T1 x2 u' z

; O1 A5 B" V+ x& V4 n0 I' t3 ?6 s3 E5 u  {4 S3 ]3 U9 x
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
/ f9 F! `1 l( B/ e9 S: g, n' i6 u9 j. p; z$ I" Y0 y6 s8 s( Y; c' N

5 y( t( T  c, W4 |% [' Z$ aLS竟然隐身。{:4_114:}
6 w1 W  x. {% R/ D, \BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
9 O# k; T! C# a5 ?& Z2 E- xBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
% ^2 q- r6 ~* l7 ?: S( E- V& \( y* h" V, s8 u4 p& W# P
这两条也挺好用,比较大小的。

签到天数: 1411 天

[LV.10]以坛为家III

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

签到天数: 1411 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
) w2 i$ t5 F6 T" s% b5 d6 y8 v. c2 u6 }2 U  @, p
& G; g/ o  z2 X5 q# h4 q1 I+ {
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-18 08:50 , Processed in 1.096680 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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