С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
У меня только предположение, что тайминги сигналов, управляющих ОЗУ, где-то съехали. Как при чтении, так и при записи на ОЗУ должны быть поданы сначала младшие 8 разрядов адреса, потом сигнал RAS, потом старшие 8 разрядов адреса (для этого адресные мультиплексоры должны переключиться по сигналу SWA), потом сигнал CAS. При записи одновременно с подачей старших разрядов адреса должен быть установлен один из сигналов ЗП1 или ЗП2.
Если один из сигналов приходит не вовремя, то либо чтение или запись пройдут по неправильному адресу, либо вообще информация начнет разваливаться. Почему это происходит только со второй половиной ОЗУ - вопрос. Наверно, надо копать в районе D28, D29, которые отвечают за подачу старших разрядов адреса. Возможно, эти микросхемы слегка придерживают адрес и некоторые микросхемы ОЗУ вместо адреса столбцов ловят адрес строк.
Также надо проверить R24-R27. Если у одного из них обрыв, "звон" на адресных входах ОЗУ увеличится. Лучше им выпаять одну ногу и померить омметром.
Алексей, а попробуй вот еще "тестилки": на сегменты 2-3 подключаем банки 8-9 и отображаем их в ЦГВР и тестируем их. Одна только запись, вторая - запись с последующим чтением.
Последний раз редактировалось LeoN65816; 28.11.2016 в 18:16.
Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).
Спасибо. Если замена D75 не поможет, буду пробовать эти тестовые прошивки и заодно проверю резюки.
Последний раз редактировалось Wierzbowsky; 28.11.2016 в 19:29.
Я чего-то протупил. D75 ведь еще формирует сигнал DA6 и, судя по осциллограммам, он не в порядке (смешивается с обоих входов мультиплексора). А младшие адреса, вырабатываемые ДК, используются для регенерации ОЗУ. То есть, при включении графических режимов часть адресов не регенерируется. Отсюда и подвисания.
Ну тогда всё понятно. Надеюсь замена мультиплексора решил проблему. Но он, сцука, уже 5й день ползёт ко мне из соседней области...
Уря! После замены D75 вся агатовская графика начала работать! Проверял на играх и ИКП, также запускал тест "Бейсик", который рисовал в разных экранах постоянно пища динамиком. Спасибо за советы всем, особенно Владимиру (в частной переписке).
Теперь даже в Эпловском текстовом режиме не мусор и даже графика как-то работает. Но похоже ещё есть глючок. Внизу картинка с эффектом зеркаленья в текстовом режиме Эппловского Бейсика (хотя возможно это графический режим). Верхняя треть экрана зеркалит 3 раза, средняя треть не зеркалит вообще, а нижняя треть зеркалит один раз там, где в верхней части зеркалилась вторая колонка. В Эппловской графике похожие эффекты. Видимо на плате ещё одна или несколько неправильно работающих микросхем...
Буквы "А" я вводил сам, чтобы показать где зеркалит...
Последний раз редактировалось Wierzbowsky; 06.12.2016 в 04:37.
Похоже, разряды DA3-DA5 неправильно формируются. За них отвечают D74, D73, но учитывая, что агатовские режимы работают нормально, D74 скорее исправна. Похоже, без замены ПЗУ не обойтись.
Но для начала надо это проверить. В мониторе очистите первую эппловскую текстовую страницу:
400:A0
401<400.7FFM
Потом введите такую программку:
1800:A2 00 8A 9D 00 04 E8 D0 F9 2C 54 C0 2C 51 C0 60
и запустите 1800G
Должна быть примерно такая картинка
(во второй трети экрана символы @ABCDEFGHIJKLMNO в первой из двух строк мигают, в третьей трети мигает вся первая строка)
Вот что получилось. Зеркаленье чётко видно.
Мигание работает корректно.
Последний раз редактировалось Wierzbowsky; 09.12.2016 в 01:49.
Нда. Получается, что в диапазоне адресов 00-7F ДК выдает
вместо 08-0F -> 00-07,
вместо 18-1F -> 00-07,
вместо 58-5F -> 40-47,
вместо 60-67 -> 68-6F.
Если бы тут была какая-то закономерность (например, портились бы только адреса кратные 16), можно было бы подозревать, скажем D61, D67 и D62, D68, но я лично тут никакой закономерности не вижу (да и на агатовских режимах это бы сказывалось). Почти наверняка это D73.
Я когда-то менял 82S129 на КР556РТ11, думаю в обратную сторону тоже прокатит, если удастся их найти.
Или надо попробовать какую-нибудь ПЛМ, как предлагал LeoN65816.
На крайний случай, можно попробовать сделать замену на мелкой логике.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)