On 1/17/2012 1:34 PM, Tony Duell wrote:
No, given a dual-ported RAM, this works. It's fine
for a 8*8 matrix (as
in the case of the TRS-80). it's less fine for a 16*8 matrix, when you
needa 64K dual-ported RAM and have to update 32768 locations (i.e.
half of them) for every key change-of-state.
Given the original topic, a dual port
RAM is indeed feasible. However,
for keyboards that can be scanned either way (CBM VIC-20, C64, C128,
C128D, +4), dual port will not work, as one cannot guarantee that the
rows are the "addresses" and the columns are the "data" or vice versa.
For reference, the CBM PET has a 3-8 decoder used to select rows in the
KB matrix, so a dual port ram option can work (because the design can
guarantee the address and data usage)
There is a MT8816, which is an 8x16 matrix.
As Tony notes, KB matrix diodes would make things more complicated, if
not impossible.
Jim