EMU618社区

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

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

[复制链接]

签到天数: 1227 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
0 j0 K: V$ u# e. R3 A1 y  我该的是Name=彩虹岛( v# D+ a% F9 ~6 G
         [小宝石全齐]ON=54F,FF: m  Z6 Q: y( K! m- ]1 i1 \! r' p* ?
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
) N* }/ b' i7 C9 r
   然后就将改成0 s2 v+ ~8 K8 c. S, l
   再然后改成
0 W9 m- B# m8 z: X6 Z& N2 E% X0 s: x   最可耻的是最后竟然弹出这幅令我精神失常的图
6 g5 z0 e/ [. K& N! f& H   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1887 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}* f- S' M1 s/ e5 Z
" F- X! V1 x- J# r2 [& M& E  y6 t, @
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。/ h# Y0 s; H4 d- K- Q

: Y; _, F, i- ^# ^* s& }' i( t48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
/ ^' s# j/ C; i) u
5 z$ ]3 H* ~2 A6 ~+ p, W; s机械码      机械码指令解释! {5 s( i3 p) @; {" P

4 O) y4 q4 Z0 D( }- Y$ l/ y: W48              PHA            A入栈(可以理解成保存寄存器A里的数据)- ]/ M- j; }; U9 M5 [
* k3 ^7 G. A6 [
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)& u  S- i. d' S# s0 Q8 k
6 u& T* E/ B& S  J) M
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.4 N- [1 {0 M  o4 Z$ A! u& N
6 d9 X3 Q0 y/ z: w
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)- k4 n+ \$ T3 Q: y

7 L' R, N$ M, P: p3 _8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)/ a9 B/ n+ k1 T4 w  \3 b0 t- v
* i# A# S! s: J5 I% w1 Y
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
( ?3 K8 Y, b# {- ~$ L! ]8 s# ~. e
& P7 E2 N- @* J3 _* x5 }8 f4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序; W8 l/ l6 Y9 }) \: ~$ [
7 ~& D8 q% ~& [8 M  i& @* v
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
# T& {* M( \. }2 o: g
+ p$ H( h, H$ A, {  u/ I  A2 _   PHA是隐含寻址方式的单字节指令,操作码是 48; d# f: @. k  ~

- t( {' N7 o8 W  m& f$ U( l   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
$ H5 D# Z- k% N$ F, z! m
+ T; W. \2 c+ N+ P5 h) _+ y累加器出栈指令 PLA
. r2 r$ k; N( M5 z
; g/ P. g) M/ p   PLA是隐含寻址方式的单字节指令,操作码是 686 Z" u; W6 B! j4 \3 z. W  V0 g3 k' F
+ G2 r  H( F8 a% s3 h
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A% w% f- M/ C2 V
/ x4 ?6 ^1 T; m. p6 o
比较指令# V5 L/ ^6 x  C# c) L
1 ~; O% D7 I; Q( j( ?
CMP--累加器和存储器比较
5 A4 v7 d# \2 x. d8 \
; J8 N$ ?1 v& t# vCMP #$data C9 立即寻址 * @) U" v) v% C  C( |2 a6 D

- J' T  v( ~0 aJMP--无条件转移指令, t. z3 y1 ?. O$ n  Z
8 x/ e9 m, h7 u
符号码格式 指令操作码 寻址方式
6 M% Z' r9 [, z% N: x" JJMP  $data16 4C 绝对寻址
" V) N" c" O5 f" t& [/ b- h5 Y% g: R, k+ E; a5 D
2. 条件转移指令+ a) j9 e( s1 U0 |2 t  i
, V+ u% e4 i/ W0 e- ?2 R% U( E
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
& s9 ]4 I2 P; {4 N" Y% WBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
' x6 B1 ?9 P3 N1 dBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 # Y' q0 y8 X  \: y
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 $ ^% N; q" V6 v/ S/ w) X
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
2 g( H/ i. h. T: X( ], ?# |BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
' v6 L, z2 t$ B' k/ dBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 + Q0 Q3 ~9 F, ]7 V
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 , Q+ u3 T5 O* T2 Q# K& N
6 k8 _2 |2 y( `+ i. C9 H% S( v! E# |
STA--将累加器的内容送入存储器 A--M
! t3 s: a0 s# KSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
* t0 F* Q( G9 x: \$ {4 j, [
- [' n( O( H% {9 Y! v' I1 D+ |: {6 A9 c7 K3 b( B
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
" x  ~* M6 [! j$ S2 y- G" m7 z( K, Q" R+ Y& B

- ?( G6 B/ `  ^+ WLS竟然隐身。{:4_114:}
+ J# I6 {6 z# H, L, ]6 RBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
7 b4 I/ ~& G6 z: ~1 _) g. a$ zBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 ; \. o+ L5 l6 `! _
4 y% T/ ^2 i% m' z
这两条也挺好用,比较大小的。

签到天数: 1227 天

[LV.10]以坛为家III

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

签到天数: 1227 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 - ?2 p3 J2 k, v  c

1 s, B' m+ A8 W9 T
7 m; s7 r- n, H; [! x修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-3-13 02:19 , Processed in 1.153320 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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