EMU618社区

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

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

[复制链接]

签到天数: 1413 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。# C& p: o7 `  A1 [: y8 v
  我该的是Name=彩虹岛# q6 l; `4 P0 \; K3 ^2 }& C9 z
         [小宝石全齐]ON=54F,FF' z9 |7 r5 Q* B
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

8 U1 k$ h4 n0 |+ O   然后就将改成# B! K7 L; g5 T" I
   再然后改成+ ]# k% V" Q- f9 ^1 U) v- Q
   最可耻的是最后竟然弹出这幅令我精神失常的图
# g3 I2 A4 C4 L6 M7 E; u1 B& P   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2186 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}* @1 i; F. d! m( k* X0 P# S

2 ?6 t# H; J8 g. ~还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
( ?$ ^2 C' A* a- g% Y
# `# s4 Y! v4 b' G48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
# B0 z/ h1 A+ |- J) i6 @2 W0 v6 }; p
机械码      机械码指令解释
# W& T) t7 N0 G3 E! i* x8 [; D
7 s2 ?  ~$ B8 T( O48              PHA            A入栈(可以理解成保存寄存器A里的数据)
' U" |6 W# S* P7 k7 x3 Z9 g
- w( K9 i6 `5 w$ U& C5 h, u2 GC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)( V* h9 s, M4 v

! r  B$ Z8 P1 f3 y1 `9 B. bD0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键." q" ^9 n4 ^( t4 A7 e' H
7 t" z# h: m9 P" \* p! s
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
( N+ s- A, y6 S, q6 k. R# o$ c7 i4 H# m: r0 h  E6 v
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
: \2 d1 ?7 l# i. x" J% p! K% Y) F% Q3 S( |. \! a
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
- z9 s, ^$ H; i7 R  u
6 m. {$ y+ |9 ^9 M- U4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序0 L8 h  E( E3 q6 S3 F! `# L" e
& w' d1 B* l& J! y# [' Z- m( w6 y
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA! S7 k( a2 x  [- I9 n) ?- Z- _
7 l. h: X! G( L8 p6 L& V5 ]1 t
   PHA是隐含寻址方式的单字节指令,操作码是 48
0 n3 }9 i; q0 f
3 }( ~5 [! q# s& P  {6 l   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减13 ~8 _' F& P1 d- `$ }7 @) a& m
+ R3 r. P0 E! q7 \0 s0 X# n5 J
累加器出栈指令 PLA1 X- {: _/ O2 }  S
9 l8 Y. W' e6 T0 n0 {6 O
   PLA是隐含寻址方式的单字节指令,操作码是 68; U/ z! h4 B: |5 X0 s3 H! A

+ D. [+ p4 D5 w* w3 H2 z* I/ H! j   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A* y, e5 ]% O5 S' z  N( p4 J

4 ?/ C  G2 ^! G7 \比较指令
$ |; v9 k. F2 C$ U# d! y
2 Z% x: B$ b" W: Y0 a+ E6 ?CMP--累加器和存储器比较
0 i' M! o+ e4 z' F2 J% Q2 i0 m8 o! a# Q1 O. ?
CMP #$data C9 立即寻址 5 T1 \, i$ ~8 m" c2 f0 O

% A; O: H6 f8 Z" R# ?JMP--无条件转移指令
' C5 x/ W7 B8 k+ @% N  s; m
/ P2 E5 L0 ^% L% x$ a4 I符号码格式 指令操作码 寻址方式 ) `  c% ]( _3 [8 L% J& v% I) Q. b
JMP  $data16 4C 绝对寻址 4 V1 i; N" k+ _( f

+ K) Q4 g* M+ Y/ F: ?7 u, N2 E2. 条件转移指令% j# c( q2 ^3 s

/ @  |% S$ ~. m8 y2 F) {9 nBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
9 W% e9 k0 j6 U2 s+ H7 [BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 / i9 h2 F: J- l8 V5 `  X" j
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
4 I  h& @9 `! \3 v5 yBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 " |. V$ m: l: [$ n. m9 H
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
/ G; F; F3 G+ b8 K! @0 m: \  ?5 TBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 6 ~6 f! B7 _- Y  V
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 ; A% I' H4 i' A& B
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
; C+ O2 L% B4 I1 X7 ~" z
+ R: @& C+ t! X; Y2 ^STA--将累加器的内容送入存储器 A--M
: b* F, G4 T  DSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
8 L& O9 t) h6 ~3 {( I4 H, l% h9 b4 P1 I9 V" T5 R

: _, g  l# W! e) T$ m0 C; Z) j看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 3 j  E: l/ H2 y6 T. n! @! @

- T5 b8 Q, u+ u
! o  R3 [$ z9 N  MLS竟然隐身。{:4_114:}
$ h- Y6 {* U& M+ l& k+ |2 bBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
: m8 s3 V! @; ^  a/ {BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
3 F  ?! h1 L( W- E
' a" u0 ^. `% W& A3 K8 H3 e这两条也挺好用,比较大小的。

签到天数: 1413 天

[LV.10]以坛为家III

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

签到天数: 1413 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 ' ~- n( Q" M. |- q. @3 u/ e& `- j
3 b$ a6 I* z* Q7 \* ?. B1 ^0 q

. G2 t7 E: P: _! e修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-9 04:26 , Processed in 1.071289 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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