本帖最后由 n805 于 2015-12-19 22:36 编辑 3 S. B7 P, Q# Q6 t% f
2 m1 L; F: q2 D6 ^
手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。5 e# }3 H8 S8 N4 j7 @$ y) f( ^
FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。
) F Z) Z: Q1 {( l6 L而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,
* R0 u& `5 Z9 F' X/ M" T( X8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的7 A6 E: ]% s- b! `: p, R- N! [
由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位3 ^8 {1 C" @8 u9 v5 l
所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以; z" n, f' r6 d1 h
想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右6 S. g6 r4 d+ i
不定,而游戏也不断暂停和解锁。。。。。。。。。. O* o% J5 C2 X+ R! L% [- l
解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P
2 F. u, P* F. }1 C- e+ L和2P的CLK端。附上图片,自己查看。。。。
& R/ }3 E) }$ E( f) `+ y& A2 q3 o" ]9 t* o
[url] е е |