Controller/Serial input problem
Posted: 20 Feb 2024, 21:48
Hi all,
I've built a Gigatron, and the video and audio seems to be working fine:
But, when I attach a controller (cheapy knock-off SNES controller wired to a 9-pin plug), the Gigatron acts like it's receiving lots of random inputs. Nothing I press makes any difference.
I've put my oscilloscope on the clock, latch and data lines on the controller port while the controller is connected. I can see different serial bits when I press buttons (parts of the trace drop low in different areas for each button). This appears to be working correctly.
I'm concerned by pin 13 of U39. This is the output enable for the game controller shift register - on my Gigatron, it never goes low.
Removing U39 and tracing the /IE signal back to where it's generated at U11, this also never goes low. The other three signals here (/DE, /OE, /AE) show lots of activity on the scope, but /IE on pin 7 is just stuck high.
IR0 and IR1 on the input to this IC show lots of activity.
I've piggybacked another 74HCT139 on top of U11, but with pin 7 bent up and checked that on the scope (to isolate any problem on the board pulling pin 7 high), but that also remains high.
I'm a bit stumped here. It looks like A0 and A1 (the inputs to U11) are both showing activity, so this almost looks like a software problem (I'm using the v6 ROM).
Can anyone confirm that pin 7 on U39 should be going low to read the output of the controller shift register?
The other odd thing is that the Gigatron is seeing lots of random inputs, but /OE on the shift register is never low, so how on earth is it getting inputs?
Many thanks!
I've built a Gigatron, and the video and audio seems to be working fine:
But, when I attach a controller (cheapy knock-off SNES controller wired to a 9-pin plug), the Gigatron acts like it's receiving lots of random inputs. Nothing I press makes any difference.
I've put my oscilloscope on the clock, latch and data lines on the controller port while the controller is connected. I can see different serial bits when I press buttons (parts of the trace drop low in different areas for each button). This appears to be working correctly.
I'm concerned by pin 13 of U39. This is the output enable for the game controller shift register - on my Gigatron, it never goes low.
Removing U39 and tracing the /IE signal back to where it's generated at U11, this also never goes low. The other three signals here (/DE, /OE, /AE) show lots of activity on the scope, but /IE on pin 7 is just stuck high.
IR0 and IR1 on the input to this IC show lots of activity.
I've piggybacked another 74HCT139 on top of U11, but with pin 7 bent up and checked that on the scope (to isolate any problem on the board pulling pin 7 high), but that also remains high.
I'm a bit stumped here. It looks like A0 and A1 (the inputs to U11) are both showing activity, so this almost looks like a software problem (I'm using the v6 ROM).
Can anyone confirm that pin 7 on U39 should be going low to read the output of the controller shift register?
The other odd thing is that the Gigatron is seeing lots of random inputs, but /OE on the shift register is never low, so how on earth is it getting inputs?
Many thanks!