本帖最后由 n805 于 2015-12-19 22:36 编辑 6 T! ?, }2 O4 W# e+ r: W2 s/ h
6 L& M& u/ o7 i7 n8 ~
手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。3 }7 P8 n0 S0 W# D# T# V( C
FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。
" f2 U& C9 |0 p* z而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,( f; o- g8 ^5 c7 v
8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的) _7 v! N$ E) k* S; c3 A
由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位
; Z: c7 r% m; z+ o" J7 I3 m所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以
, M# [) D; ~% z+ p0 H5 z+ t) P想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右
2 t$ ^. y, Q4 O( ?( V& V不定,而游戏也不断暂停和解锁。。。。。。。。。
! Q$ ~+ f& c: M. W# G2 Y4 Q1 Z解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P$ p8 U; @% |( D: n: O5 p7 M* l- i
和2P的CLK端。附上图片,自己查看。。。。
9 n9 r! ]4 K. T
( a, y! h% b+ W1 f9 X# ][url] е е |