Hazeltine 1500 был популярным смарт-терминалом, представленным Hazeltine Corporation в апреле 1977 года по цене 1125 долларов США (что эквивалентно 5700 долларам США в 2023 году). Используя микропроцессор и полупроводниковую память с произвольным доступом , он реализовал основные функции более раннего Hazeltine 2000 в гораздо меньшей и менее дорогой системе, менее чем в два раза дешевле. Он появился на рынке как раз в то время, когда начиналась революция микрокомпьютеров , и 1500 был очень популярен среди ранних пользователей-любителей.
Две модифицированные версии были представлены в июне 1977 года: Hazeltine 1510 за $1395 и Hazeltine 1520 за $1650 . В 1510 была добавлена простая система пакетного режима, которая позволяла пользователю вводить значения без их отправки в хост-систему. При нажатии клавиши все «приоритетные» данные, которые были введены, отправлялись сразу. 1520 был 1510 с добавленным портом принтера, который мог поддерживать последовательные или параллельные компьютерные принтеры . SEND
Последним представителем серии 1500 стал Hazeltine 1552, представленный в августе 1979 года по цене 1500 долларов . Он добавил режим эмуляции VT52 , отдельные клавиши курсора и графические символы. [1]
В 1500 использовался процессор Intel 8080A с 2 КБ ПЗУ для основных операций и 2 КБ ОЗУ в качестве буфера символов (4 КБ в 1510/1520). Символы рисовались с использованием шаблона 7 столбцов на 10 строк в более крупной ячейке 9 на 11. Дисплей отображал 80 столбцов на 24 строки, что было широко распространенным стандартом в то время. В 12-дюймовом ЭЛТ использовался «белый» фосфор P4. [2]
Как и более ранние модели линейки Hazeltine, 1500 поддерживал как интерфейс RS-232 со скоростями от 110 до 19 200 бит/с, так и токовый контур 20 мА , используемый телетайпными системами и до сих пор распространенный из-за широкого использования телетайпа модели 33 в качестве специальных терминалов. [2] Скорость в 19 200 бит/с была относительно высокой для той эпохи, большинство терминалов аналогичного года выпуска достигали скорости в 9 600 бит/с. [a]
Набор команд для терминалов Hazeltine был довольно простым, в основном состоящим из команд редактирования строк и позиционирования курсора. Тильда ~
использовалась как экранирующий символ , или, как они его называли, «код начала». 1510/1520 также позволял ESC
использовать его в качестве начального символа. [5]
Простые однобуквенные команды, следующие за вводной частью, включены DC2
для курсора в начало (верхний левый угол экрана), FF
для курсора вверх, VT
(вертикальная табуляция) для курсора вниз, BS
(возврат на одну позицию) для курсора влево и DLE
для курсора вправо, и FS
(разделитель форм) для очистки экрана. [6] SI
очищено до конца строки, ETB
до конца экрана. [7] DC3
удалено строка и перемещено все данные под ней вверх, при этом SUB
вставлена строка и перемещены строки вниз. [8]
Курсор можно расположить в любом месте экрана, используя DC1
и следуя за этим с двумя символами ASCII для позиций X и Y. ASCII можно сместить на любое число, кратное 32, так что, например, можно перейти в позицию Y (строку) 10, отправив LF
, код ASCII 10, или отправив *
, код ASCII 42, 32+10. Преимущество добавления 32 к значению заключается в том, что оно сдвигает его в диапазон печатаемых символов , что, скорее всего, будет работать на всех последовательных соединениях. То же самое было верно для адреса X, но поскольку позиции были от 0 до 79, а не от 0 до 23 для Y, сдвиг более высоких адресов таким образом может снова вывести их из диапазона печатаемых символов. Они предложили передавать от 0 до 30, используя коды от 96 до 126. [9] ENQ
вернет текущее местоположение курсора в виде двух символов, разделенных возвратом каретки. [10]
Отправка -
заставляла терминал отправлять один символ в ответ, кодируя статус терминала в нижних 6 битах. Биты 0, 1 и 7 не использовались и всегда были равны нулю. Бит 2 возвращал, был ли он полудуплексным, а 3 — полнодуплексным. Бит 4 был равен 1, если при последней передаче была ошибка четности. 5 и 6 кодировали используемый символ конца строки, 00 был CR
, 01 был ETX
, 10 для EOT
, и 11 для отсутствия. [11]
Одной из уникальных особенностей систем Hazeltine была разница между символами «фона» нормальной интенсивности и символами «переднего плана» более высокой интенсивности. Система обычно находилась в фоновом режиме, и любые отправленные ей данные отображались нормально. Отправка инструкции «передний план следует» US
(разделитель единиц измерения) все последующие данные отображались в режиме переднего плана. Отправка фон следует EM
(конец среды) возвращала в фоновый режим. [12] Отправка CAN
очищала до конца экрана, как ETB
, но заполняла его пробелами переднего плана. [7] GS
была похожа на очистку экрана, но удаляла только передний план. [13]
Отправка NAK
заблокировала клавиатуру, а затем ACK
снова разблокировала ее. [8]
Модели 1510 и 1520 включали модификации системы переднего плана/фона, которые позволяли им работать в «форматном режиме», который на языке IBM назывался бы блочным режимом . В этом случае данные в стиле переднего плана также назывались «незащищенными», а данные в фоновом стиле — «защищенными». Как и в базовой модели 1510, можно было очистить только данные переднего плана или все данные, обычно по умолчанию очищая только незащищенный передний план. [5]
Режим форматирования вводится с помощью ~#
. [14] Когда терминал переводится в режим форматирования и пользователь вводит данные в терминал, данные не отправляются на хост, они просто сохраняются во втором буфере размером 2 КБ. Когда пользователь нажимает клавишу SEND
, все данные на переднем плане отправляются на хост в одном потоке. Хост также может запустить операцию отправки, отправив данные ~SO
на терминал. Система может быть настроена на отправку различных битов данных; отправка ~.
на терминал отправляет обратно только строку, в которой находился курсор, ~(
вместо этого отправит все на экране из исходного положения в курсор. [5]
Режим форматирования похож на режим пакетной обработки, который отличается только тем, что отправляет данные всякий раз, когда ввод для одного поля завершен. Когда пользователь нажимает клавишу возврата или табуляции для перехода вперед, данные для предыдущего поля автоматически отправляются, а курсор перемещается на следующее поле переднего плана. Режим пакетной обработки включается с помощью ~%
. [5]
В режиме форматирования TAB
символ использовался для перемещения от поля к полю, пропуская любой текст, который был в фоновом стиле, к следующему неиспользуемому полю или стилю переднего плана. Он также добавлял back-tab для перемещения назад по полям, отправляя ~DC4
. [11]
Пользователь также мог активировать, будут ли приниматься новые данные нажатием LOCAL
клавиши. Когда эта функция была включена, терминал принимал только ввод с клавиатуры, игнорируя данные с хоста. Этот режим заканчивался, когда пользователь нажимал LOCAL
снова, или SEND
. [15]
Символ статуса изменился на 1510/1520, чтобы возвращать больше информации. Бит 0 теперь указывал, был ли буфер печати пуст, а 1 — был ли принтер в режиме онлайн (отражая все с хоста). Биты 2 и 3 теперь кодировали режим форматирования, 00 был выключен, 01 был пакетом, 10 для страницы и 11 для строки. [11]
1520 включал в себя буфер принтера, способный удерживать один экран данных, добавил выбор команд для управления им и клавишу PRINT
для его ручного включения и выключения. [16] Терминал можно было настроить на отправку всех данных на экран, принтер или на оба — ~/
включить принтер и отправить данные с хоста на экран и принтер, ~*
отправить их только на принтер и ~?
выключить принтер и отправить данные на экран (режим по умолчанию). Нажатие PRINT
клавиши или отправка ~RS
с хоста выгрузили бы текущий экран на принтер. [17]
Модель 1500 появилась на обложке альбома Computer World группы Kraftwerk 1981 года . Модель 1500 также появилась в видеоклипе Stereolab Miss Modular . [18]