本帖最后由 n805 于 2015-12-19 22:36 编辑
' ^1 P$ l7 e/ K) o
& `% h& b: x( x0 C" x: M6 l5 Z手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。7 N" ]/ ^4 _0 A# `2 q, N8 h( R Y
FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。8 ?4 k3 j( r$ h! }- g: e1 Z
而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,
0 U( h6 I: @- s0 q8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的7 m( j, v% x1 v8 W, }" d
由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位
* d. t1 B! t1 ]: Q( }所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以/ B( b' v6 [$ a& E! z
想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右
9 J, F; o3 |/ f$ H不定,而游戏也不断暂停和解锁。。。。。。。。。0 h. U( C; g B5 b
解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P, I2 \3 {# H. M
和2P的CLK端。附上图片,自己查看。。。。
|% U& s+ X2 E, I+ w
8 N' g5 t; F# y k9 V[url] е е |