Jump to page content

MOS Technology



MOS Technology, Inc. was an American semiconductor manufacturer. Although best known for the 6502 range of CPUs, they also produced several models of keyboard encoder. All three models go back at least as far as October 1972, when all three were shown in an advertisement in Electronics magazine. Few details about these chips are known. None of the encoders are said to use a look-up table and no output formats are specified, so binary sequential output seems likely for the parallel-output models.

Keyboard encoder ICs

MOS Technology’s term for these chips is a “Keyboard Encoder Array”, or “KEA”. Such a device was the subject of US patent 3792466 “Keyboard entry system with n-key rollover and n-key lockout protection”, filed in May 1972. The patent describes the use of a 64-bit shift register that remembers the state of each key on the previous scan cycle: each key is added to the shift register as it is scanned, and this value will be the next one available when that key is next scanned, in a continual cycle. (MCS/MTS 1007 just happens to be a 64-key encoder, with one shift register bit for each key.)

Model Keys Modes Bits/key Rollover Output Data Notes
MCS 1007 64 3 8? NKRO/N-key lockout Parallel Binary sequential? Specifications are unclear, due to poor quality advertisement scan and no known datasheet; also known as MTS 1007
MCS 1008 28 2 8 NKRO Serial Output data is not specified in the advertisement; also known as MTS 1008
MCS 1009 90 4 10 NKRO/N-key lockout Parallel Binary sequential? Specifications are unclear, due to poor quality advertisement scan and no known datasheet

MCS 1007

MCS 1007 is a quad-mode encoder for up to 64 keys. With additional units, the limit on the number of keys can be raised to 92 or 128. The 92-key limit suggests using the MCS 1007 in conjuction with a 28-key MCS 1008. “True N-key rollover operation” is supported, as is N-key lockout, key repeat, odd or even parity generation, latched output and debouncing. MCS 1007 is also known as MTS 1007. Output is parallel. The data lines are said to be “encoded data word output”.

Some of the specifications are posted as MCS1007 manufactured by MOS Technology on the Amiga-Stuff website. This data indicates that the strobe line “remains true until a new key is depressed, or the Data Acknowledge signal is received”. The data lines are latched and can be read at any time between detecting the strobe signal and the next key being struck. The behaviour of strobe when a subsequent key is hit is not detailed; the complete datasheet may indicate for how long strobe will go false. Unusually, there is a key idle line, that indicates that no keys are currently pressed.

MCS 1008

MCS 1008 (also MTS 1008) is a 28-key dual mode encoder, also with N-key rollover. Electronic shift and shift lock is provided. Output is TTL-compatible serial.

MCS 1009

MCS 1009 is a quad-mode encoder for up to 90 keys. With a second encoder, up to 180 keys can be encoded. The feature set seems to be an expansion of features already included in the MCS 1007, including “true N-key rollover” and N-key lockout, parity, debouncing, latched outputs and the key idle line. Key repeat can be manual or automatic. Output is parallel.

Keyboard controllers

MOS Technology produced the 6500/1 microcontroller version of their better-known 6502 CPU. This was used as the keyboard controller in the Commodore Amiga 1000, as model 6570-33. Some later Amiga keyboards used a 6570-036 controller, including the Hi-Tek and Mitsumi (but not Cherry) versions of the Amiga 2000 keyboard and the Amiga 500 keyboard.