
Сообщение от
Alexander Makeev
похоже это происходит за счет того что на разных кадрах захват значения с шины данных происходит в разные моменты времени, поэтому в одном кадре успевает захватить байт на одном такте, а в следующем кадре на другом такте
А еще есть владельцы пентагонов? нужны еще результаты теста на реальном железе

Посмотрел схему Пентагона. Процессор имеет приоритет над видео-контроллером. Как только активен MREQ и на шине адреса - оперативка, в следующем такте происходит чтение памяти процессором. Все остальное время каждый такт происходит по очереди чтение атрибутов или пикселей. Так как они считываются асинхронно с границей знакоместа, то сначала они помещаются в буферные регистры, а на границе знакоместа переносятся в регистры вывода, а оттуда попиксельно выталкиваются на экран.
Исходя из выше-сказанного, мерцание пикселей в тесте легко объясняется. Судя по всему за один кадр видео-контроллер успевает считать нечетное количество байт (атрибуты + пиксели). Поэтому, в одном кадре непосредственно после записи #FF в верхний левый угол экрана считываются пиксели (полоска есть), а в другом - считываются атрибуты, а пиксели уже считались до записи (полоски нет).
Код:
Tackts: 17983 | 17984 | 17985
Frame 0: RAT=32 | WRT=FF | RPX=FF (полоска есть)
Frame 1: RPX=00 | WRT=FF | RAT=32 (полоски нет)
RAT - чтение атрибутов, RPX - чтение пикселей, WRT - запись CPU
---------- Post added at 13:04 ---------- Previous post was at 12:52 ----------
Получается, что на текущий момент ни один из эмуляторов точно не воспроизводит времянку Пентагона.
Забавно, всегда считал, что эмулировать Пентагон проще всего. Оказалось, наоборот.