PC-01 Lviv

It is currently 29 Mar 2024, 10:44

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 68 posts ]  Go to page 1 2 3 4 5 Next
Author Message
PostPosted: 19 Oct 2012, 13:52 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Настало время завести отдельную тему про раннюю версию ПК "Львов", которая имела хождение во Львовском регионе, на основе которой после получился серийный ПК-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".

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 21 Oct 2012, 18:13 
Offline

Joined: 21 Aug 2012, 22:30
Posts: 145
Quote:
выглядела она приблизительно так:
Откуда это фото?
В педивикии о фотке сказано что Автор Пуйда В.Я.

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


Top
   
PostPosted: 21 Oct 2012, 21:31 
Offline
User avatar

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

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 21 Oct 2012, 23:13 
Offline
User avatar

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

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

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

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 22 Oct 2012, 12:45 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Обсуждение прошивки rom03 перенес в тему "Прошивки ПЗУ ПК-01 "Львов".

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 05 Nov 2012, 19:21 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Получил комментарий от С. Текотева по поводу ранних версий ПК-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 вынесено в отдельную тему.

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 06 Nov 2012, 21:39 
Offline

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


Top
   
PostPosted: 06 Nov 2012, 23:32 
Offline
User avatar

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

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 04 Feb 2013, 16:51 
Offline

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

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

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

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

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


Last edited by Володимир on 05 Feb 2013, 00:18, edited 3 times in total.

Top
   
PostPosted: 04 Feb 2013, 17:25 
Offline
User avatar

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

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 04 Feb 2013, 18:03 
Offline

Joined: 30 Oct 2011, 17:26
Posts: 89
Location: Львів, розробник ПК-01 Львів
Ви знаєте, що І8080А після RESET вибирає першу команду по адресу 0000 і з цеї ж адреси розміщаються переривання.
Тому після RESET тіньове ПЗУ підключається по адресу 0000, де записана команда переходу на основну проограму в ПЗУ і вона вже повертає на адрес 0000 ОЗУ. Подібним чином використовувалось розширення пам`яті ПЗУ і в подальшому (тіньові сторінки).


Top
   
PostPosted: 04 Feb 2013, 18:07 
Offline

Joined: 30 Oct 2011, 17:26
Posts: 89
Location: Львів, розробник ПК-01 Львів
Вся проблема полягала в тому, що І8080А має обмежений адресний простір - 64кб, а тіньові сторінки давали можливість збільшувати об`єм пам`яті, що широко використано і в ПК-01М, ПК-02.


Top
   
PostPosted: 04 Feb 2013, 18:11 
Offline
User avatar

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

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
PostPosted: 04 Feb 2013, 18:15 
Offline

Joined: 30 Oct 2011, 17:26
Posts: 89
Location: Львів, розробник ПК-01 Львів
Там є тригер (немаю схеми під рукою), який сигналом RESET підключає тіньове ПЗУ на адрес з 0000, а командою виводу на порт, це ПЗУ повертається на робочу адресу.


Top
   
PostPosted: 04 Feb 2013, 18:20 
Offline
User avatar

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

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

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 68 posts ]  Go to page 1 2 3 4 5 Next

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited