本帖最后由 n805 于 2015-12-19 22:36 编辑
/ n M; c* n5 o1 J9 [: B2 r; m
. X: f0 c2 e- h: K8 h; q4 s手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。8 i, Q* D# }- N( f! t
FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。3 N/ _/ e7 o6 M& I' K1 ~
而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,
, {* @& g1 w& {- z6 j; h* `8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的# F: G7 Z' D/ a/ O
由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位6 R! B: j5 f* u6 b+ N
所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以$ f! }" ]% ~) {$ O, B( h: M4 U; b
想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右
9 U6 e D, M' D! B6 C% O: o不定,而游戏也不断暂停和解锁。。。。。。。。。
! G' I. m" z. {9 A解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P; U5 J8 f, [/ c5 T4 a' Y
和2P的CLK端。附上图片,自己查看。。。。
- p( B% D0 y# E1 U; A6 p8 W3 Y2 ]3 [( Y8 g$ X
[url] е е |