Mick, все же занудно еще раз спрошу - на вход 13 (сброс) D9.2 подается чистый H1/ без всяких добавок?
Мое предложение по модификации SC/ было рассчитано на борьбу с лишней записью в такте SYNC. В текущем варианте не вижу, как эта лишняя запись может появиться.
Есть как минимум 2 варианта дальнейших действий:
1. Попробовать поймать логическим анализатором момент ошибки.
2. Можно сделать простейшую программку, которая будет по кругу переписывать на экран картинку из пзу. Сама программа должна полностью работать из пзу, никаких подпрограмм и прерываний. Можно писать по разному в разные трети: например в верхнюю одиночные записи по ld (de),a , в среднюю стеком. В нижнюю можно попробовать записать только один раз при старте. Подождать и посмотреть, будет ли портится картинка в верхних третях.
Т.е. вопрос в том, проблема с записью или она шире?
- - - Добавлено - - -
Если идея с программкой устраивает, то я могу написать или сам сделаешь?
- - - Добавлено - - -
Как вариант - в нижнюю треть можно один раз на старте переписать из пзу, а потом в цикле читать озу и писать в ту же ячейку
Сценарий работы test3pic
0. При старте задает атрибуты белое на черном, переписывает картинку из пзу в нижнюю треть экрана побайтно и устанавливает черный бордюр
Дальше бесконечный основной цикл
1.1. Переписываем картинку из пзу в верхнюю треть экрана побайтно
1.2. Сверяем верхнюю треть с пзу, если несоответствие, то устанавливаем красный бордюр
2.1. Переписываем картинку из пзу в среднюю треть экрана стеком (push)
2.2. Сверяем среднюю треть с пзу, если несоответствие, то устанавливаем зеленый бордюр
3.1. "Освежаем" (читаем и пишем по тому же адресу) картинку в нижней трети экрана побайтно
3.2. Сверяем нижнюю треть с пзу, если несоответствие, то устанавливаем синий бордюр
Картинка "абстрактная", столбцами высотой 64 строки значения от 0 до 255
В эмуляторе или в стабильно работающем компьютере ничего не будет происходить, черный бордюр и черно-белая картинка.
При наличии ошибок возможно они будут заметны визуально (картинка будет "дышать", точки меняться) а возможно их обнаружит и программа и бордюр изменит цвет. Здесь при обнаружении ошибки цикл не останавливается, поэтому теоретически цвет бордюра может меняться несколько раз или все время.
Наиболее показателен был бы вариант, когда поведение третей отличается, например одна стабильна, а две другие меняются или наоборот.
Также возможен вариант, когда ошибки визуально не заметны, а программа бордюром сигнализирует об их нахождении. Тогда скорее всего проблема с чтением.
Mick(14.12.2020)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Попробовал на медленном Днепр 9010 - картинка статична, попробовал на Родон 9005 - картинка дышит, но не постоянно, а через какие то промежутки времени.
Причем бордер может меняться по типу красный - синий, зеленый - синий или красный зеленый - синий. Всегда после смены бордера возвращается синий.
Нижняя часть не восстанавливается если портится, а вот верхние две части если и портятся, то тут же восстанавливаются (бысро промаргивают).
Опыт на 3МГц
ivagor(15.12.2020)
Получается все же у быстрых процов на 3 МГц проблема с записью
- - - Добавлено - - -
Переделал тест для проверки, не идет ли иногда запись в такте 1 цикла (когда SYNC).
Бесконечный цикл:
1. Переписывает картинку из пзу побайтно в среднюю треть (в test3pic так писал в верхнюю треть)
2. Сверяет с пзу.
Если обнаружит ошибку, то напечатает на экране ошибочный байт в двоичном виде. Несколько секунд бордюр будет красным, в это время тест на паузе. Потом бордюр станент черным и тестирование продолжится. Последний ошибочный байт будет оставаться на экране.
Если ошибочный байт будет всегда одинаковый, то скорее всего это слово состояния (FETCH=10100010 или MEMORY_WRITE=00000000)
ivagor(15.12.2020)
Mick, в zx8080, насколько могу судить по схеме, такого (разных RASов в активной области и на бордюре) ведь нет? Не вижу в zx8080 откуда они могут появиться.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)