If you want to work together on something Jim, I'd be happy to.
Sent from my iPhone
On Jan 18, 2012, at 5:41 PM, Jim Brain <brain at jbrain.com> wrote:
On 1/18/2012 4:14 PM, Curt Vendel wrote:
I can use a $1.00 Atmega8A and easily implement a
USB keyboard and connect an Atari 800 keyboard in a row/column matrix very easily. Now
going the other way around requires the port pins to be outputs and you would use the same
amount of pins for talking to a ps/2 keyboard as talking out as a USB device, you'll
still need 2 pins for clock lines and run at 12mhz for best results... You don't need
to throw a lot at this situation.
matrix KB to USB is indeed very easy. As you
note, M8 is easily doable (LUFA + the KB connector of choice and some glue code).
The other way requires host mode functionality. Chuck, I'll admit I did not see the
limited Host mode support in LUFA, but I did see the EE project. I dloaded the code, and
it's definitely a college project :-). I decided against trying to refactor the code
into something usable.
In my case, as I redesign C=Key, I have some other goals in mind:
* field upgradable via USB port
* Support for hose and device mode (current C=Key operates in both
directions as well)
* Minimal parts count (I'm aware of the VNC1L and such, but they are
pricey for what they offer)
Since DIP/TH packaging is not a requirement for me, and minimal parts count and small
size is, I am leaning towards a small OTG-capable ARM variant for the new design. They
are reasonably inexpensive, and offer all of capabilities I feel are needed.
I would enjoy a cheaper Xpoint switch option, but perhaps that is asking too much. Dual
Port RAM is cheaper, but some apps depend on the interesting effects of "n" key
rollover, which is harder to replicate in a dual port RAM setup. Of course, I think the
C64, which can scan either way, dual purposes the row and column lines for joysticks, and
uses two of the lines to select paddles, is an extreme case, but it's a challenging
case nonetheless. TRS-80 M4 does indeed seem easier to support.
Jim