EMU618社区

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

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

[复制链接]

签到天数: 1411 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。$ {9 W( Q) I* I" Q
  我该的是Name=彩虹岛
' L  v, W' b- Z+ i" S         [小宝石全齐]ON=54F,FF0 u) T% @6 w. K" `$ R
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

4 c$ z% ~. M% c) h$ R   然后就将改成
2 c" a- E. k8 H1 f  f9 d0 R' U   再然后改成9 U4 [% |4 H- S8 j( ^1 X, W
   最可耻的是最后竟然弹出这幅令我精神失常的图
* M! q6 s% _$ G4 t7 [- G$ j( c+ |/ c/ ^   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2160 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
$ ]  }7 x0 u  N2 m: S, @
7 _' [; o, @1 u6 P6 _! @+ f还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
4 Y6 x0 t( f5 H' J% P( j" v" F* e& x5 f6 D+ U
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD3 e4 h8 q( k# w$ [
& M8 a3 s( u/ E0 \7 O* {1 ~
机械码      机械码指令解释1 G  ^; L6 f* s7 L$ P# e
% R6 c3 S8 v6 [4 x9 J8 |! p0 h
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
# m! M& [- V5 N) m" d* c; b9 v+ C8 O/ l4 H, c# C+ e
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值): O( f0 U8 u; n
2 j' P0 J* \! {7 _8 T: {
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
7 c1 y# W' o9 o, t$ H
1 D. o" X8 o8 [A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)( [% C' M/ t/ y6 U( K
5 q! k! |/ v% R
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)2 r9 ^- F) W* j  C' j! L. \

5 E4 {$ \* K- a68               PLA             A出栈(还原寄存器A在保存的时候的数据)
* c) s0 R& E" S! x" T" _3 Q; {9 R2 d; V  Y9 X, R8 c
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
7 u! f4 q7 i7 ^9 i4 B& |3 t6 S. s- B7 ^# P3 A) n/ R: L" E- K
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
( M  ^" j, j) B9 t1 C0 y7 x9 a7 w  R( b3 u. D
   PHA是隐含寻址方式的单字节指令,操作码是 48
% U5 Q! M: W. S( `% e9 o2 E  S. f" x0 V! y6 @6 z
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
; H4 m/ F1 W9 B) r+ Z. r7 X* m1 c& `2 y) a
累加器出栈指令 PLA
& \" j+ T- D; B- Z4 H. a" o4 i% l' X) m6 _5 _5 X% k0 A
   PLA是隐含寻址方式的单字节指令,操作码是 68
! K) z, E0 r, u2 X- e* L) \9 ]8 Q
- N' ]& \# n# j% N   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
. ?+ |& u) o1 f. |- l; o5 {
: V4 E' _& B! @比较指令
5 c" \7 p2 p0 p: D! m
8 P' G9 K0 m8 M7 r, `: [0 CCMP--累加器和存储器比较
1 r3 g8 x+ j( R+ U. l3 g# j0 N9 h7 A* p, |5 _$ y
CMP #$data C9 立即寻址
0 X! r8 |  ]3 X( x3 I
- ^; b9 b6 m2 K3 S$ WJMP--无条件转移指令: P1 k% J7 w" i# O1 G7 y

$ C# |- {' U( I符号码格式 指令操作码 寻址方式
- O& {; }; J3 LJMP  $data16 4C 绝对寻址 ! o; Q! q5 b2 \; I
* h5 E1 t" N0 e5 g- ]
2. 条件转移指令
' |* r0 |+ N& ^4 {
7 Z; p& A) m3 s& b" h, qBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 ! r  P% w% x  g& D% ?, c+ O) |
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 6 j5 |, X3 H7 [. ^4 o7 r' G% }
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
# R, B4 t& \+ @+ S" T9 l7 `9 BBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
; Y2 q: P& y  [' T0 C7 rBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 $ h6 I6 a: q: W9 [- i# g# j2 y- y5 c
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
- H- R! d' k6 {0 X8 }; B  kBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
' R5 {: p2 Z% E) u; LBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续   v8 K% h3 U! R5 [

+ B' Q5 ?2 i: Q4 uSTA--将累加器的内容送入存储器 A--M
5 o/ B% ?' `0 G; nSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
/ }( l  o/ y: v
" j( O% a/ M7 @' J
0 P! _$ |( b7 A$ D看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 7 }; `7 d& B+ j
' c5 F) _9 m3 E$ ^( h; F

/ ]/ b1 B5 Q- L+ e  ]0 `7 {6 }! ULS竟然隐身。{:4_114:}
) u0 s1 ]- c' P; ?. A% mBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
$ D' ^$ X. c1 L& G. [% Q# _5 YBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
% O9 g7 x2 u  g# k" _6 O2 ~5 L/ n" U
这两条也挺好用,比较大小的。

签到天数: 1411 天

[LV.10]以坛为家III

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

签到天数: 1411 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
7 G. ]- I4 Z! z" F5 _8 s; j0 |( X
/ Q6 H! W1 \# g$ N/ m
" Q8 r1 T) P! z# q7 z# Q修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-14 14:48 , Processed in 1.075195 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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