Просмотр полной версии : Вектор 06ц & КР580ВМ1
Alex_Vac
08.11.2010, 07:43
Всем привет!
Имеется пару камней КР580ВМ1. Вопрос собственно в установки их в Вектор 06.ц вместо КР580ВМ80А.
Есть ли какие нибудь нюансы, или можно просто установить взамен?
Спрашиваю, потому что боюсь сюрпризов. Тут и КР580ВМ1 и Вектор 06ц денег стоят, не хотелось бы запороть.
Просто скорее всего нельзя.
Не факт что вм1 полюбит что ему 12V дадут....
Alex_Vac
08.11.2010, 09:53
Просто скорее всего нельзя.
Не факт что вм1 полюбит что ему 12V дадут....
А если скажем убрать линию 12V от проца и оставить только 5V ?
Alex_Vac, см. здесь http://www.sensi.org/~svo/scalar/ware/582/
Alex_Vac
08.11.2010, 10:04
Нашел инфу на сайте "Музей электронных раритетов"
http://www.155la3.ru/datafiles/kr580vm1_article.pdf
Получается не так все просто. Выходит что простая замена возможна если использовать 580ВМ1 в режиме эмулятора 580ВМ80. Но тогда наверное все прелести замены будут заключатся в 5Мгц частоте проца?
Одна из главных прелестей - останется только одно питание +5В для всей машинки.
всетаки в режиме 0 (эмуляции ВМ80А) сохраняется возможность использовать дополнительные команды, единственный недостаток - неполучится использовать еще дополнителные 64 кб, но их всеравно негде взять :)
Alex_Vac
08.11.2010, 11:17
Понятно. Значит никакого понта от простой замены нет. Надо переделывать комп под 580ВМ1.
Одна, или может быть две, демки от S.E.S. имеют части, которые исполняются только на ВМ1. По сей день, насколько мне известно, их никто не видел =)
В эмуляторе Ramiros-a можешь посмотреть. :)
P.S.
В Scaner5 написано (в разделе для начинающих), что в колобихе с intro от SES есть часть CPU Evolution, которая запускается только на ВМ1.
О, точно. Надо будет как-нибудь. А чего никто на ютубу так и не залил еще? =)
Процы кочуют ,идеи остаются ) Вопрос остаётся открытым ,в векторах с процом вм1 схема отличается от схемы с вм80?
Improver
27.05.2022, 10:16
Процы кочуют ,идеи остаются ) Вопрос остаётся открытым ,в векторах с процом вм1 схема отличается от схемы с вм80?В упомянутом уже тут документе (https://zx-pk.ru/threads/14229-vektor-06ts-amp-kr580vm1.html?p=329290&viewfull=1#post329290) есть описание установки ВМ1 на Вектор:
Установка процессора ВМ1 очень проста, для это-
го необходимо:
1. Выпаять старый процессор
2. Впаять кроватку (панельку)
3. Отогнуть у ВМ1 3 ножки [это явно выводы 11, 15 и 28]
4. Вставить ВМ1 в кроватку
5. На одну из отогнутых ног подать 0В [выв.11]
6. Ножку одного из резисторов [???] отпаять
и подать на нее +5ВТ.е. схема практически та же, но есть ньюансы... :)
Кто нибудь пробовал это делать? Или может схема есть вектора с вм1 ?
Improver
27.05.2022, 10:37
Кто нибудь пробовал это делать?Это сделать сложно -- 580ВМ1 днём с огнём в те годы было не найти, а сейчас тем более...
Кто нибудь пробовал это делать?
В Харькове и Питере в те годы делали.
Или может схема есть вектора с вм1 ?
Из статьи (http://www.155la3.ru/datafiles/kr580vm1_article.pdf) и вышериведенного краткого описания примерно понятно, что делать.
580ВМ1 днём с огнём в те годы было не найти, а сейчас тем более
В те годы пожалуй полегче было, если знать, куда обратиться, а вот сегодня это уже сугубо коллекционная штука.
- - - Добавлено - - -
Improver оказывается уже почти все расписал.
Ножку одного из резисторов [???] отпаять
и подать на нее +5В
Речь про R10, тактовые у ВМ1 пятивольтовые.
Improver
27.05.2022, 12:26
Речь про R10, тактовые у ВМ1 пятивольтовые.Да, это он и есть.
Так есть у кого вектор на вм1 или это миф?
Интересное развитие темы, 1) "в векторах с процом вм1 схема отличается от схемы с вм80?", 2) "Так есть у кого вектор на вм1 или это миф?". Конечно миф, ничего нет и не было, ни процессора, ни векторов с ним. Статьи, фотографии и свидетельства очевидцев - все это части мифа.
Improver
27.05.2022, 14:37
denis74, у Вас есть в наличии процессор ВМ1?
Не нагнетаем обстановку ,парни ) Всё просто , предложили проц ,мне он для ориона поиграться ,за дорога ...но как проверить не знаю ) А вектор - единственный пк с этим камнем . Вот и весь сказ.
[/sarcasm mode off]
Уточню на всякий случай - на некоторых форумах можно было видеть вопросы такого типа "Правда ли, что выпускались векторы с 580ВМ1?". Никаких свидетельств в пользу такой версии нет и сам я в нее никогда не верил и вряд ли поверю.
Но
1. Только для вектора есть вышеупомянутый "тизер инструкции" по установке ВМ1 и свидетельства очевидцев, что действительно энтузиасты меняли проц в стандартных векторах с ВМ80 на ВМ1 и вектор после этого работал.
2. Только для вектора есть несколько программ использующих ВМ1.
Improver
27.05.2022, 18:14
Всё просто , предложили проц ,мне он для ориона поигратьсяЗавидую, что ж... В принципе, установка ВМ1 на Вектор не сложная (всё есть выше), можно поставить и проверить. Если это случится, то не забудьте тут отписаться, думаю, у форумчан найдётся пара-тройка тестов для него, в том числе можно проверить правильность работы эмуляторов с ВМ1.
В упомянутом уже тут документе (https://zx-pk.ru/threads/14229-vektor-06ts-amp-kr580vm1.html?p=329290&viewfull=1#post329290) есть описание установки ВМ1 на Вектор:
Установка процессора ВМ1 очень проста, для это-
го необходимо:
1. Выпаять старый процессор
2. Впаять кроватку (панельку)
3. Отогнуть у ВМ1 3 ножки [это явно выводы 11, 15 и 28]
4. Вставить ВМ1 в кроватку
5. На одну из отогнутых ног подать 0В [выв.11]
6. Ножку одного из резисторов [???] отпаять
и подать на нее +5ВТ.е. схема практически та же, но есть ньюансы... :)
Странно, а в описании ВМ1 есть:
В режиме эмуляции МП КР580ВМ80А (устанавливается подачей напряжения 0 В на вывод 11)
сохраняются все временные диаграммы и режимы работы МП КР580ВМ80А, а выводы 15 и 28 (10/М и ЕХМ)
находятся в третьем состоянии, что позволяет использовать МП КР580ВМ1 вместо МП КР580ВМ80А с
минимумом переделок, так как расположение их выводов совпадает.
Сказано, что 15 и 28 в третьем состоянии, значит их можно не отгибать...
Интересно, почему в инструкции указано, что и их нужно отогнуть...
В таблице 1, (того-же документа) вывод 28 в режиме0 - не используется.
А вывод 15 - вход...
Противоречивая документация.
Сказано, что 15 и 28 в третьем состоянии, значит их можно не отгибать...
Интересно, почему в инструкции указано, что и их нужно отогнуть...
Лучше все же отогнуть, чтобы туда не шли 12 В.
А вывод 15 - вход...
Противоречивая документация.
В этой статье много ошибок/опечаток. Некоторые очевидны (ВГ84). А некоторые можно угадать.
"Благодаря свойствам МП за счет реализации функций системного контроллера можно, применяя серийные ИС, реализовывать устройства при меньших аппаратурных затратах." Речь о том, что во втором режиме они постарались вывести на отдельные выводы процессора самые нужные сигналы, которые у ВМ80 доступны только из слова состояния. В их числе и /RD, это скорее всего аналог бита 7 (MEMR) слова состояния. Хотя это может быть и просто признак чтения, но DBIN уже есть.
- - - Добавлено - - -
Кстати, ошибка скорее всего относится и к выводу 16 (/INTA), думаю это тоже выход.
- - - Добавлено - - -
В их числе и /RD, это скорее всего аналог бита 7 (MEMR) слова состояния. Хотя это может быть и просто признак чтения, но DBIN уже есть.
Есть еще вариант, что это просто признак чтения, отличающийся от DBIN тем, что активизируется уже в 1 такте цикла, а не во втором.
Очень не хватает временных диаграмм.
...
В их числе и /RD, это скорее всего аналог бита 7 (MEMR) слова состояния. Хотя это может быть и просто признак чтения, но DBIN уже есть.
...
Есть еще вариант, что это просто признак чтения, отличающийся от DBIN тем, что активизируется уже в 1 такте цикла, а не во втором.
Очень не хватает временных диаграмм.
Ну, /RD вроде относится к "режиму 1", а он, на сколько я понимаю, не совсем относится к режиму эмуляции ВМ80.
Могли и накуролесить чего угодно...
Смотрел добавленные команды, что-то не впечатлило. Может не внимательно смотрел.
По мне так лучше-бы относительную адресацию ввели.
Ну, /RD вроде относится к "режиму 1", а он, на сколько я понимаю, не совсем относится к режиму эмуляции ВМ80.
Могли и накуролесить чего угодно...
Это еще одна из ошибок статьи. Сначала в тексте "Это достигнуто за счет реализации в МП двух режимов работы: первый... второй...". А потом в таблице режим 0 и режим 1. Обозначение /RD относится к "расширенному" режиму (второй в тексте и 1 в таблице). Но от этого не легче понять, то ли это просто переименование DBIN, то ли все же меняется и функционал. Правда для замены ВМ80 в векторе или орионе это все без разницы.
- - - Добавлено - - -
Уточню свои показания про DBIN/RD. Все же /RD вряд ли является выведенным MEMR, это скорее инвертированный DBIN. Возможно есть еще отличия по моментам начала/окончания активности сигнала.
А пример выведенного наружу бита слова состояния - /INTA, опять же с инверсией.
Я тут в одном инет магазине (брал у них разъёмы СНП34), в каталоге увидел ВМ1.
Запросил цену, а они меня переспрашивают, "какое количество нужно" ...
Неужели просто делают новые микросхемы по заказу...
Неужели просто делают новые микросхемы по заказу
В лучшем случае заказывают у своего поставщика.
В лучшем случае заказывают у своего поставщика.
А я, грешным делом, подумал, что научились кристаллы ПЛИСины в корпуса закатывать, для производства чего угодно мелкими партиями :)
После того как я написал, что нужен один 580ВМ1.
Ответили, что нет в наличии.
Видать решили не связываться...
Грустно, такая история уже была пару раз. На сайтах писали, что есть или можно заказать, а при обращении отвечали, что нет и не будет.
Improver
30.05.2022, 18:08
Я тут как-то предлагал умеющим воссоздать ВМ1 в плис, которую можно было бы ставить прямо в Вектор вместо ВМ80А, но идея не была поддержана... Хотя, по моему мнению, это было бы интереснее, чем замена процессора на Z80.
У меня противоположная точка зрения. Поисследовать настоящий ВМ1 было бы интересно, а вот реализовать его в ПЛИС по описанию - почти бесполезно. Z80 и заметно круче сам по себе и, что более важно, дает возможность пользоваться в том или ином виде готовыми программными наработками. Или в виде готовых программ (например для cp/m), или как источник для сравнительно легкого портирования или как целевой процессор для кросс-компиляторов. У 580ВМ1 нет ни кучи программ за спиной, ни выдающейся системы команд. Мне он интересен как исторический артефакт, а если уж что-то наворачивать в плис (и не z80), то лучше что-то более крутое, что действительно даст качественный скачек.
Improver
30.05.2022, 19:39
Думаю, говорить о каком-то качественном скачке сейчас бессмысленно... Хотя, можно поставить 8086, а то и 80286 и получить скачёк на 16 бит. :) Но не в этом смысл, интерес сейчас, скорее, к самой архитектуре, её повторению, а не развитию на новый уровень, ибо все эти уровни уже давно пройдены, в тех же IBM PC XT, AT и далее.
И да, ВМ1 -- исторический артефакт, может он даже в чём-то хуже Z80, но интересно и его изучение, пощупать руками, как он работал, а с учётом того, артефакт недоступен для этого, можно было хотя бы поиграть с его копией на ПЛИС. Это моё субъективное мнение...
Поизучать (хотя бы дистанционно) 580ВМ1 мне тоже очень интересно. А вот реализация в плис по описанию - не очень. Другое дело - реализация полного схемного аналого 580ВМ1 на плис, как ВМ80 Vslava, но для этого сначала надо сделать его реверс (тут я, к сожалению, ничем не могу помочь), на что в обозримом будущем надеяться не приходится. Это все мое субъективное мнение и если кто-то сделает ВМ1 в плис (скорее допилит одну из реализаций 8080) по докам, то я конечно не против. Просто мне кажется это не самым интересным и полезным делом. Если кому-то кажется интересным - почему бы и нет.
Improver
30.05.2022, 20:52
если кто-то сделает ВМ1 в плис (скорее допилит одну из реализаций 8080) по докам, то я конечно не против.Вот именно это я, фактически, и предлагал, взять проект ВМ80 и допилить его по имеющимся докам до ВМ1. Мне это не по силам, но иметь такую штучку для опытов было бы интересно. Надеюсь, что это заинтересует ещё кого-нибудь...
Смотрел 3 варианта 8080 на ПЛИС: T80 (где он в дополнение к z80), вариант b2mа и вариант Vslava. Осмысленная модификация проца Vslava представляется мне с моими сверхслабыми знаниями почти невозможной. А вот T80 и вариант b2mа можно потихоньку пилить. Проц b2mа попроще для восприятия, но он не совсем совпадает с оригинальным 8080, если браться, то лучше за T80, который доработал svofski.
Разве есть версии этих изысканий в железе?
Речь же о аналоге 8080 на ПЛИС ? Вот здесь же https://habr.com/ru/post/249613/ всё оцифровано.
HardWareMan
31.05.2022, 07:46
Разве есть версии этих изысканий в железе?
Что подразумевается под "в железе"?
Вынуть вм80 и вставить аналог.
Как раз HardWareMan удачно заглянул, он менял в специалисте ВМ80 на проц Vslava. К вектору и ВМ1 это отношения не имеет, наверно лучше обсуждение этого вопроса продолжить в соответствующей теме.
Ссылкой поделитесь?
Если есть возможность (а она есть) ВМ1 достать ,то может при определённой задаче и желании есть смысл и с ним справиться ?
...
Если есть возможность (а она есть) ВМ1 достать
...
Так-же как в моём случае ?
- ВМ1 есть?
- А Вам сколько штук нужно?
- Один.
- Нет в наличии.
:(
HardWareMan
31.05.2022, 10:50
Вынуть вм80 и вставить аналог.
Как уже сказали выше - я так делал (https://zx-pk.ru/threads/23349-potaktovyj-klon-i8080-na-fpga-cpld.html?p=733291&viewfull=1#post733291). И что?
Смотрел 3 варианта 8080 на ПЛИС: T80 (где он в дополнение к z80), вариант b2mа и вариант Vslava. Осмысленная модификация проца Vslava представляется мне с моими сверхслабыми знаниями почти невозможной. А вот T80 и вариант b2mа можно потихоньку пилить. Проц b2mа попроще для восприятия, но он не совсем совпадает с оригинальным 8080, если браться, то лучше за T80, который доработал svofski.
Если бы я затевал проект века сейчас, то это был бы читабельный эквивалент проца Vslav-а. Привести его ближе к тому, как его написал бы человек. Постараться выделить модули. Дать им имена по возможности совпадающие с документацией. Раскидать по ним все семиэтажные выражения. Это очень непросто по-моему, но полезно. Смысл такого великого труда в том, что не только сверхлюди смогут вносить в него дополнения и изменения.
T80 с моими фиксами для режима 8080 -- это если надо get shit done прямо сейчас, потому что проверено, что работает. Но по-моему он слегка уродец, лично мне радости не приносит. Может быть это просто потому что я вижу VHDL как дореформенный Вѣрилогъ с твердыми знаками и ятями (хотя говорят, что все наоборот, это VHDL молодой и пышущий здоровьем).
Очеловечивание проца Vslava - это было бы очень хорошо, только нужен квалифицированный специалист с желанием и временем. И это отдельная задача. До ее решения приделать туда ВМ1 нереально. Приделывать к T80 ВМ1 можно прямо сейчас. Требования к квалификации ниже, но без желания и времени опять никуда, в это все упирается. Если судить по себе, то проекты, которые в принципе можно сделать, но не очень хочется, могут висеть годами, пока не появится человек, которому хочется очень. Или появится какая-либо дополнительная мотивация.
Я вижу очеловечивание как отдельную и самостоятельную задачу. Может быть кажется, что если мы получаем на выходе полный эквивалент оригинала, то и работы как бы нет. Но это не так. Это как погашение долговых обязательств -- развязывает руки.
HardWareMan
31.05.2022, 13:13
Если бы я затевал проект века сейчас, то это был бы читабельный эквивалент проца Vslav-а. Привести его ближе к тому, как его написал бы человек. Постараться выделить модули. Дать им имена по возможности совпадающие с документацией. Раскидать по ним все семиэтажные выражения. Это очень непросто по-моему, но полезно. Смысл такого великого труда в том, что не только сверхлюди смогут вносить в него дополнения и изменения.
https://i.ibb.co/YdwZnxk/VM80.png
Процитирую свое же сообщение (https://zx-pk.ru/threads/23349-potaktovyj-klon-i8080-na-fpga-cpld.html?p=950441&viewfull=1#post950441):
Процессор - чистая стэйт-машина, никакого микрокода. Теперь точно ясно, что повторять его влоб смысла вообще нет, нужно делать изложение на тему. Речь конечно о реализации на FPGA/CPLD. Интересного там только сам ALU - он просто изящен, хоть и не настолько продвинут в математическом смысле, как у Z80. Ну еще и стэйт машина циклов, но ее можно и самому накорябать за полминуты. Забавно еще то, что только регистры реально хранят значения во времени и аккумулятор, хотя он часть ALU (его выбор - отдельная цепь). У ALU несколько внутренних регистров: X, R и A, причем X и R практически каждый такт перезаписываются. A, выполняет роль, собственно, аккумулятора. При расчете, данные из A сначала копируются в R. Второй операнд параллельно грузится в X и результат вычисляется комбинаторной логикой напрямую (затраты времени чисто задержка в логике), который может быть записан обратно в А, минуя внутреннюю шину, или сразу выставлен на внутреннюю шину данных. Она, кстати, двунаправленная, точнее там что-то вроде монтажного ИЛИ + накачка перед использованием, т.е. используется ёмкостный эффект - это уже обсуждали. Это позволяет загрузить опкод NOP (накачка внутренней шины отключается при активном сбросе), удерживая сброс в течение нескольких тактов (в доке написано, что их число минимально 3), что уменьшает накладные расходы в схеме. Таким образом, вот эта схема не верна, так как Accumulator Latch имеет доступ к внутренней шине.
А, еще регистр флагов. Он отсутствует как регистр - так, набор триггеров. 4 из них вообще тупые: P, Z, AC и S. А вот C - развитой. У него сложная цепь управления, т.к. он реально участвует в куче команд.
Чистая стейт-машина, никакого микрокода -- это фактически хардовый микрокод, забитый на стадии проектирования.
HardWareMan, я сейчас немного далеко от темы. Но лично для себя вывод такой, что в настоящий момент наиболее квалифицированный специалист для этой задачи -- HardWareMan :D
Как уже сказали выше - я так делал (https://zx-pk.ru/threads/23349-potaktovyj-klon-i8080-na-fpga-cpld.html?p=733291&viewfull=1#post733291). И что?
Отличный вопрос! И что дальше? Чем всё закончилось? Можно же теперь "допиливать" проект под себя ,вводить новые регистры ,команды ,например перемещение блоками ,рисование и 2D функции ,увеличивать частоту и.т.д ,разве изначально задача не в этом состояла? Взять лучшее и необходимое от 8080 ,8085 ,z80,вм1.
Не особо силён в этих реверсах ,но создать новый модернизированный проц под конкретные задачи и железо было бы интересно всем.Возможно не представляю объём трудозатрат.
но создать новый модернизированный проц под конкретные задачи и железо было бы интересно всем.
Вряд ли всем. А тем, кому интересно - каждому интересно свое.
И трудозатраты на серьезную модификацию допустим T80 на порядок (или порядки, смотря на что замахиваться) больше, чем для замены ВМ80 в векторе или орионе на оригинальный 580ВМ1.
Как минимум в процах не хватает основного - регистров ,желательно 16битных и частоты ,думаю это желание любого программиста любой системы. Насколько это сложнореализуемо?
Взвесил тут за и против ВМ1 ,с одной стороны хочется ,но ,даже если получится , то размножить то его не смогу...А в одно лицо писать софт под него ,зная что никто пользоваться не будет смысла не вижу. Нужна массовость и повторяемость. Кому надо ,ссылкой на ВМ1 поделюсь.
Извините за оффтоп.
В качестве примера того, насколько люди разные. На форуме можно поискать, как человек оттолкнулся от 8080 и стал придумывать систему команд у которой по машинному коду (без дизассемблера) было бы понятно (по крайней мере ему самому), что это за команда. Вот такая неожиданное направление технического творчества.
Что касается 580ВМ1, то выбор его в качестве суперВМ80 кажется не очень оправданным. Мой небольшой опыт оптимизации для ВМ1 показал, что да, можно посидеть, подумать и выиграть сколько-то процентов. Но когда просто запуск исходной (до оптимизации для ВМ1) программы на ВМ85 или z80 дает сравнимый выигрыш, поневоле задумаешься (и я перестал оптимизировать для ВМ1). Другое дело, если бы эти процы были дешевы и доступны, но они сочетают редкость, дороговизну и малое количество плюшек.
HardWareMan
02.06.2022, 20:20
Можно же теперь "допиливать" проект под себя ,вводить новые регистры ,команды ,например перемещение блоками ,рисование и 2D функции ,увеличивать частоту и.т.д ,разве изначально задача не в этом состояла?
Нет. Задача стояла получить работоспособную модель, описанную языком xHDL, которая будучи залита в ПЛИС будет вести себя полностью как оригинал. Как внешне, так и внутренне. А смысл этого в том, что когда настоящие ВМ80 закончатся (а их не выпускают уже лет 30 наверное, да?), а они точно закончатся, можно было бы ремонтировать компьютер на нём. Именно для этого и Z80 начали реверсить, но я не следил за результатом.
Но когда просто запуск исходной (до оптимизации для ВМ1) программы на ВМ85 или z80 дает сравнимый выигрыш
Уточню, это я про клоны вектора с их торможением. Можно найти и другие компы, где был бы похожий эффект.
Нет. Задача стояла получить работоспособную модель, описанную языком xHDL, которая будучи залита в ПЛИС будет вести себя полностью как оригинал. Как внешне, так и внутренне. А смысл этого в том, что когда настоящие ВМ80 закончатся (а их не выпускают уже лет 30 наверное, да?), а они точно закончатся, можно было бы ремонтировать компьютер на нём. Именно для этого и Z80 начали реверсить, но я не следил за результатом.
Эпоха этих восьмибиток на нас и закончится ,лет 10-20 максимум , молодёжь уже канифоль не штырит ) А нам и наших запасов хватит...
Как уже сказали выше - я так делал (https://zx-pk.ru/threads/23349-potaktovyj-klon-i8080-na-fpga-cpld.html?p=733291&viewfull=1#post733291). И что?
Не открывается ссылка http://hwm.us.to/vm80/
HardWareMan
03.06.2022, 08:04
Не открывается ссылка http://hwm.us.to/vm80/
Да, я всё закрыл за а) - ненадобностью, б) - учащением всяких левых атак. Что вы хотите оттуда?
Да, я всё закрыл за а) - ненадобностью, б) - учащением всяких левых атак. Что вы хотите оттуда?
Вот и хотел глянуть, чтобы узнать, что там было. Речь ведь о "зеркало опробованных моделей".
HardWareMan
03.06.2022, 09:58
Вот и хотел глянуть, чтобы узнать, что там было. Речь ведь о "зеркало опробованных моделей".
Без проблем. (https://cloud.mail.ru/public/ZSJB/Uqcz957Xv)
Глянул на ПЛИС-овские модели ВМ80... вроде ни чего особо страшного. Спасибо авторам, разложено по полочкам.
При желании вполне реально разобраться, и допилить плюшек.
Для меня проблему составит реализация в железе платы, которую можно воткнуть вместо процессора в реальный Вектор.
А без реализации в железе, для меня, теряется смысл затеи с добавлением плюшек в ВМ80. :(
Интерес к эмуляции ВМ80 с плюшками на ПЛИС, подкинутая разрабами ВМ1, состоит в том, что добавляя вкусняшки к ядру ВМ80, можно получить то, чего так ему не хватало. При этом сохраняя совместимость с родным и любимым с детства софтом, но получая "крутую игрушку" ...
Огромная экранная область Вектора, при отсутствии операций индексного копирования, это грустно было изначально.
Что нужно для ускорения работы с изображением?
1. Конечно индексное копирование как в Z80. И желательно однобайтовая операция, выполняемая за 12 тактов на перенос одного байта. Прикольно было-бы в идеале вообще тормозить счетчик РС до обнуления счетчика количества повторов. Т.е. не нужен будет "jnz adr" для возврата к циклу. ;)
2. А вот тут самая бредовая идея...
Что ещё нужно при формирования изображения?
Вычисления! ;)
Правильно, при реализации в железе ВМ80 на ПЛИС, ни кто не остановит добавить функций мат.сопроцессора :) не только add и sub, но и ...
Вот это была-бы вкусняшка... совместимая со всем, что уже есть, но умеющая не только "ползать", но ещё и "летать" ...
;)
Стоит ответить (хотя бы себе) на несколько вопросов:
1. Какие конкретно задачи планируется решить в итоге?
2. Какие средства доступны для решения?
3. Какие ограничения?
Стоит ответить (хотя бы себе) на несколько вопросов:
1. Какие конкретно задачи планируется решить в итоге?
2. Какие средства доступны для решения?
3. Какие ограничения?
1. Получить/предоставить инструмент, для реализации на Векторе идей/программ, которые не могли быть реализованы ранее на оригинальном Векторе из-за ограничения быстродействия процессора, и медленных манипуляций с экранной областью.
Так то я тоже за все хорошее против всего плохого, но есть нюансы. Даже пока оставим в стороне конкретику - как именно планируется преодолеть ограничения быстродействия и т.д.
1. Как и кем это будет поддержано программно? Мне сложно поверить в вариант "это будет так здорово, что все программисты (кстати, где они?) начнут это поддерживать в своих новых программах".
2. Как разрабатывать программы под новые возможности? Компиляторы, эмуляторы с отладчиками?
3. Как это будет реализовано в железе?
3.1. На девборде в плис? Это сравнительно просто (даже я делал пару модификаций v06cc svofski в сторону "супервектора"), но вряд ли много кто оценит.
3.2. На реале с заменой проца и возможно еще какими-то дополнениями? Полезная, но более сложная вещь и пп. 1 и 2 все равно остаются.
Как и кем это будет поддержано программно
Главный вопрос. Да и все остальные пункты справедливы. Если делать чисто для себя - ноу проблемо.
В ином случае проще воткнуть Z80 и не мучаться.
LeoN65816
08.06.2022, 12:22
Прикольно было-бы в идеале вообще тормозить счетчик РС до обнуления счетчика количества повторов. Т.е. не нужен будет "jnz adr" для возврата к циклу. ;)
А если в это время прерывание приходит, что произойдет? А что должно произойти? ;)
А если в это время прерывание приходит, что произойдет? А что должно произойти?
То же, что и при выполнение команды LDIR у Z80 =)
Improver
08.06.2022, 15:54
При этом сохраняя совместимость с родным и любимым с детства софтом, но получая "крутую игрушку" ...Думаю, не стоит забегать так далеко. Сейчас хотя бы просто получить в ПЛИС замену ВМ1, реализовать в железе, а плюшки потом можно будет добавлять. И гибрид Z80+ВМ1 сделать, и всё что угодно, но сейчас не стоит копать так глубоко, иначе процесс встанет на этапе обсуждений и мечтаний. Пусть для начала это будет даже банальный аналог ВМ80 в ПЛИС, с возможностью перепрошивки...
Для меня проблему составит реализация в железе платы, которую можно воткнуть вместо процессора в реальный Вектор.Могу нарисовать платку, которая будет впаиваться вместо ВМ80 -- это не проблема, была бы определённость с ПЛИС.
Пусть для начала это будет даже банальный аналог ВМ80 в ПЛИС, с возможностью перепрошивки
Двумя руками за.
...
Могу нарисовать платку, которая будет впаиваться вместо ВМ80 -- это не проблема, была бы определённость с ПЛИС.
Вот с определённостью с ПЛИС и проблема.
Я в них практически не разбираюсь. Посмотрел сравнительные графики...
Если смотреть на Циклоны, то это интерфейс 3.3В, нужно будет ещё 5 микросхем преобразователей уровней на плату устанавливать. А хотелось-бы воткнуть в панель процессора, и что-бы не болталось и не мешалось.
Последнее, что я увидел с поддержкой интерфейса 5В, это МАХ2, судя по табличкам ЕРМ1270 и ЕРМ2210.
Но опять корпуса в 144 ноги не поместятся между рядами ног платы, которую можно воткнуть в панель для ВМ80. Единственный выход который приходит в голову, это двухэтажная конструкция. На нижнем слое вниз - ноги для панели типа ВМ80, вверх разъём для платы с ПЛИСом. Но закроется ли корпус Вектора...
Можно конечно на одной плате, ПЛИС сбоку от разъёма поставить, в обоих Векторах есть место...
В общем случае, выбор ПЛИС это та ещё задачка, особенно для того, кто в теме "ни бельмеса"...
А начинать естественно с копии ВМ80. Но с оглядкой на количество ячеек ПЛИС, шоб без вкусняшек не остаться...
Интерес к эмуляции ВМ80 с плюшками на ПЛИС, подкинутая разрабами ВМ1, состоит в том, что добавляя вкусняшки к ядру ВМ80, можно получить то, чего так ему не хватало. При этом сохраняя совместимость с родным и любимым с детства софтом, но получая "крутую игрушку" ...
Огромная экранная область Вектора, при отсутствии операций индексного копирования, это грустно было изначально.
Что нужно для ускорения работы с изображением?
1. Конечно индексное копирование как в Z80. И желательно однобайтовая операция, выполняемая за 12 тактов на перенос одного байта. Прикольно было-бы в идеале вообще тормозить счетчик РС до обнуления счетчика количества повторов. Т.е. не нужен будет "jnz adr" для возврата к циклу. ;)
2. А вот тут самая бредовая идея...
Что ещё нужно при формирования изображения?
Вычисления! ;)
Правильно, при реализации в железе ВМ80 на ПЛИС, ни кто не остановит добавить функций мат.сопроцессора :) не только add и sub, но и ...
Вот это была-бы вкусняшка... совместимая со всем, что уже есть, но умеющая не только "ползать", но ещё и "летать" ...
;)
В основе своей идея правильная ,ПЛИС очень пластичный материал , и основную арифметику хотя бы 16бит организовать можно , так же и быструю пересылку массивов и 2D функционал .Главное правильно поставить посильную задачу ,и в одиночку не выйдет ,распределить имеющиеся на сайте ресурсы программистов и системотехников. Интерес возможно проявят большинство сидящих на ВМ80 , 8080. А стартовать ,да, с дубля ВМ80 , и по результатам добавлять команды.
TomaTLAB
08.06.2022, 23:30
Последнее, что я увидел с поддержкой интерфейса 5В, это МАХ2, судя по табличкам ЕРМ1270 и ЕРМ2210.
Но опять корпуса в 144 ноги не поместятся между рядами ног платы, Единственное, что держит 5В (с внешними резисторами и только в одном PCI-compliant IO банке)
и что может поместится между рядами DIP-40 -- это ЕРМ1270GM в MBGA-256 :)
Ну или выкопать дремучий 5-ти вольтовый FLEX в BGA-100 (размером он почти такой же как и MBGA-256)
Единственное, что держит 5В (с внешними резисторами и только в одном PCI-compliant IO банке)
...
Ну вот... я ведь писал, что я "не копенгаген" в ПЛИСах :(
Сейчас нужно гуглить, что такое "PCI-compliant", и чем грозит "только в одном ... IO банке".
Позволяет-ли эта характеристика рассматривать данный чип как кандидатуру для данного проекта, или без дополнительной обвязки (конверторами напряжения) не обойтись, и нужно смотреть на другие чипы...
У меня просьба начать отдельную тему с обсуждением планируемого плисового проца, все же к ВМ1 это пока не имеет отношения.
Пример (https://zx-pk.ru/threads/33813-the-100-mhz-6502.html) подобной конструкции.
Можно поставить 2 FPGA, одну нежирную MAX, толерантную к 5В, и другую - пожирнее, но с меньшим количеством выводов. Интерфейс между ними не принципиален, хоть SPI, но на высокой частоте. Ещё круче, если MAX сможет загружать произвольную прошивку во вторую FPGA (а-ля sprinter).
У меня просьба начать отдельную тему с обсуждением планируемого плисового проца, все же к ВМ1 это пока не имеет отношения.
Пример (https://zx-pk.ru/threads/33813-the-100-mhz-6502.html) подобной конструкции.
Можно лукавить.
И продолжать разговор в этой теме, обсуждая эмуляцию на ПЛИС именно ВМ1, оставляя в уме возможность его дальнейшего "роста". Это ведь не принципиально. ;)
Или тут была тема юза реального ВМ1, тогда обсуждение ПЛИС-варианта действительно нужно выносить в отдельную тему.
Да, вот по ссылке фотки, конструктив, само-то, что было-бы интересно.
Sancho45
17.06.2022, 10:18
Кому надо ,ссылкой на ВМ1 поделюсь.
Надо, поделитесь!? Или уже не актуально ?
В некотором смысле замкнулся круг, насколько помню это цитата с сайта Tim0xи.
Подтверждение (https://web.archive.org/web/20050911074740fw_/http://www.vector06c.narod.ru/faq.html)
https://i.ibb.co/sq2Jjxn/580vm1.jpg (https://ibb.co/sq2Jjxn)
Колобиха не стартует. Черный экран. В остальных программах разницу не заметил.
...
Колобиха не стартует. Черный экран. В остальных программах разницу не заметил.
А доработки сделаны между платой и панелькой (под панелькой)?
Колобиха не стартует. Черный экран. В остальных программах разницу не заметил.
Также есть информация, что оригинальный вариант данной игры не работает с процессором КР580ВМ1. (http://www.sensi.org/scalar/ware/52/)
- - - Добавлено - - -
Кстати, можно порадоваться точности эмуляции, Emu и VV при запуске оригинальной колобихи дружно показывают черный экран.
А доработки сделаны между платой и панелькой (под панелькой)?
Да. Между панелькой на плате и процессором еще одна панелька, у которой удалены контакты 15 и 28, контакт 11 отогнут и соединен с "общим" проводом. Вывод резистора R10 отсоединен от +12 и подключен к +5В.
"Правда ли, что выпускались векторы с 580ВМ1?"
Вспомнил, откуда (https://forum.ixbt.com/topic.cgi?id=64:2829:627#627) пошла эта сказка
Sancho45
01.07.2022, 19:03
В их числе и /RD, это скорее всего аналог бита 7 (MEMR) слова состояния.
Есть еще вариант, что это просто признак чтения, отличающийся от DBIN тем, что активизируется уже в 1 такте цикла, а не во втором.
Очень не хватает временных диаграмм.
Больше второе, чем первое. Думаю, что при IN так же, но корвет не юзает IN/OUT, поэтому не проверил...
.... расширенный режим (1)
https://i.ibb.co/LhvKzqf/580BM1.jpg (https://ibb.co/LhvKzqf)
- - - Добавлено - - -
влево на один sync от выделенного временного интервала(где /RD в "1") - запись в память
Sancho45
03.08.2022, 20:28
Наверно стоит еще попробовать недокументированные команды. У меня пока 3 кандидата:
1. rs\ xchg
2. mb\ push psw
3. mb\ pop psw
Может у кого-нибудь есть еще подозрительные команды на примете?
а 6 МГц мне интересны применительно к гипотетическому "турбовектору".
Приобрел даже вектор комплектный(хоть и не фанат)),.02 версии, пзу картридж пока не спаял(в процессе), по аудиоканалу идет загрузка, но по автозапуску улет в космос, разбираюсь в причинах. А мультикарт в продаже временно нет (
Честно говоря 06Ц не самый благодарный объект для турбирования. Ограничение на один доступ проца в 1.33 мкс приведет к тому, что в лучшем случае при 6 МГц ускорятся только машинные циклы, которые не влезали при 3 МГц в 4 такта (зато они ускорятся в 2 раза). Это неплохо, там есть чему ускоряться, но корвет, орион и специалист более отзывчивые на турбу. Но и у вектора можно найти плюс (у корвета аналогично) - даже с мегатурбой (это уже с плисом или в эмуляторе) можно продолжать пользоваться базовыми программами, опрашивающими клавиатуру. При 120 МГц в бейсике, досах и мониторе-отладчике можно набирать и выполнять команды, у ориона и особенно специалиста с этим проблема.
Разоблачение (http://www.nedopc.org/forum/viewtopic.php?f=39&t=7542&start=32) ivagora
"Судя по всему автор таблицы доп.инструкций Иван Городецкий неправильно указал M1 в наименованиях некоторых команд т.к. по коду там обращение к [H1L1], а по доке M1 это обращение в "теневую" память, т.е. по тому же самому адресу [HL], что и в случае M, но с инвертированным старшим адресом памяти MF - т.е. использование префикса MB (#28), а не префикса RS (#38)"
Пропускаем первую очевидную причину, что я малообразованный и невнимательный и переходим ко второй - это было сознательное решение. На тот момент (да и на сегодняшний) не известно примеров установки 580ВМ1 в компьютеры с задействованием его дополнительного адресного пространства, и вектор и корвет (Sancho45) не используют дополнительный бит адреса. Поэтому я посчитал более удобным использовать M1 как (H1L1) по аналогии с M=(HL), что мне представляется еще и более логичным, чем авторское обозначение. При использовании моей таблицы для TASM сохраняется возможность доступа к другому банку памяти с использованием префикса MB (о чем я написал в readme). Моя ошибка в том, что хотя я упомянул в readme про отличия названий некоторых команд, использующих H1 и L1, но не написал четко и ясно, что M1 в моей трактовке = (H1L1), а не обращение к другому банку памяти. Надеюсь теперь это убережет многочисленных программистов для 580ВМ1 от неправильных таблиц ассемблера и количество программ для ВМ1 резко вырастет. Ну и этим программистам потребуется компьютер с поддержкой дополнительного бита адреса или эмулятор, примеры ни того ни другого пока не известны. Да и точной эмуляции флагов и недокументированных команд пока нет.
Sancho45
17.07.2023, 22:57
и корвет (Sancho45) не используют дополнительный бит адреса
Это не проблема, у меня есть корвет с ру7 вместо ру5, можно эту линию задействовать для экспериментов.
Привезу свои железяки в начале августа. Там и софтину вашу проверю.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot