Разработчик | Корпорация цифрового оборудования |
---|---|
Тип | Видеотерминал |
Дата выпуска | 1974/1975 ( 1974 ) ( 1975 ) |
Предшественник | ВТ05 |
Преемник | ВТ100 |
VT50 — это компьютерный терминал на базе ЭЛТ , представленный компанией Digital Equipment Corporation (DEC) в июле 1974 года. Он имел дисплей с 12 строками и 80 столбцами текста в верхнем регистре, а также использовал расширенный набор управляющих символов и прокрутку только вперед на основе более раннего VT05 . В документации DEC того времени терминалы упоминаются как DECscope , название, которое в противном случае почти никогда не встречалось.
VT50 продавался лишь в течение короткого периода, прежде чем был заменен на VT52 в сентябре 1975 года. [1] VT52 имел экран с 24 строками и 80 столбцами текста и поддерживал все 95 символов ASCII , а также 32 графических символа, двунаправленную прокрутку и расширенную систему управляющих символов. DEC выпустила серию модернизированных VT52 с дополнительным оборудованием для различных целей.
За семейством VT52 в 1978 году последовало гораздо более совершенное VT100 .
Эти терминалы поддерживали асинхронную связь со скоростью передачи данных до 9600 бит в секунду и не требовали никаких символов заполнения . Как и другие ранние терминалы DEC, они были оснащены как портом RS-232 , так и токовой петлей 20 мА , более старым последовательным стандартом, используемым с телетайпными машинами, который был более подходящим для передачи по длинным участкам витой пары . Данные считывались в небольшой буфер, который дисплейное оборудование периодически считывало для создания дисплея. Символы, набранные на клавиатуре, также сохранялись в буфере и отправлялись по последовательной линии как можно быстрее.
Для интерпретации команд, отправляемых в последовательных данных, он использовал примитивный центральный процессор (ЦП), построенный на интегральных схемах с малой степенью интеграции . Он проверял данные, пока аппаратное обеспечение дисплея было неактивно между строками растровой развертки , а затем запускал аппаратное обеспечение дисплея, чтобы оно взяло на себя управление в соответствующее время. Система отображения возвращала управление ЦП, когда завершала рисование строки. ЦП был настолько простым, что сложение и вычитание могли выполняться только путем многократного увеличения или уменьшения двух регистров. Более того, время, затрачиваемое на такой цикл, должно было быть почти постоянным, иначе текст ниже на экране отображался бы в неправильном месте во время этого обновления.
При наборе символа раздавался шум, активируя реле. Реле также использовалось в качестве зуммера для подачи звукового сигнала на символ колокольчика , создавая звук, который «сравнивают со звуком Chevy 52 года, снимающего шестерни». [2]
DEC также предлагала дополнительное устройство для копирования на бумажном носителе, называемое электролитическим копировальным аппаратом, которое помещалось в пустую панель с правой стороны дисплея. Это устройство могло печатать, строка за строкой, точную копию экрана на влажном рулоне специальной бумаги. Оно делало это путем гальванизации металла с электрода на бумаге. [3] [4] Бумага проходила между двумя электродами. Электрод с одной стороны представлял собой тонкую прямую планку, ориентированную по ширине бумаги. Электрод с другой стороны представлял собой тонкую спиральную планку, обернутую вокруг вращающегося барабана. Один оборот барабана сканировал пересекающуюся область электродов по ширине бумаги. В то время как копировальный аппарат превосходно справлялся с захватом содержимого экрана, вывод копировального аппарата имел досадное сходство с мокрой туалетной бумагой . [5] [6] Digital запатентовала нововведение, заключающееся в том, что один генератор символов обеспечивал текстовый шрифт как для экрана, так и для копировального аппарата.
Базовая компоновка терминала с экраном и основной клавиатурой слева и пустой областью справа была предназначена для модернизации системы. Принтер был одним из таких обновлений, но со временем DEC предложила ряд других опций. Большой размер корпуса был преднамеренным, чтобы избежать охлаждающего вентилятора. Две печатные платы с процессором и памятью в основании терминала и одна плата с блоком питания и мониторной электроникой сзади охлаждались конвекцией . Большая плоская верхняя часть терминала часто вмещала большие тома документации DEC, которые могли заблокировать вентиляционные отверстия и вызвать перегрев.
VT50 был первым терминалом Digital, произведенным в этом корпусе. Он обеспечивал только 12 строк текста с пустыми строками между ними, чтобы использовать всю вертикальную область дисплея. Как и его предшественник, VT05 , VT50 не поддерживал строчные буквы. [7] Пользователям компьютеров той эпохи редко требовался текст в нижнем регистре.
VT50H добавил отдельную «вспомогательную клавиатуру» на правой стороне оригинальной клавиатуры. Она была организована в виде цифровой клавиатуры с дополнительными клавишами управления над цифрами. Четыре из них были клавишами курсора , которые посылали сигналы вверх, вниз, влево и вправо соответственно. Еще три клавиши не были помечены и могли быть запрограммированы на возврат любого двухсимвольного кода, и по умолчанию они устанавливались на . [ 8]ESCADESCPR
VT50 вскоре был заменен значительно модернизированным VT52. VT52 имел значительно большие буферы, что давало ему возможность хранить не только полные 24 строки текста, что лучше использовало пространство экрана, но и текст за пределами верхней и нижней части экрана. Это позволяло терминалу прокручивать назад ограниченное количество данных без необходимости просить хост повторно отправлять данные. Еще одним значительным обновлением было то, что VT52 включал поддержку текста в нижнем регистре. [7] Было добавлено много новых команд и функций: [9]
Одной из примечательных особенностей было введение отдельной функциональной клавиатуры с « Золотой клавишей », которая использовалась для редактирования программ, таких как WPS-8 , KED и EDT . Нажатие Золотой клавиши и последующее нажатие одной из клавиш на клавиатуре отправляло последовательность команд обратно на главный компьютер.
VT55 включал в себя дополнительную графическую систему, которая могла отображать две математические функции или гистограммы . Это вызывалось отправкой командной строки, которая переводила терминал в графический режим , а дальнейшие данные отправлялись в отдельный буфер и ЦП. Обе системы смешивали свои данные во время отображения, позволяя пользователю смешивать графику и текст на одном экране, в отличие от таких систем, как Tektronix 4010 или плоттеров , которые должны были медленно рисовать текст с помощью графических команд. Эта система стала известна как графика формы волны и снова появилась в более поздней VT105.
VT61 и VT62 были терминалами блочного режима . VT62 должен был использоваться совместно с TRAX, операционной системой обработки транзакций на высокопроизводительных PDP-11 . Они использовали тот же корпус, но имели более полный специализированный процессор. Специфическое для приложения поведение было закодировано в отдельной памяти PROM с использованием отдельного кода инструкций, который интерпретировал процессор. Этот неопубликованный язык должен был использоваться для легкой разработки дополнительных моделей, специфичных для отдельных организаций цифрового маркетинга. Эти терминалы синтезировали звук «так» на динамике для обратной связи при нажатии клавиши вместо реле. Хотя клавиатуры были идентичны, пользователи VT6x восхищались превосходным «ощущением».
Относительно большая площадь расширения корпуса VT50 в сочетании с быстро уменьшающейся электроникой в конце 1970-х годов позволили DEC производить однокорпусные, автономные мини-компьютеры /терминалы, похожие на современные микрокомпьютеры . VT78 добавил однокристальный процессор PDP-8 к VT52, работал на варианте операционной системы OS/8 компании Digital и обычно на WPS-8 , системе обработки текстов компании Digital .
Коды VT52 оставались собственностью DEC, хотя ряд других компаний предоставляли эмуляции в своих терминалах. Более поздние терминалы серии VT поддерживали подмножество этих команд. Одним из интересных случаев является система GEMDOS и ее ответвление, операционная система TOS Atari ST . Эти системы использовали драйвер экрана на основе VT52 в эпоху, когда escape-коды ANSI уже стали почти универсальными. В этой версии было добавлено несколько новых команд, включая возможность выбора цветов.
Команды VT52 обычно состояли из escape-символа и одного символа, следующего за ним. Исключением из этого правила была команда Y, которая также требовала отправки двух чисел.
Код | Имя | Значение | Доступно на |
---|---|---|---|
ESCA | Курсор вверх | Переместить курсор на одну строку вверх. Не вызывает прокрутку при достижении верха. | Все |
ESCB | Курсор вниз | Переместите курсор на одну строку вниз. | VT50H и VT52 |
ESCC | Курсор вправо | Переместить курсор на один столбец вправо. | Все |
ESCD | Курсор влево | Переместить курсор на один столбец влево. То же действие, что и .BS | VT50H и VT52 |
ESCF | Войти в графический режим | Используйте специальный набор графических символов. | ВТ52 |
ESCG | Выйти из графического режима | Используйте обычный набор символов США/Великобритании. | ВТ52 |
ESCH | Курсор домой | Переместите курсор в верхний левый угол. | Все |
ESCI | Обратная подача строки | Переместить курсор на одну строку вверх. Если он уже находится в верхней строке, вместо этого прокрутите все содержимое на одну строку вниз. | ВТ52 |
ESCJ | Очистить до конца экрана | Очистить экран от курсора и далее. | Все |
ESCK | Очистить до конца строки | Очистить строку от курсора. | Все |
ESCYrc | Установить позицию курсора | Переместить курсор в позицию c,r, закодированную как отдельные символы. VT50H также добавил команду "SO", которая работала идентично, обеспечивая обратную совместимость с VT05. VT52 не поддерживал эту альтернативную команду. | VT50H и VT52 |
ESCZ | идентифицировать | Определите, что это за терминал, см. примечания ниже. | Все |
ESC[ | Войти в режим удержания экрана | Останавливает прокрутку экрана. Символы продолжают отображаться, пока не достигнут точки, где должна произойти прокрутка, в этот момент терминал отправляет XOFF хосту, чтобы остановить дальнейшую отправку данных. Если пользователь нажимает клавишу, отправляется и данные отображаются до следующей точки, где должна произойти прокрутка, когда будет отправлена другая.SCROLL XON XOFF | Все |
ESC\ | Выйти из режима удержания экрана | Отключает режим удержания экрана, отправляет XON при необходимости. | Все |
ESC= | Войти в режим альтернативной клавиатуры | Изменяет коды символов, возвращаемые клавиатурой. | ВТ52 |
ESC> | Выйти из режима альтернативной клавиатуры | Изменяет коды символов, возвращаемые клавиатурой. | ВТ52 |
Код использовался для позиционирования курсора в любом месте экрана, используя два параметра, представляющие координаты X и Y положения курсора, при этом верхний левый угол экрана имел позицию 1,1. Эти числа отправлялись как символы ASCII этого значения, добавляя 31. Например, чтобы позиционировать курсор в столбце 30 и строке 20, вы должны были бы добавить 31 к каждому значению, чтобы получить 61 и 51, затем найти эти символы ASCII и . Полная команда тогда была бы (обратите внимание на порядок строк, столбцов, а не X, Y). [10] Добавление 31 гарантирует, что символы будут смещены из диапазона управления в диапазон печатаемых символов, поэтому они будут переданы правильно.ESCY=3ESCY3=
Команда позволяла хост-компьютеру определить возможности терминала. Было восемь возможных ответов.ESCZ
Модель | Без принтера | С принтером |
---|---|---|
ВТ50 | ESC/A | (нет в наличии) |
VT50H | ESC/H | ESC/J |
ВТ52 | ESC/K | ESC/L |
ВТ55 | ESC/E | ESC/E |
Несколько дополнительных кодов использовались с дополнительным копировальным аппаратом: [11]
Код | Имя | Значение | Доступно на |
---|---|---|---|
ESC] | Копировать экран | Распечатывает текущий экран. | Все |
ESC^ | Войти в режим автокопирования | Печатает все последующие строки. | Все |
ESC_ | Выйти из режима автокопирования | Останавливает печать. | Все |
VT52 и VT55 включали два набора символов, ASCII и «графический режим», который заменил строчные символы и некоторые знаки препинания новыми символами, полезными для отображения математики. Необычными были глифы для ¹⁄, ³⁄, ⁵⁄, ⁷⁄, которые можно было комбинировать с подстрочными числами для получения таких вещей, как ⅗, и строки сканирования, позволяющие строить функцию с вертикальным разрешением в 8 раз выше, чем у текста. [12]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | А | Б | С | Д | Э | Ф | |
5x | НБСП | НБСП | ||||||||||||||
6x | [а] | █ | ¹⁄ | ³⁄ | ⁵⁄ | ⁷⁄ | ° | ± | → | … | ÷ | ↓ | ▔ | 🭶 | 🭷 | 🭸 |
7x | 🭹 | 🭺 | 🭻 | N. | ₀ | ₁ | ₂ | ₃ | ₄ | ₅ | ₆ | ₇ | ₈ | ₉ | ¶ |
Более поздние терминалы VT поддерживали команды VT52, а также добавляли одну новую команду для возврата в полный режим ANSI. [13]
Код | Имя | Значение |
---|---|---|
ESC< | сетанси | Вход/выход из режима ANSI |
Режим совместимости изменил ответ на команду; все модели ответили кодом .ESCZESC/Z
Версия GEMDOS набора команд VT52 добавляет ряд новых команд. Они в основном касались поддержки цвета, при этом выбор цвета отправлялся как один символ с использованием той же кодировки числа в символ, что и команда. Использовались только последние четыре бита числа, обеспечивая поддержку 16 цветов. Atari ST поддерживал только 4 из них в режиме 80 столбцов и все 16 в режиме 40 столбцов. Было также добавлено несколько новых команд курсора, по сути, заполнив набор оригинального VT52, включив команды, которые очищались в направлении верхней части экрана вместо нижней. [14] [15] Система не поддерживала ряд команд VT52, включая F, G и Z.Y
Код | Имя | Значение |
---|---|---|
ESCE | Очистить экран | Очистите экран и поместите курсор в верхний левый угол. По сути то же самое, чтоESCHESCJ |
ESCb# | Цвет переднего плана | Установить цвет текста на выбранное значение |
ESCc# | Цвет фона | Установить цвет фона |
ESCd | Очистить до начала экрана | Очистите экран от курсора до исходного положения. |
ESCe | Включить курсор | Делает курсор видимым на экране. |
ESCf | Отключить курсор | Делает курсор невидимым. |
ESCj | Сохранить курсор | Сохраняет текущее положение курсора в памяти, TOS 1.02 и более поздние версии. |
ESCk | Восстановить курсор | Верните курсор к настройкам, ранее сохраненным с помощью j. |
ESCl | Очистить линию | Сотрите всю строку и установите курсор слева. |
ESCo | Очистить до начала строки | Очистить текущую строку от начала до левого края курсора. |
ESCp | Обратное видео | Включить инверсию видеотекста. |
ESCq | Нормальное видео | Отключить инверсию видеотекста. |
ESCv | Обернуть на | Включить перенос строк, устраняя необходимость в CR/LF в конце строк. |
ESCw | Обернуть | Отключить перенос строк. |