PC-01 Lviv
http://pc01.lviv.ua/forum/

ПК-I (прототип ПК-01 "Львов")
http://pc01.lviv.ua/forum/viewtopic.php?f=2&t=201
Page 1 of 5

Author:  liberation [ 19 Oct 2012, 13:52 ]
Post subject:  ПК-I (прототип ПК-01 "Львов")

Настало время завести отдельную тему про раннюю версию ПК "Львов", которая имела хождение во Львовском регионе, на основе которой после получился серийный ПК-01. Поскольку эту модель следует как-то именовать, то я выбрал вариант, который встречается в документах, переданных нам В.Я. Пуйдой, т.е. ПК-I. Производилась эта машинка сугубо собственными силами ОКБ и ЛПИ, где-то с 1985 по 1988 года, и выглядела она приблизительно так:

Image

Почти вся сохранившаяся информация о ней доступна нам по рассказу С. Текотева, который посвятил ее изучению достаточно времени, находясь в рядах доблестной СА. :wink: Собственно, далее следуют обширные цитаты, срывающие покровы тайны:
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).

Image

Лучше всего открыть скан в более крупном размере [смотрим], чтобы все можно было прочесть без проблем.

Карта действительно любопытная. И вот почему:
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? :wink:

Еще нужно отметить тот момент, что скорее всего через порт 0x0 отключалось-подключалось ПЗУ (вместо экрана), о чем я уже писал в теме о прерываниях.

И еще деталь. У серийного ПК-01, согласно свидетельству shoorick'a, наблюдается такой феномен:
Quote:
одна из микросхем ПЗУ была полностью записана нулями
Интересно, какая область из прошивки ПК-I оказалась занулена?

Сохранился ли в природе хотя бы один экземпляр этой ЭВМ? Да, сохранился, причем в Польше, у Krzysztof Strzecha. :D

UPD.
Связанные темы "Прошивки ПЗУ ПК-01 "Львов", "Оператор SLOAD".

Author:  NeoSpectruman [ 21 Oct 2012, 18:13 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Quote:
выглядела она приблизительно так:
Откуда это фото?
В педивикии о фотке сказано что Автор Пуйда В.Я.

Эта машинка у него на руках?

Author:  liberation [ 21 Oct 2012, 21:31 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Quote:
Эта машинка у него на руках?
Вроде бы у Вл. Пуйды сохранился один из первых экземпляров, так называемый "выставочный", но это "вроде бы". Еще один экземпляр должен быть у Krzysztof Strzecha, но опять-таки вроде бы.

Author:  liberation [ 21 Oct 2012, 23:13 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Добавил "Примечание #1" по поводу оператора SLOAD. Больше всего меня заинтриговала фраза, что ПК-I был Радио-86РК-совместимым. Жаль, у нас нет никаких сведений, насколько об был совместим. Но если учесть, что над "Руководством программиста" скорее всего работал С. Текотев, то, вполне возможно, кое-какие подробности мы сможем у него узнать.

Любопытен во всей этой истории еще и тот факт, что в г. Мукачево, на "дружественном" предприятии, в 80-е выпускался "УМПК-Р32", клон Радио-86РК (так же, кстати, потом выпускался и ПК-02 "Мукачево", прямой потомок ПК-01). Можно предположить, что ПК-I вполне мог продолжить свое самостоятельно существование вне проекта ПК "Львов" уже как "УМПК-Р32".

Кхе-кхе, но с таки поворотами сюжета, да еще и при явном недостатке информации, мы уверенно погружаемся в дебри конспирологии. :D

Author:  liberation [ 22 Oct 2012, 12:45 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Обсуждение прошивки rom03 перенес в тему "Прошивки ПЗУ ПК-01 "Львов".

Author:  liberation [ 05 Nov 2012, 19:21 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Получил комментарий от С. Текотева по поводу ранних версий ПК-01. Сначала о совместимости с Радио-86РК:
Quote:
1. У меня не было Радио-86РК и поэтому не было практической возможности проверить эту совместимость. Однако, занимаясь программированием на Ассемблере Intel 8080, я конечно же обращался к описанию Радио-86РК. Похоже, что первоначальный формат записи на МЛ, сохранившийся в команде SLOAD, совместим с форматом Радио-86РК. Можно предположить, что и BASIC-программы были совместимы. По своей архитектуре Львов ПК-01 не был совместим с Радио-86РК. Карта памяти, адреса внешних устройств и видео-контроллер не совпадали. Поэтому, не смотря на один процессор, практически все программы в машинных кодах были не совместимы.
И о ПК-I:
Quote:
Приведенная карта памяти не соответствует промышленным образцам Львов ПК-01. В варианте с BIOS 1.0 никакого BASICа в ПЗУ не было. В варианте BIOS 2.0 возможно BASIC и хранился в ПЗУ в области C000-DFFF, но при старте он все равно перегружался в ОЗУ в область 0006-1722 (это меньше 8к), что никак не отражено на приведенной карте. Самое главное, в обоих образцах 16к видео-памяти подключались к адресам 4000-7FFF, а на приведенной карте 8000-BFFF. Осмелюсь предположить, что это лишь черновой вариант, который так и не был воплощен в железе.
Судя по всему, нужно будет разобрать "по винтикам" пресловутый SLOAD, чтобы получить дополнительную информацию.

UPD.
Обсуждение оператора SLOAD вынесено в отдельную тему.

Author:  NeoSpectruman [ 06 Nov 2012, 21:39 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Quote:
ПК-I. Производилась эта машинка сугубо собственными силами ОКБ и ЛПИ, где-то с 1985 по 1988 года
И сколько ж их было произведено?
Quote:
и выглядела она приблизительно так:
Интересно а как она выглядела внутри и с 5-ти других сторон.

Author:  liberation [ 06 Nov 2012, 23:32 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Quote:
И сколько ж их было произведено?
Такой информации нет. Мало, вероятно. Вряд ли более сотни экземпляров.
Quote:
Интересно а как она выглядела внутри и с 5-ти других сторон.
Тайна сия велика. Нужна полевая экспедиция в г. Львов, чтобы на месте собрать необходимый материал. Но это слишком обременительно по времени. Как-то так, в общем.

Author:  Володимир [ 04 Feb 2013, 16:51 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Вітаю всіх любителів ПК-01.
Таємниці ніякої немає!
Відповім на деякі питання, що виникли вище:
1) звичайно ні МОНІТОР ні БЕЙСІК не писались з нуля, а ядро я взяв з промислових машин, виробництва Угорщини, Німеччини, Болгарії; все було взято в машинних кодах і з ними на початку і проводилась робота; пізніше був адаптований компілятор АСЕМБЛЕР і робота пішла жвавіше; адаптація полягала в написанні драйверів дисплея, клавіатури, читалки з магнітофона, перфострічки, виводу на перфострічку, драйвера принтера та вбудові їх в МОНІТОР та БЕЙСІК; пізніше ядро БЕЙСІКА було частково перероблене для можливості екранного редагування операторів тощо; БЕЙСІК розміщався в ПЗУ; дисплей в ПК-01 чисто графічний і використовував частину оперативної пам`яті, в неї ж можна було і записати програму та бачити на екрані графічну мозаїку машинних кодів і її зміну при виконанні програми; в ПК-01 є тіньове ПЗУ для старту тощо; я думав, що народ вже давно все розкопав; звичайно, через стільки років я не всі деталі пам`ятаю, але можу їх в пам`яті відновити;

2) зображений на фото ПК-1 червоного кольору в металічному корпусі - це перший виставочний екземпляр, який пройшов Москву (виставки, презентації в Мінрадіопромі, МНТК ЭВМ, Московський комітет партії і т.д.); він в мене на руках - можу представити сучасне фото і відео; правда, він лежав у сейфі 20 років, якось попробую підключити до ТВ.

3) БЕЙСІК в ПК-01 в ЖОДНІЙ версії нікуди не копіювався, він працював в ПЗУ і тільки використовував робочі комірки ОЗУ !!!

4) дійсно в першій версії ПК-01 запис на стрічку був сумісний з Радио-86РК; вже пізніше в серії на вимогу МНТК ЭВМ, було зроблено сумісність з японською ПК Ямаха

З повагою, Володимир Пуйда

Author:  liberation [ 04 Feb 2013, 17:25 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Quote:
...в ПК-01 є тіньове ПЗУ для старту тощо; я думав, що народ вже давно все розкопав; звичайно, через стільки років я не всі деталі пам`ятаю, але можу їх в пам`яті відновити;
Добрый день, Владимир Яковлевич! Спасибо за реплику. А могли бы Вы подробнее рассказать о теневом ПЗУ? Что это такое и зачем?

Author:  Володимир [ 04 Feb 2013, 18:03 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Ви знаєте, що І8080А після RESET вибирає першу команду по адресу 0000 і з цеї ж адреси розміщаються переривання.
Тому після RESET тіньове ПЗУ підключається по адресу 0000, де записана команда переходу на основну проограму в ПЗУ і вона вже повертає на адрес 0000 ОЗУ. Подібним чином використовувалось розширення пам`яті ПЗУ і в подальшому (тіньові сторінки).

Author:  Володимир [ 04 Feb 2013, 18:07 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Вся проблема полягала в тому, що І8080А має обмежений адресний простір - 64кб, а тіньові сторінки давали можливість збільшувати об`єм пам`яті, що широко використано і в ПК-01М, ПК-02.

Author:  liberation [ 04 Feb 2013, 18:11 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Quote:
Ви знаєте, що І8080А після RESET вибирає першу команду по адресу 0000 і з цеї ж адреси розміщаються переривання.
Тому після RESET тіньове ПЗУ підключається по адресу 0000, де записана команда переходу на основну проограму в ПЗУ і вона вже повертає на адрес 0000 ОЗУ. Подібним чином використовувалось розширення пам`яті ПЗУ і в подальшому (тіньові сторінки).
Наивный вопрос, но возможно ли подключить теневое ПЗУ без события RESET? Управление теневым ПЗУ делалось через какой-то порт?

Author:  Володимир [ 04 Feb 2013, 18:15 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Там є тригер (немаю схеми під рукою), який сигналом RESET підключає тіньове ПЗУ на адрес з 0000, а командою виводу на порт, це ПЗУ повертається на робочу адресу.

Author:  liberation [ 04 Feb 2013, 18:20 ]
Post subject:  Re: ПК-I (прототип ПК-01 "Львов")

Quote:
Там є тригер (немаю схеми під рукою), який сигналом RESET підключає тіньове ПЗУ на адрес з 0000, а командою виводу на порт, це ПЗУ повертається на робочу адресу.
Если есть такие сложности, то почему нельзя было разместить ПЗУ в нижнем адресном пространстве?

И еще один вопрос. А что за карту памяти мы видим в первом посте этой темы? Прототип?

Page 1 of 5 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/