EMU618社区

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

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

[复制链接]

签到天数: 1387 天

[LV.10]以坛为家III

发表于 2010-11-16 22:40:28 | 显示全部楼层 |阅读模式
今天我又看了shinwa大哥的《FC游戏按键得到某效果的修改教程》的教程,看完后也试着改一下,但很遗憾失败了,对我打击非常大,有点想不开的感觉。
' E: ?  c; b' f3 S  我该的是Name=彩虹岛5 Z$ w  f( _4 {. ?
         [小宝石全齐]ON=54F,FF6 m( d. K. \% Q1 y( P
   我想改成按选择键小宝石全齐的效果,已知按键内存为00F7

8 D0 ]6 u: l+ M+ R$ m  |   然后就将改成
+ k2 b& v+ V' f) y' h  X   再然后改成- |# O9 {- S# c7 ?8 W# E
   最可耻的是最后竟然弹出这幅令我精神失常的图$ Q0 E1 i+ i4 c- F0 S
   其实我早就知道不怎么能可能成功的了,因为我不明白shinwa博客里写的 48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD 其中我不明白48 C9 D0 8D 68 4C这些机器码,有哪位会的教教小弟我,最好指出我上述修改有错的地方。万分感谢!!

本帖子中包含更多资源

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

x

签到天数: 2091 天

[LV.Master]伴坛终老

发表于 2010-11-16 23:01:52 | 显示全部楼层
从图片来看,你的4C C0 FF跳转地址好像写错了,应该写4C 00 FD。{:4_112:}, |5 F5 h" _$ s: K

, b" }/ w0 R  Z: x0 J还有从图片来看键值好像是存放在寄存器Y,所以C9 20应修改为C0 20。
" j$ z5 @7 I' D) V0 Q2 m# a
1 A' E! N1 ^$ P3 f- Y5 L5 ?7 c48 C9 20 D0 05 A9 7F 8D 1E 04  68  4C 7E FD
& r6 u/ v1 `1 N6 a( p5 Y8 B# s+ b. t# q! h' d3 f4 n5 T: y# j( O
机械码      机械码指令解释: r. C6 p! A0 j3 w3 ^8 \  d
. N! M9 Y" h- i. y( e% l
48              PHA            A入栈(可以理解成保存寄存器A里的数据)
! `) h; V" w: p! V- b/ R' e9 y" N6 r; P( o1 T7 @
C9 20         CMP #$20  对比寄存器A与20(20是SELECT的按键值)
1 i3 X" l$ v3 e% z9 @9 M3 M4 I4 C1 \, f8 i& ~0 \
D0 05         BNE #$05   如果不相等就跳过5个字节,相等的话继续运行,其实就是判断有没有按SELECT键.3 x8 Y2 g) x/ o9 H* i

$ y3 B7 l6 X9 ?* k" A- J3 _A9 7F          LDA #$7F   把7F送入寄存器A(7F是体力满的时候的数值,这一段也可以理解成mov a,7fh)
, ^* L6 E! b+ n* u7 v8 s
( s6 a- [" G9 _  N6 O8D 1E 04     STA $041e 把寄存器A的数据写入地址041e(这个时候寄存器A的数据是7F)
, d3 I. T& [# g  c3 `1 E# ]$ \. |6 h' @
68               PLA             A出栈(还原寄存器A在保存的时候的数据): H- ?! H' Y. m1 o" h5 H9 s4 {

5 j8 Z% R' K) I6 Y- w: c! F4C 7E FD     JMP $fd7e  跳转到地址fd7e,返回到原来的程序" u" `2 I9 @: ]1 r
& K2 @8 z& G6 w" Z+ E' h! k
他博客里不是有上面机械码指令解释么?

评分

2

查看全部评分

该用户从未签到

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

该用户从未签到

发表于 2010-11-16 23:11:39 | 显示全部楼层
累加器进栈指令 PHA0 h+ Z+ C/ x8 ~2 ^: K$ D: P( ]

5 t  o# v2 r9 H$ f   PHA是隐含寻址方式的单字节指令,操作码是 48
& B6 j$ {: J. p6 z- ?1 [
5 J5 Z3 V1 Y5 x8 W( T( g, N   功能是把累加器A的内容按堆栈指针S所指示的位置送入堆栈,然后堆栈指针减19 V# Q% h% v+ l
; h5 h3 o9 N$ x2 m. h; b! }- h! U6 W
累加器出栈指令 PLA$ }# J! \' v8 a4 W" W

- }5 y+ W9 V! {9 w3 R   PLA是隐含寻址方式的单字节指令,操作码是 686 v3 K* B+ B# E! z% N/ \
4 @3 ?) R2 k- Z3 S, M
   功能是先让堆栈指针S+1,然后取加过1的S所指向的单元的内容,把它送累加器A9 K+ j! a8 k" K
1 q/ ^9 l; j/ U+ b# p8 [0 V
比较指令
; ~9 A2 I& C  Q- j9 ]5 s9 P; X: L: R: l8 {5 }3 u" c. H
CMP--累加器和存储器比较  f% o4 V/ z& B# M8 Q

. F* v5 j1 U" K& H; q) WCMP #$data C9 立即寻址
0 p0 N, Q% v' j1 n# X4 f
4 C/ s. w8 N7 ]0 z/ c4 _JMP--无条件转移指令  ?7 \* g5 `$ J# n: G3 [

( f) x7 }, f; D$ R# P! I2 [+ F3 ?符号码格式 指令操作码 寻址方式 : j* `* j8 f( d! L$ I
JMP  $data16 4C 绝对寻址
& ]0 P2 n+ \. x) ?
( P; O5 X& w, X8 w. g* B4 N, W2. 条件转移指令
& B- X5 c6 `8 |2 `
+ `5 [5 ^5 T+ ~' h- R/ t" `7 w1 DBEQ $data16 F0 相对寻址 如果标志位Z=1则转移,否则继续 ( F# C2 l: b4 }: f+ u
BNE $data16 D0 相对寻址 如果标志位Z=0则转移,否则继续
4 [/ u9 A. {+ c6 E6 UBCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
- V! L1 a+ \/ Y3 Z* \, HBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
1 E' U. x  Z8 e, TBMI $data16 30 相对寻址 如果标志位N=1则转移,否则继续 8 T* s) J5 u3 ]" y
BPL $data16 10 相对寻址 如果标志位N=0则转移,否则继续 ; \, K0 O4 {! N8 H% o
BVS $data16 70 相对寻址 如果标志位V=1则转移,否则继续 ' p7 ]! B  k1 t' l
BVC $data16 50 相对寻址 如果标志位V=0则转移,否则继续 ' F/ B0 b. L- j/ z  }* V

- X2 U) w7 f6 ?3 pSTA--将累加器的内容送入存储器 A--M
) {! Y3 c) l  d+ XSTA $addr16 8D 绝对寻址

该用户从未签到

发表于 2010-11-16 23:15:38 | 显示全部楼层
4# 克罗诺亚
. g# ~: ]8 x3 Q' |2 I- _( W7 d
( t( U: P' A3 n* N4 E' p4 ?" }; @3 I* H; Y8 [- A( l
看不懂{:4_106:}

该用户从未签到

发表于 2010-11-16 23:19:53 | 显示全部楼层
5# 湘西小人物 & k0 e8 J6 g- r

! J9 k/ M2 M( O' O7 u! j% ]3 m+ L: h# ]3 n7 `) b
LS竟然隐身。{:4_114:} 7 X, j1 F; r+ G+ y5 p3 K/ T6 R+ j
BCS $data16 B0 相对寻址 如果标志位C=1则转移,否则继续
, p& o/ W  P  A. J  z8 KBCC $data16 90 相对寻址 如果标志位C=0则转移,否则继续
6 f; c  Y6 ~% e5 \5 v* _& b8 c" Q
# o2 X# N: S2 J' [) C' B这两条也挺好用,比较大小的。

签到天数: 1387 天

[LV.10]以坛为家III

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

签到天数: 1387 天

[LV.10]以坛为家III

 楼主| 发表于 2010-11-17 20:52:50 | 显示全部楼层
2# 疾风之狼
; H$ A0 U" a6 `2 `2 h: d# u# i& v  H, f  A

! Y1 R+ q3 j9 v& |修改成功!!谢谢狼大大
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-10-6 00:57 , Processed in 1.071289 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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