Передовица » Люди » Истории » История ПЭВМ АГАТ на Ленинградском телевидении (ЛенТВ)

История ПЭВМ АГАТ на Ленинградском телевидении (ЛенТВ)

Фризюк Сергей Михайлович

Заранее прошу прощения у всех упомянутых в этом тексте людей, если, в силу несовершенства человеческой памяти, допущу какие-то неточности в изложении тех событий, но т.к. вряд ли кто-то ещё напишет об этой малозаметной вехе в истории Ленинградского ТВ, то пусть хоть такой текст останется. Так же прошу прощения за излишние технические подробности, из-за которых текст получился достаточно большим.

Коротко обо мне. В середине-конце 80-х я был студентом замечательного ВУЗа, который за время моей учёбы дважды успел поменять названия (ЛИАП - СПб ГААП - СПб ГУАП).

Учился я на специальности 0608 - "Электронные вычислительные машины" и за время учебы довелось поработать на самых разных ЭВМ, начиная с EC-1022, М-6000, СМ-3 и заканчивая ДВК, Э-60, Искра-1256. Но первой по настоящему любимой машиной стал для меня АГАТ, с которым я познакомился в лаборатории при нашей кафедре. В лаборатории стояло всего два Агат-7 и один Агат-4 со сломанным дисководом, но увлечённость процессом была столь велика, что, если рабочие машины оказывались заняты, я набивал свои первые программы в машинных кодах из системного монитора на никому не нужной машине без дисковода.

На моей памяти, на этих АГАТАх пытались написать несколько лабораторных работ и обучающих программ, но ни один проект так и не был доведён до кондиционного состояния. (Сам я тоже писал демонстрационную программу по курсу геометрической оптики, которая в графическом режиме должна была наглядно показывать процессы прохождения и преломления лучей через различные системы линз ). Кроме этого, местный профессор с кафедры автоматического управления носился с идеей реализовать на АГАТе управляющий контур для левитации стального шарика в поле двух электромагнитов. Нарисовав пару систем дифференциальных уравнений, он был свято уверен, что АГАТ в реальном времени будет способен обсчитывать параметры по этим двухэтажным формулам для выдачи управляющих воздействий на электромагниты. Для этих целей был даже сделан реальный стенд с электромагнитами, который, будучи подключённым к аналоговой вычислительной машине, прекрасно работал, но при переключении на АГАТ, шарику никак не удавалось застыть в воздухе. Наши робкие попытки сказать ему, что на АГАТе такое не прокатит, и надо всё делать совсем по другому, оставались не услышанными, и мы в течении месяца слушали стук шарика, падающего на магнит.

Но, собственно, вернёмся к истории АГАТа на Ленинградском телевидении. Началась она где-то в 1987 году с приобретения ленинградским телецентром двух ПЭВМ "Агат-7" для изучения возможности использования "достижений прогресса" в творческом процессе. Осваивать новую технику поручили молодому, но амбициозному и разносторонне одарённому инженеру аппаратной телецентра Виктору Григорьеву. Одним из первых практических применений Агата стало создание заставки-таймера обратного отсчёта для программы "600 секунд". Более подробно об этой работе рассказал сам Виктор на своей интернет-странице. И хотя некоторые из изложенных им фактов расходятся с моими воспоминаниями о тех событиях, я не стану предъявлять претензии за их авторское восприятие, тем более, что память - штука капризная, а к созданию заставки я лично отношения не имел. (А вот к подключению Агата в телевизионный тракт - имел самое непосредственное).

Тогда же, в передачах "Музыкальный ринг" и "Общественное мнение" (создатели и ведущие Владимир и Тамара Максимовы), АГАТ начали использовать по прямому назначению - как компьютер для подсчёта в прямом эфире голосов зрительского голосования. Голоса, приятые операторами с телефонных линий, фиксировались на бумажках, которые затем передавались для ручного ввода в программу подсчёта с помощью клавиатуры. Очевидно, что технология была несовершенна - двух пультов на 8 телефонных линий было недостаточно, и кто-то из руководства передач (а может это был Виктор) стал искать возможность доработки Агата, так чтобы данные можно было вводить с нескольких точек одновременно.

В те годы организаций, которые могли что-либо профессионально доработать в Агате (не считая заводов изготовителей) было крайне мало, и информация о них распространялась в среде энтузиастов в основном методом "сарафанного радио", через друзей, знакомых, школы и институты. Вероятно, именно таким образом был найден кооператив "Спрайт", в котором я тогда, ещё будучи студентом, подрабатывал в свободное время. Создатель кооператива, Андрей Филиппов, разработал для ЛенТВ систему выносных кнопочных пультов, которые подключались к плате контроллера, вставленного в один из свободных слотов Агата. Популярных нынче беспроводных технологий типа BlueTooth, WiFi, ZigBee ещё не существовало, поэтому пульты подключались обычным микрофонным кабелем по пяти проводам: +5в, Общий, RESET, Clock, Data. Каждый пульт имел 12 кнопок, и уникальный адрес, установленный перемычками. Все пульты были включены параллельно. После сигнала RESET все пульты начинали считать импульсы тактового сигнала, пропуская количество пакетов по 16 импульсов, равное своему номеру, а потом передавали пакет из 12 бит, соответствующих состоянию кнопок данного пульта. Данные по всем кнопкам всех пультов отображались в соответствующих регистрах области ввода-вывода контроллера пультов.

Моим участием в этой разработке было написание своеобразного "драйвера", позволяющего использовать данные, полученные с пультов, в программе, написанной на Basic-е. (Это было требование ТЗ, т.к. программа обработки было написана Виктором на Бейсике).

Сложность задачи была в том, что Бейсик плохо приспособлен для работы с прямыми адресами памяти, да и скорости исполнения не хватало для обработки 10-16 пультов. Поэтому драйвер был сделан на Ассемблере с применением хакерских методов: в программе на Бейсике нужно было объявить целочисленный массив из 12 элементов (по одному на каждую кнопку), со специальным зарезервированным именем, который служил для накопления количеств нажатий кнопок пультов. При первом вызове драйвера, он искал в хранилище имён переменных Бейсика имя этого массива и узнавал физические адреса памяти, в которых хранятся его данные. Затем запускалось аппаратное прерывание 50гц, и 50 раз в секунду данные из буферов кнопок пультов считывались, преобразовывались к формату бейсиковских переменных и записывались в адреса массива. Со стороны программы на Бейсике это выглядело так, как будто в обычном массиве сами собой меняются значения в соответствии с нажатиями кнопок пультов.

Первое (и, к сожалению, последнее) применение этой системы голосования случилось в программе "Музыкальный Ринг" в 1989г. где соревновались Ленинградский Мьюзик-Холл и ГДР-овский "Фридрихштадтпаласт" (Ссылка).

На съёмках этой программы к Агату, кроме пультов, был подключён ещё один шедевр инженерной мысли энтузиастов-агатовцев - большой экран собранный из электролюминесцентных панелей 32х32 точки, который использовался для отображения результатов голосования. В приведённом ниже видеофрагменте можно рассмотреть этот экран, а так же процесс опроса зрителей при помощи пультов голосования "Спрайт" (смотреть c 6`18"). Ссылка.

Автору этих строк "посчастливилось" присутствовать на съёмках этой передачи, благодаря чему я узнал много интересного о внутренней кухне телевизионного производства. В частности, в приведённом видеофрагменте финала (то, что пошло в эфир) голосование остановлено на равном счёте, и ведущая Тамара Максимова повесила интригу, задав вопрос телезрителям, чтобы они предположили (догадались?), кто победил. Ответа так никто никогда и не узнал, а в реальности на съёмках произошёл технический казус: зрители (а может и ассистенты, которые носили пульты) стали под конец представления откровенно хулиганить и нажимать кнопки многократно, бессмысленно и беспощадно, вероятно зачарованные мельканием "цифирок" на табло. Система, естественно, не имела никакой защиты против множественного нажатия, и цифры голосования быстро стали неадекватными и неотражающими истинного положения дел. Разумеется, всю эту голосовательную вакханалию пришлось вырезать при выпуске передачи, заменив её странным риторическим вопросом ведущей. В дальнейшем, видимо из-за неудачного первого опыта, эти пульты на ЛенТВ больше не использовали и даже не стали выкупать их у кооператива "Спрайт", благодаря чему они сохранились для тусовки ретро-энтузиастов :) .

Что касается экрана, то я, к сожалению, не располагаю информацией о людях, которые занимались его разработкой. Знаю только, что сделала его команда в стенах учебно-производственного подразделения (то ли УПК, то ли УПЦ - не помню) при ЛИАПе, расположенного на ул.Плеханова 48. На телевидение они попали, скорее всего, по личным связям, т.к. Виктор тоже был выпускником ЛИАП. Экран этот потом много куда пытались пристроить. В частности, он вместе с Агатом некоторое время стоял в вестибюле гостиницы "Ленинград" в качестве доски объявлений и рекламы.

Как бы там ни было, но главным результатом квеста с системой голосования стало мое знакомство с замечательными людьми в технической дирекции ЛенТВ - Виктором Григорьевым и Владимиром Соловьёвым (нет, совсем не тем Соловьёвым, который ведёт сейчас все политические передачи на радио и телевидении России, а просто полным тёзкой). Посмотрев на квалификацию инженеров "Спрайта", они заинтересовались возможностью доработки АГАТа для его включения непосредственно в телевизионный тракт, так чтобы картинка, выдаваемая на экране ПЭВМ в реальном времени могла накладываться на телевизионный сигнал. До этого наложение картинки приходилось делать не самым тривиальным образом: либо через штатную студийную аппаратуру синхронизатора, которая занимала целый шкаф и была постоянно занята на различных теле-проектах, либо вообще записывать изображение с экрана монитора АГАТа на камеру с последующим сведением в монтажной аппаратной. Не располагая достаточным жизненным опытом, зато переполненный молодым задором и удалью, я тут же пообещал сделать такую доработку.

При ближайшем рассмотрении, задача оказалась весьма не тривиальной. В процессе её решения пришлось последовательно устранять множество проблем, и сразу скажу: самым большим моим везением стало то, что дорабатывать нужно было именно Агат-7. Это, кажется, одна из немногих (если не единственная) из ранних 8-разрядных ПЭВМ , в которой контроллер дисплея никак не зависит от процессора и имеет собственный тактовый генератор. Именно этот факт позволил заставить работать дисплейный контроллер (ДК) Агата от внешней синхронизации.

Что же для этого потребовалось?
Во-первых, пришлось полностью удалить кварцевый генератор дисплейного контроллера и заменить его на генератор, сделанный на базе индуктивной линии задержки. Это позволило запускать генерацию стабильного пиксель-клока мгновенно, по приходу строчного синхроимпульса. (Кварцевый генератор так не может - ему раскачка нужна). Без такого генератора вертикальные линии "плясали" бы на +/- 0,5 пикселя от строки к строке, что очень заметно на глаз.

Во-вторых, в схеме были разорваны цепи обратной связи счётчиков строк и их сброс теперь осуществлялся внешним сигналом кадровых синхроимпульсов (КС), а на счётный вход подавались внешние строчные синхроимпульсы (СС). Сигналы КС и СС в телевизионной аппаратной присутствуют всегда - без них ни одно устройство там работать не будет.

Далее необходимо вспомнить параметры развёртки принятого у нас вещательного стандарта (SECAM). В нашем ТВ-кадре, как известно из стандарта, 625 строк, из которых на экране отображается только 575, а остальные 50 приходятся на время обратного хода луча и нас не интересуют. Но и эти 575 строк отображаются весьма своеобразно: т.к. развёртка черезстрочная, то в каждом чётном кадре рисуется 287 чётных строк, а в нечётном - 288 нечётных, и всё это происходит с частотой 50 Гц. И что-то эти цифры мне напоминают...А вот что! В Агате развёртка имеет 256 строк и частота кадров - 50 Гц. Т.е., пожертвовав всего 63 видимыми строками (11% площади экрана) можно без всяких преобразований подавать сигнал с агатовского дисплейного контроллера в ТВ тракт (естественно, при условии внешней синхронизации). Получается, что каждая агатовская строка отображается в полном телевизионном кадре дважды со сдвигом на строку, но т.к. телевизионные строки расположены в два раза плотнее, общая геометрия экрана не нарушается. Проблема только одна - очень хочется, чтобы эти 63 нерабочие строки не находились внизу экрана, т.к. именно нижняя часть экрана чаще всего задействуется для отображения титров и прочих сообщений в эфире. Эту проблему удалось решить благодаря использованию в схеме ДК Агата-7 в качестве счётчиков строк микросхем К555ИЕ7. Эти счётчики имеют функцию параллельной загрузки значения, и если, вместо сброса использовать эту функцию, загрузив в счётчик отрицательное число (например -31), то каждый полукадр будет отображаться с задержкой на 31 строку (а в сумме - 62 строки по двум полукадрам).

Таким образом удалось "подвинуть" наложенную агатовскую картинку в самый низ экрана.

Кроме всего перечисленного, нужно было ещё нормализовать и умощнить выходы RGB и вывести их на стандартные, принятые на телевидении байонетные разъёмы СР-75 с волновым сопротивлением 75ом. Вся эта кучка разъемов (КС,СС,R,G,B) была выведена на заднюю стенку агатовского корпуса. Оттуда сигналы RGB, синхронные с внешними КС и СС, микшировались в эфирный тракт штатным оборудованием аппаратной телецентра.

Следует отметить, что будь у телецентра АГАТ-9, а не АГАТ-7, это создало бы мне гораздо большие трудностей, т.к. в нём дисплейный контроллер значительно сложнее и собран на ПЗУ-автоматах, и я не уверен, что смог бы легко их взломать и перепрограммировать.

В итоге, по этой схеме были переделаны оба принадлежащих ЛенТВ Агата-7, один из которых на постоянной основе установили в аппаратной студии вещания, а второй, вероятно, выполнял функции резервного и кочевал по различным кабинетам телецентра.

Однако, модернизация Агатов только вышеизложенным не ограничилась. Еще в самом начале работы с телецентровскими Агатами, ко мне обратился Владимир Соловьёв с просьбой написать для Агата специализированный софт, который должен бы был выполнять функции, аналогичные штатной студийной титровальной машине. (По возможности - с расширенными и улучшенными характеристиками).

Самым серьёзным вызовом в этой задаче было требование ТЗ о мгновенной готовности АГАТа к работе после включения питания или аварийного сброса. Это сразу исключало возможность использования штатного дисковода для загрузки рабочей программы. В этой ситуации дисковод оказывался слишком медленным и, к тому же, не сильно надёжным. (Речь идёт о дисководе 140Кб, т.к. дисковода 840K на телецентровских машинах не было). В результате мною на ассемблере с нуля была написана система наложения титров с применением различных динамических эффектов в реальном времени, которая полностью уместилась в 2 микросхемы ПЗУ К573РФ4А, которые были запаяны на свободной площади ячейки процессора АГАТа. При включении питания, вместо системного монитора, Агат сразу попадал в программу титровальной машины. (Но весь стандартный функционал оставался доступен по специальной команде выхода в системный монитор).

Какими же возможностями обладала эта программа?
Основным рабочим объектом программы титрования являлся Экран, который содержал 16 строк текста с достаточно крупным шрифтом в матрице 16х12, (в каждой строке умещался 21 символ). Шрифтов было доступно три - первый базовый (похожий на стандартный агатовский), второй - фигурный с различными "красивостями" и третий - "пустотелый", когда символы рисуются тенями. Естественно, чтобы отображать такие шрифты, рабочим режимом отображения был выбран графический чёрно-белый режим 256х256 точек.

Полноценную файловую систему для хранения данных мне тогда писать было лень, да и места в ПЗУ было мало, поэтому было принято компромиссное решение хранить экраны непосредственно в секторах 140кб-ной дискеты, тем более, что данные одного экрана прекрасно влезали в 256 байт одного сектора. Таким образом, на шугартовскую дискету можно было поместить 560 экранов с различной текстовой информацией.

Эти экраны подготавливались и записывались заранее в режиме редактирования, а затем, в прямом эфире вызывались для отображения по мере необходимости. Делать это было не очень удобно, т.к. приходилось вслепую набирать 3-х значный номер нужного экрана, после чего программа загружала выбранный сектор в память и затем, по кнопке "старт", начинала отображение.

В самом примитивном случае на экране просто появлялся текст в заранее определённом месте и пропадал либо по кнопке "стоп", либо, автоматически, через заданный интервал времени.

Однако возможности программы были гораздо богаче и позволяли с текстом творить всякие "чудеса". В частности были реализованы следующие динамические эффекты:

1.) горизонтальный скролинг строки с "выездом" из-за границы экрана.
2.) побуквенная "насыпка" строки вылетающими буквами.
3.) "телеграфная" побуквенная печать текста с разной скоростью.
4.) вертикальный скроллинг всего текста с "выездом"  снизу или сверху.

Кроме того, экраны могли связываться в "цепочки" отображения, при этом отработка эффектов следующего экрана могла происходить поверх нестёртой картинки предыдущего экрана, что предоставляло широкие творческие возможности в оформлении визуального контента. Разумеется, для реализации всех этих "украшательств" пришлось придумать систему служебных управляющих тэгов, которые, будучи размещёнными в тексте экрана, запускали бы те или иные функции динамического отображения. (этакий прообраз HTML :))

Изначально всё это было задумано в первую очередь для вставки пояснительных титров при трансляции передач, но, ознакомившись с возможностями программы, Владимир Соловьев загорелся идеей сделать нетрадиционную информационную передачу, полностью состоящую из текстовых новостей. И такая передача появилась на ЛенТВ ! Называлась она незамысловато: "Телетекст". Следует заметить, что в то время на нашем телевидении технология передачи текстовой информации в служебных строках видеосигнала ещё не была внедрена, и слово "телетекст" ещё не ассоциировалось в массах с кнопочкой на пульте ДУ от телевизора.

А передача была сюрреалистическая: в течении 10 минут под ненавязчивую музыку, на постоянно меняющем цвет фоне, транслировались новости в виде текстовых сообщений с применением всех возможностей, предоставляемых моей программой. Не знаю, на кого была рассчитана эта передача (Соловьёв говорил, что для охвата аудитории слабослышащих), но просуществовала она более полугода. К сожалению, мне не удалось найти ни одной архивной записи этой передачи, что не удивительно: кому придёт в голову записывать на видео подобный бред?

Однако на этом история не закончилась.
В те же годы на ленинградском телецентре обреталось представительство французской телекомпании Ла Септ (La Sept). Они занимались культурно-просветительскими программами и им было выделено время в сетке вещания для трансляции своих документальных фильмов. Проблема была в том, что фильмы эти были на французском языке, а на дубляж средств не выделили. Местные сотрудники представительства, увидев включённый в телевизионный тракт АГАТ, тут же озвучили идею использовать его для наложения русских титров на их продукты. Но та система титрования, которая была зашита в ПЗУ, плохо подходила для этих целей. Во-первых, количество титров было ограничено 560 шт, что не всегда хватало. Во-вторых, шрифт был слишком большим для титров, да и считывание каждого нового титра с дисковода не отвечало требованиям надёжности.

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

Впоследствии, эту программу мне даже удалось продать (вместе с услугой по переделке АГАТа) кооперативщикам, которые привозили новинки голливуда для местных видеосалонов. Они тоже озаботились слабослышащей аудиторией и решили снабжать фильмы титрами.

На этом моя работа с Ленинградским телецентром завершилась, и сколько ещё после этого Агат пробыл в эксплуатации - сказать не могу, но, видимо, не очень долго, т.к. в 90-е началось бурное развитие компьютерной техники, а телевидение стали накачивать деньгами и у них появилась возможность приобретать более профессиональное импортное оборудование.

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *