EMU618社区

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

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

[复制链接]

签到天数: 1386 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
: }. Z" i) S3 g# e* C  `  我该的是Name=彩虹岛" s* P, @2 _. t  x' J, G9 ^7 d- l
         [小宝石全齐]ON=54F,FF
1 z; A, z% m' S- \: F4 R  \# T   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
  ^. h9 B, `$ [  J
   然后就将改成& h* }! _% i) j# A
   再然后改成7 l4 a" M5 g5 \6 W9 U
   最可耻的是最后竟然弹出这幅令我精神失常的图
1 [- M/ P, q7 R: b0 F% ^   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2073 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
. F. c5 Z' @3 C+ \1 @( F  N& l8 u1 N7 n: b) W; m$ u- N
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
) Q, K; ]$ J3 M
+ R6 s" v, T; A7 J48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
8 D8 a# _0 w' K& o8 q( O) A7 y) T$ {) R  z2 ?* ~
机械码      机械码指令解释
$ n. j& F6 d0 R& P4 S3 u; v: p
/ ~  w9 B! F& o, u% i48              PHA            A入栈(可以理解成保存寄存器A里的数据)
' @) z8 L" s, s4 ]) s
0 l0 V$ y6 p3 L9 @8 O' R$ hC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
1 e; x5 a7 m: i( S1 I$ l' q4 w3 f0 n5 f: r7 [6 g* A, F3 z
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.( G$ g( \  k' Z" P1 G
, A9 D5 L# s/ Z" W& R1 Z! B
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
3 Y- }$ W+ t) }) ^- w$ j/ C! T
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
7 E7 \- E+ V" J5 {
7 H/ u  W+ q  V( u68               PLA             A出栈(还原寄存器A在保存的时候的数据)
6 i( D; Q/ g2 f- K5 Y# C; D! i7 I
# d5 u1 Z; c/ R7 F4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序8 S3 W+ T4 ?9 a6 c/ Q
) X; h! B1 [2 n5 N
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
; B0 @3 V9 |/ T6 v% S
# H# Y9 m; \) i   PHA是隐含寻址方式的单字节指令,操作码是 484 K: s" H! P+ B- n# @. U" ^# Z

: y* x- s* c4 _& _. T9 x. t   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
% V: i/ g" ^1 k$ t9 I! p
' [7 Y  M/ |" m/ t' u累加器出栈指令 PLA
: o6 \4 l7 h8 e" u$ p  g, |8 Q2 G) o7 w5 V0 P% o
   PLA是隐含寻址方式的单字节指令,操作码是 68* {+ ?6 ~  s$ j8 ^4 K
7 a# T8 Y% _" B3 o& g
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
0 R) E4 J, k4 V/ k2 _$ z, n7 p  c  M7 G; w( r! t' c8 S
比较指令
5 D4 \6 x( U8 P2 f' o/ [) W" e
# _4 G3 ], a2 \  S/ g5 \/ N3 kCMP--累加器和存储器比较
! w! k1 O$ i  O$ z7 G& d( Q; o; a+ x3 m! d. g; d/ ~+ Q7 K
CMP #$data C9 立即寻址
/ D( ^1 x& O6 T" Q1 ~
, ]( n8 J& b. @JMP--无条件转移指令
" S# D2 {1 P; x! R% b: d: |: m' H/ N. H, m8 M) U% @  t7 N
符号码格式 指令操作码 寻址方式
; O, O) y! ]9 Y2 L9 jJMP  $data16 4C 绝对寻址 6 @9 M' C0 b1 U7 l' j* B- M% ^& Z
" p8 f2 p" U0 T/ I  t
2. 条件转移指令
% K0 c. r8 P2 K- Q: J) B1 S5 ?; d+ X  p( j, ?* G
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 / T2 U3 t& b& _' o/ i0 b
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
- x7 e  W' q. H4 D( R8 |* Q, wBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 7 s. d5 B! ^* A3 p
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 " y: T9 j) s, @7 D# \; }2 B3 k
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
/ ]1 S2 E" k$ zBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
& l' G! {4 h1 t5 F! O; c  {0 {BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
" W( X. ]* e( K" T& e$ BBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
, U: }+ z! {  x) I. g- H" A, y  [4 _% r! ?
STA--将累加器的内容送入存储器 A--M
" q( {. `# L3 w0 x  T$ fSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
9 b8 W$ e; L, ]% t' p0 a
0 t& p; t! K, L4 i2 i' t( A6 [  @/ j5 n2 h* l! B  \
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 ; d/ M# `9 q$ l% W3 i( B
/ D1 T+ l0 A+ _2 a) b/ n0 z
; r, P/ I9 k% a6 I
LS竟然隐身。{:4_114:}
8 N$ O! V/ f4 i9 j7 S1 BBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ) ], |1 W1 B* ^3 J3 q: r! x; h
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
9 ~/ u4 j9 a) ?7 i4 G2 D  t7 Y1 N0 T% S9 D
这两条也挺好用,比较大小的。

签到天数: 1386 天

[LV.10]以坛为家III

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

签到天数: 1386 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
+ R' j* i  ], ]  p9 E; I: u* R0 x% X) C8 a
3 f  }( H; ~7 G, v. @9 d: |
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-17 16:41 , Processed in 1.073242 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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