EMU618社区

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

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

[复制链接]

签到天数: 1399 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
. `8 m, `* L: ]; \6 ^. p  我该的是Name=彩虹岛
: J  [4 j1 p* ~) N: U% G3 b& F         [小宝石全齐]ON=54F,FF* p1 V/ R9 m+ w' s' G! m
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
- P: j# Q6 z) g4 k
   然后就将改成
4 H) p) w# a( _' u5 M" j& p   再然后改成
- t% O" _$ J+ R* p9 K* m   最可耻的是最后竟然弹出这幅令我精神失常的图9 s: j9 z& V4 j3 P
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2120 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}0 m8 {4 Q/ z; J# e: [9 O2 G. q1 _/ W/ o

7 @# Z- K* w4 R0 W还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。: J, q- m$ n, X- S

/ _* `& \* L5 i+ V8 n48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD- e5 g6 T. ~* a
* H3 [( g: d8 t, \
机械码      机械码指令解释
1 D8 ~# u. T; L- @5 b$ S8 U. Z- u4 @2 ^: Z; N
48              PHA            A入栈(可以理解成保存寄存器A里的数据)$ j& X0 Q! s* Y3 M3 y

  z" [" ?9 S% o. w% u# |, MC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)2 P, J" S) t8 s& A
- k4 H, l; \( L8 S& h: H" c
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.3 l" S; a1 x1 j/ D# _
$ U9 o5 p7 F/ s
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
7 a' A! S- D" l# r0 b3 ^& e
/ J" N% M+ q; T# J% o& C8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
6 `  l; u1 k" ~, G, c$ Q* S+ i# ^6 n; E9 q
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
1 D; ~6 H8 C4 |! B: ?: J! o0 D% m3 i
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
: Q$ U" z4 l7 V6 `& n& b( D8 _% G+ I" h4 I9 k6 H" C
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA* C6 V! L8 t" z( g" t

2 {5 v5 J  D. @! N3 e. R   PHA是隐含寻址方式的单字节指令,操作码是 48) l6 [* ~7 B0 y' d0 J$ ^: Q

# w; F" D. a$ Y# {) ?   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
4 V5 \2 |8 d8 \, S! k
& ~6 f5 }) y1 ^2 p. J累加器出栈指令 PLA
: o: F8 A& K3 |- F4 b' B) C; M8 t& z9 x$ ~( i9 a
   PLA是隐含寻址方式的单字节指令,操作码是 689 j$ X' ^: ^/ Z" F

5 x: k  k4 Y% A6 I- Z0 k! D3 g   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
0 b3 w% T. y, N8 A0 z5 l: \6 s+ ~7 r9 A& |! S
比较指令/ r  R$ J  c/ [0 b

3 v# D. R. q: c0 l9 L: K% P& [6 G% yCMP--累加器和存储器比较) N% J0 }! L/ h% j- H1 T

& m( \) z  p* ?CMP #$data C9 立即寻址
8 L" Q  X. S6 k: ?" \* @/ a# G. {# w7 Y( j5 u
JMP--无条件转移指令
4 Q: y+ M+ }# \* t1 C  p" Y8 k
/ b) q9 A7 I, K$ U符号码格式 指令操作码 寻址方式 $ a! V5 ~0 v8 m" @7 y
JMP  $data16 4C 绝对寻址 : q6 H: A) c& e3 l
5 `+ h. r: g; g  e) l0 N7 Y
2. 条件转移指令2 u$ F! {0 a5 E
% A: x# [) S& W, G
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 - F1 c% ]7 E  o+ G/ K9 O* [7 P& K
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
& p% P1 M( d! q& X. W, P2 C# CBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 0 v; N6 t% E" l$ L1 N0 y8 I
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
( ~; L( ]: `1 y$ y8 uBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
+ t; U( V3 D4 r; z) _) EBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
4 r5 a3 y6 S: J9 T( U% ~" dBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
, I  j+ x% b6 c' ^% f2 hBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
3 |" V3 A0 \: ~, i2 W. O
% P! M6 y* J1 ]' P9 A; W) v/ wSTA--将累加器的内容送入存储器 A--M( v, J2 q- R) h7 W. |) t0 `
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
# D  V7 D9 d( O: q2 Y
( I% Q* D6 {8 P3 A8 M* p' d
% t' r; e3 ~( T* h$ {& L, c2 M看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
# S: G0 A7 d; G  |, y& o( w) _! ~' p& x- F% m: T, ^. q% ~
' ]$ t& H" X9 [
LS竟然隐身。{:4_114:} $ `$ p) ~/ W; i
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
' b# m- M( [# }BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
  }5 E- \# \2 `
3 A% u  n' e2 t7 E9 V这两条也挺好用,比较大小的。

签到天数: 1399 天

[LV.10]以坛为家III

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

签到天数: 1399 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 7 j' L; a- }, r

+ f* g6 K8 b2 _" G: _3 `! @$ B8 I8 b( u- J* B# x. h9 m# Q# C
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-3 07:10 , Processed in 1.054687 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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