EMU618社区

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

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

[复制链接]

签到天数: 1384 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
7 F) L2 F& r' t, u  我该的是Name=彩虹岛+ @* d5 f- [  R" y
         [小宝石全齐]ON=54F,FF, s: M* M" j1 |" K# K* r9 u3 G" c
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

: ^& V6 V  d5 L2 V   然后就将改成
3 V! T9 K; o1 w. R# j# j7 y' `3 h   再然后改成! G, q- m& [! a6 j; z
   最可耻的是最后竟然弹出这幅令我精神失常的图
6 L8 u$ s. N& z. E, G0 \) A: g   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2071 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}4 U% E- n8 c/ `0 A8 Q9 R0 b: [
1 p' q3 [6 D0 X2 \; C) _
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。7 x7 V% H- i; ~4 ]5 [2 C+ n# s
/ W  t0 n& F! L* ?: u5 J
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
, j: s1 U  e5 m4 J1 x2 F* s
2 ?1 h) P1 L6 Z1 N2 H; _+ ~9 h机械码      机械码指令解释: }0 {2 d& u: j9 A5 A9 B

0 F9 y& t: H; U5 Y( O2 M0 u' V  V9 A48              PHA            A入栈(可以理解成保存寄存器A里的数据)
6 t, W8 M5 ?7 `% ^" O; J4 w( e7 j2 ?' q6 F8 h0 {7 q5 \0 a6 H
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)# B2 T+ C- {8 F$ h0 r
4 b' z9 Q2 Q2 X( _0 N4 G- R
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
, o# R9 G" G* l" U8 A9 G* f# Y9 S( Q6 [4 P6 y) j4 R
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
2 r$ \7 }$ c5 |; O8 S$ n: b0 M+ G/ U) k" E- V
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
5 _* N% S; r1 X& ~$ O. r4 {/ W" ]5 Y* x
68               PLA             A出栈(还原寄存器A在保存的时候的数据)  Z4 p0 f6 k9 P- Z4 C5 o9 h
' `) k7 M% i6 \8 R: }1 [; t
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
' ?6 _% I) A$ `& h; u5 s  v8 |; v7 h! f" e  T/ D" G
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA( v7 f8 _8 ]" S- ?

- n  x9 f& \# _0 Y/ w* z. l5 q, k% Y  Y   PHA是隐含寻址方式的单字节指令,操作码是 48' F  X, A/ y8 S9 Q1 m& G1 V

1 M% w2 N+ m8 @' d6 `$ }0 b   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
. C4 L1 A, d7 g) X* C3 u9 z- M# w' j
累加器出栈指令 PLA/ b9 W2 b% @$ w4 U3 d' y- q6 w& C: f

& v/ ^, L7 {, \0 s/ I. W$ Z   PLA是隐含寻址方式的单字节指令,操作码是 680 L) ?9 ?, |2 d- V/ n9 p  V0 e) Q

' ?$ i5 i, a, D$ A   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
. e2 P4 i3 K$ ~7 K$ h) C6 Z6 t, ^1 i2 f9 b- g+ M8 L
比较指令
6 C# W, E' ]+ U. _/ y6 H8 X9 h& h) i2 [  ?+ k
CMP--累加器和存储器比较) h2 o3 e9 d" F1 B( _; C+ W

9 P2 Q  F/ E, D6 \CMP #$data C9 立即寻址 5 O+ S, y& V2 V+ X5 [/ ?
  S0 A" l# r( y% ?* R( G9 e9 A
JMP--无条件转移指令
3 Q  R" z  K8 G! T( E/ v2 q* f* q! g8 V6 S5 D: }+ [$ j
符号码格式 指令操作码 寻址方式 ! y# T/ d1 S9 Y& C1 d5 f( C+ E
JMP  $data16 4C 绝对寻址 % m% @5 ]" Q" L! C) t& V
* B) j0 V. ^2 U2 f4 n1 [
2. 条件转移指令" a' m5 o2 K  y8 S6 _
6 h, P* e  Q; Y% m
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
( I& s& K+ Y2 A( t2 ^3 A" N3 E0 ?BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
6 |3 U. m- V3 y5 Q- oBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
0 _6 i) w2 ?# [6 d, nBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
, A9 Z4 o, ~- V) N8 y) J' xBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 * K0 G) C3 {" i& `1 C0 G' f
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
  s" y: c0 i/ u9 K8 a) P0 @8 rBVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
& N' x6 ]5 D6 w4 E% @: d" zBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 " C$ I- N, x7 ^( s% `* S# n

9 x7 ^4 b! O7 ^STA--将累加器的内容送入存储器 A--M9 y# U6 O" A  \/ e! t
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
, p! q) o/ z5 o9 W" G4 ]9 C! d8 Y( A/ ]
- ^/ l# u" \. k! D$ e. m3 U- }* G& G9 ?0 Y
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
' i9 [* h1 S9 o2 z! H0 k% `% V, D8 p

% M2 E- G8 S6 ~LS竟然隐身。{:4_114:} - ~+ V7 ?' U# ~6 @0 s2 q, ^
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
& x5 s1 w/ S5 @) m6 fBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 . P" t8 r0 K3 s* l+ x% A' b  d6 w% L

' m" u1 [0 a  M  N/ \这两条也挺好用,比较大小的。

签到天数: 1384 天

[LV.10]以坛为家III

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

签到天数: 1384 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
/ K% E! Y5 Q+ F. Z6 [  {  W& q+ r* w' f' L# q, j* [/ m

1 C+ m& p! _3 O修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-15 15:27 , Processed in 1.092773 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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