Клавиатура
Клавиатура - основное устройство ввода и управления компьютером.
Оригинальный ZX Spectrum имел 40-кнопочную клавиатуру. Клавиши были резиновыми, не обеспечивавшими чёткой обратной тактильной связи. Для частичного устранения этого недостатка во встроенном интерпретаторе языка Бейсик реализовано звуковое подтверждение при нажатии клавиш.
Поле стандартной клавиатуры содержит 26 алфавитных, 10 цифровых, пробел и три служебных клавиши - ввод (Enter) и две клавиши регистра (шифты, Symbol shift и Caps shift). Все остальные необходимые действия, реализованные на полноценных клавиатурах в виде отдельных клавиш, выполняются комбинациями шифтов с другими клавишами.
В интерпретаторе Бейсика используется токенизированный ввод, позволяющий вводить управляющие слова нажатием одной клавиши. Так как количество слов существенно больше, чем количество клавиш, для ввода части слов также используются различные комбинации шифтов с обычными клавишами. Ввиду отсутствия возможности посимвольного ввода управляющих слов это требует запоминания множества комбинаций клавиш - около пяти вариантов использования каждой клавиши. Для частичного устранения этого недостатка на клавиши нанесены обозначения по специальной системе.
В модели ZX Spectrum+ главным улучшением стало использование расширенной 58-кнопочной клавиатуры. Дополнительные клавиши имитируют нажатие наиболее часто используемых сочетаний клавиш - например, управление курсором. При этом с программной точки зрения интерфейс клавиатуры не изменился, что, с одной стороны, не требует наличия программной поддержки расширенных клавиш в уже существующем ПО, но, с другой стороны, не позволяет отличить расширенные клавиши от клавиш, входящих в комбинацию.
Все модели ZX Spectrum 128K используют такую-же клавиатуру, как и ZX Spectrum+, но у моделей ZX Spectrum +2 и ZX Spectrum +3 отсутствуют обозначения комбинаций клавиш, так как интерпретатор Бейсика для режима 128K не использует токенизированный ввод.
Отечественные клоны ZX Spectrum использовали клавиатуры различных типов и раскладок, включая 40-кнопочные и расширенные; механические, плёночные и герконовые. Также использовались стандартные клавиатуры типа МС7007 с нанесённой дополнительной маркировкой. Некоторые клоны имели дополнительные клавиши, опрашиваемые через специальный порт и поддерживаемые очень ограниченным количеством программ. Из-за недоступности нестандартных клавиатур при широком распространении клавиатур стандарта AT (в недавнем прошлом) и PS/2 современные клоны используют специальные контроллеры, позволяющие подключать клавиатуры этих типов без их переделки.
Аппаратный интерфейс
Аппаратно кнопки клавиатуры представляют собой матрицу восемь на пять линий - восемь полурядов по пять кнопок. В зависимости от адреса, использованного при обращении к порту клавиатуры, в младших пяти битах возвращается состояние клавиш одного из восьми полурядов. Такая схема создаёт "эффект матрицы" (matrix effect).
Раскладка клавиш в Sinclair BASIC
Нажатие одной из основных клавиш с удержанием одного из двух "шифтов" позволяет вводить дополнительные символы, при этом Caps Shift изменяет регистр вводимых букв. Набираемый символ также зависит от режима курсора - в режиме K вводятся управляющие слова, в режиме L - обычные символы, в режиме E (Extend Mode, вызывается одновременным нажатием шифтов) - дополнительные управляющие слова. Режим ввода может изменяться автоматически, в зависимости от ситуации.
SS | CS | Ext | Ext+CS | Ext+SS | |
---|---|---|---|---|---|
0 | |||||
a | A |