PC-01 Lviv

It is currently 29 Mar 2024, 01:09

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 10 posts ] 
Author Message
 Post subject: ПК-02 "Львов"
PostPosted: 02 Nov 2011, 19:57 
Offline

Joined: 23 Oct 2011, 23:48
Posts: 197
Quote:
Теперь в эмуляторе можно выбирать режим экрана (1x1, 3x2) и скорость (x2, x1)
Да, теперь явно видно разницу между ПК-01 и ПК-02: намного живее всё. В Circus играть - одно удовольствие. :)

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

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


Top
   
 Post subject: Re: ПК-02 "Львов"
PostPosted: 03 Nov 2011, 01:42 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Кстати говоря мне интересно остался ли у кого-нить из присутствующих ПК-02 и есть ли полноценные эмуляторы для него. Вдруг улыбнётся удача всё же прочитать старые дискеты.
Остался. Последнее включение было весной 10-года, вроде бы все фурыкало как надо.

ImageImage
ImageImage

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

_________________
Carthago delenda est, Carthaginem delendam esse


Last edited by liberation on 17 Feb 2012, 16:26, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 03 Nov 2011, 11:00 
Offline

Joined: 23 Oct 2011, 23:48
Posts: 197
Угу, читал, но на картинке всё как-то кривенько выглядит. :)


Top
   
 Post subject:
PostPosted: 03 Nov 2011, 11:24 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Угу, читал, но на картинке всё как-то кривенько выглядит. :)
Ну так и "Львов" далеко не Amiga или Mac. ;)

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject: Re: ПК-02 "Львов"
PostPosted: 09 Jun 2012, 12:14 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Выдержка из Вики, статья про процессор КР580ВМ80А, которую следует сохранить:
Quote:
КР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


Top
   
 Post subject: Re: ПК-02 "Львов"
PostPosted: 12 Jun 2012, 13:35 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Отыскал на форуме "nedoPC" отличную статью А. Шевцова про различия i8080 и Z80, фрагмент из которой, посвященный именно программным различиям, с удовольствием приведу здесь:
Code:
            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


Top
   
 Post subject: Re: ПК-02 "Львов"
PostPosted: 16 Jul 2012, 10:57 
Offline
User avatar

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

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

Итак, общий вид платы.
Image

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

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

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

НГМД контроллер (крупный план).
Image

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

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

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject: Re: ПК-02 "Львов"
PostPosted: 16 Jul 2012, 11:14 
Offline
Site Admin
User avatar

Joined: 24 Jul 2008, 12:05
Posts: 1070
liberation
Красота-то какая! Аж слезы на глаза наворачиваются от умиления. Не уж то все рабочее?!


Top
   
 Post subject: Re: ПК-02 "Львов"
PostPosted: 16 Jul 2012, 11:51 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Красота-то какая! Аж слезы на глаза наворачиваются от умиления. Не уж то все рабочее?!
Сейчас трудно сказать! Не к чему подключить все это добро. Но реставрация железу нужна, слишком все пропиталось пылью, кое-что явно окислилось, судьба конденсаторов вообще неизвестна. Последнее включение было весной 2010. Тогда работало как часы. :D

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject: Re: ПК-02 "Львов"
PostPosted: 16 Jul 2012, 12:32 
Offline

Joined: 23 Oct 2011, 23:48
Posts: 197
Да ничего ему не будет, это вам не PC! :)

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

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

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

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

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 10 posts ] 

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