Настало время завести отдельную тему про раннюю версию ПК "Львов", которая имела хождение во Львовском регионе, на основе которой после получился серийный ПК-01. Поскольку эту модель следует как-то именовать, то я выбрал вариант, который встречается в
документах, переданных нам В.Я. Пуйдой, т.е.
ПК-I. Производилась эта машинка сугубо собственными силами ОКБ и ЛПИ, где-то с 1985 по 1988 года, и выглядела она приблизительно так:
Почти вся сохранившаяся информация о ней доступна нам по
рассказу С. Текотева, который посвятил ее изучению достаточно времени, находясь в рядах доблестной СА.
Собственно, далее следуют обширные цитаты, срывающие покровы тайны:
Quote:
[...]
На первом этапе были созданы драйвера: для работы с перфоратором (более быстрый и надежный носитель информации, чем магнитофон) и для вывода на печатающее устройство. Принтера в части не было, зато из средств связи были крутые печатающие устройства. Один такой аппарат мы и подключили через параллельный порт. Это был рывок, потому что я смог распечатать содержимое ПЗУ (всего лишь в шестнадцатеричных кодах) и получил возможность разбираться с ним, не будучи привязанным к компьютеру. Вот так, разложив принципиальную электрическую схему, распечатки ПЗУ объемом в 16 КБайт и вооружившись справочниками по микропроцессорной технике, шаг за шагом, постигал архитектуру компьютера и расписывал содержание ПЗУ.
Почему я считаю, что этот ПК «содран»? Потому что в ПЗУ примерно половину объема занимали подпрограммы, обслуживающие несуществующие устройства (принципиальную схему изменили, а прошивку ПЗУ оставили). К тому же все служебные сообщения в этих подпрограммах были на английском языке.
«Содран» был и Бейсик. В пользу этого говорит тот факт, что в ПК с BIOS версии 1.0 Бейсик загружался, как и все остальные программы, с магнитной ленты. В BIOS версии 2.0 Бейсик располагается уже в ПЗУ, но для работы он во время старта ПК перемещается в ОЗУ как раз на те адреса, что и Бейсик, считываемый с ленты в старом варианте. Для Бейсика, разработанного с нуля, это было бы неразумно с точки зрения расхода памяти.
[...]
В ЛПО имени Ленина тоже «упражнялись» с этим компьютером, имея в своем распоряжении тот первый вариант ПК с BIOS 1.0. Версия 2.0 уже не содержала того хлама, больше не было никаких служебных сообщений на английском языке и, что самое главное, Бейсик больше не надо было загружать с магнитофона. Попутно они сменили формат записи на магнитную ленту. Естественно, для запуска в серию BIOS 2.0 был гораздо предпочтительней, при этом Львовский политех откровенно «зажал» всю техническую информацию. Это был настоящий «подарок» от В.Я. Пуйды! Большая часть наших наработок вмиг оказалась ненужной.
К тому времени наша часть уже наладила сотрудничество с ЛПО имени Ленина. Им были известны наши успехи в области «промышленного шпионажа» против Львовского политеха. Для успешного сбыта компьютера в условиях массового производства в ЛПО создали группу программистов, которые в короткий срок должны были обеспечить «Львов ПК-01» разнообразным программным обеспечением. Осознавая потребность в подробном техническом описании на ПК и не договорившись с В.Я. Пуйдой, в ЛПО имени Ленина приняли решение о привлечении наших сил. С нашей частью был подписан договор о разработке подробного технического описания компьютера и создании системного ПО.
Пришлось, вооружившись опытом, еще раз пройти тот же путь и задокументировать содержимое ПЗУ версии 2.0. [...]
(Кстати, фраза про написание драйвера вывода на печатающее устройство наводит на мысль, что первоначально никакого принтера ко "Львову" не предусматривалось. Штуку эту подключили потом, причем не без ошибок [
1,
2]).
Об этой машинке вскользь упоминается и в официальной документации ПК-01 "Львов":
Quote:
Для загрузки с ленты БЕЙСИК - программы, созданной в предыдущей версии интерпретатора предусмотрена директива SLOAD. Ее формат: SLOAD
Примечание #1
Просматривая "
Руководство программиста", в разделе "2.4 Подпрограммы вывода на МЛ.", обнаружил чрезвычайно любопытный фрагмент:
Quote:
Следует отметить, что в ПК-01 версии 1.0 ( мало кто о нем знает, но тем не менее он существовал и был даже РАДИО-86РК-совместимым ) применялся принципиально иной метод кодирования бит ( фазовый ), аналогичный формату РАДИО-подобных ПК. Именно для загрузки файлов в таком формате ( если вы их где-то все же отыщете ) и предназначены оператор BASIC 2.0 SLOAD и подпрограмма XXXXH ( XXXXX ). Подпрограммы записи в формате 1-й версии в ПЗУ версии 2.0 нет.
Но это еще не все. Внимательно просматривая материалы Вл. Пуйды, я натолкнулся на любопытный листик, где приведена карта памяти ПК-I. Сразу замечу, что это не просто черновой набросок, а описание карты памяти реально существующего компьютера, поскольку для некоторых областей памяти приведены контрольные суммы (CS).
Лучше всего открыть скан в более крупном размере [
смотрим], чтобы все можно было прочесть без проблем.
Карта действительно любопытная. И вот почему:
1. Малый объем ОЗУ для пользователя, область 0х0000-0x5FFF, причем там же расположены некоторые системные буферы и переменные. Если в эту область копировался Бэйсик из ПЗУ (как и в ПК-01), то для серьезных программ почти не оставалось места... Или Бэйсик обитал исключительно в ПЗУ? Хотя мы уже читали, что он загружался с ленты... Хм...
2. Загадочная область "Буфер драйв. пам'ятi (симв.)" 0x6400-0x7DFF (6.5 КБ). Что это?
3. Экран в области памяти 0x8000h - 0xBFFF. Скорее всего он находился там постоянно. Забавно, но в ПК-01 подключение видеоОЗУ приводило к отключению области памяти 0x0000 - 0x7FFF. Что-то во всем этом есть...
4. Под Бэйсик отдано 8 КБ (0xC000-0xDFFF), хотя стандартный BASIC 2.0 для ПК-01 меньше размером.
5. Монитор разбит на две части внезапным образом. Сначала идет начальный загрузчик и
расширение Монитора (0xE000-0xE7FF), после драйвера (0xE800-0xEFFF), а уже потом основное тело Монитора (0xF000-0xFFFF). Почему драйвера клавиатуры и дисплея нужно было разместить именно в области 0xE800-0xEFFF?
Еще нужно отметить тот момент, что скорее всего через порт 0x0 отключалось-подключалось ПЗУ (вместо экрана), о чем я уже писал в
теме о прерываниях.
И еще деталь. У серийного ПК-01, согласно
свидетельству shoorick'a, наблюдается такой феномен:
Quote:
одна из микросхем ПЗУ была полностью записана нулями
Интересно, какая область из прошивки ПК-I оказалась занулена?
Сохранился ли в природе хотя бы один экземпляр этой ЭВМ? Да,
сохранился, причем в Польше, у Krzysztof Strzecha.
UPD.
Связанные темы "Прошивки ПЗУ ПК-01 "Львов", "Оператор SLOAD".