设为首页收藏本站

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

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

[复制链接]

签到天数: 1229 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
1 X+ i# z3 o) F8 U& K  我该的是Name=彩虹岛, R& B; d* G, c' B9 V( J
         [小宝石全齐]ON=54F,FF
  o" d2 H/ \  v9 D   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

; X8 C8 L- J, @) t6 k% {3 Q   然后就将改成
+ W; J' i; p, y$ e. x0 G" t   再然后改成) S: A/ P* u6 V0 u4 t& p
   最可耻的是最后竟然弹出这幅令我精神失常的图% D& A, }/ F. l: s( t
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

×

签到天数: 1898 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
* X1 G* E  ?7 r
2 e4 k; c1 J% m& W还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
5 k' ^3 t8 E( A0 e$ [/ ^+ |( C! m) J) n4 J  y# ?$ a  @
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
' e. z3 H9 s; i4 r& l* t2 D, W
- g1 ?9 {* R) ^* v机械码      机械码指令解释
) o0 n1 A- N+ z: }: @
3 O  @+ T( B; G1 M% L! `4 V/ v% a48              PHA            A入栈(可以理解成保存寄存器A里的数据)
& Z* ^: L: t& U% _4 Q; n( m0 j6 h1 C* m. v
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值); p( |3 ?# d: F1 |+ q5 g: R) M- D+ R

1 ?% K' d6 u1 cD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
, C* H. G4 A& }) [$ H% M
- @( Q8 H) z$ F2 U- f) q( `A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)8 U. l, z$ ?& K1 c: J  I4 S
$ ~0 b# k, V+ k2 y, H+ k
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
3 z& M& I! d3 h7 H  }3 {" o5 Z4 c5 _  {% m
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
. Z# F, e/ e" n- x
* J* c. S$ n. Y1 f* o# i: F4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序, h. `. P5 s" o3 V  l' n7 u! _
; ~: q5 r0 q) }
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

回复

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA+ r5 |" \) P) Q% ?
) ~+ N; X% [- ^/ i& R
   PHA是隐含寻址方式的单字节指令,操作码是 48
9 |2 _2 I# d5 T! k2 u( w0 a$ M$ N$ o9 m6 |( f5 g% {0 U$ b
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
) z0 L: j! C- T2 S5 e2 h
* P% I/ o7 p3 Z6 ~! z/ \  E2 R累加器出栈指令 PLA
" y" y& q- O$ u8 F" `( f8 h/ L' G$ @# |  t3 E
   PLA是隐含寻址方式的单字节指令,操作码是 68
: Y0 J& L$ ?& J, @- [" D
' S3 M0 l9 B5 Y8 j- T$ P; e& e% I   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
; |% }! q7 i+ {! j4 S0 u. H
9 i( W  N( t% u6 u  q# e( p比较指令4 ?7 ?9 N3 E  ^. g. m, m
  M3 [2 z7 u) w! J+ b7 R2 S1 u
CMP--累加器和存储器比较+ I3 f3 Q1 |# ?" [* i
' l) y! c9 l) q6 o' d* }2 s4 O& w1 p# W
CMP #$data C9 立即寻址 3 D  f: F5 y0 d% H" Y# a" E* @
, A1 q9 Y! N1 {1 p, P
JMP--无条件转移指令" y9 P* }7 U4 k

% b1 S; k+ a; R3 p符号码格式 指令操作码 寻址方式
; K( B6 ~5 ]' h7 `7 c$ R6 xJMP  $data16 4C 绝对寻址 3 Q  I+ j* F' u0 u- U

6 A1 B/ I! l) w+ R* X) M2. 条件转移指令: i! A5 p6 |( T* B

5 p/ e) ?9 h1 b. @: hBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 8 B! R' k) U* `* v; V* l4 R' S1 @
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
, k" }- ~# D9 E) X) U3 Y/ GBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
" ~$ t- V! g2 J  {% @1 ABCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 . w1 h' `6 {5 A  T& M% f" Q
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
5 i- v3 G4 p" k- FBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 - L# ^  j. |7 J0 ~1 G  ^) K
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
( P/ Q( ^. G/ f! d/ Q% k& Q- MBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 # [" ~' M: r' U3 N' }$ K

( I  }3 ^# y& X; q, d, c0 U1 {STA--将累加器的内容送入存储器 A--M
  t. x! r' u2 o  f3 A' J/ bSTA $addr16 8D 绝对寻址
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 4 {  L1 d/ p& j

* W1 y/ E- T5 j6 @2 o: q4 j6 F) F% v6 s% L0 ~( ~! m, c
看不懂{:4_106:}
回复

使用道具 举报

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
+ [# P7 N8 Z$ i3 P% D) B! _/ h# T
* C+ {1 {" l7 ?) r! ^7 s/ b
1 u5 o0 b' `& Q& n3 KLS竟然隐身。{:4_114:} # T" X# E$ G0 i5 V, {" }3 |
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
% c3 [  @9 V+ w1 E* NBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 . ^+ o" b. y3 i2 z
* S3 h2 U5 X* X' J- }% \5 z( b
这两条也挺好用,比较大小的。
回复

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1229 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
6 `6 n& D4 b! Q2 y5 t" U  u  p$ B; A' ]9 i
, C2 ?4 i+ r, \- T& O0 h
修改成功!!谢谢狼大大
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-3-17 20:17

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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