Прошу не пинать. В сети и тут на форуме поискал, тесты провел.
Никак в толк не возьму как правильно привязываться к кадрам.
Понимаю, что машинный такт это при 3.5Мгц, т.е. 1/3500000 секунды и команды кушают их по нескольку штук за раз (знаю про таблицы с указанием тактов)
Понимаю, что ULA 50 раз в секунду шарится в ОЗУ и данные из экранной области и области атрибутов превращает в картинку на экране.
Таким образом между кадрами есть порядочное количество машинных тактов, чтобы поменять картинку и получить по максимуму 50 кадров в секунду.
Вроде как команда HALT тормозит ЦП до ближайшего кадра
Почему тогда такой код (ниже) не приводит к желаемому результату - смешение цветов:
10 ORG 28000
20 ENT $
30 LD HL,22865
40 loop LD A,8 ; синий paper для знакоместа в центре экрана
50 LD (HL),A
60 HALT
70 LD A,48 ; желтый
80 LD (HL),A
90 HALT
100 JR loop
Но получаю мерцание
Надо видимо юзать прерывания, а не HALT, но я с ними пока на вы. Если не сложно, покажите кто-нибудь на примере этой задачи нужный код. Потому как дизассемблить демки в поисках реализации мультиколора не вариант. Остатка моей жизни на это не хватит