Просмотр полной версии : Специалист МХ: Реализация компьютера на ПЛИС
Всем привет. Я уже полгода пытаюсь собрать Специалист МХ на ПЛМ. Основная схема (Специалист Экспресс) с доработкой по брошюрке RAMFOS вопрос не возникло, а вот контроллер цвета... В Специалисте МХ как он построен? Нет оригинальной схемы. Контроллер дисковода собирался тоже по памяти (тоже нет схемы). Вот ссылочка на обсуждение темы.
http://www.nedopc.org/forum/viewtopic.php?t=8154&postdays=0&postorder=asc&start=0
В электронном виде готов один вариант ПЛМ, выполненный по схеме. Пытаюсь написать схему на VHDL для уменьшения количества вентилей. http://www.nedopc.org/nedopc/upload/SpetsMX2_2.rar. Жду мнений, а еще упомянутых не найденных схем, если у кого есть таковые.
А время все же устанавливалось и хранилось в памяти таймера. Я имел ввиду схему контроллера цвета 16 цветов на МХ в упомянутой брошюре. Если все получится, В ПЛМке у меня программным образом контроллер цвета расписан.
В стадартном Специалисте производится вывод 8 цветов с перехватом записи номера цвета в порт FF02 (упомянутый контроллер цвета Алексеенко), а в МХ - 16 цветов при обращении к контроллеру цвета U1 (готовой схемы нет, канула вместе с авторами МХ версии).
P.S. В ПЛМке я описывал на языке VHDL все элементы стандартного Специалиста (синхрогенератор, работа с памятью и т.д.), а также расширитель памяти для портов МХ.:v2_blush:
Вот предварительная схема ПК "Специалист МХ".
Вот предварительная схема ПК "Специалист МХ".
Вот ПЛИС и до Специалиста добралась. Супер. Живой экземпляр планируешь делать? Интересно потом посмотреть фотки готовго девайса.
AY не планируешь ставить?
А как же, тем более с ним уже почти год вожусь
А как же, тем более с ним уже почти год вожусь
Знаешь, вопрос к тебе. А почему ты шину расширения только на ВВ55 вывел, а процессорные сигналы(шину данных, адреса и управления) не выводил(например как в Орионе, Векторе или других компах).
Думаю, если ты потом захочешь развивать свой проект, то ничего больше подцепить не сможешь. А так можно было бы потом AY подцепить или еще чего нибудь. Если еще не разводил, добавь ее, если конечно есть мысли по дальнейшему развитию.
...А почему ты шину расширения только на ВВ55 вывел, а процессорные сигналы...
Я ставлю своей целью собрать 100% совместимый Специалист. Сигналы управления, шину данных и адреса я и не планировал выводить наружу. В Специалисте все расширение шло через ВВ55 №2, в МХ - сигнал U2 (резерв). Это и достаточно, тем более в МХ есть и контроллер дисковода, и таймер, и контроллер цвета (изначально Специалист выдавал черно-белый видеосигнал). Чел, который Орионом в данный момент занимается (непомню его ник) подключал контроллер винчестера к ВВ55. Так что не вижу никакой надобности расширение делать не средствами ВВ55. Тем более был неудачный пример расширения Специалиста и не продуманная замена ВМ80 на Z80. Итог печальный - несовместимость ПО и неповторяемость ПК (Эрик).
Тем более был неудачный пример расширения Специалиста и не продуманная замена ВМ80 на Z80. Итог печальный - несовместимость ПО и неповторяемость ПК (Эрик).
Ну если ты выведешь сигналы допустим как в Орионе разъем X2(слот расширения). Совместимость ПО вряд ли этим можешь потерять, а в будущем можно будет подключать дополнительне девайсы. Ну это так к слову, естественно разработчик ты и тебе виднее как творить сей девайс. Я только высказал свое мнение-пердложение. :)
Может вспомним откуда на Орионе появились игры и ПО. Да большинство перенесли со Специалиста. И без доработки Специалист будет востребован. Я не ищу коммерческий интерес. Пару плат соберут и то не плохо.
На счет девайсов. Может перечислить какие нужны? Мне вообще ни чего не нужно. Есть выход на гибкий/жесткий диск и дополнительный порт и то не плохо. Специалист - это не Спектрум совместимый ПК, ему, по-моему расширение не нужно.
P.S. Программа и прошивка готовы. Сейчас буду собирать на макетке в три этапа:
1. Девайс без контроллера цвета и контроллера дисковода с целью посмотреть вывод черно-белого сигнала и работу с памятью;
2. Специалист с контроллером цвета, причем в режиме МХ с 16 цветами;
3. Окончательная версия с контроллером дисковода.
Специалист на ПЛИС http://easyelectronics.ru/forum/mydevice/fpga
Вот нашел сайт, может уже и мертвый, но еще показывающий. Может кому пригодится, смотрите - http://avsh-soft.by.ru/index.html .
Чуть-чуть оживлю тему. Отладка схемы на плисине продолжается. Вот здесь кое-что из текущей работы http://www.newretropc.ru/spets_mx_plm.html
На данный момент сделал:
1. Прошил плисину исходя из схемы http://www.newretropc.ru/Spetsialist/Spetsialist_mx_plm.pdf:v2_dry:
2. Есть сигналы с плисины прямого сброса (для ВМ80 и ВВ55) и синронизации на процессор (F1 и F2).:v2_conf2:
Сегодня продолжу.
:v2_neutr:
P.S. ссылка на форум сайта easyelectronics.ru (см. несколько постов назад) рабочая. Там чел на Verilog'е написал програмку, зашил ее в Xilinx и сделал рабочий вариант Специалиста. Особенно интересно как он сделал занос программ с SD карты и подробно расписал на Verilog'е механизм опроса PS/2 клавы и преобразования кода нажатия. Я пока только врубаюсь в программу и нарисовал приблизительную схему.:v2_thumb:
sergey2b
23.11.2009, 12:34
хорошая статься про специалист
http://shoorick.ho.ua/spec/index.html
автору респект за упорство
Попутно сочиняю еще один проект. Тут ссылка пробегала про автора проекта на Xilinx'еhttp://zx.pk.ru/showpost.php?p=187250&postcount=10 , я взял от него идею, коды. Схема очень большая, уменьшил с потерей качества:
http://www.newretropc.ru/for_out/DevBoard_Spec.png
Пояснения:
1. Используется первый Циклон от Алтеры.
2. ОЗУ применяется трехвольтовое - первое - общая память и видео цвета, другое - RAM-диск.
3. ROM-диск на 27020,тоже как и RAM-диск на 8 страниц по 64 кБайта.
4. На плате три стабилизатора на 5, 3,3 и 1,5 вольт.
5. На Атмеге собран считыватель с SD карточки файлов программ и игр, драйвер поддержки будет размещён в Циклоне.
6. В Циклон ещё поместится эмулляция 8080 процессора (потом может и Z80), а также 580ВИ53, порт клавиатуры, селектрор адресов от МХ и т.д.
7. На 580ВВ55 собрано расширение для МХ и контроллер винта от ewgeny7, автор нового Ориона.
8. И напоследок - выход: видео - VGA монитор и звук, ввод с PS/2 клавиатуры.
Павел Рябцов
10.01.2010, 15:33
fifan, Ну когда же ты что нибуть сотворишь?Хочется повторить!!!
sergey2b
10.01.2010, 15:52
fifan может лучше сделать новый проект на de1, помоему более популярен будет так как западные товарищи смогут попробовать и для многих будет стимул купить de1 так как на ней уже есть msx, вектор (в котором можно запустить программы от rk86) zx и несколько западных компов
часть кода вы сможете использовать от проекта вектора
Денег нет плату заказать, жду зарплату. Вот такая платка будет.
Блин не выносимо картинку уменьшили. См. эту. http://www.newretropc.ru/for_out/Board.png
balu_dark
10.01.2010, 17:22
Кстати fifan я навсяк случай скопировал содержимое твоего сайта может и оффтопик но что там у тебя с хостингом? Закроеш сайт или останется все как было?
Павел Рябцов
10.01.2010, 21:41
fifan, Мне закажи одну?А.
Если надо хостинг то у меня есть проплаченный на год,правда осталось месяцев девять уже.
Отвечу кратко:
1. Сайт закроется постепенно в марте, перейду на другое имя сайта, с другим интерфейсом. Сайт будет посвящен только ПК "Специалист" и всем его клонам.
2. Старые файлы по PIC разработкам и ZX-Spectrum перемещу в архивы на новый сайт.
3. Ладно закажу три платы (две для себя). Больше не просите пока, дайте запустить девайс. Фирма, которая будет делать плату предупрежу о дальнейшем выпуске платы, возможно в большем количестве. Смотрите печатку в полном виде.
http://www.newretropc.ru/for_out/Spetsialist_MX_PLM.rar
Павел Рябцов
11.01.2010, 08:10
fifan, Где будешь заказывать?Может в техносвязи или заказ плат попробуешь,там дешевле всех.
Да есть одна фирма, сотрудничаю с ней давно. Буду заказывать "зелёные" платы. http://rezonit.ru/
Павел Рябцов
12.01.2010, 08:19
fifan, Так там цены грабительские))))Платы как золотые выйдут.Узнай ещё в этих двух или давай я узнаю.Только размер надо платы.
Может быть... Вот что они мне прислали:
за 3 шт. первый раз возьмут 947,49 рублей за 1 шт.:frown:
за последующие 10 шт. и более по 368,69 рублей за 1 шт.:frown:
Размеры платы: 230,0 на 140,0 мм.
Кстати, в "Техносвязи" (http://www.techno-svyaz.ru)не так уж дешевле: примерный подсчет трёх плат: 1226.82 руб+ подготовка производства - 680 руб. В "Резоните" все вместе - 2842,47 рублей. Так что выбирать?
balu_dark
12.01.2010, 20:06
ну какбы на тыщщу дешевле. но выбирай то что будет проще доставить к тебе.
Павел Рябцов
13.01.2010, 00:59
fifan, Давай лучше в Техносвязи,экономия блин нормальная,ну пусть доставка 150 выйдет,всё равно дешевле.
fifan, Давай лучше в Техносвязи,экономия блин нормальная,ну пусть доставка 150 выйдет,всё равно дешевле.
Ладно, уговорил. Заказываю три, одну - тебе.
Павел Рябцов
13.01.2010, 10:15
fifan, Давай я тебе деньги за её переведу и попроси чтобы они сразу на мой адрес её выслали.
Хорошо, дня три-четыре потерпи. Буду заказывать, тебе тоже закажу. Пиши адрес в личку.
Ну что, платы запущены в производство. Резисторы нужны будут вертикального исполнения или SMD, обязательное использование ЛА8 только 155 серии, ПЛИС в корпусе PGA 84 и 44 устанавливаются на панельки. Под ИР13 необходимо будет поставить панельки, т.к. под ними будут запаяны ИР33 и АП6. Под выводы на клавиатуру и на дисковод применяются резисторные сборки или соответствующее количество вертикальных резисторов. Под программирование ПЛИСин нужны 10 контактные джамперы (2 штуки), питание при программировании отключается от схемы и подаётся от программатора. Программатор собирается по этому мануалу: http://www.newretropc.ru/Docs/Byte Blaster.pdf.
И последнее: я применял БП от писишки с 12 контактным разъёмом, но можно подать и отдельное: +5, -5, +12 вольт.
Павел Рябцов
29.01.2010, 09:03
fifan, Почему ЛА8 именно 155?То что питалово пот АТ блок питания это хорошо.Разьёмы XS1 и XS2 какие стоят?
Я где-то тут писал, что К155ЛА8 обладает достаточной нагрузочной способностью. Я ставил К555 серии, напряжение на выходе не превышало половины положенного. Питание подается или разъёма от AT блока питания (12-ти контактный) или раъёмов XS1, XS2. Они типа СНО51-30 - простот такие у меня остались от Специалиста Экспресс. Можно вообще обойтись без разъмов.
Случилась затыка с выводом черно-белого сигнала. Собрал по схеме (рис.2) (VT4). Нагружаю вывод C19/C20 на Scart - сигнал гасится чуть ли не в ноль. Без нагрузки синхроимпульсы с видеосигналом прекрасно присутствуют. В чем дело?
http://www.nedopc.org/nedopc/upload/sp1.png
http://www.nedopc.org/nedopc/upload/sp2.png
fifan, конденсаторы на выходе "закороти". Уже проходили это на Орионе с аналогичным "миксером".
Спасибо, попробую. Кстати "сброс" сейчас вообще не вырабатывается. Хотел написать симуляцию D-триггера, не получилось:
-----------------------------------------------
-- Триггер сброса. Формирует инверсный сигнал сброса /res
-----------------------------------------------
process (reset1,hcnt(1 downto 0),vcnt(8),clkres)
begin
--
-- +----+------+
-- VCC (+5 V) ---0 /R | T |--- res1
-- |----| |
-- reset1 -------| D | |
-- clkres -------| C | |
-- |----| |
-- VCC (+5 V) ---0 /S | |
-- +----+------+
--
clkres <= not((not(hcnt(1) or hcnt(0)) and vcnt(8)));
if (clkres'event and clkres = '1') then -- сигнал изменился в 1
res1 <= reset1; -- инверсный сигнал сброса
end if;
end process;
nres <= '1' when res1 = '1' else '0';
fifan, конденсаторы на выходе "закороти". Уже проходили это на Орионе с аналогичным "миксером".
Ничего не помогло. Довел амплитуду до 4,4 В на выходе. Ситуация та же: как только подключаю разъем к Скарту амплитуда падает до нуля и соответсвенно ничего нет на экране... Можеть у меня на телевизоре входные цепи со Скарта перегорели?:v2_frown:
balu_dark
25.04.2010, 00:28
А ты точно не ошибся в распиновке скарта и точно ли не коротят соседние ноги в пенельке скарта? проверь свой видеовзод со скарта не висит ли он на земле. а еще проще - попробуй на тюльпан composit видео свое подать и посмотреть упадет или нет уровень.
fifan, сверь свою распайку. Не повесил ли ты сигналы цветности на соседние "цветные земли"?
На выводе 16 у меня 1,7 В, вывод 8 я никогда не использовал. Поправки: я подаю черно-белый сигнал; все работает при подключении Speccy2007.
balu_dark
27.04.2010, 15:22
fifan так а как ты подал сигнал с цифровой микросхемы ( еще и низковольтной) на аналоговый вход телека? ты бы хоть эмитерный повторитель на каком нибудь КТ315 сделал. иначе выход у тебя не предназначен работать с такой нагрузкой! возьми для теста 555ЛН1 и через 2 инвертора подряд подай синхру на телек через резистор в 100 ом. и посмотри разницу.
стоп - или ты с какого вывода разьема на телек сигнал подаеш не с ХР7.7? и еще - не перепутал ли случаем подключение кд522 - у них с 1N4148 маркировка противоположна.
Нет, XP7.7 - вывод синхры, он нормально приходит на Скарт с нормальным уровнем 3-4 В и не гасится как сигнал на выходе XS1.28 - падает практически до нуля при подключении к Скарту. Самое интересное, что все работало на монтажке, перенес на печатку - и все загасло. C19/С20 тоже замыкал по совету Ewgeny7.
balu_dark
27.04.2010, 16:35
а не ошибся на печатке? проверь разводку платы и как впаял транзистор и диод. кстати - не попался ли тебе кт 361 вместо 315? у меня был вариант что на заводе перепутали маркировку - только прибором и обнаружил подмену.
и немного меня смущает голые 5 вольт на эмиттере. я бы резюк поставил в разрыв гдето ом на 500 . иначе схема не логичной получается - по смыслу она должна припускать или не пропускать импульсы со двигового регистра управляясь синхрой а тут получается 5 вольт тоесть еденица висит постоянно.
Транзистор проверял - npn. Схема практически полностью повторяет оригинальную Специалиста. В эмиттерной цепи вообще-то резистор на 100 Ом стоит. Повторяю - схема работала на мотажке со всеми этими номиналами резисторов. Причем на базе и на эмиттере без нагрузки присутствует весь видеосигнал (проверял осциллографом).
Компьютер заработал! Треть поставленных задач выполнена! Сейчас борюсь с цветом. Пока вот такая гадость на экране. Должно быть как на втором рисунке. Предварительную схему нового компьютера можно посмотреть здесь - http://www.spetsialist-mx.ru/for_out/NewSpets.gif (http://www.spetsialist-mx.ru/for_out/NewSpetsMXPLM.png).
Пардон, а два процессора - это реализация "8080 Core Duo"? :)
Да, круто подмечено! :v2_yahoo: Одновременно будет использоваться либо ВМ80+ЛА8 либо Z80.
Кстати реализация SD интерфейса будет поддерживаться эмулляцией контроллера дисковода (U3/U5) посредством специально написанного BIOS'а.
С целью отладки достоверного отображения цветов прошу поделиться файлами цветных игр для "Специалиста". Игры к не оригинальному и МХ версии не предлагать. Желательно указать с каким монитором работает игра.
Пока вот такая гадость на экране.
Очень похоже на то что во время гашения что то на экран выводится
Полным ходом идёт реализация Специалиста на DevBoard "Reverse". См. здесь (http://www.zx.pk.ru/showthread.php?p=321936#post321936).
Получил по почте и спаял часть деталей в выходные нового Специалиста_MX_FPGA (http://www.spetsialist-mx.ru/for_out/NewSpets.gif). На очереди подключение платы и проверка основных питающих напряжений.
http://s46.radikal.ru/i111/1111/9c/e9d08c265cd1t.jpg (http://radikal.ru/F/s46.radikal.ru/i111/1111/9c/e9d08c265cd1.jpg.html)
Несколько занят другим проектом - не как не запущу Специалист_МХ2. А комп с фотографии предыдущего поста требует немного деталяк, а именно - буферы шины адреса и данных на выходной разъём и кое-что из мелкоты. Чуть приторможу его запуск.
Вернулся к проекту. Исправил глюки. Попытался задействовать драйвер 8253 (таймера) - пока нет успехов. Может подскажит автор реализации таймера в своём проекте на ПК Вектор где собака зарыта. Вот сам драйвер и способ подключения таймера в Специалисте_МХ.
http://s52.radikal.ru/i135/1112/7c/f5acb78277c8t.jpg (http://radikal.ru/F/s52.radikal.ru/i135/1112/7c/f5acb78277c8.jpg.html)
Исправил прошивки. Русофицировал клавиатуру. Исправил назначения клавиш:
Shift - НР
Alt - РУС / LAT
Delete - Сброс
Num или Pause - МХ / Стандарт
Scroll Lock - Тест включен/выключен
Page Up - режим Turbo
Page Down - режим Normal
Проект движется к своему логическому завершению. Таймер до сих пор не покорился. Последняя прошивка доступны на моём сайте, на странице посвященной проекту (http://www.spetsialist-mx.ru/index9.html).
По результатам гугления - неужели никто не сделал Специалист для DE1?
По результатам гугления - неужели никто не сделал Специалист для DE1?
Было вроде что-то. А нет там (http://forum.easyelectronics.ru/viewtopic.php?f=16&t=40) просто Devboard.
А в чём проблема? Клонирование на другую плату в Квартусе делается за пару часов.
По результатам гугления - неужели никто не сделал Специалист для DE1?
Глобальной проблемы переноса c Reverse нет, это даже проще, чем с DE на Reverse перетаскивать :)
Где можно скачать рекомендуемый bios.bin? Для пробы переименовал test-m в bios.bin - насколько могу судить загрузилось и заработало. Или "штатного" bios.bin не существует и нужно самому что-то сделать?
---------- Post added at 20:21 ---------- Previous post was at 19:23 ----------
Уточню - я про bios.bin на sd-карточке, который загружается dos1.bin находящимся в lpm_dos1
В u10_spets_fpga_rev44.rar (скачивал когда-то из репозитория reverse) есть bios.bin совпадающий с dos1.bin, вряд ли его нужно писать на карточку
В своём проекте я сделал этот файл запускным. По идее на его месте должен был находится какой-нибудь монитор с загрузчиком, как в стандартном Специалисте. Но я поставил BIOS Loader v.5, каковым по сути является bios.bin. Это загрузчик системы (файла с таким же именем) с SD карты. Контроллер применялся от Hardwareman'а. Он же является и автором данной программы. Когда-то он предназначался для Специалиста_МХ2, но ПЛИС с контроллером я не смог на данном компьютере запустить и всё осталось так как есть.
Для ПК на u10 данный файл действительно можно заменить на любой Монитор или даже на тест, как Вы сделали. В принципе всё должно работать. Я на SD карту записывал файл BIOS.BIN с обычным монитором 2 и своим Standart Spetsialist Browser'ом. Последний (http://zx-pk.ru/showthread.php?t=17071&page=11) запускал любые rks файлы с SD карты.
При портировании на de1-soc столкнулся с плавающим дефектом - показывает только примерно треть или четверть левой части экрана (с портом на de2-115 проблем не было).
Менял фрагмент
if hcnt = 32 then hsync <= '0';
elsif hcnt = 90 then hsync <= '1';
на
if hcnt>=32 and hcnt<90 then hsync <= '0';
else hsync <= '1';
и такой вариант в ряде случаев показывает всю ширину.
Смущает надпись про бету в spets_fpga.vhd
-- Spetsialist_MX_FPGA beta version --
-- 31/01/2012
Может есть окончательный вариант, а я, как уже было с орионом, плюхаюсь с промежуточным?
Смущает надпись про бету в spets_fpga.vhd
-- Spetsialist_MX_FPGA beta version --
-- 31/01/2012
Может есть окончательный вариант, а я, как уже было с орионом, плюхаюсь с промежуточным?
Эту надпись когда-то в самом начале отладки записал в файл Ewgeny7. По сути этот проект почти закончен. Почти это только недоделанная эмуляция ВИ53. Я как мог приспособил исходники от Вектора, но где-то что-то я не совсем правильно сделал. ВИ53 я подключал как на схеме селектора адресов Специалиста_МХ.
http://www.spetsialist-mx.ru/schemes/SpetsialistMX1.png
Дополнение про глючок. Если вышеприведенная правка не помогает, то может помочь замена
if (hcnt = 128 and vcnt (9) = '0') then screen_pre <='1';
elsif (hcnt = 511) then screen_pre <= '0';
на
if (hcnt>=128 and hcnt<=511 and vcnt (9) = '0') then screen_pre <='1';
else screen_pre <= '0';
но в целом суть этой плавающей проблемы мне непонятна
Познавательный вопрос - почему в проекте не использован сторонний модуль 8255, например от MikeJ, как в векторе? Были какие-то особые причины или просто так получилось?
А нафига? Все возможности там не нужны. А так - даже интересней.
А всерьез - не помню....
То же скажу: нафига? В Специалисте он нужен для организации ввода символа с клавиатуры, ну ещё звук и общение с магнитофоном. Клавиатура у нас PS/2, адаптация программная. Магнитофон не используется, звук вывел Ewgeny7.
но в целом суть этой плавающей проблемы мне непонятна
Могу предположить... Поскольку счетчики не моментально выравниваются после такта, то возникают "иголки" неверных цифр, что сбрасывает состояние синхры.
А у Циклона2 на ДЕ1 вероятно временнЫе характеристики похуже. чем у третьего циклона на реверсе, и этот (каюсь) быдлокод дает о себе знать.
Ну, все мы когда-то начинали...
А мне все никак не созреть переписать проект по-нормальному, синхронному.
Это я пробую на de1-soc (5й циклон). На de2-115 (4й циклон) таких приколов не было. Надо заметить, что de1-soc более капризный, чем de1 и de2-115 - если не задать хотя бы главный клок в .sdc, то проекты просто не работают (две другие девборды могут и без sdc)
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot