EMU618社区

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

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

[复制链接]

签到天数: 1413 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。' ~' Y; H- w. i& {& T7 \0 ?
  我该的是Name=彩虹岛$ a9 m8 b3 A# K; F5 d- v
         [小宝石全齐]ON=54F,FF
3 {0 e9 V- R, L; K, m. g9 B   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7
3 V0 a; b2 l$ }5 X+ J! J
   然后就将改成. U# l; L5 g% ~1 j8 o+ m$ w
   再然后改成
6 Y" b" Q) _  c   最可耻的是最后竟然弹出这幅令我精神失常的图
1 @" `0 V- ]8 T. d: F1 W- }* B   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2184 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}
" U% N: H; t8 r8 k& J2 t$ Z
9 V% [6 Y7 }+ w. x5 B还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
$ n+ j& _9 L/ d& b; d7 o6 b. d
9 ?) m& N; [! B8 g  M48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
% q4 L0 C- M& W* C  O% d8 [6 Z) Z0 X+ h3 O
机械码      机械码指令解释3 D- k  E2 W- C" R  C2 o

: L% z0 a& v+ X+ x- a48              PHA            A入栈(可以理解成保存寄存器A里的数据)! I9 C+ c! r  A( T5 C# ~
+ E0 q& T+ s, m6 `( ^
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)' B8 x7 D$ y) y9 K, h- g6 v: L

0 X. X& {8 ~, @+ @8 x. y! T3 [D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.
7 n& N5 `" Y# m* d- F& [5 ~; A4 ]2 Z1 O2 `" U0 j
A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)3 r/ s+ w" t, m

+ e9 k% D8 }. w8 t' k# D! P5 `8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)" m0 p+ Z$ v: V0 \2 E7 L

( h( O* m3 G8 O! ?68               PLA             A出栈(还原寄存器A在保存的时候的数据)- N2 w" t4 U+ f+ `
, {2 s( ?8 v4 u& N  ^" Y6 s
4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序1 L6 y4 s; T) T* K- d
$ `6 f" N: `; a% O
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA
" j! c) T0 F5 a' h2 _, n( T& W
6 i: d4 L- b$ p2 C   PHA是隐含寻址方式的单字节指令,操作码是 48& Z7 h7 e! [) n0 i; S6 P2 \
1 J5 \& L. \; S1 ?' w! g
   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减1( k1 J, G' v1 o3 a3 n1 P: `# I. s- O

- n1 q5 |& ?$ e" h( {6 l, z累加器出栈指令 PLA3 i0 v/ q  O# y1 B3 g% ^

+ F( Q& C9 l: B( D: k   PLA是隐含寻址方式的单字节指令,操作码是 689 N) Y7 X( ?1 e" F3 B
' o- z" b) J' I' V5 {1 V$ T
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A
7 l1 O" K  M% W0 y1 A
" W/ Y* K5 E3 u2 C; Q$ {% t5 R比较指令& g8 f# S2 f$ e* m' e+ s% x

9 [* p4 Y  V# }CMP--累加器和存储器比较* J1 q' G0 e; |' A  A# Q1 v

! m2 g5 h9 m9 Z% r7 [+ }$ ~. ]CMP #$data C9 立即寻址
5 E, v: B$ G$ S7 h* W9 P6 ]/ p* y$ a( V* d3 m" |6 g' i( Q4 j
JMP--无条件转移指令
# b% b4 c6 G( l. g+ z- M. X# m0 b- y2 C5 |1 E' I, V' m
符号码格式 指令操作码 寻址方式 : v! k2 H' j: l9 f7 N! G3 F1 T; r
JMP  $data16 4C 绝对寻址
9 M( g7 D1 Y' s, [% z( o3 A/ U0 Y( ]& d- X7 l& f( H1 G
2. 条件转移指令
2 B) P% \6 A1 ?1 R5 Y
- U: Y  @  r/ d+ N4 dBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 " h: ^# P% X2 T9 p4 X
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续 ; O; j. f  X7 j1 Y
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 $ R5 f, i# {* a% d) t7 p! n9 }
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续 $ Y, s! q8 i( U# H+ _. v' N- k! z
BMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续
7 ~, ^  n5 J: ~0 bBPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续
! ]6 o0 U8 ~# A* [BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 9 y6 P# p" h2 J
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 2 T5 g: |4 j$ N( M, Y& `
, F% U: ^- \; G, J: n7 X5 A5 _
STA--将累加器的内容送入存储器 A--M, T0 k1 s# j& J% U6 b8 {' q
STA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚   |" q# k9 ~* q! L% `
  m/ D0 N/ L  N# o1 Q

, ~$ l4 @* _5 A+ `看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 / ~- e! k1 s! a$ \& g6 @" s: K( i' R
+ j9 T5 a  o+ }0 X0 k) W
% i% B& }: i% `  \% |* K6 p
LS竟然隐身。{:4_114:} . e9 X, a9 I. A/ U
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续 # x$ o+ J$ @0 |  t+ M, `' p( N
BCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
  J  |$ i% g, _# b& I# b. T7 l; {0 ~
这两条也挺好用,比较大小的。

签到天数: 1413 天

[LV.10]以坛为家III

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

签到天数: 1413 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼 ; W; g4 u5 ]9 J  z
6 ]7 J& b. F# D' m

3 \8 H$ s. V: g修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-8 00:28 , Processed in 1.078125 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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