本帖最后由 n805 于 2015-12-19 22:36 编辑
4 k6 | q( P3 _6 c$ I
1 Y; O1 w/ c$ |6 L& L手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。
$ c$ w0 m" j3 `3 H: E0 @FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。2 n) u6 T4 E9 f: X
而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,
1 Q" {% p5 B; q7 D0 S" P- U$ m8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的
# C& R) A& \! I3 f由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位
; ~/ h* P$ h3 {所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以 T1 _; p9 N% @2 g/ Z6 q
想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右: u, M- i- k: h) g- U9 c
不定,而游戏也不断暂停和解锁。。。。。。。。。
8 k' f5 B, Q! E: a1 o. J5 w解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P
( u5 Y" ?1 l1 Z和2P的CLK端。附上图片,自己查看。。。。
" a0 o K! p$ z4 T# r r/ P
4 q5 n" `, ^0 r) ^/ F- `: k[url] е е |