Источник
Автор: Сергей Текотев
ЭТАП ПЕРВЫЙ
Моя эпопея с «Львов ПК-01» началась, когда в Львiвском полiтехнiчном iнституте под управлением профессора Владимира Яковлевича Пуйды «содрали» какую-то персоналку, переложив по готовому образцу на нашу элементную базу. Несколько опытных экземпляров раздали по организациям для апробирования, в том числе один из них попал к нам в воинскую часть. В части только один лейтенант оказался знаком с вычислительной техникой, и это был лейтенант Текотев. Шел 1987 год.
Мне предложили с ним «побаловаться» и попытаться извлечь из него пользу для наших вооруженных сил. Когда я влез в это с головой, то понял, что без подробного описания архитектуры ПК и прошивки его ПЗУ мне не обойтись. Обращения к В.Я. Пуйде даже по официальной линии ничего, кроме принципиальной электрической схемы компьютера, не принесли. Пришлось заняться своей прямой обязанностью — техническим шпионажем, только не против какой-то страны НАТО, а против Львiвскго полiтехнiчного iнститута.
Это был первый и самый трудный этап — программирование в машинных кодах, когда все постигалось методом проб и ошибок, а конечный результат виделся в далекой и туманной перспективе. Здесь отдельное спасибо надо сказать майору Веденееву, начальнику нашей лаборатории, который был идейным вдохновителем и, одновременно, терпеливым защитником моих интересов от нападок со стороны всяких начальников. Его «прикрытие» сыграло если не решающую, то очень важную роль.
На первом этапе были созданы драйвера: для работы с перфоратором (более быстрый и надежный носитель информации, чем магнитофон) и для вывода на печатающее устройство. Принтера в части не было, зато из средств связи были крутые печатающие устройства. Один такой аппарат мы и подключили через параллельный порт. Это был рывок, потому что я смог распечатать содержимое ПЗУ (всего лишь в шестнадцатеричных кодах) и получил возможность разбираться с ним, не будучи привязанным к компьютеру. Вот так, разложив принципиальную электрическую схему, распечатки ПЗУ объемом в 16 КБайт и вооружившись справочниками по микропроцессорной технике, шаг за шагом, постигал архитектуру компьютера и расписывал содержание ПЗУ.
Почему я считаю, что этот ПК «содран»? Потому что в ПЗУ примерно половину объема занимали подпрограммы, обслуживающие несуществующие устройства (принципиальную схему изменили, а прошивку ПЗУ оставили). К тому же все служебные сообщения в этих подпрограммах были на английском языке.
«Содран» был и Бейсик. В пользу этого говорит тот факт, что в ПК с BIOS версии 1.0 Бейсик загружался, как и все остальные программы, с магнитной ленты. В BIOS версии 2.0 Бейсик располагается уже в ПЗУ, но для работы он во время старта ПК перемещается в ОЗУ как раз на те адреса, что и Бейсик, считываемый с ленты в старом варианте. Для Бейсика, разработанного с нуля, это было бы неразумно с точки зрения расхода памяти.
ЭТАП ВТОРОЙ
Следующий этап начался, когда на какой-то выставке Львовский политех представил свой «Львов ПК-01» уже как компьютер, полностью готовый к массовому производству, с небольшой коллекцией программ. Его отдали для промышленного производства Львовскому производственному объединению имени В.И. Ленина. Каково же было мое изумление, когда я обнаружил, что ПЗУ полностью изменено!
В ЛПО имени Ленина тоже «упражнялись» с этим компьютером, имея в своем распоряжении тот первый вариант ПК с BIOS 1.0. Версия 2.0 уже не содержала того хлама, больше не было никаких служебных сообщений на английском языке и, что самое главное, Бейсик больше не надо было загружать с магнитофона. Попутно они сменили формат записи на магнитную ленту. Естественно, для запуска в серию BIOS 2.0 был гораздо предпочтительней, при этом Львовский политех откровенно «зажал» всю техническую информацию. Это был настоящий «подарок» от В.Я. Пуйды! Большая часть наших наработок вмиг оказалась ненужной.
К тому времени наша часть уже наладила сотрудничество с ЛПО имени Ленина. Им были известны наши успехи в области «промышленного шпионажа» против Львовского политеха. Для успешного сбыта компьютера в условиях массового производства в ЛПО создали группу программистов, которые в короткий срок должны были обеспечить «Львов ПК-01» разнообразным программным обеспечением. Осознавая потребность в подробном техническом описании на ПК и не договорившись с В.Я. Пуйдой, в ЛПО имени Ленина приняли решение о привлечении наших сил. С нашей частью был подписан договор о разработке подробного технического описания компьютера и создании системного ПО.
Пришлось, вооружившись опытом, еще раз пройти тот же путь и задокументировать содержимое ПЗУ версии 2.0. В рамках того же договора для ЛПО имени Ленина были написаны системные программы: Monitor-90, Assembler-90 и Reassembler. Отдельное спасибо хочу сказать в адрес Остапа Михайловича Семенива, сотрудника ЛПО имени Ленина, который организовал взаимодействие ЛПО с нашей частью и всемерно содействовал продвижению этого проекта.
Наверное, многие помнят, что первые «Львовы» шли только с руководством по эксплуатации и описанием языка Бейсик (1989 – 1990 годы). В придачу компьютер комплектовался кассетой с набором весьма «бледных» программ. А с 1991 года руководство по эксплуатации было дополнено «Руководством программиста» и в комплект программ было включено системное ПО для ПК.
Дополнительно по договору был разработан макет локальной вычислительной сети, в которой в качестве сервера выступала ПЭВМ ЕС-1841, а рабочих станций — ПК «Львов», собрано устройство сопряжения «ЕС-1841» — «Львов ПК-01», разработаны драйверы обмена информацией.
Через мои руки прошло несколько «Львовов» — и «гражданские», и «военные». «Военные» отличались металлическим корпусом и более надежной клавиатурой. Первые ПК — и «гражданские», и «военные» — были с тактовой частотой 2 МГц. Потом стали делать с частотой 2,5 МГц, но таких «военных» я уже не встречал. По-видимому, их вообще была только одна партия.
ЭТАП ТРЕТИЙ
В 1991 г. начался третий заключительный этап. Мои работы получили известность во Львове, где к тому времени этот ПК был уже достаточно распространен. Я стал постепенно переходить к коммерческим разработкам, с армией пришлось расстаться. Примерно в это же время наткнулся на рекламу московского кооператива «О'КЕЙ», завязалось сотрудничество с Константином Тимошенко. Впоследствии кооператив «О'КЕЙ» плавно трансформировался в фирму «Coman».
Для фирмы были разработаны: Монитор-Плюс, Ассемблер-91, Мультипликатор. С их помощью для тестирования нового системного ПО была написана игра
«Буря в пустыне». В исходном варианте «Буря» состояла из трех кусков: загрузчик, заставка и программа. Загрузчик шел в обычном формате BLOAD, а остальное — в другом, более компактном. В этом формате были выкинуты СТАРТ и СТОП, а при записи «1» использовалось не 2 коротких волны, а одна. В итоге запись на ленте уменьшалась более чем в 1,5 раза. Чтобы качественно переписать игру, в нее была включена возможность генерации программы на МЛ. Все это впоследствии было описано в брошюре «ПК и магнитофон».
В «Буре в пустыне» была сделана попытка подключить джойстик. «Coman» стандартизировал его, по-моему, как Q-джойстик и стал включать его поддержку в другие игровые программы.
Предметом особой гордости была разработанная мною система защиты от перезаписи. Я никому не раскрывал эту систему, здесь ее описание приводится впервые. Сначала шел ЗАГРУЗЧИК, он грузился в системную область и своим «хвостом» накрывал адрес аварийного завершения чтения с магнитной ленты. Затем шел СБОЙ — это 10 … 20 волн с вдвое завышенной частотой. Этот сбой «выкидывал» драйвер чтения с ленты на адрес аварийного завершения, где уже лежало не «ОШИБКА В/В», а переход на свой загрузчик. Затем шел несколько удлиненный СТОП, он был нужен для того, чтобы компьютер успел отработать сбой и перейти на загрузчик. А дальше можно было творить, что хочешь.
Можно было пустить сразу тело файла, тогда на слух вообще ничего нельзя было отличить, как будто записана обыкновенная программа, но при этом, загрузка даже без параметра «R» все равно заканчивалась автостартом программы. При попытке копирования с помощью специальных программ или при помощи BLOAD, но по другим адресам, в самом начале загрузки просто выскакивало сообщение «ОШИБКА В/В».
Можно было пустить второй ЗАГРУЗЧИК, который стартовал даже без параметра «R», а затем уже и все остальное, но в другом формате. Это накладывало дополнительную защиту и значительно затрудняло взлом. Файлы, защищенные таким образом, можно было записывать только при помощи специального ГЕНЕРАТОРА. Интересно, сколько продержалась эта система? Кто смог ее сломать — пусть откликнется.
Закончилось все написанием руководства для молодых специалистов «От Бейсика к Ассемблеру». Это уже был 1992 год — полная стагнация всех потребительских рынков, работы в этом направлении оказались невыгодными с коммерческой точки зрения.
В заключение приведу перечень своих программ: «Монитор-90» (MON90.LVT), «Реассемблер» (DISSAS90.LVT), «Ассемблер-90» (ASS90.LVT), «Копировщик файлов» (TURBO.LVT и TURBO0.LVT), «Графический редактор-мультипликатор» (MULT.LVT), «Монитор-Плюс» (MON_PLUS.LVT), «Ассемблер-91» (ASS-91.LVT), игра
«Буря в пустыне» (STORM.LVT).
UPD.
Связанная тема "ПК-I (прототип ПК-01 "Львов")".