|Keyboard Adapter One-Shot Timer Circuit|
My earlier experiences with the PS/2 keyboard adapter and my own hack to make it work with the Micro Chroma 68 suggested that either the adapter was not generating a strobe signal at all or that the TVBug software was just missing it. The former seemed unlikely, so I set about to address the latter issue.
Mike Willegal's documentation for the keyboard adapter tells me that the adapter should be generating an 125 microsecond pulse for every keystroke. That translates to a little more than 100 CPU cyles during the strobe signal. But since the strobe signal is not generating an interrupt, those 100 cycles may not be enough for TVBug to see the strobe if it happens to be doing something else.
To address this, I fed the strobe signal from the adapter to a 555 timer circuit configured as a one-shot timer. This allowed me to send a longer strobe to the Micro Chroma 68 after a keystroke. Experimenting a bit led me to use a 470 kΩ resistor and 0.1 μF capacitor, resulting in a pulse width of 47 milliseconds -- quite a bit longer than what the adapter was generating! These values give me very reliable and pleasant keyboard entry, with no need for a magic "repeat the last key" button... :-)
The Micro Chroma 68 keyboard interface also has provisions for 4 directional keys and a "Home" key. I guess these allow for moving the cursor around on the screen, but I'm not sure I see the usefulness. Anyway, letting them float was resulting in some random cursor movement as can be seen in some of my videos posted previously. While mucking with the keyboard interface, I took the opportunity to ground all of those signals. This also resulted in a much more pleasant TVBug experience.
So, that is one less nagging problem with my Micro Chroma 68 build! As long as I restrain myself from typing more than 20 characters per second (which would be 240 words per minute), the keyboard is quite usable. With the new modifications I was able to reenter my flashing "Retrochallenge Rulez!" program much more easily than before.
Anyway, it looks like the Retrochallenge event was extended until midnight GMT today. I wanted to get this posted so that my entry gets full consideration... :-) But in all seriousness, I do hope and expect to keep poking at this one a bit more for a little while longer. So, as always...stay tuned!