EMU618社区

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

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

[复制链接]

签到天数: 1211 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。4 x& S3 ?5 r7 J, y
  我该的是Name=彩虹岛
% h9 |' q7 n6 `4 ^         [小宝石全齐]ON=54F,FF: C1 L' ]  t5 J9 b9 W1 J
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
: Q9 `  q/ z* k7 g4 m
   然后就将改成" y5 V7 a6 y9 @$ C- B# T1 H
   再然后改成
2 t- i, q* u% H6 e. C5 Q; L  H   最可耻的是最后竟然弹出这幅令我精神失常的图  l1 M, g2 B* T/ ~  v! D/ V
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1870 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}4 A7 n" o9 I. b1 g, i# W4 e: N/ u3 ~
, M0 K% r6 k% I- H& G
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。# [3 O7 R3 d& D8 ?/ C' x/ u6 S

! O  _! R. U* Y2 ]7 H5 W48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
3 j% q( K7 a; K7 B  E$ c. W. j' J
机械码      机械码指令解释6 I) f* v  X' U: V: {- {- ]; P. V
1 D" ?- Z% K, c7 I! S" z, o
48              PHA            A入栈(可以理解成保存寄存器A里的数据)7 E8 o$ F1 K) h9 j0 l
0 ~; ~( j8 d( a1 q: c4 }; y$ \
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)9 Y; ^5 ^0 F' b  X5 R

: G, Z& ?8 D' j7 z, |D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.% U$ M: X! U( T. _4 y& f: F

- ]% O( A- M4 L/ r! W( hA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh), `" D# }: E& p/ N" t+ E

/ y! n0 W$ M! E4 N8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
. |& ]1 y: \# M* O- }0 T& |# v' A6 N2 `5 X7 D
68               PLA             A出栈(还原寄存器A在保存的时候的数据)
1 U+ y3 y. Z: x& q6 N6 j2 i! j" S( Z
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序
1 }7 v8 D0 K" e% F7 B
7 e! k5 @, K( T$ J% x他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
/ t; Q2 _+ i$ ^4 e/ X" ^- g: r4 J6 j9 m+ x- _
   PHA是隐含寻址方式的单字节指令,操作码是 48
3 {8 t: H8 I; w4 ~" n; }
8 ]. g8 j  I% s   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1+ p0 ?2 I+ `) `3 ?$ q% `/ E

% h7 I1 M) U4 E/ @* R累加器出栈指令 PLA8 T; N0 u/ A8 W9 g9 ?) x# M) R/ ~
8 d8 M: f, R9 I
   PLA是隐含寻址方式的单字节指令,操作码是 68
* i0 _" R# P$ u- Q+ ^# m5 u( H9 r) \, T
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
0 l" W8 f) v5 R  e7 ?' `( \6 u+ {* x
比较指令9 x( b0 L* n$ P! |! N( [7 U

1 O$ h; i; f; w6 Y: N$ HCMP--累加器和存储器比较
7 |6 M. U* \; D" _
! [, e: e. t5 c+ d* i! tCMP #$data C9 立即寻址
8 G) u5 y# ~8 H, R8 E; p, }# J
5 r/ [7 Z6 [) E  d8 u/ `JMP--无条件转移指令
: B! Q* ]+ N3 R- J, f- A
  m% r8 _# |2 q: {! y, X/ P$ H* F! Z符号码格式 指令操作码 寻址方式
9 U9 A6 f$ T: TJMP  $data16 4C 绝对寻址 : ^& g. ?2 h$ U5 T
( @" O( P+ {8 b/ g/ \  O
2. 条件转移指令& ?7 B; M* J. F+ k/ S! B" z

1 R9 }1 a" D- FBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续
4 E% `) M1 u2 c+ XBNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 2 r" N; I3 O. b# `% Z) g/ d
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
7 K$ @0 P6 e8 X/ T+ }7 ~& ZBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 + n5 R( n+ Q  {" I! F
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
7 K' L- a3 S9 o0 I/ ]; k0 k* x8 PBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 * e. c. }4 {5 m  u4 `4 s
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 ; p0 `' ?9 P( z& E+ d: ~. O  a- r
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 + z9 v5 e$ O0 `; w2 [- m
7 V8 q& ]4 A0 I* {
STA--将累加器的内容送入存储器 A--M7 _- M; V* ]. Q* y- j5 K2 E. v1 }! N
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 ; X9 ~% y4 W& ~8 G* b2 S
, l. H( o: S* H* P
: S) @" w/ i2 t% ^  M& `
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 8 c! k- ?5 v6 O8 Y- X9 w* ~  c
  m$ T% e' V4 w

  j6 X$ M* `0 uLS竟然隐身。{:4_114:} : F7 g& e- `0 e; V' c& Z4 s; H+ Z
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ) X& M0 W4 `' A" [& \2 L
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
' v7 q- ?. S0 A6 r4 ~2 Z' [/ W
2 p* @5 }: X: h0 q这两条也挺好用,比较大小的。

签到天数: 1211 天

[LV.10]以坛为家III

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

签到天数: 1211 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 8 B+ c8 t! F6 c" w$ w# z+ y% A
. y# @# g' @5 X2 K6 f

; Q) j$ Q+ `& _- \$ Y4 C修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-24 19:15 , Processed in 1.078125 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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