1983г. Сериальный терминал Tandberg Data TDV 2215 S, эксперименты, ROM-дампы, схемотехника

image

Первая часть заметок относилась к восстановлению физической работоспособности терминала. После того, как терминал удалось оживить, в комментариях были заданы вопросы, ответы на которые и составили последующие заметки. По мере изучения терминала, проявились тезисы, которые захотелось расширить и осветить, а именно:

  • Проиллюстрировать схемотехнику устройства, основные узлы, CPU, ROM.
  • Пассивное отображение алфавитно-цифровой информации, это хорошо, но как поведут себя управляющие ESC-последовательности, Midnight Commander, а также хотелось-бы увидеть псевдографическое изображение.
  • Spiritus in Mashina. Считать дампы ROMов и сохранить их.
  • Уделить внимание красавице-клавиатуре.


Начнём…

Схемотехника устройства


В сборе терминал выглядит так:

image

Концепция данного терминала выглядит следующим образом (выдержка из документации):

image


На схеме стрелочками показано направление движения данных между клавиатурой, сервером-хостом и видеодисплеем. Также сделан акцент на срок хранения данных в non-volatile memory — 10 лет. С времени написания первой части заметок, и восстановления работоспособности терминала, несколько позже, подъехал современный вариант ER3400, на фото — дальний от туксов, и чипов стало трое. Вот она, та самая non-volatile memory. Но терминал уже работает и чипы оставлены «про запас». Пусть станиоль от шоколадки закорачивает ножки, защищая от статики, а пингвинята — наделяют силой Линукса.

image
Туксы

Вообще, с одной стороны, казалось бы терминал, ввод-вывод символьной информации, управление командами через последовательные порты, все прозрачно. Но когда начинаешь листать документацию, невольно зацепляешься за потенциальный функционал, ведь к терминалу можно подсоединить и модем, и принтер, и это обеспечивает полнофункциональное взаимодействие в предназначенной среде. Почему-то в памяти всплыло понятие «телетайп», но я, кажется, отвлекся в прошлое… А блочная диаграмма взаимодействия с модемом, выглядит следующим образом.

image
Блочная схема полноценного функционирования терминала

Назначение терминала — взаимодействие с хостом, посредством ряда последовательных интерфейсов, поэтому не лишним будет привести блочную диаграмму взаимодействия интерфейсов с центральным процессором CPU Zilog Z80, обеспечивающим ввод-вывод.

image
Укрупненная схема интерфейсов ввода-вывода

Далее — укрупненные узлы терминала. Начну с изображения центрального процессора NEC 8085, с обвязкой кварцевым резонатором, дающем представление о возможной частоте.

CPU 8085AHC:

image


Кварцевый резонатор:

image


CPU 8085:

image

За взаимодействие с интерфейсами ввода-вывода отвечает Zilog Z80 (рад встрече, сердце незабвенного ZX-Spectrum), вот он красавец:

image


Схема Z80:

image

Постоянные запоминающие устройства (ROM, ПЗУ) представлены следующими чипами.

ROM с системной платы:

image


Еще один ROM с системной платы:

image

ROM клавиатуры представлен чипом с заклеенным номиналом. В целях сохранения аутентичности, минимум вмешательства в компоненты «капсулы времени». Бумажку я отдирать не стал, да и «засвет» стеклышка чипа нежелателен. В итоге микросхема распознана согласно принципиальной схеме.

ROM c клавиатуры:

image


Фрагмент клавиатурного ROM с принципиальной схемы:

image


Общий вид системной объединительной платы приведен на фото, овалами выделены ROM, содержимое которых в перспективе собираюсь сохранить.

image
Ряд «кроваток» под ПЗУ — не заполнен

Эксперименты с ESC-последовательностями


Сложность ввода команд с клавиатуры терминала Tandberg состояла в том, что ряд критически важных символов вводился в верхнем регистре, безотносительно нажатия SHIFT и CAPS LOCK. Ввиду этого, я не мог полноценно использовать клавиатуру, ведь в NIX-системах регистр ввода команд имеет принципиальное значение. У меня остался ограниченный ввод, а что за работа, где невозможно ввести священное «root». Почему? Вопрос остался для меня открытым… Для запуска команд непосредственно с терминала на удаленной машине пришлось создавать файл с прописанной в него командой, присваивать атрибут исполняемого и запускать с терминала (подозреваю, что это костыль, но ничего другого не сообразил и решение работало).

image
Символы, не желающие вводиться в нижнем регистре

Для наглядности набрал весь набор символов вводимых с клавиатуры, в красных кружочках — строптивые буквы, игнорирующие регистр (все символы набирал в нижнем). В остальном пользовался небезызвестной PuTTY на удаленной машине, перенаправляя команды непосредственно в COM-порт.

 open# telnet aardmud.org >>/dev/console


В результате — магическая картинка telnet-игры, магия, само-собой, в черно-зеленом свечении люминофора.

image
Волк, зубами щелк!

Вывод команда top расстроил, посудите, вот результат:

image
top

И попытка загрузить Midnight Commander так-же с треском провалилась.

image
MC

Видны пресловутые Escape-последовательности, но ожидаемая псевдографика на экране отсутствует. Печально, неужели перед нами просто алфавитно-цифровое устройство, способное принимать простые команды и выводить на экран только символы?

Spiritus in Mashina. Дампинг ROMов


Немного мистификации. Spiritus in Mashina, Deus ex machina — понятия, притягивающие к себе своей загадочностью. Облачить в словесную форму, пояснить, значит приземлить таинственный образ, возможно, даже нивелировать его значимость, но тем не менее, попробую…

Ориентировочно, создание терминала датируется 1983 годом, а значит 40 лет назад, норвежские инженера вдохнули жизнь в кремниевые микросхемы и выпустили Brainchild, дитя своего ума в мир. С тех пор произошло много событий, мир изменился, но константная незыблемость, содержимого постоянной памяти — притягивает. Есть какая-то магия, заглянуть в содержимое чипов того времени, а вдруг там тайна? Соскальзывая с метафизических понятий в плоскость практического «для чего», поясню цель: ROM — Read Only Memory, память только для чтения, переводится по смыслу, как постоянное запоминающее устройство (ПЗУ). Постоянное, но не вечное, содержимое ПЗУ может утечь, поэтому в целях недопущения потенциального «окирпичивания» терминала, было принято решение сделать бэкап имеющихся ROMов и последующую запись на заранее приобретенные чипы. Сдампленные ROMы могут пригодиться всем желающим, например проанализировать содержимое в своих целях или к примеру — написать эмулятор. Были закуплены четыре подобные имеющимся в терминале микросхемы для перелива содержимого с исходников, на перспективу.

image

Чтение содержимого ПЗУ производилось программатором XGecu®PRO Модель T48.

image
Программатор в работе

Чтение производилось по два раза. Результаты сохранения, подвергались между собой побитному сравнению. Ошибок копирования при сравнении дампов выявлено не было.

image
Успешная процедура чтения ПЗУ

Листая содержимое дампов, были обнаружены пункты системного меню терминала.

image
Осмысленные названия технологического меню терминала

image
Сохраненные дампы

Итак, содержимое ROMов сохранено, у кадавра наступил пароксизм довольства, но продолжаем…

Клавиатура


Детально клавиатура выглядит так:

image
Клавиатура

В первую очередь обращает на себя внимание расхождение раскладок в имеющейся документации с физически предоставленной клавиатурой. Мне досталась непривычная латинская раскладка JCUKEN вместо распространенной QWERTY, при этом отечественные буквы ЙЦУКЕН — на своих местах.

image
Группы клавиш

Выдержка из документации, поясняющая назначение клавиш.

image
Пояснения к группам клавиш

image
Клавиатурный ROM в программаторе

Считав и просмотрев данные из ROM клавиатуры, обнаружил две символьные последовательности, в которых проблемные буквы, а именно K, E, A, O, M, T в обоих случаях, были в ВЕРХНЕМ регистре. Отсюда прослеживается причина и возможное решение: если в считанном дампе, заменить требуемые заглавные буквы на прописные и переписать ROM обратно, проблема будет решена. Так это или не так, надеюсь узнать в перспективе.

Фрагмент дампа ROM, подчеркнутые символы — в верхнем регистре:

image


Несмотря на то, что клавиатура отлично работает как физическое устройство, воспользоваться для ввода команд в полной мере я не смог, отчасти из-за символов в верхнем регистре, и частично из-за непривычной для меня раскладки.

Заключение


Подводя итог, отмечу, что в некоторых случаях, финал лучше оставить открытым, хотя бы чтоб заинтересовать тех, кто неравнодушен. Что не получилось у меня, получится у других и возможно, обратная связь будет положительной. В комментариях хочется увидеть, что именно, по мнению специалистов, я делал не так, что еще интересного можно сделать с этим терминалом.

Из последующих незакрытых гештальтов — подключение HAYES-модема на 2400 бод и матричного принтера с чердака. А почему нет?

P.S. и вот еще, загадочный вопрос, кто в печальном итоге, увидел квинтян: Пиркс или Парвис? Станислав Лем не ответил в своем романе «Фиаско». Может у прочитавших есть своя версия ответа? Напишите, любопытно услышать…))

mxuanbovcusqgmqdgugvpnql8vq.jpeg

© Habrahabr.ru