Nedo-"Специалист" на UB880

Обсуждение советского компьютера Фахiвець / Специалист и его развитие

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Nedo-"Специалист" на UB880

Post by Lavr »

Я себе тут компьютерчик сделал.. на подгоревшем UB880... :egeek: Черт побери! 4:40 утра! :ebiggrin:
Я разогнался было состряпать вариацию на тему Простейшая микроЭВМ..., но случилась засада небольшая... :esad:

Тут коллеги показывали свои большие беспаечные макетки:
viewtopic.php?f=87&t=10805&start=150
viewtopic.php?p=116675#p116675
У них микросхемы умещаются аж в три ряда! Ну и я заблуждался, что у меня такая же макетка... :econfused:
03_Breadboard.jpg
А у меня она - в два ряда оказвлась... :esad: Лишние шины питания совсем не по делу на ней, ввели в заблуждение...

Пришлось всё резать на ходу и по-живому. В итоге получилось вот что:
UB880SP.jpg
И честно скажу, что то же самое но на К580ВМ80А, как я задумывал первоначально, на такой макетке скорее
всего бы не уместилось...
Так что подгоревший UB880 (клон Z80) пришелся как нельзя кстати! :lol:

У поделия карта памяти ПК "Специалист" в самом первоначальном варианте:
0000 - 0BFFF - ОЗУ
0C000 - 0C7FF - псевдо-ПЗУ (устройство начальной загрузки)
0C800 - 0CFFF \
... НЕ ИСПОЛЬЗУЮТСЯ
0Е800 - 0ЕFFF /
0F000 - 0F7FF - зарезервировано под ППА К580ВВ55 (сейчас, как и в "Специалисте", переключает карту памяти)
0F800 - 0FFFF - псевдо-ПЗУ (здесь включена часть ОЗУ в 64К, чтобы загружать "Мониторы".
Два порта ВВ (КР580ИР82) доступны во всем диапазоне IN и OUT.

Схему выложу позже, поскольку она сейчас лишь в голове и на макетке, где еще надо навести немного марафета...
Просто всё заработало практически с пол-пинка и фактически из хлама и деталей со сгоревшей платы.
Ошибка была только одна - не включалось псевдо-ПЗУ по адресам 0F800 - 0FFFF , поскольку перепутал
полярность одного из диодов, которые делали монтажное ИЛИ на входе /CS RAM.

В общем - рад... но как от "неправильных ёлочных игрушек" - не так, чтобы сильно... :-?
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

Поделие Nedo-"Специалист" сейчас выполняет свою первую программу:

Code: Select all

      ORG  0000H

      LXI  SP,8EFFH
      MVI  D,55H;      load signature
START:
      MOV  A,D
      OUT  10H        
      LXI  B,3FFFH;    number of repetitions Delay
DOIT0:
      DCX  B
      MOV  A,B
      ORA  C
      JNZ  DOIT0
      MOV  A,D
      CMA
      MOV  D,A
DOIT1:
      IN   10H;       ask port
      ORA  A
      JZ   START;     repeat if 0
      HLT
UB880SP2.jpg
Для OUT 10H даже 8-ми красных светодиодов не набрал, моргает только 4-мя... :ebiggrin:

Остальные сверх-яркие индицируют А14, А15 - переход в область 0С000, А0, А1 - по ним хорошо
виден процесс внешней загрузки.
Красный снизу - обращение к УВВ по адресу 0С000, также индицируются процесс начального пуска
с подменой карты памяти и сигнал /HALT CPU - на фото не активны.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

Я как-то сразу думал, что софт для этой недо-поделки буду отлаживать под Протезусом, благо схема здесь простая,
и у нас теперь есть модель микропроцессора z80 с системой команд i8080.

Но с моделью z80 случился технический тормоз небольшой, и поскольку там по меньшей мере 18 человек модель
скачало, но никто так и не отозвался о качестве работы, то я решил сначала проверить работу модели на чем-то
заведомо живом, что точно ранее работало в железе...
И я весьма кстати вспомнил о своих исходниках Tennis nedo_i8080, написанных под "Специалист" и работающих
на индикатор Nokia 3310 через LPT-порт.

Я быстренько подправил свою схему для тестирования модели z80 (заодно чтобы показать, что от нее вполне
можно оттолкнуться
), адаптировал свои исходники, и получилось вот что:

Image
Увеличить

Image

Работает ооооооочень медленно... :o я аж дважды вынужденно пересмотрел исходники,
т.к. было ощущение, что не работает. 8)
Но это была "задержка" - декремент от 0FF00H до 0000H. :lol:

Кто захочет поиграться с проектом на более быстрой машине (я сам игрался на PII 360 MHz),
то исходники проекта доступны здесь.
Если не трогать клавиатуру, то в этой версии игрок "честно" выигрывает со счетом 10:15. :roll:

Ну и общий оргвывод: наша модель микропроцессора z80 с системой команд i8080
вполне работоспособна на реальном коде
!
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

Lavr wrote:Схему выложу позже, поскольку она сейчас лишь в голове и на макетке, где еще надо навести немного марафета...
Схему я в общем-то отрисовал уже давно, но всякий раз против готовой схемы вносил какие-то
изменения в железку, поэтому схема всегда "запаздывала"...

Но поскольку железку я не трогал, наверное, больше года, то подумал, что надо бы выложить схему
хотя бы в самом последнем варианте.

[spoiler="Специалист" на UB880 схема электрическая принципиальная.]
1_Z80_U880.gif
[/spoiler]

Основная идея схемы в том, что в ней нет ПЗУ и в неё можно "печатать" исполняемый код ЛЮБОЙ
программой DOS, Windows и т.п., выводящей на печать бинарный код по интерфейсу "Centronics".
Схема четко "изображает" этот интерфейс и обманывает даже кабель USB2LPT под Windows-7.
Хотя при желании можно выполнить этот узел и проще...

Собственно к этому я и стремился, чтобы удобно работать с такой платой из-под Windows-7
на своем новом ноутбуке, где есть только USB-порты.

Карта памяти, как я и писал ранее, аналогична ПК "Специалист" с переносом стартового адреса
при сбросе в верхние адреса карты памяти, но есть возможность блокировать эту фичу, чтобы
выполнять программу, загруженную в ОЗУ с адреса 0000Н.

Диодная логика вынужденная, поскольку мне очень не хватало места на макетке...
Схема хорошо детализирована, поэтому, я надеюсь, кому интересно, - в ней разобраться сможет.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

Меня несколько беспокоило, что отсутствие полноценного LPT- порта в современных компьютерах
нивелирует простоту и прелесть загрузки программы в систему, не имеющую ПЗУ с программой начального
загрузчика... :-?
С другой стороны, я тешил себя надеждой, что протокол обмена - стандартный Centronics, а значит
переходники типа USB2LPT должны бы безболезненно этот способ загрузки "печатью в устройство"
поддержать...

Надежда полностью оправдалась: загрузка возможна через стандартный переходник USB2LPT без
какого либо специального программного обеспечения сугубо средствами Windows...

Image

Image

Ну а как всё это работает, и что такое С:\СОРY /B Z80TEST2.PRN LPT2 - можно подробно прочитать здесь... :mrgreen:
iLavr
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Nedo-"Специалист" на UB880

Post by fifan »

К уважаемому Лавру возникли вопросы по схеме:
1. Куда подключены выводы DD11 справа.
2. Можно ли заменить К580ИР82 на другую микросхему?
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

fifan wrote:1. Куда подключены выводы DD11 справа.
К внешнему устройству. Это порт вывода. У меня на нем подключены 8 светодиодов.
fifan wrote:2. Можно ли заменить К580ИР82 на другую микросхему?
В позиции DD3 - на любой регистр с тристабильным выходом с учётом его управления.
Я ставлю К580ИР82, поскольку входы с одной стороны, выходы - с другой: удобно на макете.
Но мне тут уже говорили, что есть и другие регистры с подобной цоколёвкой.
Но я как-то купил мешочек К580ИР82/83 по 20 штук, по цене 10 Р. :wink:

DD11 - как порт вывода - можно ставить любой, с учётом его управления и
нагрузочной способности.

P.S. "с учётом его управления" - пример здесь.

P.S.S. И просьба: не пиши "уважаемый Лавр"... :wink: Я тебя тут уже 10 лет знаю,
отношусь тоже с уважением, но не делай мне неловкое ощущение...
:lol:
iLavr
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Nedo-"Специалист" на UB880

Post by fifan »

Меня заинтересовал данный девайс. Завтра напечатаю схему и нарисую в Altium Designer'е.
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Nedo-"Специалист" на UB880

Post by fifan »

Лавр, вопросы по схеме:
1. По логике - VD8VD9R24 - это ИЛИ, VD13VD14R11 - это И?
2. Какого назначение светодиодов?
3. Выходы DD9 5 из 8 не используются?
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

fifan wrote:1. По логике - VD8VD9R24 - это ИЛИ, VD13VD14R11 - это И?
Ну тут смотря в какой логике, к примеру: VD13VD14R11 - это ИЛИ для "0", а значит - И для "1" по деМоргану.
Здесь просто надо смотреть, что включаем, а таже "0" включает или "1".
DD3 по "0" включается в карте памяти по сбросу с 0000h - через него идёт начальная загрузка при сбросе,
и светится нужный светодиод при этом. Но после начальной загрузки DD3 доступен как порт ввода по IN
во всем диапазоне I/O тоже по "0", и по адресам в памяти 0C000-0C7FFh он также доступен. Значит - это
ИЛИ для "0", но оно же - И для "1" .
fifan wrote:2. Какого назначение светодиодов?
Светодиоды индицируют режимы работы и переключение карты памяти.
К примеру: `Reset`, удерживая S2 - просто старт с 0000h без начальной загрузки - это покажет
соответствующий светодиод.
fifan wrote:3. Выходы DD9 5 из 8 не используются?
Выходы DD9 5 из 8 как раз соответствуют карте памяти "Специалист" и используются,
если будет необходимость что-то подключить, к примеру К580ВВ55 или таймер.
iLavr
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

Я всё никак не найду времени отписать в эту ветку про одну конструкцию, которую я сделал на основе
этой платы весной во время короновирусной изоляции.

Я уже тут не раз писал, что после вот этой конструкции: Tennis nedo_i8080, мне давно уже хочется
некий карманный девайс на батарейках, совместимый с картой памяти "Специалиста" и с его софтом,
но работающий на ЖК дисплей, при этом с возможность подключения внешнего монитора.

Что-то типа вот такого поделия: Grundy NewBrain ...

Ясное дело, что для этого надо попробовать адаптировать софт "Специалиста" к выводу на ЖК дисплей.

С этой целью я стряхнул древнюю пыль с вот этой поделки...

Image

и адаптировал её к данной плате так, чтобы можно было удобно работать с ней, но и при необходимости
оперативно отключать.
N3310-225.gif
(сорри за качество - фото с телефона)
Подключено всё по вот этой схеме на выходы U8, по схеме - он как раз DD11:

Image

порт U10 - это DD3, поэтому его выводы я от индикатора отключил, поскольку это порт загрузки через
LPT, и он же должен быть портом для HEX-клавиатуры, для которой пока не случились индикаторы,
или же для любой ASCII-клавиатуры...

Поскольку у U8 (aka DD11) остаются свободные выводы, я прицепил к ним простейший софтовый RS-232.

А дальше я принял интересное решение: раз уж готовой HEX-клавиатуры пока нет и никакой ASCII-клавиатуры
тоже пока нет, но для загрузки DD3 подключается к LPT, я написал простую виртуальную софтовую клавиатуру,
которая через LPT порт посылает этой плате нажатия кнопок, и принимает байты через RS-232.
Nmouse.gif
Вот в верхнее текстовое окошко она их и принимает, через COM-порт мыши, потому и - Mouse, ну и на кнопки
нажимает - тоже mouse. :wink:
Клавиш всего 8 по количеству разрядов порта DD3. Клавиша "Shift+Enter" "нажимает" две кнопки, потому
как на экране две кнопки мышью не нажмёшь.

Вот такая вот "вышла загогулина", как говаривал знаменитый землячок Shaosa...

Я не торопился всё это написать, поскольку у всех сейчас Венда 10, и мои программы, обращающиеся
к портам LPT и COM работать скорее всего не будут.
Ну а я сам для таких вот целей как раз и держу древний ноутбук под Вынь 98 со всеми настоящими портами. 8)
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Nedo-"Специалист" на UB880

Post by fifan »

Лавр, ты выше писал, что из-за нехватки места на монтажке заменил диодами логику. Я хочу поставить реальные элементы. И понятие ИЛИ/И как "посмотреть" мне не катит.

Заменить К580ИР82 на К555ИР22 - не очень - для разводки входов/выходов гемарой. Я посмотрю современные регистры типа ИР34/35 или какие-то другие, сейчас не помню - лень книжку достать, она на балконе, а там 20 мороза...
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

fifan wrote: хочу поставить реальные элементы. И понятие ИЛИ/И как "посмотреть" мне не катит.
Ну ты взрослый мальчик, и в этом бизнесе уже 10 лет на моих глазах тут.
Я сделал так, как я сделал, и я объяснил тебе, как это работает...
Если ты хочешь что-то заменить в этой схеме, и если тебе "не катит" так,
как в оригинале, пораскинь мозгами и сделай по-своему.
Не я же должен переделывать всё так, как ты хочешь?
iLavr
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Nedo-"Специалист" на UB880

Post by fifan »

Нет схему я менять не буду. Не хотелось диоды просто ставить.

Я упустил момент где было описано почему не используется само ПЗУ или программный код как-то по другому загружается?
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Nedo-"Специалист" на UB880

Post by Lavr »

fifan wrote:Я упустил момент где было описано почему не используется само ПЗУ или программный код как-то по другому загружается?
Я уже много раз писал тут в разных ветках форума, почему не используется само ПЗУ.
В частности вот здесь: Простейшая микроЭВМ (К580ВМ80А)

Эта схема сделана так специально, чтобы грузиться с LPT или HEX-клавиатуры без программы
начального загрузчика в ПЗУ.
По карте памяти у неё на месте ПЗУ расположено ОЗУ.

То есть, я могу залить любую программу в "ПЗУ" без самого ПЗУ, и отладить системные программы
не перешивая и не перетыкивая никаких ПЗУ.

А второй момент - как только эта схема собрана, она сразу же и работает, ПЗУ опять же прошивать
не надо, что очень удобно во всяких "детских садах и санаториях", как говаривал Высоцкий... :wink:

Если тебе нужна схема с ПЗУ и с системной прошивкой в ПЗУ - это к Гранту Сирлу...
iLavr