From: Jim Brain (brain_at_jbrain.com)
Date: 2004-05-20 23:42:37
> what do you mean by 8x8 crossboard switch? A matrix of 8 by 8 switches that you can programmatically control on or off. > I have emulated the C64 keyboard with my CS/A65 system, so I have Well, the problem is support for any custom keyscan routines that scan the other way, or do some other algorithm (ACE comes to mind, with Craig's custom keyscanner). Actually, I can implement your and Nick's idea in a controller directly: Pipe Port A into 8 input pins of a controller pipe Port B into 8 in/outs of a controller (set to out when driven LO, set to IN when HI, with internal pullup resistors, so as to not affect JOY reads on PORT B. set up 8 bytes of storage for switch matrix. each byte corresponds to the state of one row of the emulated keyboard. Watch PORT A pins. When you see 00, and you have a keypress, set the OR of all 8 bytes on PORT B When you see just 1 bit low on PORT A, set that byte on PORTB Run your controller at 5-10MHz, to ensure enough time to perform the above steps. > I guess it's just a matter of your requirements. Little HW, small board size, low cost... But, my above solution suffers from the same issue as the RAM/EPROM ideas, it assumes scanning will go from PORT A to PORT B. I think almost everyone does that, but I have not verified that... GEOS is a big one that I have need to check. Jim Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.