EMU618社区

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

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

[复制链接]

签到天数: 1334 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
- `9 V6 @; Y" Z9 Z  我该的是Name=彩虹岛
  |4 f  k2 h$ D: c/ z, C4 P         [小宝石全齐]ON=54F,FF% z. z# i. |- c' [( l6 m" t
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

" g; @4 {! V4 W   然后就将改成  z; t/ b8 i. ^' K' t" B; v& F
   再然后改成5 w; q6 G9 v4 D; c* @1 _! D
   最可耻的是最后竟然弹出这幅令我精神失常的图4 o/ k' o; c+ U0 e5 ]. `( l  F- e
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 1997 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
/ U  K! G0 R5 K  h1 y) M: W* F" A# j3 I: u  d: K7 Z
还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
: |- v, ~! \5 o; l" D% `
% r- _! B  ]; r48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
. s3 K$ y# e, T+ G9 L8 d8 V
" A" p; @: A( |" f' T机械码      机械码指令解释
, l9 L% _, F( X# T$ {2 }: Y9 t" Z
9 K- S8 U* p9 I# Y. u7 ?. D48              PHA            A入栈(可以理解成保存寄存器A里的数据)
- _' U8 n; G" ]1 V/ \! W$ s4 K& {' [2 U7 P) t5 g$ V0 [0 n
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)' p" \% B# Z- N8 Z
6 N8 U  k" x2 B# H4 a% Z2 i
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
4 i9 D% v8 ]& x; g7 F/ |- I$ g9 |) o4 O$ _
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh). A4 w2 n2 n$ v! y6 C

) M- e1 w+ Z+ Z5 T. q8 K6 P8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
- V+ ~' W- }% K. _
! i; i% B9 r9 h68               PLA             A出栈(还原寄存器A在保存的时候的数据)
1 ~2 v1 s8 E% m; R! `
6 Q2 j  N" @- b9 j4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序7 E& {, w+ i. q( _0 O: ]

+ O. L' F2 R* p$ u他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
/ v* e* Y, e( N3 d0 D
/ O* t$ h* [2 O   PHA是隐含寻址方式的单字节指令,操作码是 48
8 K, g1 u9 S3 s% U
2 L8 A- x7 Z. x) r. r( N   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1, m; I; G1 D+ p$ K6 X
4 c) ?9 z4 F2 L
累加器出栈指令 PLA' Z& F. K3 O6 r, X( c
  T5 P3 q! o) T+ q
   PLA是隐含寻址方式的单字节指令,操作码是 68
, G% J5 A* m$ r$ n% g  W
0 x2 J- x0 @# U$ @1 V- [! O   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A, B8 ?' U9 s; Y+ e: ?
, E0 ~! |, V, [& F- T* L" S
比较指令/ x& X8 Z' o6 h# B
/ ^- }, B5 C) E2 C
CMP--累加器和存储器比较* N- c1 w1 T+ O) [) ?/ y' z7 D+ w% S

+ ^  y* [2 R. l. tCMP #$data C9 立即寻址
" Y- z; ^: S- D+ j- J5 v- d: w. R, ~. R4 S- H- X
JMP--无条件转移指令
3 S0 K! i0 s: {3 x
) I/ m( C  I4 J) F$ Q3 Q" k符号码格式 指令操作码 寻址方式 - R& ]; d& M: }% c0 k
JMP  $data16 4C 绝对寻址
5 M8 }2 W* G, V# e' @/ ^) S) n0 o' R- h
2. 条件转移指令( ^7 f1 C$ k8 Z9 n2 o: |
- z5 B9 E' d/ U, S" F6 @0 h" O' [
BEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 8 Q6 q  l- C% i* D* _
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 - F: V: F  P+ b( u( E
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 0 i4 m* L9 e/ c! o
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
6 j+ Z) `6 Y/ l. X/ kBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
$ B; T/ K  a1 z$ ~% _" eBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 * R' u5 ]$ L* F, ]
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续
+ V5 j8 B+ z7 D% J$ A4 JBVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 + I! f, z  e7 i$ q8 o

! x) {. q3 U. O$ W/ u6 U$ [' DSTA--将累加器的内容送入存储器 A--M
/ E9 n  V  r8 eSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚 ' U3 V# p; f/ D3 ?( q$ {

! W4 S: x) `9 B  g/ g6 ]
% G/ X) k. W( ?看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 # k1 q) b9 ]- [, h2 O! R- |8 S; s

8 l5 z* y. I; w7 ?7 I0 G2 M. \. X6 C% n. F
LS竟然隐身。{:4_114:}
( J8 j  b, U9 R7 N8 F5 OBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
* M( L  {, K* K; S, sBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 & f) H& B4 l' L  i, P
2 e3 ]; k2 T- F7 I- p
这两条也挺好用,比较大小的。

签到天数: 1334 天

[LV.10]以坛为家III

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

签到天数: 1334 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 . r/ `, ^5 A5 B% o3 `) {8 B

" p) [, S9 Q# ?4 [, [
7 I- ?0 d8 T( Q9 g/ w修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-7-4 10:24 , Processed in 1.081055 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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