EMU618社区

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

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

[复制链接]

签到天数: 1335 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。4 b2 w0 j4 e% a2 ^" v
  我该的是Name=彩虹岛
# m# N- Y2 n" L* C         [小宝石全齐]ON=54F,FF5 ]. S9 y1 T* H: x1 H" H/ }# A
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

( R" ~9 ]) ]/ [* F   然后就将改成
, S" k& H* h- k% |   再然后改成8 ]5 m" D6 O% u4 m( g$ i9 Z6 K
   最可耻的是最后竟然弹出这幅令我精神失常的图
& u+ G- F  q0 P   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1998 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}! ^% I/ B/ b1 r5 v/ v
' j1 J! w& c: p& G# R. p) S
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。8 H$ {, O2 g0 a, `; y2 d; U

3 [; K0 O5 L4 N. o3 O# w48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
/ \/ F* ^! D6 g2 g' X2 S; r5 P/ T" Y7 J8 x
机械码      机械码指令解释: ~  m3 v4 r# K1 C& f7 H# T
7 ]/ `/ J+ {- |2 o3 [% B
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
& j, A9 {4 j. j1 N8 b" Q# g: v4 j! P" H8 T: ?7 t, m
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
, v- T0 L/ z; M- i/ E; `" d( ~( L) u$ U- S
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.! _/ N, @# F3 T( E

+ \, s' N8 T3 Y# sA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
; x) f* R: E7 \# f/ E8 q) _9 A7 Z& S: L0 E2 r
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
- A! a8 e& j; v* u! P
" u' p. y. x/ k, p. \7 Z68               PLA             A出栈(还原寄存器A在保存的时候的数据)  ]0 W: Z! D& U9 h& g9 R
& c% K" \  i; w( ?1 E. V8 f: @6 k
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序7 \# {: c( w% b3 |  P: B( o, ~6 C
5 X; ]$ [- S0 f# Y' i2 v% `
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
" M' H8 b" ~2 x  ~* F: Y$ U( f+ K7 S* K+ u; J& `$ o6 g
   PHA是隐含寻址方式的单字节指令,操作码是 48
# a3 p! q2 {5 J( K) l3 o" v6 l6 z- Q- [) \5 P
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
7 i3 ?5 T) N  U. `. ~
- O  l7 T" ]$ Y3 W累加器出栈指令 PLA4 B0 H& o' @& N1 N& D

- Z7 A' h6 k; g- P0 y; [3 u7 W   PLA是隐含寻址方式的单字节指令,操作码是 68
( Q  O. }( }5 Y: m+ e3 j8 P1 d3 r( @9 f* X
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A& n7 ~5 L+ H8 y2 z, i6 G- ~: Z% G, D

9 g4 C2 I: p6 V: N  S, e比较指令* |6 b; k" h: Q( c

% V+ w$ \- W) G) w+ G4 _1 g2 iCMP--累加器和存储器比较
. `6 \. R2 H4 [" C
& N4 J, m' s( Q7 KCMP #$data C9 立即寻址 # t- S/ \; g2 v4 Q4 z0 ?5 [

5 ^+ _% e' E8 D5 z) c6 `JMP--无条件转移指令- \2 P+ Z7 D7 {
- x. X& y8 I4 M. v! |9 I1 N: J7 `
符号码格式 指令操作码 寻址方式 . u/ L" Z7 p  K( I$ Z5 W9 ^
JMP  $data16 4C 绝对寻址 0 ~- J. ?. T# U

& i8 m- J0 f; g9 }& k6 D2. 条件转移指令' S: }2 u. ]8 _: b  X. {- r' X
- C& F* S' ?% ]/ @. y- `( R9 y3 \
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 . k4 g1 T) F) T4 \
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
& S5 ~4 X+ Z8 _) R) _BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ' w/ r# G" g+ c  {- j
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
4 C" t4 ^# T4 _8 yBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 9 N  x0 u* w* E2 B5 K2 W7 w
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 . n9 ]! V( u/ c. B" j6 s0 M
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
* T/ Q5 W4 d! b0 X5 ~9 R" u& r2 _BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ( v2 r- _+ n' a2 d$ i6 s% O

4 k4 r# B( ^2 M9 L: ?: \: G* N' c% N/ SSTA--将累加器的内容送入存储器 A--M
% b2 b% g4 p. ~4 n; rSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
- M1 G! p) K8 k- c
" F5 l! u0 I  A' u% N3 K, a! m
7 @* [5 k* s( k9 r看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 9 O" F* i; M# [( @& ?# C( ?

2 {* X8 O2 e- w& }" C4 U$ t; t& G5 m( X) P2 j9 u9 Y0 y
LS竟然隐身。{:4_114:}
9 d" k  }+ O/ Z! A% Y6 ~4 @BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
% G) S' J, i$ E) h3 GBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
& A$ ~$ E" O' p  ?) @, O. u( N4 `& a! {% ~
这两条也挺好用,比较大小的。

签到天数: 1335 天

[LV.10]以坛为家III

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

签到天数: 1335 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 0 |% N) p: v" y) H3 E  U- ~3 C7 a

/ b; E, @/ q! r) a/ ]& X' n# _4 N+ z) n+ p( W
修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-4 16:20 , Processed in 1.081055 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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