Re: cross point switch

From: Jim Brain (brain_at_jbrain.com)
Date: 2004-05-20 23:43:10

> 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.