Стандарты
Standard ECMA-48
Нажмите для просмотра прикрепленного файла
VT52
Документация
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Нажмите для просмотра прикрепленного файла
Ссылки по теме
http://terminals-wiki.org/wiki/index.php/DEC_VT52
Вопрос по командам терминала VT52.
https://en.wikipedia.org/wiki/VT52
http://toshyp.atari.org/en/VT_52_terminal.html
Код
VT50
----
Формат экрана: 12 строк по 80 символов. Отрабатывается одновременное
нажатие не более трех клавиш, возможное при быстром наборе. Если одна из
первых двух нажатых клавиш была отпущена раньше третьей, набранный текст
будет верным. Курсор имеет вид мигающего подчерка. Матрица символа 5Х7 точек.
Курсор может перемещаться с клавиатуры или программно: в левый верхний угол;
вправо; влево; вверх; вниз. Имеется табулятор, фиксируемый на каждой восьмой
позиции строки. Есть возможность удалить символы от курсора до конца строки
или до конца экрана. При приеме из канала отображаемые символы запоминаются в
памяти. Перед отображением все коды преобразуются к верхнему регистру.
Алгоритм преобразования (кодов ASCII, в которых работают терминалы DEC)
нижнего регистра к верхнему: если седьмой бит равен "1", очистить шестой бит.
Принятый код 177 рассматривается как заполнитель, и не вызывает никакой
реакции, что предусмотрено для совместимости с медленными механическими
устройствами. Передается код 177 при нажатии клавиши DEL. Если клавиша DEL
используется для забоя предыдущего символа, программное обеспечение должно
сформировать последовательность "влево,пробел,влево".
Команды и ESCape последовательности.
В КОИ-7 коды от 000 до 037 являются управляющими. VT50 отрабатывает шесть из
них:
Octal Action
007 звонок
010 курсор влево
011 горизонтальная табуляция. Позиционирует курсор на следующую
кратную 8 позицию, если она не более, чем 72-я. Далее - на
каждую последующую.
012 перевод строки. Опускает курсор на одну строку.
015 возврат каретки. Курсор до упора влево.
033 переводит терминал в ESCape-моду. Если он уже в ESC-моде, то
переводит обратно в нормальную моду. После перехода в
ESC-моду следующий принятый код рассматривается как команда.
ESC sequences:
Octal Char Action Taken
033 ESC Изменяет моду.
101 A курсор вверх
103 B курсор вправо
110 H "Home"- курсор в левый верхний угол.
112 J стереть текст от курсора до конца экрана.
113 K стереть текст от курсора до конца строки.
132 Z чтение идентификатора типа терминала: терминал
отвечает в линию определенную кодовую
последовательность. VT50 with copier: 033 057 102;
VT50 with no copier: 033 057 101;
133 [ включает режим задержанного вывода
134 \ выключает режим задержанного вывода.
Скорости обмена, бод: 75, 110, 150, 300, 600, 1200, 2400, 4800, 9600.
Имеется режим отключения от линии. При работе в полудуплексном режиме может
быть использован режим отработки набираемых на клавиатуре символов (local
copy) , включаемый аппаратно переключателем. Роллинг обычный и только вверх.
VT52
----
Формат экрана: 24 строки по 80 символов. Кодировка ASCII.
Отображаются большие и маленькие символы. Совместим вверх с VT50. По
идентификационной последовательности программное обеспечение может определить
тип дисплея. Программы, использующие моду задержанного вывода для межэкранных
пересылок, написанные под VT50 будут работать без изменений, несмотря на
различную емкость экрана.
Команды и ESCape последовательности.
Octal Action
BEL 007 звонок
BS 010 курсор влево (но не левее конца строки)
TAB 011 горизонтальная табуляция. Позиционирует курсор на позиции:
9,17,25,33,41,49,57,65,73,74,75,76,77,78,79,80.
LF 012 перевод строки. Опускает курсор на одну строку. Если
последняя - скроллинг.
CR 015 возврат каретки. Курсор до упора влево.
ESC 033 переводит терминал в ESCape-моду. Если он уже в ESC-моде, то
переводит обратно в нормальную моду. После перехода в
ESC-моду следующий принятый код рассматривается как команда.
040-176 пробел и отображаемые символы. Печатаются на экране.
NUL 000 игнорируется
DEL 177 игнорируется
ESC sequences:
Octal Effect
ESC = 033 075 в режим дополнительной клавиатуры. В этом режиме
клавиши дополнительной клавиатуры выдают уникальные
ESC-последовательности.
ESC > 033 076 выход из режима дополнительной клавиатуры в обычный
режим.
ESC A 033 101 курсор вверх на сторку. Не скроллирует, упирается в
верхний край экрана.
ESC B 033 102 курсор вниз на строку. Не скроллирует.
ESC C 033 103 курсор вправо на позицию, пока не упрется. Последняя
литера не забивается.
ESC D 033 104 курсор влево на позицию, пока не упрется. Аналог BS.
ESC H 033 110 курсор в начало экрана: левый верхний угол.
ESC I 033 111 курсор на строку вверх, если уперся - скроллинг вниз.
ESC J 033 112 стирает все от курсора до конца экрана
ESC K 033 113 стирает все от курсора до конца строки
ESC Y 033 131 прямая адресация курсора
ESC Z 033 132 чтение идентификатора типа терминала: терминал
отвечает в линию определенную кодовую
последовательность.
ESC [ 033 133 вход в моду задержанного вывода
ESC \ 033 134 отменяет задержанный вывод
Прямая адресация курсора:
ESC Y Line# Column#
Line# - одна литера: код 040-верхняя строка, 041-вторая...
067-последняя.
Column# - одна литера от 040 (левая позиция) до 157 (самая правая)
Курсор перемещается в указанную позицию.
033 110 эквивалентно 033 131 040 040
Клавиша "BREAK" подвешивает линию в "0" пока нажата. Введена для
совместимости с программным обеспечением, написанным под полудуплекс.
Клавиша "REPEAT" разрешает автоповтор нажатого символа.
Клавиши "SHIFT" изменяют текущий верхний/нижний регистр на
противоположный, пока нажаты.
Клавиша "CAPS LOCK" фиксирует верхний регистр независимо от нажатости
клавиш переключения регистров, но только для букв.
Клавиша "CONTROL" обнуляет два старших бита каждой нажимаемой (при
нажатой "CONTROL") клавиши и вызывает передачу в линию кодов 000-037.
Коды дополнительной клавиатуры:
KEY LABEL IN NUMERIC- IN ALTERNATE-KEYPAD MODE
0 0 ESC ? p
1 1 ESC ? q
2 2 ESC ? r
3 3 ESC ? s
4 4 ESC ? t
5 5 ESC ? u
6 6 ESC ? v
7 7 ESC ? w
8 8 ESC ? x
9 9 ESC ? y
. . ESC ? n
- - ESC ? m
, , ESC ? l
ENTER CR ESC ? M
up arrow ESC A ESC A
down arrow ESC B ESC B
right arrow ESC C ESC C
left arrow ESC D ESC D
left blank key PF1 ESC P ESC P
center blank key PF2 ESC Q ESC Q
right blank key PF3 ESC R ESC R
PF4 ESC S ESC S
Клавиши CONTROL, SHIFT, CAPS LOCK не влияют на коды дополнительной
клавиатуры в обеих модах. Клавиша SCROLL имеет смысл только в моде
задержанного вывода. Разрешает скроллинг одной строки либо всего экрана.
В случае заполнения доступной части экрана, потребности вывести еще строку и
задержанном выводе дисплей выдаст код XOFF (023) для торможения программы
вывода. Для продолжения обмена посылается код XON (021).