8 ms·
This is also what enables nearly latency-free keyboard response at 60Hz polling, something most modern implementations can only dream of. (The latency of modern
by masswerk 4y ago
This is also what enables nearly latency-free keyboard response at 60Hz polling, something most modern implementations can only dream of. (The latency of modern keyboard communications is also an issue with emulation.)
BTW, this architecture really goes back to the PET 2001 (1977), which even comes with a detailed keyboard matrix diagram in the manual.
[0] https://www.masswerk.at/pet/manuals/PET_User_Manual_(2001-8).pdf https://www.masswerk.at/pet/manuals/PET_User_Manual_(2001-8)... (p 12)
Commodore does a good job there (just before and after the diagram) of selling the advantages and disadvantages:
> Until that key is released, no other keyboard scans are acknowledged unless a later scanned key is struck. The later scanned key is then considered to be the next key closure. The algorithm does not give classical N key roll over but does allow for legitimate rejection of noise and trapping of the keys in the order that they are struck.
> The keyboard is left scanning the last row, which contains the stop key. This allows the routine in BASIC, that checks for the stop key to sample the input I/O device, without having to perform any of the normal functions of scanning. The user can take advantage of this by reading the input character for that row.