Введение

Серийный компьютерный терминал

HP 2640A и другие модели HP 264X были "умными" и интеллектуальными серийными терминалами, работающими в блочном режиме и поддерживающими стандарт ASCII, произведенными компанией Hewlett Packard на базе микропроцессоров Intel 8008 и 8080.

История

HP 2640A был представлен в ноябре 1974 года по рекомендованной розничной цене 3000 долларов США. Основанный на процессоре Intel 8008, он имел 8 КБ встроенной ПЗУ и поставлялся в стандартной комплектации с 1 КБ оперативной памяти, расширяемой до 8 КБ (два полупроводниковых модуля RAM объемом 4 КБ). В сентябре 1975 года Hewlett Packard представила HP 2644A, представлявший собой HP 2640A с системой хранения данных (два картриджа с магнитной лентой объемом 110 КБ каждый) по цене 5000 долларов США. В 1976 году HP выпустила 2640B – обновленную версию 2640A с уменьшенной стоимостью и рекомендованной розничной ценой 2600 долларов США, а также три международных версии: 2640C с поддержкой кириллицы, 2640S для шведского и финского языков, и 2640N для датского и норвежского языков. Все эти ранние модели серии 2640 использовали относительно медленный процессор 8008 с тактовой частотой 700 кГц, что ограничивало их скорость до 2400 бод. Производство моделей 2640A и 2644A было прекращено в феврале 1977 года, но 2640B оставался в производстве до августа 1981 года. В сентябре 1976 года HP представила 2645A, способный работать на скорости до 9600 бод и обладавший рядом передовых функций, включая опциональную систему хранения данных на магнитной ленте, как в 2644A. Рекомендованная розничная цена составляла 3500 долларов США, или 5100 долларов США с опцией хранения на картриджах. 2645A стал первым терминалом серии 2640, использующим процессор Intel 8080A вместо 8008. Почти все последующие терминалы семейства 2640 были оснащены процессорами 8080A с тактовой частотой 2,5 МГц. За 2645A в ноябре 1976 года последовала модель 2641A – производная от 2645A, разработанная для языка программирования APL, а в апреле 1977 года – 2645R, поддерживающий арабский текст, читаемый справа налево, а также текст на латинице, читаемый слева направо. В июле 1977 года Hewlett Packard представила графический терминал 2648A, производную от 2645A, которая добавляла черно-белую растровую графику разрешением 720x360 на отдельной графической странице, которую можно было накладывать на основную текстовую память. В мае 1978 года к нему присоединился программируемый графический терминал 2647A, включавший собственный интерпретатор BASIC. В октябре 1980 года HP представила 2642A, аналогичный 2645A, но вместо опциональных картриджей с магнитной лентой он оснащался стандартным дисководом для дискет 5,25 дюйма, вмещающим 270 КБ на дискету. Окончательной и последней моделью серии 2640 стал программируемый графический терминал 2647F, представленный в июне 1982 года – улучшенная замена 2647A с дисководом, как в 2642A. В отличие от предыдущих терминалов семейства 264X, использующих процессоры 8080A, 2647F использовал более быстрый процессор Intel 8085A с тактовой частотой 4,9 МГц. HP продолжала производить семейство 264X до начала 1985 года.

Функциональность

Функциональность, определенная серией HP 264X, не претерпела значительных изменений как для предпочтительного терминала компьютеров серий HP1000 и HP 3000. Она никогда не пользовалась такой же популярностью, как VT100 среди программистов, но включала в себя сложные функции, отсутствовавшие в VT100, такие как автономные формы, многостраничные документы и (в некоторых моделях) локальное хранилище. Внешний вид напоминал микроволновую печь или мини-печь. Он был угловатым, с "широкоэкранным" соотношением сторон, поскольку обеспечивал такую же длину символа, как и перфокарта. Это все еще можно увидеть в современном окне командной строки. HP установила, что сочетание стандартного соотношения сторон 4:3 с 25 строками по 80 символов, которое было стандартом того времени, требовало, чтобы символы имели очень высокий профиль. Решением HP стало указать ЭЛТ с соотношением сторон, разработанным с учетом желаемой формы символа, а не наоборот. Разумеется, это также повлекло за собой довольно высокие производственные затраты, поскольку стандартные детали не могли быть использованы. HP приложила усилия для дальнейшего улучшения отображения символов посредством полупиксельного позиционирования отдельных линий внутри каждого символа. Хотя ячейка символа состояла всего из 7 горизонтальных и 9 вертикальных точек, полупиксельное позиционирование фактически удваивало горизонтальное разрешение до 14 точек, обеспечивая символам очень плавные контуры. (В первоначальной рекламной литературе указывалось, что используется матрица 7x9, сгенерированная в ячейке символов 9x15 точек). Все это привело к созданию чрезвычайно легко читаемого дисплея, где растровые точки и строки сканирования были почти невидимы. Клавиатура имела плоские клавиши, похожие на настольные компьютеры серии HP 9800, а не изогнутые контуры, которые сейчас считаются эргономичными. Она включала три области клавиатуры: алфавитную, цифровую и набор клавиш для позиционирования и редактирования курсора, несколько напоминающих современные раскладки клавиатуры ПК. Также присутствовало несколько небольших клавиш управления функциями, расположенных в два ряда над основными областями клавиатуры. Корпус клавиатуры был отделен от основного корпуса и подключался толстым кабелем. Клавиатура использовала парную раскладку битов (похожую на телеграфный аппарат), а не парную раскладку пишущей машинки, использовавшуюся в VT100 от DEC. Несмотря на свои размеры, пользователи любили клавиатуру, потому что "на ней была клавиша для всего". Как и в настольных компьютерах HP, она имела несколько функциональных клавиш (F1-F8), расположенных рядом с экраном. Для некоторых приложений были доступны бумажные шаблоны, на которых были обозначены легенды для этих клавиш. В более поздних моделях они были расположены в верхнем ряду и снабжены экранными метками рядом с соответствующими клавишами. Конфигурация терминала в серии 262X осуществлялась полностью через экранные функциональные клавиши, а не через специальные клавиши и последовательности escape, отправляемые с хост-компьютера. Экранная маркировка восьми функциональных клавиш, впервые использованная в компьютере HP 300 ("Amigo"), была одним из первых применений иерархического меню, позволяющего получить доступ ко многим функциям с помощью небольшого количества клавиш. Эта схема сейчас широко распространена в графических калькуляторах TI, а также в банкоматах и ​​автоматических заправочных станциях, хотя больше не используется в графических пользовательских интерфейсах. Внутренне электроника использовала материнскую плату с подключаемыми дочерними платами. Микропроцессор, память, карта последовательного интерфейса и различные дополнительные функции располагались на отдельных платах. Это обеспечивало простоту обслуживания, модернизации и переконфигурации. Например, можно было легко добавить больше памяти (обеспечивая большую возможность прокрутки), изменить последовательный интерфейс с RS 232 на токовую петлю и т. д. Дополнительные ленточные накопители модели 2645 подключались через другую подключаемую плату. Возможность подключения плат сильно напоминала более позднюю архитектуру расширения Apple II. Производственный цех находился напротив кабинетов отдела исследований и разработок в подразделении терминалов данных в Купертино. Тестовая зона была прозвана "Землей жужжания", потому что в ней было установлено 500 терминалов, а завершение теста сопровождалось звуковым сигналом. HP 2640 представила "блочный режим", аналогичный IBM 3270 (хотя IBM 3270 не поддерживал стандартные последовательные коммуникации ASCII). Последовательности escape Esc [ и Esc ] определяли незащищенные области, но не занимали видимого пространства. Она работала как веб-страница, отключенная от хоста до нажатия клавиши SEND. Поля могли проверять наличие алфавитных или цифровых символов, функция, превосходящая возможности Windows Forms сегодня. Это поддерживалось программами, такими как DEL/3000 и VIEW/3000, которые отображали данные формы в переменные времени выполнения и базы данных. Она также поддерживала режим телетайпа, как стандартный ASCII-терминал, и не требовала специализированных коммуникаций, как IBM. Аппаратное обеспечение радикально отличалось от большинства "глупых" терминалов тем, что символы не хранились в простом массиве данных. Для экономии памяти, которая могла занимать несколько страниц, символы выделялись как связанные списки блоков, выделяемых динамически. Улучшения отображения кодировались как внедренные байты в потоке. Программные улучшения, которые не влияли на внешний вид, такие как полужирный шрифт или подчеркивание, а также защищенные и незащищенные поля, также кодировались внедренными байтами. Аппаратное обеспечение дисплея могло читать эту необычную структуру данных. Когда стоимость памяти снизилась в серии 262X, она была изменена на "параллельную" структуру с одним битом для каждого кода улучшения, но логика, необходимая для эмуляции предыдущего поведения, была сложной. Вставка кода подчеркивания "распространялась" на следующее улучшение отображения, а удаление такого кода также должно было распространяться на следующий байт дисплея или выдавалась команда перехода курсора на несколько байтов. Можно было полностью отключить улучшения, а также обеспечить улучшения только для защищенных полей. Эта структура данных вдохновила структуру разреженных матриц для электронной таблицы Twin. HP 2640 также представила несколько страниц памяти, как DOS-box в Microsoft Windows сегодня, и клавиши "Page Up" и "Page Down", которые появляются на клавиатурах ПК. Пользователи научились использовать клавишу "Offline", чтобы вывести терминал в автономный режим, отредактировать строку в буфере дисплея, а затем повторно передать ее. Это создавало эффект вызова и редактирования командной строки, даже если операционная система не поддерживала эту функцию. Например, при работе с командной строкой операционной системы можно было быстро исправить и повторно отправить ошибочную команду, не перепечатывая всю строку. Это было возможно во многих терминалах того времени, но HP 2640 был достаточно умным, чтобы повторно передать строку только с первого символа, введенного пользователем, опустив, например, командную строку операционной системы. Это позже было реализовано как "режим строки". Другой метод заключался в отрисовке форматированного экрана в символьном режиме с защищенными полями и переходе в локальный режим редактирования, аналогичный описанному выше, но пользователь об этом не знал. Это означало, что символы, введенные пользователем, не передавались на хост до нажатия "специальной" клавиши, обычно клавиши Enter, но и другие клавиши также считались специальными (т.е. немедленное прерывание хоста), такие как Control Y и функциональные клавиши. Только данные в незащищенных областях передавались таким образом, используя полублочный механизм, своего рода промежуточное звено между блочным режимом и нормальным символьным режимом. Форматированные поля также означали, что формы можно было хранить в памяти (проверялись и вызывались локально или перерисовывались с хоста, если их там не было), и нужно было отправлять только незащищенные области данных, тем самым устраняя необходимость перерисовки или выдачи прямых позиций курсора для обновления экрана (TIM/3000 Air Call Computer Systems). Язык PCL был PCL уровня 3 в HP645/7, который позже был реализован для управления первым лазерным принтером Hewlett Packard. Язык управления принтером HP разделяет общую не-ANSI грамматику последовательности escape и общие последовательности с терминалами HP. Внутренние разработчики портировали TinyBASIC на HP 2645A, а также разработали несколько игр на ассемблере (в частности, "Keep On Driv...".