ПК-01 ЛЬВОВ

форум о ПК-01,02 "Львов"
Текущее время: 22 ноя 2017, 21:38

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: ПК-02 "Львов"
СообщениеДобавлено: 02 ноя 2011, 19:57 
Не в сети

Зарегистрирован: 23 окт 2011, 23:48
Сообщений: 197
Цитата:
Теперь в эмуляторе можно выбирать режим экрана (1x1, 3x2) и скорость (x2, x1)

Да, теперь явно видно разницу между ПК-01 и ПК-02: намного живее всё. В Circus играть - одно удовольствие. :)

Кстати говоря мне интересно остался ли у кого-нить из присутствующих ПК-02 и есть ли полноценные эмуляторы для него. Вдруг улыбнётся удача всё же прочитать старые дискеты.

upd.
Связанные темы "Upgrade ПК-01 "Львов", "Софт для ПК-02 "Львов", "Эмулятор ПК-02 "Львов".


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ПК-02 "Львов"
СообщениеДобавлено: 03 ноя 2011, 01:42 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
Kucher писал(а):
Кстати говоря мне интересно остался ли у кого-нить из присутствующих ПК-02 и есть ли полноценные эмуляторы для него. Вдруг улыбнётся удача всё же прочитать старые дискеты.


Остался. Последнее включение было весной 10-года, вроде бы все фурыкало как надо.

ИзображениеИзображение
ИзображениеИзображение

Эмулятор "Башкирия-2М" http://bashkiria-2m.narod.ru справляется с ПК-02 "Львов". Кстати, о нем тут проскальзывало как-то - http://lvovpc.ho.ua/forum/viewtopic.php?t=42.

_________________
Carthago delenda est, Carthaginem delendam esse


Последний раз редактировалось liberation 17 фев 2012, 16:26, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 ноя 2011, 11:00 
Не в сети

Зарегистрирован: 23 окт 2011, 23:48
Сообщений: 197
Угу, читал, но на картинке всё как-то кривенько выглядит. :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 ноя 2011, 11:24 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
Kucher писал(а):
Угу, читал, но на картинке всё как-то кривенько выглядит. :)

Ну так и "Львов" далеко не Amiga или Mac. ;)

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ПК-02 "Львов"
СообщениеДобавлено: 09 июн 2012, 12:14 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
Выдержка из Вики, статья про процессор КР580ВМ80А, которую следует сохранить:
Цитата:
КР580ВМ80А имеет 12 недокументированных команд (аналогично 8080). Опкоды #08, #10, #18, #20, #28, #30, #38 являются аналогами операции NOP; опкод #CB является аналогом JMP; опкоды #DD, #ED, #FD являются аналогами CALL; опкод #D9 является аналогом RET.

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ПК-02 "Львов"
СообщениеДобавлено: 12 июн 2012, 13:35 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
Отыскал на форуме "nedoPC" отличную статью А. Шевцова про различия i8080 и Z80, фрагмент из которой, посвященный именно программным различиям, с удовольствием приведу здесь:

Код:
            1.Несовместимости чисто программные.
            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
─────────────────────────────────────────────────────────────────────────
1. Немногие знают о наличии у i8080, так называемых, дублирующих кодов. Если посмотреть на полную таблицу команд i8080(например в Радио N5,1987г.), то можно заметить, что в таблице есть пустые места. Т.е. имеются коды на которые процессор i8080, казалось бы, никак не должен реагировать. Однако i8080 все - таки реагирует на эти коды. Это вовсе не новые "секретные" команды неизвестные широкому кругу программистов, а просто данные коды дублируют некоторые стандартные команды. Вот все эти команды:

 ┌───────────┬────────────────────────┬───────────────────┐
 │ Станд.код │      Дублир. код(ы)    │ Мнемоника (i8080) │
 ├───────────┼────────────────────────┼───────────────────┤
 │   00h     │10h,20h,30h,08h,18h,28h │        NOP        │
 │           │         38h            │                   │
 ├───────────┼────────────────────────┼───────────────────┤
 │  0C3h     │        0CBH            │        JMP        │
 ├───────────┼────────────────────────┼───────────────────┤
 │  0C9h     │        0D9h            │        RET        │
 ├───────────┼────────────────────────┼───────────────────┤
 │  0CDh     │    0DDh,0EDh,0FDh      │        CALL       │
 └───────────┴────────────────────────┴───────────────────┘

Такими кодами очень удобно пользоваться для защиты программ от "взлома", т.к. ни один дизассемблер их не воспринимает. Этим, кстати, очень активно в свое время занималась знаменитая фирма "SP580". Однако здесь есть 2 "огромных" минуса. Первый минус это то, что такие программы практически невозможно адаптировать под другую систему (например под RAMFOS). Второй минус остро ощутят на себе пользователи, которые установят Z80. У Z80 данные коды не являются дублерами, а означают совершенно другие, отсутствующие у i8080, команды. Вот, что означают "дублеры" у Z80:



┌───────┬───────────────┬───────────────────────────────────┐
│  Код  │ Мнемоника Z80 │           Комментарий             │
├───────┼───────────────┼───────────────────────────────────┤
│ 10h   │  DJNZ  e      │ Относительный переход (+/-128max) │
│       │(2 байта-10h,e)│ B=B-1, при B=0  PC=PC+2           │
│       │               │        при B<>0 PC=PC+e           │
├───────┼───────────────┼───────────────────────────────────┤
│ 20h   │   JR  NZ,e    │           -- // --                │
│       │  (-- // --)   │       PC=PC+e, если Z=0           │
│       │               │       PC=PC+2, если Z=1           │
├───────┼───────────────┼───────────────────────────────────┤
│ 30h   │   JR  NC,e    │           -- // --                │
│       │  (-- // --)   │       PC=PC+e, если C=0           │
│       │               │       PC=PC+2, если C=1           │
├───────┼───────────────┼───────────────────────────────────┤
│ 08h   │  EX  AF,AF'   │ Обмен между дополнительными ре-   │
│       │   (1 байт)    │ гистрами -   AF<- ->AF'           │
├───────┼───────────────┼───────────────────────────────────┤
│ 18h   │    JR  e      │ Относительный переход (+/-128max) │
│       │  (2 байта)    │            PC=PC+e                │
├───────┼───────────────┼───────────────────────────────────┤
│ 28h   │   JR  Z,e     │           -- // --                │
│       │  (-- // --)   │       PC=PC+e, если Z=1           │
│       │               │       PC=PC+2, если Z=0           │
├───────┼───────────────┼───────────────────────────────────┤
│ 38h   │   JR  C,e     │           -- // --                │
│       │  (-- // --)   │       PC=PC+e, если C=1           │
│       │               │       PC=PC+2, если C=0           │
├───────┼───────────────┼───────────────────────────────────┤
│ 0D9h  │     EXX       │ Обмен между дополнительными ре-   │
│       │   (1 байт)    │ гистрами -     BC<- ->BC'         │
│       │               │                DE<- ->DE'         │
│       │               │                HL<- ->HL'         │
├───────┼───────────────┼───────────────────────────────────┤
│ 0CBh  │     ---       │ Открывает дополнительную таблицу  │
│       │               │ команд (могут быть команды до 4   │
│       │               │ байт обьемом)                     │
├───────┼───────────────┼───────────────────────────────────┤
│ 0DDh  │     ---       │           -- // --                │
├───────┼───────────────┼───────────────────────────────────┤
│ 0EDh  │     ---       │           -- // --                │
├───────┼───────────────┼───────────────────────────────────┤
│ 0FDh  │     ---       │           -- // --                │
└───────┴───────────────┴───────────────────────────────────┘

После установки Z80 я проверил все имеющиеся программы на работоспособность. Нашлась всего 1 программа, которая имела защиту от взлома с применением в загрузчике "дублеров". Этой программой оказалась Trs_MX.COM (одна из первых версий (V1.51) программы). Адаптация данной программы к Z80(она по прежнему работоспособна на i8080) не составила труда, т.к. "дублеров" оказалось немного. Последние 2-х файловые версии трассировщика печатных плат "дублеров" не содержат и полностью работоспособны на Z80.
Я не советую увлекаться "туфтой", т.е. применением этих дурацких "дублеров". Те, кто сталкивался в свое время с программами фирмы SP580, наверняка помнят отличные системные программы, например, "The Last Word". Однако, практически все системные программы этой фирмы были "заражены" "дублерами". И из - за этого эти программы просто в буквальном смысле "умерли" даже для пользователей, работающих в RAMFOS с i8080. Хорошо, что SP580 не додумалась защитить "дублерами" свои игровые программы, перенесенные со Spectrum.

──────────────────────────────────────────────────────────────
2. Основная несовместимость i8080 с Z80 возникает из - за бита D2 регистра признаков или флагов. У i8080 данный разряд используется как флаг четности - P. При этом на установку P влияют одинаково все арифметические и логические команды, т.е. P=1 если после выполнения логической или арифметической операции число единиц в регистре четно(например - 11010100B).
У Z80 разряд D2 используется как флаг четности/переполнения - P/V, т.е. в зависимости от типа команд флаг имеет различное назначение:

══1. При арифметических операциях над числами со знаком он действует как флаг переполнения V. T. к. диапазон представления чисел со знаком от -128 до +127, то при операциях над ними возможен выход результата за эти пределы - переполнение. В этом случае флаг устанавливается в 1, сигнализируя об ошибочности результата. Логика установки флага V в 1 такова:
   а) если был перенос из 6-го бита в 7-ой, и не было переноса из 7-го бита во флаг C.
   б) не было переноса из 6-го бита в 7-ой, но есть перенос из 7-го бита во флаг C.
  Примеры:

  1.Сложение  +76 = 01001100
             -114 = 10001110
                    --------
     C=0            11011010 = -38 верно
     V=0

  2.Сложение  -1 = 11111111
              -1 = 11111111
                   --------
     C=1           11111110 = -2 верно
     V=0

  3.Сложение  +82 = 01010010
              +94 = 01011110
                    --------
    C=0             10110000 = -80 неверно!
    V=1

В последнем примере произошла установка флага V. Это означает, что ошибка должна быть программно учтена при анализе результата.

══2. При выполнении логических операций, команд сдвига флаговый бит 2 действует как флаг четности P. Он устанавливается, когда регистр содержит четное количество единиц, и обнуляется при нечетном количестве. Т.е. здесь D2 работает также, как у i8080.

Программы, написанные под i8080, очень редко используют бит D2. В основном это математические программы, например языки программирования(Basic и т.д.). Программы, написанные для CP/M-80, учитывают различия i8080 и Z80 и поэтому одинаково работают на обоих процессорах (исключение составляют программы специально написанные под Z80, т. е. использующие его дополнительные команды, например, TURBO PASCAL).
При проверке работы программ на "Специалисте_MX" с Z80 выявилось несколько неправильно работающих - это Moni_Б2.COM и все версии Basic_MX.EXE. Для адаптации этих программ был применен простой способ, не нарушающий совместимости с i8080. Просто перед каждой командой, проверяющей бит D2, вставлялась логическая команда (конечно учитывалось влияние на другие флаги). Например:

  1. DCR  A                     DCR  A
     JPE  8D33h   --- >         ORA  A
                                JPE  8D33h

В приведенном примере работа велась над регистром А, поэтому для адаптации достаточно было вставить команду ORA A или ANA A. При такой адаптации необходимо учитывать влияние команды ORA A (ANA A) на флаги C и AC, если они в дальнейшем используются программой.

─────────────────────────────────────────────────────────────────────────
3. Последнее программное отличие i8080 от Z80 - это более широкое применение команды DAA у Z80. У CPU i8080 данная команда выполняет десятичную коррекцию только после выполнения операций сложения, а у Z80 эта команда работает корректно как после операций сложения, так и вычитания.
Естественно данное программное отличие не влияет на работоспособность программ процессора i8080 при исполнении их на Z80.
─────────────────────────────────────────────────────────────────────────


p.s. Там еще интересные прения про авторское право детектед. :wink:

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ПК-02 "Львов"
СообщениеДобавлено: 16 июл 2012, 10:57 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
В файле history.txt, входящем в комплект поставки эмулятора "Башкирия-2М", наш друг b2m написал: "...добавил эмуляцию Львов ПК-02 (это такой гипотетический комп, существовавший как минимум в одном экземпляре)". Так вот, настало время подтвердить эту смелую гипотезу. Настало время легенды! На минувших выходных я вооружился фотоаппаратом и подготовил фотосессию своего ПК-02. :)

Замечание для знатоков и ценителей: каждая картинка является ссылкой на саму себя, но в лучшем разрешении (все лежит в нашем файловом архиве), так что скачивайте, рассматривайте.

Итак, общий вид платы.
Изображение

Крупный план модулей процессора Z80 и музыкального сопроцессора.
Изображение

Обратите внимание на суровые меры по борьбе с промышленным шпионажем!!! :D
Изображение

НГМД контроллер (вид с птичьего полета). Стильный витой кабель - выход на магнитофон от музыкального сопроцессора! :wink:
Изображение

НГМД контроллер (крупный план).
Изображение

И напоследок - привет, Денис!
Изображение

p.s. Про представленные доработки можно почитать в теме "Upgrade ПК-01 "Львов".

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ПК-02 "Львов"
СообщениеДобавлено: 16 июл 2012, 11:14 
Не в сети
Site Admin
Аватар пользователя

Зарегистрирован: 24 июл 2008, 12:05
Сообщений: 978
liberation
Красота-то какая! Аж слезы на глаза наворачиваются от умиления. Не уж то все рабочее?!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ПК-02 "Львов"
СообщениеДобавлено: 16 июл 2012, 11:51 
Не в сети
Аватар пользователя

Зарегистрирован: 11 авг 2008, 17:05
Сообщений: 1403
Откуда: Украина
Zelya писал(а):
Красота-то какая! Аж слезы на глаза наворачиваются от умиления. Не уж то все рабочее?!

Сейчас трудно сказать! Не к чему подключить все это добро. Но реставрация железу нужна, слишком все пропиталось пылью, кое-что явно окислилось, судьба конденсаторов вообще неизвестна. Последнее включение было весной 2010. Тогда работало как часы. :D

_________________
Carthago delenda est, Carthaginem delendam esse


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: ПК-02 "Львов"
СообщениеДобавлено: 16 июл 2012, 12:32 
Не в сети

Зарегистрирован: 23 окт 2011, 23:48
Сообщений: 197
Да ничего ему не будет, это вам не PC! :)

По фото: надпись карандашом - моя. И подпись моя. Процессор + сопроцессор - стиль Димы, видимо таки это он монтировал.
Хотя могу ошибаться, может просто я "стиль" содрал. :)

Плата Z80 точно наша, Донецкая, Димка с Игорем их целую пачку на рынке заказывали.

Ножки платы которые паялись непосредственно в "материнку" делались из толстой медной проволоки, сгибались на конце и обоюдно пропаивались с обеих сторон, для крепости.
Ох и долгое это дело...
После каждого такого заказа я ещё долго канифоль из носа выковыривал. :)

Конденсаторы над микросхемами контроллера не электролитические, эти не высыхают. Припаяны к штатной схеме для увеличения времени сигнала, как щас помню - растягивают меандр (о какое слово всплыло), чтобы "встречающая" его микросхема успела "пережевать" сигнал.

Хорошее фото, приятно снова увидеть такое, спасибо.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Forum Games WEB Tape Loader Twitter RSS

Часовой пояс: UTC + 2 часа [ Летнее время ]


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Free counters!
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB