Клавиатура ZX Spectrum
Клавиатура ZX Spectrum — 40-клавишная клавиатура разработанная британским промышленным дизайнером Риком Дикинсоном[1] для микрокомпьютера ZX Spectrum, ставшая базовой для всего семейства и дальнейших модификаций. Отличается от типовой компьютерной клавиатуры специализацией на вводе операторов языка программирования Бейсик, позволяющей вводить конструкции этого языка нажатием 1-3 клавиш, что существенно ускоряет набор программ, но требует от пользователя знания специфичной раскладки.
История
Прообраз клавиатуры ZX Spectrum впервые появился в мембранной клавиатуре микрокомпьютера ZX80 созданной Риком Дикинсоном в 1980 году. Эта клавиатура напоминала о программируемых научных калькуляторах производимых Sinclair Research[2], но в отличии от них уже имела режимы ввода дополнительных инструкций написанных на корпусе над и под клавишами. Такая необходимость возникла в связи с многословностью языка программирования Бейсик, т.к. все его команды не могли поместиться на 40 клавишах. В то же время Бейсик не имел альтернатив: являясь отраслевым стандартом для обучения программированию в 80-х годах XX века он использовался как квази-ОС на большинстве микрокомпьютеров и программируемых калькуляторов[3].
Функцию возврата каретки выполняла клавиша New line, клавиша пробела Space позволяла вводить символ фунта «£», имелась одна клавиша ⇧ Shift позволявшая вводить символы указанные на клавишах (например, для ввода символа «=» необходимо было нажать ⇧ Shift+L, символы псевдографики позволяющие рисовать простые рамки располагались на основной клавиатуре, а специальные клавиши управления курсором, построчного редактора и включения псевдографического режима, находились на привычных для будущей клавиатуры ZX Spectrum клавишах цифрового ряда.
Та же самая раскладка использовалась и на клавиатуре выпущенного в 1981 году микрокомпьютера ZX81: каждая клавиша имела до трёх значений, в зависимости от состояния клавиши ⇧ Shift и режима ввода. Клавиатуры ZX80 и ZX81 страдали от многочисленных проблем из-за низкого отклика при печати, т.к. для удешевления с клавиш сняли даже резиновое покрытие из-за чего долгий набор текста программы становился крайне трудоёмким и утомительным[4].
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].
сброшенный бит | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
порт | разряд | 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 |
Режимы ввода
Режимы ввода на клавиатуре 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 используемые в различных режимах и комбинациях выполняют роль функциональных:
Режим | 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 | синий тон |
красный тон |
фиолетовый тон |
зелёный тон |
голубой тон |
жёлтый тон |
белый тон |
выкл. мигание |
вкл. мигание |
чёрный тон |
Галерея
-
Радиолюбительский клон
-
Британский ZX Spectrum + и ZX Spectrum 128
-
Российские Scorpion ZS 256, KAY, ATM Turbo и Profi
-
Типичные наклейки на клавиши
Ссылки
- Клавиатура ZX Spectrum за 10 минут! // scenecore
- Диалекты Бейсика для ZX Spectrum // СПб. : Питер, 1992, ISBN 5719000011
- Тайники ZX Spectrum // перевод с польск. — «дополнение к фирменной инструкции»
См. также
Примечания
- ↑ Rick Dickinson, ZX Spectrum designer – A Tribute (англ.). Retromash (27 апреля 2018).
- ↑ Константин Свиридов, Михаил Судаков. Кривая логорифмическая линейка (1972-75) . Неизвестный Синклер (2014).
- ↑ Языку программирования BASIC исполнилось 60 лет . 3D News (2 мая 2024).
- ↑ 4,0 4,1 Клавиатуры, которые постигла неудача . Хабр (18 августа 2021).
- ↑ Peter J. Vis. Sinclair ZX Spectrum Plus (англ.) (18 ноября 2022).
- ↑ Ларченко А.А., Родионов Н.Ю. Архитектура ZX Spectrum // «ZX Spectrum и TR-DOS для пользователей и программистов» . — СПб.: Издательство «Питер», 1994. — С. 64-65. — 274 с. — ISBN 5-7190-0025-9.
- ↑ 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.