====== Numerische Tastatur CX 85 ====== Die frühen Heimcomputer besaßen auf der Tastatur in der Regel noch keinen abgetrennten Ziffernblock. Für die schnelle Eingabe von Zahlenkolonnen in einer Tabellenkalkulation oder Buchhaltungssoftware erwies sich ein solcher Ziffernblock mit Tasten in Taschenrechner-Anordnung aber als überaus komfortabel. Atari lieferte für seine Heimcomputer ab 1981 daher eine separate, numerische Tastatur nach, die sich an den üblichen Controller-Port anschließen ließ. Neben den Ziffern 0 bis 9 gab es ein Dezimaltrennzeichen, eine Minus-Taste, eine Enter-Taste und vier Funktionstasten. ===== Funktionsprinzip ===== Kernelement der numerischen Tastatur ist der Encoder MM74C923. An die Ausgänge X und Eingänge Y können insgesamt 20 Tasten in 4x5-Matrix-Anordnung angeschlossen werden. Eine Seite jedes Tasters hängt an einem X-Ausgang, die andere Seite an einem Y-Eingang. Der Encoder legt nun nacheinander einen der Ausgänge X auf Masse. Die Geschwindkeit, in der dies passiert, wird durch den Kondensator C3 an Pin 6 (OSC) beeinflusst. Die Eingänge Y sind normalerweise ''HIGH''. Sollte einer der Eingänge auf ''LOW'' wechseln, kann der Encoder aus dem Ausgang, der gerade auf Masse gezogen wurde, und dem Eingang der gerade auf ''LOW'' liegt, schlussfolgern, welche der 20 Tasten gedrückt wird. Diese Information wird in eine 5-stellige Bitmaske codiert und an den Ausgängen A bis E ausgegeben. Gleichzeitig wird über ein ''HIGH''-Signal am Ausgang DA (Pin 13) signalisiert, dass eine Taste gedrückt wurde und die codierte Tasteninformation jetzt ausgelesen werden kann. Anschließend laufen die Ausgänge A bis E und DA jeweils durch einen Inverter, welcher die ''HIGH''-''LOW''-Signale umkehrt. Der an Pin 7 (KBM) angeschlossene Kondensator C2 hat die Aufgabe die Tastenanschläge zu [[https://de.wikipedia.org/wiki/Prellen|entprellen]], da es sonst vorkommen könnte, dass ein Tastenanschlag mehrfach registriert wird. {{:de:controller:schematics:atari:atari-cx85-schematic.png?direct&600|}} ===== Codierungstabelle ===== ^ Signalweg ^ Bitmaske\\ (EDCBA) ^ Taste ^ nach Invertierung\\ (EDCBA) ^ | X1→Y1 | 00000 | - | 11111 | | X2→Y1 | 00001 | Enter | 11110 | | X3→Y1 | 00010 | . | 11101 | | X4→Y1 | 00011 | 0 | 11100 | | X1→Y2 | 00100 | 3 | 11011 | | X2→Y2 | 00101 | 2 | 11010 | | X3→Y2 | 00110 | 1 | 11001 | | X4→Y2 | 00111 | Yes | 11000 | | X1→Y3 | 01000 | 9 | 10111 | | X2→Y3 | 01001 | 8 | 10110 | | X3→Y3 | 01010 | 7 | 10101 | | X4→Y3 | 01011 | No | 10100 | | X1→Y4 | 01100 | 6 | 10011 | | X2→Y4 | 01101 | 5 | 10010 | | X3→Y4 | 01110 | 4 | 10001 | | X4→Y4 | 01111 | Delete | 10000 | | X1→Y5 | 10000 | //nicht definiert// || | X2→Y5 | 10001 | //nicht definiert// || | X3→Y5 | 10010 | //nicht definiert// || | X4→Y5 | 10011 | Escape | 01100 |