Да
Нет
Господа, если у кого есть фирменные 48к и 128к - просьба проверить мою сборку DivGMX в режиме DivMMC:
Сырцы в ветке https://github.com/andykarpov/DivGMX/tree/divmmc
Тестовая сборка для ep3: https://github.com/andykarpov/DivGMX...0180215-15.zip
Что добавилось: синхронизация работы портов divmmc через клок с краевого слота.
У меня стабильно все работает на Harlequin 48k.
На карабасе с сигналом CLK на ZX BUS - недоработка, он должен быть инверсным по отношению к клоку процессора. Пустил через инвертор, но все равно - черный экран по NMI, пока не пойму, чего ему не хватает...
Github: https://github.com/andykarpov/
Мои изыскания по этому поводу:
1) R34 в Карабасе можно заменить на перемычку, но толку не будет - все равно внешний ROMCS, который блокирует встроенный ROM - программный.
2) Пробовал делать R34 680 Ом и заводить сигнал с краевого слота на ПЗУ в обход программной блокировки - толку тоже нет.
3) DivGMX подменяем ROM без вопросов как в текущем программном режиме, так и в железном (по аналогии с оригинальными спектрумами).
4) Проблема где-то в другом, потому как один знакомый пробовал Карабас с разными железячными DivMMC (DivSD Nano от ZAXXON, DivMMC Future который вообще, кстати, от клока отвязан) - не работает ни в каком виде. Подозреваю, где-то в карабасе конфликт с видео-модулем, уже все возможные варианты перепробовал - не получается завести divmmc...
5) С другой периферией, которая используем ROMCS проблем нет - например ZX BDI 2.0, ZX Dandanator Mini - все работает как часики. Да и DivGMX в режиме тестовой ПЗУ тоже как бы работает без проблем.
Вот видео работы DivGMX в карабасе в режиме DivMMC и в режиме тестовой ПЗУ )))
- - - Добавлено - - -
Вот, кстати, интересный блог и статья по поводу разработки продукта DivMMC Future: http://blog.tynemouthsoftware.co.uk/...mc-future.html
Автор пишет, что с клоком на разных моделях спектрумов - полная беда, на некоторых он вообще отсутствует, поэтому приходилось всякие перемычки городить, клок заводить через триггер, пытаясь его привести к нужному виду - но все равно процент машин, на котором DivMMC не работал оставался высоким. И автор пришел к выводу, что внешний клок вообще не нужен ) Точнее как- он нужен только для чтения с SD-карточки. При этом опытным путем было выяснено, что достаточно пустить туда свой клок 4.0МГц.
Этот вариант тоже хочу попробовать на DivGMX
Github: https://github.com/andykarpov/
UPD: По поводу карабаса - завел на нем DivMMC от Zaxxon (nanoSD).
Эта штука юзает CLK с краевого слота ZX BUS, на карабасе пришлось сделать его инверсным через один из свободных инверторов IC4, дабы соответствовать стандарту спектрума.
Работает очень стабильно, "без единого разрыва"
Товарищ Ricardo Saravia из retroshop.pt завел Karabas-128 с DivMMC Future от Ben Versteeg, в этом девайсе вообще CLK не используется.
А вот с реализацией DivMMC на DivGMX какая-то ерунда.
При чем есть подозрение, что ROMCS тут вообще ни при чем, а дело где-то в скорости переключения ШД на чтение / запись или в контроллере SDRAM...
ЗЫ: кстати, какие только ухищрения люди не делают, чтобы в DivMMC выровнять клок от ULA в более-менее юзабельный вид. В реализации Zaxxon стоит, на секундочку, 74LS123 + 74LVC1G14.
Но, раз у товарища Ben Versteeg - там вообще отдельный генератор на 4МГц и клок с ZX BUS не используется - значит и нас ничего не держит чтобы так же сделать.
Посему, vlad, надо искать узкое место. У шинных трансиверов в DivGMX есть какие-то заявленные характеристики на задержки в прохождении сигналов при переключении направления?
Github: https://github.com/andykarpov/
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Подключи DivMMC, сними характеристики и сравни с DivGMX, всего-то... Пишут всякую ерунду в начале не разобравшись, что у них ничего не работает... У меня работает.
Снять какие характеристики?
Тут же процессы в динамике смотреть надо, в комплексе: !RESET, !WR, !RD, !MREQ, !IORQ, !CLK, ZXROMDISABLE, !M1 + как DivMMC общается и в какие моменты со своей памятью - EEPROM / SRAM, то есть как минимум еще !EEPROM_CS, !EEPROM_WE, !SRAM_CS, !SRAM_WE. В принципе, 8 канального логического анализатора должно хватить на основные сигналы, но чтобы посмотреть в привязке к ША и ШД - тут надо что-то серьезнее, имхо )
Для начала - можно и просто осциллографом потыкать, наверное )
Github: https://github.com/andykarpov/
SignalTap II Logic Analyzer
Мощная и интересная штука:
— позволяет наблюдать почти любой внутренний или внешний сигнал
— частота выборок ограничена только быстродействием чипа (для Циклона 250 МГц)
— до 2048 каналов
— 128к выборок на канал
— поддерживаются все FPGA семейства
— отслеживание состояний конечного автомата
— гибкая настройка моментов выборки
Какие проблемы? ))
- - - Добавлено - - -
Как проверить DivMMC? Подключить его к DivGMX в роли Спектрума
Github: https://github.com/andykarpov/
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)