EMU618社区

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

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

[复制链接]

签到天数: 1408 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。) n+ }2 |1 g' m9 D
  我该的是Name=彩虹岛; A/ G' R- |5 e' a; E( y
         [小宝石全齐]ON=54F,FF+ F9 {8 |* P# @' s
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

8 N. K4 r9 p( X/ [$ L* H   然后就将改成$ Z6 Z3 H$ h1 D: m$ |9 L/ `  v# A
   再然后改成
) G( s" }( v8 G2 L' `   最可耻的是最后竟然弹出这幅令我精神失常的图9 c3 ~: c* t' V" Y6 I
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2140 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}' p0 U( c: q0 }9 D8 C( X' c

. v, _/ i6 v+ Y: w- ~; z! c- \还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。: `% {0 V1 \9 n! [2 c

7 r4 B( ^# D6 o2 ]- o0 L48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
% f; n4 @5 `9 L* J4 }4 s, ], M
% C6 r( x5 V' w8 v% k机械码      机械码指令解释" Z$ i% H8 f/ [: U
2 P3 D! t2 j/ N' k
48              PHA            A入栈(可以理解成保存寄存器A里的数据), H% U) t- s  n0 i4 f- D

% R* A9 [' b  TC9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
3 w, T  u2 r0 A" i+ k, _) |5 ?
5 f: k' `, G# R3 {D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
5 I+ Z6 A0 X0 s* |: O5 O1 Z
1 ~8 j4 t" _# W7 N6 Z8 V" o& mA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)3 ]* W- B. @, V2 z4 U" e, C

( [9 t5 P% y* t* r7 i' r# \4 K# l8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
& X2 ?1 V; o: ~3 T; N7 D! T6 a3 X2 W, d! ^) T6 ]! u
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
9 U# U, j4 t' {% y  f6 \
! e) _2 w4 _, |* M$ b, v7 P+ M4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
3 \0 Z% J( P+ _0 v. o% E* _) ^6 X, X9 _
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
9 [/ p. J% u% X4 b/ I* R6 u9 q, S- {2 g
   PHA是隐含寻址方式的单字节指令,操作码是 48/ S* L" N; i0 B! q) v
* k9 W/ ?  ]2 h; T
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1' z; W- b7 F/ z- @* W3 ]% t" P2 m
3 K& K/ r( D/ U1 B# H
累加器出栈指令 PLA2 f; f5 z6 j4 y! U! f* \
/ b% P5 A' y- ]. e4 ?! J
   PLA是隐含寻址方式的单字节指令,操作码是 685 [" A: S* T2 L* ~/ l  @6 t. m

+ m* f) Q7 M3 ~4 c, T& {   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
2 X# m' u- H7 n9 a. X! q
, @7 e; d( ?( Z! y比较指令% o# u; N4 R0 [4 n# K. [

, H& e* E- z& K9 W  [; Q# lCMP--累加器和存储器比较
: \/ G" S! h1 D7 I* _& c
. I, a% l* Z1 K. ~( F) s3 {$ lCMP #$data C9 立即寻址
: d  p9 J) P' V# k) X
# g: h# `( r- f5 ~3 m: L# ]  B. RJMP--无条件转移指令% I* K- v6 \) X
9 K  F' b  v4 s, D8 R
符号码格式 指令操作码 寻址方式
  v( [( y; r/ _2 a$ B$ K- WJMP  $data16 4C 绝对寻址
5 _1 U- I) s* {
: z  b4 f9 E3 X6 P2. 条件转移指令3 _% y5 l1 s6 S5 r" ~, h+ S

* w" ^# V! P: t7 y% h6 y. h- QBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
/ j' `" B* W( `8 N* l9 tBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 % T+ N  u! J6 s$ K0 @
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
% `6 _) w, @* \, FBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
3 \8 H6 C3 u" |6 S7 v' c$ u1 lBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
/ L6 P+ M* y3 S& d( w' l$ gBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 . ?; }$ y# j' [
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
$ q1 e" x$ u5 y8 gBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
0 C9 p" k: L& j8 ~, I' h; X
1 a- ]3 C8 f2 O$ Y# {' g6 ~STA--将累加器的内容送入存储器 A--M. ~1 ?: ]& g2 i0 {0 o# R
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
/ h- e) i7 Q% V7 M% z% D* M6 ^1 f6 D* q
& u, \0 o) A; ?$ V
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 2 s: L/ A! m% m  c' _4 {2 A

; A& k+ Y& n5 y# V9 H- A6 V, G
! X9 t- L  E$ x- S+ yLS竟然隐身。{:4_114:}
& `" F3 d( S+ ^BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 % t+ N3 C3 \; T+ c8 i- v: o
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
! q. ], Y4 b- W( }
2 }3 R2 Y0 e6 X( R) N$ m( [这两条也挺好用,比较大小的。

签到天数: 1408 天

[LV.10]以坛为家III

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

签到天数: 1408 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 * U! [) D9 f- z6 J! O6 [
; V4 s) r" u1 \, p) b

# \4 u/ i" K  K$ v) S7 [# @修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-23 10:41 , Processed in 1.066406 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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