Клавиатура ZX Spectrum

Эта статья написана в рамках энциклопедии Руниверсалис и находится в стадии проработки и развития
Материал из энциклопедии Руниверсалис

Клавиатура ZX Spectrum — 40-клавишная клавиатура разработанная британским промышленным дизайнером Риком Дикинсоном[1] для микрокомпьютера ZX Spectrum, ставшая базовой для всего семейства и дальнейших модификаций. Отличается от типовой компьютерной клавиатуры специализацией на вводе операторов языка программирования Бейсик, позволяющей вводить конструкции этого языка нажатием 1-3 клавиш, что существенно ускоряет набор программ, но требует от пользователя знания специфичной раскладки.

История

Прообраз клавиатуры ZX Spectrum впервые появился в мембранной клавиатуре микрокомпьютера ZX80 созданной Риком Дикинсоном в 1980 году. Эта клавиатура напоминала о программируемых научных калькуляторах производимых Sinclair Research[2], но в отличии от них уже имела режимы ввода дополнительных инструкций написанных на корпусе над и под клавишами. Такая необходимость возникла в связи с многословностью языка программирования Бейсик, т.к. все его команды не могли поместиться на 40 клавишах. В то же время Бейсик не имел альтернатив: являясь отраслевым стандартом для обучения программированию в 80-х годах XX века он использовался как квази-ОС на большинстве микрокомпьютеров и программируемых калькуляторов[3].

Раскладка клавиатуры ZX80 и ZX81

Функцию возврата каретки выполняла клавиша New line, клавиша пробела Space позволяла вводить символ фунта «£», имелась одна клавиша ⇧ Shift позволявшая вводить символы указанные на клавишах (например, для ввода символа «=» необходимо было нажать ⇧ Shift+L, символы псевдографики позволяющие рисовать простые рамки располагались на основной клавиатуре, а специальные клавиши управления курсором, построчного редактора и включения псевдографического режима, находились на привычных для будущей клавиатуры ZX Spectrum клавишах цифрового ряда.

Та же самая раскладка использовалась и на клавиатуре выпущенного в 1981 году микрокомпьютера ZX81: каждая клавиша имела до трёх значений, в зависимости от состояния клавиши ⇧ Shift и режима ввода. Клавиатуры ZX80 и ZX81 страдали от многочисленных проблем из-за низкого отклика при печати, т.к. для удешевления с клавиш сняли даже резиновое покрытие из-за чего долгий набор текста программы становился крайне трудоёмким и утомительным[4].

Раскладка клавиатуры ZX Spectrum 48
Раскладка клавиатуры ZX Spectrum + и ZX Spectrum 128

23 апреля 1982 года Sinclair Research начинает продажи ZX Spectrum имевшего новую 40-клавишную раскладку, в которой каждая клавиша (кроме четырёх: ↵ Enter, Space, ⇧ Caps Shift и ⇧ Symbol Shift) может выполнять по пять функций (что соответствует пяти режимам ввода: команд, строчных букв, заглавных букв, дополнительных команд и псевдографики).

Клавиши клавиатуры ZX Spectrum представляли собой резиновые колпачки, которые касались непосредственно мембраны клавиатуры. Однако, несмотря на продолжающуюся экономию на конструкции клавиатуры Sinclair Research продали более 5 миллионов копий ZX Spectrum по всему миру[4]. Все последующие раскладки клавиатур семейства микрокомпьютеров ZX Spectrum были основаны на этой ставшей канонической раскладке.

15 октября 1984 года начались продажи ZX Spectrum + оснащённого полноразмерной и полнофункциональной 58-клавишной клавиатурой. Дополнительные клавиши новой модели не имели собственных кодов и выполняли комбинации клавиш стандартной 40-клавишной клавиатуры ZX Spectrum, таким образом их использование является опциональным. Несмотря на то, что клавиши стали цельнолитыми и имели эргономическую форму, эта клавиатура также не стала механической т.к. пластиковые клавиши по прежнему нажимали на мембрану[5].

Тем не менее, раскладка была оригинальной, использовалась также в ZX Spectrum 128 без изменений, последующих моделях и многих клонах:

  • Клавиша Space перенесена в центральную часть нижнего ряда, а комбинации курсора вынесены на клавиши слева и справа от неё.
  • Клавиатура имеет 4 клавиши ⇧ Shift из-за дублирования ⇧ Caps Shift и ⇧ Symbol Shift расположенных слева и справа от пробела;
  • Клавиша ↵ Enter приобрела стандартную Г-образную форму, а комбинация клавиши Delete (⇧ Caps Shift+0) получила место во втором ряду слева;
  • Клавиша Break (⇧ Caps Shift+Space) позволяющая оборвать выполнение программы вынесена в верхний правый угол;
  • 6 режимных комбинаций получили свои клавиши: ⇪ Caps Lock, Edit, Extend Mode, Graph, Inv. Video и True Video;
  • На 4 отдельные клавиши вынесены знаки препинания широко используемые в Бейсик: ,, ., ; и ".

Принцип работы

Стандартная 40-клавишная клавиатура ZX Spectrum схемотехнически разбита на восемь полурядов по пять клавиш в каждом. Для того, чтобы узнать какая из клавиш полуряда нажата, ZX Spectrum читает байт из порта 254 (#FE).

Хотя процессор Z80 имеет 16-разрядную шину адреса, в микрокомпьютерах ZX Spectrum при обращении к внешним устройствам значащими являются только 8 младших разрядов (для упрощения аппаратной части). Поэтому для опроса клавиатуры младший байт адреса порта устанавливается в 254 (обнуляется разряд A0), а в старшем байте сбрасывается в ноль один из разрядов соответствующий выбранному ряду (т.е. разряды с A8 по A15 при сброшенном A0 служат для сканирования клавиатуры). Например, чтобы узнать, нажата ли клавиша Space, необходимо проверить состояние бита D0 в байте считанном из порта #7FFE[6].

Организация клавиатуры ZX Spectrum
сброшенный бит
порт разряд D0 D1 D2 D3 D4 D4 D3 D2 D1 D0 разряд порт
#F7FE A11 1 2 3 4 5 6 7 8 9 0 A12 #EFFE
#FBFE A10 Q W E R T Y U I O P A13 #DFFE
#FDFE A9 A S D F G H J K L ↵ Enter A14 #BFFE
#FEFE A8 ⇧ Caps Shift Z X C V B N M ⇧ Symbol Shift Space A15 #7FFE

Режимы ввода

Программа в редакторе 48 BASIC
Вывод текста, инверсии, цвета и псевдографики

Режимы ввода на клавиатуре ZX Spectrum могут переключаться автоматически или нажатием клавиш ⇧ Caps Shift и ⇧ Symbol Shift, а также их одновременным нажатием. Таким образом, существуют две отдельных клавиши Shift нажатие которых включает два разных режима ввода, а их одновременное нажатие включает расширенный режим называемый Extended Mode.

Всего клавиатура ZX Spectrum имеет 5 режимов ввода, а режим включённый в момент ввода показывается курсором:

  • Команды Бейсик (англ. «Key», первое нажатие) — в командном режиме ввода ZX Spectrum ожидает ввода номера строки программы, оператора языка Бейсик или команды TR-DOS. В этом режиме вводятся команды расположенные на нижнем краю клавиши. Они выделены на оригинальной клавиатуре белым. Например, нажатие клавиши P введёт оператор PRINT, нажатие клавиши A введёт оператор NEW, и т.д. После ввода команды, компьютер переходит в символьный режим ввода, изменяя курсор на , чем даёт понять что ожидает ввода символов или цифр.
  • Строчные буквы (англ. «Letter», последующие нажатия) — в символьном режиме ввода простое нажатие клавиши вводит строчную букву, нажатие совместно с ⇧ Caps Shift поднимает регистр, а нажатие совместно с ⇧ Symbol Shift позволяет вводить символы и дополнительные команды расположенные на верхнем краю клавиши. Они выделены на оригинальной клавиатуре красным. Например, нажатие комбинации ⇧ Symbol Shift+P введёт кавычки, нажатие комбинации ⇧ Symbol Shift+A введёт оператор STOP, и т.д.
  • Заглавные буквы (англ. «Capital») — показывает что комбинацией ⇧ Caps Shift+2 был включён режим фиксирующий ввод заглавных букв (англ. Caps Lock). Нажатие ⇧ Symbol Shift совместно с любой клавишей позволяет вводить символы и дополнительные команды, также как и в командном режиме.
  • Расширенный режим (англ. «Extended Mode») — может быть включён в любой момент, вызывается одновременным нажатием клавиш ⇧ Caps Shift+⇧ Symbol Shift и позволяет вводить команды и символы указанные выше или ниже клавиш на корпусе клавиатуры. После ввода происходит возврат в исходный режим ввода. В этом режиме вводятся команды написанные над клавишей. Они выделены на оригинальной клавиатуре зелёным. Например, нажатие клавиши Z введёт функцию натурального логарифма LN, нажатие клавиши H введёт функцию квадратного корня SQR, и т.д. Нажатие любой из клавиш Shift совместно с любой символьной клавишей позволяет вводить команды и символы написанные под клавишей. Они выделены на оригинальной клавиатуре красным. Например, нажатие клавиши Z введёт оператор BEEP, нажатие клавиши 0 введёт команду FORMAT, и т.д.
  • Псевдографика (англ. «Graphics») — включается комбинацией ⇧ Caps Shift+9 и позволяет рисовать текстовые рамки из символов указанных на цифровых клавишах. Для ввода инвертированных символов псевдографики можно использовать комбинацию любого Shift с цифровыми клавишами или стилевой режим «Инверсия».

Дополнительно имеются стилевые режимы ввода текста для его оформления в Бейсик:

  • Обычный текст (англ. «True Video») — включается комбинацией ⇧ Caps Shift+3;
  • Инверсия (англ. «Inv. Video») — включается комбинацией ⇧ Caps Shift+4;
  • Обычная яркость (англ. «Brite off») — включается нажатием 8 в расширенном режиме;
  • Высокая яркость (англ. «Brite on») — включается нажатием 9 в расширенном режиме;
  • Немигающий текст (англ. «Flash off») — включается комбинацией ⇧ Caps Shift+8 в расширенном режиме;
  • Мигающий текст (англ. «Flash on») — включается комбинацией ⇧ Caps Shift+9 в расширенном режиме.

Цифровые клавиши на клавиатуре ZX Spectrum используемые в различных режимах и комбинациях выполняют роль функциональных:

Комбинации цифровых клавиш клавиатуры ZX Spectrum[7]
Режим Shift Функция
,

или
БЕЗ 1 2 3 4 5 6 7 8 9 0
⇧ Symbol Shift ! @ # $ % & ' ( ) _
⇧ Caps Shift Edit ⇪ Caps Lock выкл.
инверсию
вкл.
инверсию
вкл.
псевдо-
графику
Delete
БЕЗ выкл.
псевдо-
графику
Delete
любой выкл.
псевдо-
графику
Delete
БЕЗ синий
фон
красный
фон
фиолетовый
фон
зелёный
фон
голубой
фон
жёлтый
фон
белый
фон
обычная
яркость
высокая
яркость
чёрный
фон
⇧ Symbol Shift DEF FN FN LINE OPEN # CLOSE # MOVE ERASE POINT CAT FORMAT
⇧ Caps Shift синий
тон
красный
тон
фиолетовый
тон
зелёный
тон
голубой
тон
жёлтый
тон
белый
тон
выкл.
мигание
вкл.
мигание
чёрный
тон

Галерея

Ссылки

См. также

Примечания

  1. Rick Dickinson, ZX Spectrum designer – A Tribute (англ.). Retromash (27 апреля 2018).
  2. Константин Свиридов, Михаил Судаков. Кривая логорифмическая линейка (1972-75). Неизвестный Синклер (2014).
  3. Языку программирования BASIC исполнилось 60 лет. 3D News (2 мая 2024).
  4. 4,0 4,1 Клавиатуры, которые постигла неудача. Хабр (18 августа 2021).
  5. Peter J. Vis. Sinclair ZX Spectrum Plus (англ.) (18 ноября 2022).
  6. Ларченко А.А., Родионов Н.Ю. Архитектура ZX Spectrum // «ZX Spectrum и TR-DOS для пользователей и программистов». — СПб.: Издательство «Питер», 1994. — С. 64-65. — 274 с. — ISBN 5-7190-0025-9.
  7. Penny Vickers, Steven Vickers, Robin Bradbeer. Chapter 16 // «ZX Spectrum BASIC Programming — 2nd Edition» (англ.). — Cambridge CB2 1SN, England: Sinclair Research, 1983. — 234 p. — ISBN 9783889450111.