EMU618社区

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

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

[复制链接]

签到天数: 1406 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
: ^8 w% {0 x0 }3 Q  我该的是Name=彩虹岛
* v! B  [; S! o" b, M; `- Z         [小宝石全齐]ON=54F,FF
5 R7 i7 [2 t4 n  _" A' r. c! p   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

& D  Q, W) |" O, L   然后就将改成
$ J* Z' R5 Z/ u7 M   再然后改成
0 I& w+ @  v$ C7 v* t) g0 u2 h6 r   最可耻的是最后竟然弹出这幅令我精神失常的图, c8 Y" J7 {% l' L. B; ]
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2133 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}" d! a  g7 t  v" A; z( h4 f, o

/ C& d9 L7 Z' \0 _2 q! l还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。& d$ c! c* k" U
7 j4 _1 H6 y/ |3 W
48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
$ F3 s( t% |' h" E  k* [6 ]( u7 d' x1 V' I) J
机械码      机械码指令解释
% E% \1 S3 Z2 e. p0 t1 {- w# K1 O: L
  {+ D0 F- X3 s0 g48              PHA            A入栈(可以理解成保存寄存器A里的数据)
6 D( Q6 Y1 w( g5 f" @. ^5 u! G5 ^. ?0 t/ U  b. v
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)4 X# i/ R/ p& D
. p5 p9 r+ u  i, b7 l6 Y
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.+ V9 e6 ?! X! Z& B4 P/ J

" u( B( J, f  ~! D) VA9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
/ \7 _+ b4 F+ j/ Z9 _# O3 ~: T$ x% M4 i: [4 b" E( R3 |6 `7 n
8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)0 e' V1 i! s4 Q9 t8 V/ W& [3 A

# y9 s* e3 S! E2 f$ U  G' |* m68               PLA             A出栈(还原寄存器A在保存的时候的数据), K7 V4 E* H* s8 |# j: E8 F
& L! n) r6 ]9 a& {8 d8 |3 N
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序6 n% f1 ~# b: O1 p! f& N& H$ U
7 z: p4 ^' Q% o) T: `/ N4 R
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
9 [5 h1 c  A5 D+ `" t
; z" f; Z8 a1 T7 }  z. U   PHA是隐含寻址方式的单字节指令,操作码是 48
- R" ~3 _; s: t7 _" S4 D! i7 Y
% O" t4 |4 ~: b, \; k7 k, j   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1
* K. p. ^8 |9 o: V, U/ v! S0 B0 h0 v: F: R/ i* A5 ~
累加器出栈指令 PLA9 w+ x+ @' i0 Q/ @- Z% d4 @

4 R4 I4 h+ h3 v5 y, C' [: X2 w   PLA是隐含寻址方式的单字节指令,操作码是 68! E& s5 k( x9 e6 O8 Y' D  ~
5 x. H- H& X5 G0 }( q- Y$ v
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
+ L: U" O. y1 ^! S7 f
& s* p* I- A" F, l/ ?比较指令3 |4 d) k3 C& ]
% [) L* @# F. K' p
CMP--累加器和存储器比较4 K: s: p  j  y& P1 E

( y  f2 v8 q; N1 D6 Q" ~CMP #$data C9 立即寻址
1 E5 Z8 k$ _. T2 e" L4 e0 o
/ r# K4 L; F, I; I9 d( PJMP--无条件转移指令
7 E% V' h( @- s8 b8 h
* b: G5 A1 y/ l' |0 \4 G符号码格式 指令操作码 寻址方式
/ p& y' X0 J* n( bJMP  $data16 4C 绝对寻址 * e$ f4 ?5 f+ ?& b$ W- C
7 A6 t8 P1 R3 ?2 \5 ~
2. 条件转移指令
( y. k1 E5 C0 f5 b8 L& N
( K% C5 P" Z* f9 e: G" YBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续   y- h$ K6 E, I6 N% _% H
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 2 R- S* E' y: b" E; O
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
! j9 G; y7 {  E4 jBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
! x' ]9 u8 l7 M7 |6 [& iBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 ! U! u# f6 B9 w- p6 E6 N9 k( s
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 - v8 @  X, e8 ^# M% r
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 5 m. y7 b) K; g, J6 m. {
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续
  Y. r' r. D. L9 o9 u( F
- I* ]4 S- K0 U# S! PSTA--将累加器的内容送入存储器 A--M8 o; V" a! ~+ Y9 ^+ a. e4 n
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
) `5 z* [) {2 K8 e2 z5 o# H" O0 }4 B9 D$ z" Y4 X( h/ v' a6 P
8 z( m9 k" \) ^
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物
$ n: a  X4 |/ j, R3 e$ r0 V8 C- X0 q8 h! g1 v8 Z! g; M

/ L3 D! C6 {4 ]LS竟然隐身。{:4_114:}   d& _$ p7 U3 {; R
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 ; h5 E" B& C5 J% W/ B" R7 t
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
6 J* @8 p; r3 m
7 q8 Y* \* x: J4 X( ^: `这两条也挺好用,比较大小的。

签到天数: 1406 天

[LV.10]以坛为家III

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

签到天数: 1406 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 ; D4 A. E& C0 Q8 S) z2 m; f/ b

/ |8 f9 U4 B8 M# Z) H2 C8 q
, B+ N* a/ b- V3 p修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-11-16 12:06 , Processed in 1.096680 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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