本帖最后由 n805 于 2015-12-19 22:36 编辑 , o7 k4 u. E% w5 d t
9 ]6 H; z4 q( F' `手柄的CLK信号没加上。以下是原理介绍,后来人员可以补考了。。。。。* u7 Y' j9 A/ l) L" Z
FC手柄是5根线 1电源,2地线,3数据线DATE、,4读取线LOAD、5时钟线CLK。
Y3 _# ]. G/ c- S而手柄的电路是个8位串行移位寄存器,当主机发出LD信号后,在时钟CLK的作用下,) E: q! e* X% n2 C R9 `
8个数据被逐个传到主机,如果没有了CLK信号,主机发出LD后,数据是不会移动改变的
2 t! s6 f# a2 L- e由于A键是8个数据的首位,所以按下A键就会导致数据线位变低,由于没有CLK不会改变数据位
8 B- k9 F9 }" |/ ?4 R& F, | Y所CPU在8次读取当中都是读取的A键信号,也就是说按下A键就等于按下所有按键了,你可以% `8 W& c8 z5 {# P' F
想办法进入游戏,比如魂斗罗,游戏中按连发A,你可以看见人物是不断跳跃和开枪,上下左右
$ c L% {, z/ m不定,而游戏也不断暂停和解锁。。。。。。。。。4 h$ S; [* e/ X% _0 R2 I
解决方法就是检测电路,CPU的31脚就是CLK时钟脚,这个信号通过74368反向后分别送入1P. b! J, \; w8 E7 w @; c
和2P的CLK端。附上图片,自己查看。。。。
5 ~. p6 A" q2 k1 F) g" b% a, F# Q ^
[url] е е |