Lethargeek, я не против, нужно разработать ТЗ, попробуем это реализовать.
Вид для печати
Lethargeek, я не против, нужно разработать ТЗ, попробуем это реализовать.
Собрал спектрум подобную двухпроцессорную систему на процессорах nextZ80 по 33.3МГц каждый, совместно делят SDRAM. Процессоры пока работают каждый в своем адресном пространстве по 64К и со своим видео буфером 6912 байт. Для возможности тестирования поддерживается клавиатура с возможность переключения для каждого процессора. Изображение двух спектрумовских экранов наложено на общее разрешение 640х480@60Hz, планирую использовать для тестирования видео режима 640х480 256 цветов.
Вложение 60041
Вложение 60042
А что за флешка там воткнута, ну ка, ну ка?
Добавил видео режим 640х480@60Hz 256 цветов. Адрес начала видео области установлен в ноль, для простоты тестирования и отображения содержимого памяти процессоров для наглядности.
https://youtu.be/PvDHs7dZvf0
Вложение 60079
vlad, это nzx от Ynicky?
vlad, ты назвал файл с буквами nzx и Ynicky тоже так, вот я и подумал, что, возможно, ты сделал его видеорежим.
vlad, такой вопрос: а в репозитарии закоммичена актуальная версия исходников для divgmx_basic?
Пытаюсь завести эту конфигурацию на EP4CE6 в связке с Harlequin 48k, и что-то ооочень странно работает DivMMC, практически не работает.
Холодное включение обычно приводит к черному border и белому paper. Только после сброса видно bootscreen DivMMC.
Меню DivMMC по NMI отрисовывается, после выбора какой-либо игрухи и нажатия на Enter через раз загружается, иногда куча артефактов на экране, какие-то куски меню DivMMC, которые продолжают реагировать на клавиатуру, в общем странное поведение.
Также очень хотелось бы, чтобы USB клавиатура была опциональной для запуска basic-конфигурации.
ЗЫ: В остальном - картинка и звук по HDMI работают.
Да. В общем, ситуация в следующем - для возможности блокировки ПЗУ Спектрума использую сигнал ROMOE1#(A25) и ROMOE2#(A15) (см. схему). Формируется он на элементах - повторителе с ОК (U9B на схеме) и транзисторе Т1, T2 с резистором R36 10K. На плате Спектрума и на плате Harlequin аналогично, этот сигнал через резистор около 680R идет на ROM CE# (выбор кристалла в раза два тормознее работает чем ОЕ# и зависит от быстродействия ПЗУ, у дешевых микрух оно обычно 150нс стр. 3 мануала).
На предоставленном мне ZX-Spectrum +3, конфигурация Basic работала без проблем, т.к. я на нём её и отлаживал.
Есть несколько возможных вариантов решения проблемы, и их нужно проверять:
- если есть возможность, то начать лучше с проверки блокировки ПЗУ через один элемент 2 ИЛИ подключив его место резистора на плате компа и подав управления с DivGMX от U9B (4 вывод) минуя T1 и T2.
- подобрать резистор R36 (зависит режим "насыщения") на плате DivGMX.
- откорректировать логику FPGA.
В harlequin, судя по схеме, используется 470 Ом резистор для сигнала ROMCS (А25):
Вложение 60086
Кстати, посмотрел в схему ZX BDI 2.0 - там вообще нет никаких резисторов для транзисторных ключей:
Вложение 60087
И этот контроллер работает вообще без багов на Harlequin.
Может тоже попробовать выкинуть этот R36?