Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Выделенный кусок кода заливает код 44H с адреса BF00H по BFFFH. Затем, код меняется на 11H, который льется вплоть до EFFFH включительно (экран). Если учесть предшествующее 01H в F900H, то все это льется в атрибуты (страница 1). Затем, снова включается страница 0 и заливается 55H/AAH уже в экран. Ну и дальше по тексту.Последний джамп - бесконечный цикл.
PS Я так понял: заливка атрибутов BF00H-BFFFH другим цветом нужна для проверки синхронизации сдвига точек и атрибутов, о чем уже был разговор выше.
PSS А, лол, это же мой код. Вот жешь, хотя уже забыл о чем речь, по кодам декодировал и восстановил все. Мда, 20+ лет стажу ВМ80 не пропьешь...
Последний раз редактировалось HardWareMan; 29.10.2011 в 20:31.
Может, я сильно подзабыл, конечно... Но непонятно всё же назначение заливки 44h с BF00h по BFFFh. Разве в 1 странице ОЗУ управления цветом не находится в тех же адресах, что и ОЗУ экрана в 0-й странице, т.е. C000-EFFFh? Что это за адреса такие - BF00h-BFFFh - если не просто ОЗУ пользователя?
А бесконечный цикл вроде должен быть C3 2D F0.
В моём "Орионе" тоже присутствуют в левой части экрана артефакты, вот и хотел посмотреть.
Я пока что не набивал программу - у меня выход только ЧБ ан тв тюнер .вот прикручу Пал кодер или VGA-конвертер тогда и проверю
А какой стартовый адрес программы?
АлександрПП, http://zx.pk.ru/showpost.php?p=426838&postcount=249
Всё равно не понял. Там дальше идёт заполнение в первой странице кодом 11h, а потом 0-я заполняется попеременно 55h и AAh. Это понятно. Но для чего заполняется BF00-BFFF кодом 44h? Это ведь просто ОЗУ пользователя, и с видео оно никак не связано?
Так посмотрел. Если в конце зациклить прогу C3 2D F0, то вообще никаких изменений на экране у меня нет. Странно.
Опять двадцать пять. Память она непрерывна. Наверное проще показать на кривом рисунке:
В идеале, экран должен полностью заполнять и совпадать с красной областью. Но у тебя он смещен (черная рамка). Поэтому, он захватывает смежные области, что для экрана является BF00H-BFFFH и F000H-F0FFH. При этом, области атрибутов совпадают с областями экрана. Теперь, у нас есть 3 сигнала, которые должны быть строго синхронны: область экрана (точки), область атрибутов (цвета) и гашение.
1. Такое смещение может вызвать ранее гашение. Тогда левый столбец точек из BFxx окрасится цветом из BFxx и мы узнаем, что атрибуты синхронны к изображению и нам надо только задержать гашение кондером, к примеру.
2. Так же, это может быть вызвано запаздыванием точек. Тогда левые точки из BFxx окрасятся цветом экрана из C0xx и нам станет ясно, что у нас произошло смещение изображения точек, а атрибуты и гашение синхронны.
Ну и еще 1 вариант, но я думаю мысль понятная. Тест призван определить конкретную ситуацию, чтобы принять правильное решение. Но тут обязательно подключение цвета.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)