本帖最后由 n805 于 2015-12-19 22:36 编辑
4 {( h/ i$ M" V$ `3 [+ {# j/ X3 r& D0 @3 Y1 B
手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。/ ]1 L! e9 i6 ^/ z; ]. r: x
FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。
4 F5 ?, s% r/ @) C9 q3 }( a& a而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,, I. h- X9 Q( y- N% n P
8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的
$ I- _& r' Z# {由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位
: o1 [' @; L+ D; g6 ~所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以+ O3 Q. w9 |4 _# s' T) r( h- f
想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右! N% ^* s+ v- w4 o
不定,而游戏也不断暂停和解锁。。。。。。。。。. B1 L! ~' M- s0 I( L: V7 U0 @6 T3 Q
解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P
1 [* U5 x/ A& k Z和2P的CLK端。附上图片,自己查看。。。。. k3 y- t/ a2 X0 [+ ~/ j
/ T" K0 b% {1 x8 H9 U( C
[url] е е |