С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Где-то почему-то стирается этот самый код F3. Вернул 37 строк, вроде не болтается, но теперь уехало вправо. Пока дальше трогать не буду, надо разобраться кто мне затёр управляющий код.
mcpg_0004.zip
Доотладил тест, выгреб кучу ошибок, странно как он вообще работал. Работает в каноничном режиме МЦПГ, из 37 строк активных получается максимум 27. Вот он : mcpg_0005.zip
Что то получается, а что то нет. У меня сейчас на экране видна лишь узкая вертикальная полоска с меняющимися цветами, и цветной клеткой, (все как в эмуляторе), но полоска в 4е точки и все.
Похоже, что нарвался на неправильную работу dll ПДП, разбираюсь и не пойму как идет инициализация при включении МЦПГ.
Вот выдержка из кода теста:
0DB08h это регистр конфигурации, в него пишется 080h, 004h, 0D0h, 076h, все нормально, а дальше идет инкремент L и еще три записи в адрес 0DB09h, и такое моя dll не воспринимает, да и в даташите об этом ничего не говорится, что это?Код:0173 E0D5 21 08 DB LXI H,0DB08h 0174 E0D8 36 80 MVI M, 080h 0175 E0DA 36 04 MVI M, 004h 0176 E0DC 36 D0 MVI M, 0D0h 0177 E0DE 36 76 MVI M, 076h 0178 E0E0 2C INR L 0179 E0E1 36 27 MVI M, 027h 0180 E0E3 36 49 MVI M, 049h 0181 E0E5 36 F3 MVI M, 0F3h
похоже это была ошибка в тесте, в версии 0005 с этим все ОК.
- - - Добавлено - - -
Что то заработало!
кадры плывут, тк dll ВГ75 не поддерживает стоп ПДП, сейчас это не важно, и полосатость присутствует, тк на 4х пиксельное знакоместо я сдвиг даю 6 раз. Проблема с сигналом подтверждение ПДП для второй ВГ75 - диод плюс резистор не работает, сейчас просто соединил с первой ВГ75...
- - - Добавлено - - -
сигнал AENL_177 на 6ю ножку ВГ75 проблему решает с ПДП...![]()
Последний раз редактировалось PVV; 19.01.2019 в 11:16. Причина: заменил вложение
Схема с диодом и резистором, которая в МВЦ на 3-м канале DMA, и не должна сработать. Там как раз запрос висит постоянно, и когда он принимается, через диод гасится сигнал запроса, чтобы не мучить ВТ57, пока она текущий запрос не обслужит. Здесь же нужна другая логика - когда активируется (падает в 0) запрос DRQ, должен сразу же подниматься ответ DACK, т.е. между DRQ и DACK должен стоять инвертор. Либо вообще всегда 0 на DACK, а DRQ игнорировать.
Как синхронизировать DACK с ответом от бортовой ВГ57 - я не понимаю, но мне пришла в голову гипотеза. Предположим, бортовая ВТ57 всегда отвечает на запросы от бортовой ВГ75 одинаковое число тактов. Ну а в самом деле, почему нет, прерывать ВТ57 некому, это она всех прерывает. Тогда в обратную связь между DRQ и DACK на модульной ВГ75 нужно кроме инвертора добавить несколько последовательных триггеров - линию задержки на несколько тактов. И вуаля, теперь наши ВГ75 в локстепе, такт-в-такт.
- - - Добавлено - - -
Там кстати в инициализации есть в одном месте NOP, а перед ним посылается команда E0. По этой команде ВГ75 должны сбросить все внутренние счётчики, и ждать следующей команды (в даташите зовётся Preset Counters). Если эта команда не реализована в модели , ВГ75 не смогут синхронизироваться.
перевыложил схему в предыдущем сообщении, почти все работает, все используемые сигналы только присутствующие на разъеме для модуля МЦПГ, но одна и серьезная проблема осталась
как организовать 6МГц клок для сдвиговых регистров цвета? я сейчас сделал эти 6М локальные, но это приводит к рассинхронизации строк, на картинке это видно...
- - - Добавлено - - -
Еще вопрос, ВИ53 в каких адресах на МЦПГ сидит?
Можно взять f3 (1.5 МГц , нога B2), и умножить её фапчем в 4 раза. Либо взять f1b (9МГц, нога B31) и умножить на 2/3. Осциллятор, который 18 МГц, на слот не выходит, так что без ФАПЧа видимо не обойтись.
ВИ53 висит на А2 и А3, есть на картинке в блок-схеме в описании, да и в принципе по коду ПЗУ МЦПГ видно.
- - - Добавлено - - -
Ещё вариант для умножения частоты - без фапча, чисто цифровой с оверсемплингом на высокой частоте, вот статья https://www.rlocman.ru/shem/schematics.html?di=50282
Сомневаюсь я, что на реальном модуле ФАПЧ используется, надо выкручиваться теми сигналами, что есть на разъеме. Не думаю, что разработчики не предусмотрели нужные сигналы на разъеме, для простой реализации такой задачи.
ВИ53 сидит как минимум на 0хDDxx, на сколько точно нужно область адресов отслеживать, вот в чем вопрос. На реальном модуле скорее всего стоит РТ4/5, на дешифрации, но у меня нет желания с ними связываться, лучше лишних пару корпусов мелкой логики для этих целей выделить...
Вообщем получилось что то:
использованы только сигналы доступные на разъеме. Однако я очень сильно сомневаюсь, что так сделано в оригинале.
Использовал деление на 1.5 взятое здесь, 9МГц превратил в 6, и организовал сигнал записи из полученных 6МГц.
Еще отмечу интересный эффект 'CGA снега' при записи в ОЗУ МЦПГ:
я то и раньше его это видел, но не обращал внимание, надо в тесте иначе организовать смену цветов.
ОЗУ МЦПГ заполнить нужными цветовыми паттернами один раз при старта, а дальше цвета менять изменяя коды этих паттернов в основном видео ОЗУ экрана, хотя это и видно то только пол кадра, может и не надо так делать. Нужно прикинуть какой объем памяти надо заполнять в том и в том случае.
Осталось лишь доделать цвета фона, было бы не плохо в тест добавить такое заполнение экранов для тестирования.
Да! Цвета то у нас инверсные! Я заменил КП11 на КП14.
Последний раз редактировалось PVV; 20.01.2019 в 21:24. Причина: удалил вложение с ошибкой, ниже есть правильное
В тесте используется всего 4 символа, это 64 байта. Если переписывать весь экран, это почти 2 килобайта, однозначно дольше будет. Вообще странно, что снег пошёл, я перед каждым обновлением дожидаюсь конца кадра от ВГ75. Или у меня дожидалка не так работает, или я 64 байта слишком медленно формирую , или регистр статуса в ВГ75 неправильный.
И не очень понятно, почему сигнал загрузки на сдвиговых регистрах получается одним делителем на D-триггере, он разве должен быть 3 МГц? По идее загрузка должна быть в 4 раза медленнее выгрузки, на 1.5 МГц.
- - - Добавлено - - -
Добавил в цикл 3 фона - красный, и два неосновых - голубой и фиолетовый, чтобы не сливались с основными цветами. Картинку с полосками поправил, чтобы были видны отдельные пиксели по горизонтали и вертикали.
mcpg_0006.zip
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)