На emuverse.ru есть упоминание об ускорителе на Z80 для Корвета. Но схемы самой платы нет, только инструкция по подключению. У кого-нибудь есть более подробная информация?
Вид для печати
На emuverse.ru есть упоминание об ускорителе на Z80 для Корвета. Но схемы самой платы нет, только инструкция по подключению. У кого-нибудь есть более подробная информация?
У меня есть. Я его собственно в свое время туда и впихнул. Вначале на 2,5 мгц потом сделали плату ускорителя на 5мгц.
Просто выкусывается процессор ставим панель на 40 ног и туда вставляется плата ускорителя на которой проц и еще несколько микрух
которые нужны для того чтобы сформировать сигнал обращения так как в Z80 нет вывода слова состояния и это отсутствует в машинном
цикле. Только зачем это нужно сейчас? Ну впрочем если нужно то можно поискать. Туда и жесткий диск в свое время цепляли только
это не я -это Скурихин. А потом все это стало не нужно потому что открыли ворота и все перешли на PC. Так там и эмулятор есть
только я не помню вписали туда Z80 или нет ну если нет то исходнники его у меня то же где то есть.
int4880053, хотелось бы увидеть схему. А ОПТС совместима с Z80?
int4880053, насколько я понимаю, схема должна главным образом формировать сигнал /inta для ВН59. Он вырабатывается при одновременном появлении /IORQ и /M1. Затем его нужно защелкнуть на тот случай, если ВН59 выдаст длинную команду, типа CALL. Сбрасывается триггер в исходное состояние сигналом /WR или /Reset. Ну ещё /access - аналог /MREQ, как я понимаю и прочие мелочи. Или я ещё что-то упустил?
Ну я так понял если интерес есть то сфотаю плату ускорителя и выложу схемы. Все дело в том что у меня ограбили квартиру любители желтого добра
и еще зачем то пропало половина архива на дисках но кое что осталось. Сам Корвет с установленной платой то же где то видел недавно.
Нужно найти его ,, давно не включал. Так же был софт для Z80: Си комптлятор ХайТековский, Диассемблер, исходниики все были от ОС и еще
диковинная штучка -Дизассеблер-Трассировщик (DT) сам написал никому вроде не давал его так как этим инструментом сам ломал программы
были еще крос средства для других контроллеров, программаторы ПЗУ, ПЛМ, I2C Были так же исходники МикроМира но не знаю осталось ли.
В свое время был сайт PK8020.narod.ru он заброшен но кое что там осталось.
- - - Добавлено - - -
Да в общих чертах представление правильное. В последнем варианте я применил ВН59А и таймер ВИ54 наткнулся на статью в иностранном журнале
о подключении контроллера прерываний к Z80. На ускорителе есть так же переключатель 2,5-5мгц потому что игры начинают быстро бегать
но зато ассемблер м80 и компилятор Си работают куда быстрее
- - - Добавлено - - -
-она дает ошибку процесcора. У Z80 пропадает один флажок. Я в свое время в исходнике теста процессора даже коментарий поставил там где это
Впрочем легко самим найти.
Да нет в Корвете она пишет "Ошибка процессора" Вот и думай теперь как работает эмулятор потому что я в тексте теста процессора
нашел этот флажок который Z80 гасит ,а 8080 нет. Нашел свой старый Корвет вот начало пути:Вложение 69903Вложение 69904Вложение 69905
Чтобы увидеть в KTDP
Тест процессора: ошибка
его (KTDP) еще надо запустить, т.е. для нормального старта и работы корвета это не препятствие.
У вас остались Корветные дискетки? Есть возможность снять дамп? Если нет времени, найдем энтузиастов в Москве.
К сожалению, автора этого сайта, Сергея Ерохина aka ESL не стало в 2015, но его труды тщательно сохранены (сохранился в том числе полный бэкап этого сайта до кончины сервиса narod.ru). С того времени база софта и образов дискет для Корвета значительно пополнилась в рамках Минского музея ретро-компьютеров ByteSpace.by. Многие пополнения я выкладывал большими паками в темах на этом форуме, но это оказалось неэффективно. В данный момент потихоньку навожу порядок в базе, как причешу - опубликую. Но вдруг у вас найдется что-нибудь новое. Для сохранения истории хочется дотянуться до всех дискет, которых только возможно ;)
Ну конечно я ошибся по старости. КТДП это а ОПТС работает нормально. По ходу разбора завалов обнаружил плату ускорителя.
Есть еще дискеты, не все украли. Остались дубликаты на 3х дюймовых 720кб (дырку надо с краю проковырять или концевик этот
и готовность на землю чтоб всегда был готов потому что РС дисковод ее не так вырабатывает но он быстрее и по этому
задержек нет) все остальное подключаем один в один.
Очень много исходников. ПЗУ у меня своей сборки и там только монитор от РК86 по взаимствовал и загрузчик
с диска и КТДП да еще чтение ПЗУ с порта 55, а Бейсик этот мне не нужен так как я программист ASM и СИ
Схемы ускорителя не нашел придется с платы срисовывать на Splane нарисую но время нужно чтобы все найти что еще осталось
Помню Абрис сломал, Цишевский все пытался найти кто это. Все дело в том что при установки головки дисковода на 0 и если
сдедать команду шаг назад и если упора нет то уходит на -1 и там записывают инфу, а ограничителя хватает почти у многих моделей.
Писать если что срочное можно на почту так как я на форуме редко бываю, а почту читаю регулярно
Master-shkanov@yandex.ru
Так что со временем выложу все что найду. Но у меня архивы в формате РС и нужно програму IBMPC+ ,ее я то же сковырнул.
еще можно здесь у меня посмотреть http://master-shkanov.narod.ru/museum.html
int4880053, что-то триггеров так много...
int4880053, и ПЛМки на плате у вас необычные стоят. Керамика?
А как должна быть реализована кнопка турбо? Не думаю, что народ желает дополнительную дырку в корпусе любимого пк8020)) Может ее программно ? Или куда ее можно приспособить ?
Не знаю, будет ли это кому-то интересно, но переделал под корвет тест быстродействия. Используется таймер и т.к. его частота и частота процессора не совпадают, то возможна небольшая погрешность в 1 такт таймера, но это ерунда. Цифры для каждой команды - это число тактов таймера, за которые выполнится 1000 команд. Перевод в такты процессора (при Fcpu=2.5 МГц) *5/4/1000. Для примера результаты из emu с 8080 и z80.
Вложение 72913Вложение 72914
Запускать из обычной cp/m.
- - - Добавлено - - -
Пара комментариев.
1. Небольшая задержка при старте - это собственно работа теста. Т.к. задержка действительно небольшая, то не стал писать что-нибудь вроде "Please wait..."
2. Когда тест отработает и выведет на экран команды с цифрами, дальше можно только сфоткать (или просто посмотреть) результат и перезагрузить компьютер, выход в дос не предусмотрен.
Z80 установлен! Система полностью протестирована. Все работает на отлично.
https://i.ibb.co/9yD3TMy/20200618-180730.jpg
https://i.ibb.co/pRDjxt4/20200618-181402.jpg
https://i.ibb.co/m5DMnVc/20200618-181333.jpg
Про кнопку турбо никто так и не ответил... Наверное не так интересно.... Значит пока без нее.
В данный момент ведется оптимизация схемы (применены 2x555тм2, 1x555ла3, и одна 555ле1, но ле1 используется как инверторы).
Потом можно и платку развести...
- - - Добавлено - - -
Протестил на 3-х процах шарп, наш вм1 и sgs
У меня на 20-ке установлен снп101-9 угловой, демонтировать ради кнопки - не айс, дырку сверлить, где джойстик, тоже лень...
Тут еще вопрос по схемотехнике - c z80 wait-ы для периферии не нужны, там сигналы чтения/зап. и так длинные. Для памяти окно во втором такте(зап/чт).
Для клока в 5мгц нужен либо wait, либо понижение частоты при обращении к устр-ам. Думаю нужно будет еще корпус логики плюс еще провод частоты 5 мгц тянуть на платку....
Может сделать не переключаемую, 5 мгц с вэйтом(будет около 3.5 мгц реальных) ?
Или вообще без турбы - прирост и так есть )))
Сейчас, без турбы 5 проводов надо тянуть(каких нет на системном разьеме). Это +5v, reset, INT, Access и сигнал блокирования всех устройств при обращении к ПКП + 4 корпуса доп. логики на платке. Но можно их(провода) и на системный разъём вывести (куда сейчас Z80 подключается), тогда придется резать освободившиеся контакты(SYNC например). В данный момент все обратимое и без какой либо резки.
Предлагаю обсудить, как практичнее сделать.
Поставь триггер с герконом. провел магнитиком и 5 мгц включилось, провел еще раз и частота штатная.
раз логика присутствует, нет особой разницы +-1 корпус не играет роли.
Сделал таки турбу без вэйта, а с понижением частоты при обращении к памяти/УВВ по схеме из этого сообщения:
https://zx-pk.ru/attachment.php?atta...7&d=1492195671
Вместо Sync использую Access, вместо 2.5МГц-F1T.
И убрал инвертор с сигнала 5 МГц
Так Корвет считал 1000 знаков числа ПИ на проце 580вм80а с клоком в 2.5 МГц:
https://i.ibb.co/NsyLmL6/20200530-193024.jpg
время 323.36
А так считает с Z80 клок 5 МГц(реальных 3.5):
https://i.ibb.co/2hnZRTw/20200620-233441.jpg
время 212.88
Разница в работе тоже ощутима)))
Sancho45, а тест скорострельности от ивагора прогонял?
Фильмы можешь снять реала? Как попкорн в турбе работает, и тест ГЗУ в КТДП.
1.4 Маха - это все-таки маловато... Еще больше разогнать планируешь?
Z80 2.5 МГц
https://i.ibb.co/48WF5BW/20200621-210927.jpg
Z80 5 МГц (3.5 реальных)
https://i.ibb.co/MCn3pNk/20200621-211455.jpg
У меня ГЗУ 192 кб, тест занимает приличное время, так что без видео.
Думаю проц и до 10 мгц можно, только нет у меня такого. Да и цель другая - замена проца для портирования софта и игр.
На 5 МГц циклы с "укороченным" доступом к памяти (выборка команды) удлинились на 2 такта, а циклы с "полным" доступом (чтение, запись) на 1 такт.
Еще какой-то глюк в третьей строке снизу, не могу сообразить причину и воспроизвести в эмуляторе.
- - - Добавлено - - -
Стройную картину портит dad +только 1 такт, а вроде должно быть 2.
- - - Добавлено - - -
Насчет "глюка" с лишними буквами понял, я перестарался с оптимизацией и убрал нужную команду в очистке экрана.
При обращении к памяти, клок падает до 2.5 мгц, при любом обращении, выборка команды, запись, чтение. Так сделал по схеме
Нашел еще пару несоответствий ранее озвученным "правилам пересчета", вот уточненные.
Циклы выборки: 4->6; 6->8
Циклы c чтением/записью: 3->4; 4->6; 5->6
И отдельно про dad. Там скорее всего получилось так: было 4+4+3; стало 6+4+4
А Exolon для корвета будет ?
- - - Добавлено - - -
Да, не знаю важно ли, но частота падает до 2.5 мгц только во втором такте(точнее с первого, когда выдается MREQ и НЕ RFSH и до конца второго такта), окно для доступка к памяти. В остальных тактах одного цикла 5 мгц
Эксолон на Корвет в принципе можно конверснуть и без z80, хотя для z80 конечно можно сделать быстрее, тем более с 5 МГц. Главное найти/накопить мотивацию. В адаптации эксолона на корвет проблема с выводом спрайтов, сделать как на спеке не получится, надо думать.
Перевел результаты теста в такты.
Небольшие комментарии:
1. Там, где в сырых результатах последние цифры были единичные - это, как уже писал, из за некратности частот процессора и таймера, поэтому исправил на нули. Если запускать тест несколько раз, последняя цифра может меняться (0 или 1), это, повторюсь, только побочный эффект некратности частот и лишний (без кавычек) такт таймера можно смело убрать.
2. Такты по двум последним командам (pchl и rst) получены вычитанием из суммы тактов ранее определенных команд (Pchl=DadPchl-Pchl; Rst=RstRet-Ret) и в столбце 'такты' приведены уже значения именно для отдельных соответствующих команд. А в столбце 'hex' оставил суммарные данные из теста и выделил курсивом, чтобы обратить на это внимание.
Заниматься доводкой адаптера пока нет времени. Как только, так...
Пока прилагаю часть схемы, которая отвечает за обработку прерывания процессором. Работает без замечаний.
Тут информация к размышлению на 4 стр., а так же ТО Корвета.
https://i.ibb.co/WWkqc3R/INT-A.jpg
Принцип работы: подтверждение прерывания сигналами M1/ и IORQ/ через DD2.1 устанавливает триггер DD3.1 в "1", так же выдается сигнал DBIN через DD4.1, нужен из-за особенности схемы корвета (D18). DD2.2 выдает сигнал 556РТ2(D31) и с ее помощью отключается дешифрация всех устройств. На шине данных 580вн59 онли. Читается команда CALL. Остальные два байта адреса читаются процом в обычном режиме. Поэтому след. триггер DD3.2 устанавливается в "1" после первого триг. и завершения сигнала RD/ (т.е. прочитался второй байт), тем самым устанавливается первый триггер в "0". После завершения следующего RD/ (прочитался 3-ий байт), триггер DD3.2 устанавливается так же в "0", сигнал с 556РТ2 снимается.
Из схемы корвета исключаются D27(555ир16) и D15(555тм2) за ненадобностью.
(обозначение двойной DDx-схема адаптера, одинарная Dx - схема корвета)
Замечания приветствуются.
- - - Добавлено - - -
Да, на схеме входы установки триггеров R и S должны быть инверсные. (555тм2)
А есть рабочая схема замены процессора на Z80. Та, "оригинальная" старая.
Что подразумевается под "оригинальной" ?
Судя по утвердительному предложению - опубликуйте, если есть.)
Тем временем схема отлажена, отлично работает на штатной частоте, на 5 МГц и даже есть запуск на 10 МГц. Но на 10 МГц контр. прерываний не успевает (580вн59) выдать код CDh, первый байт проц считывает по сигналам M1/ и IORQ/ (проц намного быстрее работает), нужен wait или так же принудительное понижение частоты до штатной. Оставшиеся 2 байта проц считывает в обычном режиме, как из памяти. Но на 5 МГц все работает, т.к. Z80 выдает 2 такта ожидания при прерывании, чего вполне достаточно для ПКП.
Помог бы кто с переводом схемы в электронный вид и разводкой платки. Я в этом не силен... Все от руки на бумажке))
Sancho45, я имел ввиду ту старую платку, на фотке в теме есть. У меня ничего нет, вот ищу. Если есть рабочая, отлаженная схема, погу перевести в ДипТрейс и платку потом развести.
в этом сообщении схема переключения на турбо
Только 5 МГц надо подать с выводы 13 D44 напрямую без инвертора. Сигнал 2.5 МГц будет F1T/ через инвертор от ЛА3(один лог. эл. D4* - схема обработки прерываний пару сообщений выше). Сигнал Sync будет из основной схемы Z80.
- - - Добавлено - - -
В принципе вот сама схемка Z80
https://i.ibb.co/vkw3hr8/Z80-Korvet.png
итого 5 корпусов логики, 2х тм2, 1х ла3, 1х ле1 и 1х лл1
если планируется только штатная частота, то ЛЕ1 не нужна и схема сократится до 4 корпусов. Для 5 МГц - ле1(турбо) и тм2(в основной схеме Z80) рекомендуются 531 серии для уменьшения задержек.
Временные интервалы и растактовка соответствуют оригинальной схеме на ВМ80
- - - Добавлено - - -
Так же есть идейка заменить ру5 на ру7 основного озу и управление 4 страницами озу через системный регистр, два бита 0 и 1, которые не используются в оригинальной схеме.
- - - Добавлено - - -
и да, прошил РТ2 карты памяти и теперь доступ к 96 кб пзу есть.....
Ёще вопросик возник, есть 2 варианта установки, на системный разьем и через колодку от посадочного места 580вм80?
Но в случае посадки на системный разъём требуется выводить на 2 провода больше (reset, +5в), которые есть на контактах вм80. Всего надо тянуть 6 сигналов ( access/, INT, block_bus, reset, +5v, 5МГц)
Кстати можно на эту платку с z80 и AY разместить, по схеме подключения спекки
Я думаю платку делать под панельку на место ВМ80.
После праздников займусь схемой и платой под Z80.
На счет расширения памяти и прочего как-то не уверен, что оно Корвету нужно!
Считаю нужнее состыковать Корвет с ПСюком.