Вход

Просмотр полной версии : Обратный ход луча на РК/ПАРТНЕРе



mvg
19.11.2018, 10:49
Добрый день.

Возможно ли отследить сабж? И если то да то как ;)

hitomi2500
19.11.2018, 11:14
Речь про строчный синхроимпульс? Кадровый можно отследить флагом прерывания в ВГ75 (0x20), а для строчника если и есть механизм, то я его не знаю. На Апогее я пытался ловить тупыми задержками, переключая знакогенератор посреди строки, но из-за недетерминированного торможения ВМ80 переключить в фиксированном месте не получалось. На Орионе и Специалисте наверное получится.

mvg
19.11.2018, 11:33
кадровый. а можно кусочек кода?

hitomi2500
19.11.2018, 12:20
Вот тут например в самом конце файла инициализация ВГ75 и ВТ57, там цикл (вернее почему-то даже 2) ожидания конца развёртки
https://github.com/alemorf/retro/blob/master/c8080/Include/Apogey/screen_constrcutor.h

На ассемблере будет как-то так :

WaitLoop:
LXI H, 0EF01h ;это для Апогея, для других машин адрес ВГ75 другой
MOV A,M
ANI 020h
JZ WaitLoop

mvg
19.11.2018, 15:43
Ок! попробую!

Pyk
20.11.2018, 23:17
цикл (вернее почему-то даже 2)
Первый цикл можно заменить просто чтением регистра состояния.
Поскольку этот флаг сбрасывается при чтении, необходимо предварительно сбросить возможно давно установленный флаг.

hitomi2500
21.11.2018, 07:08
Pyk, понятно. Тогда ассемблер слегка меняется.

LXI H, 0EF01h ;адрес ВГ75 плюс 1
MOV A,M
WaitLoop:
MOV A,M
ANI 020h
JZ WaitLoop

Daniil Chislov 86
29.11.2018, 20:16
А что дает обратный ход луча , вернее для чего это нужно ?

hitomi2500
29.11.2018, 21:50
Daniil Chislov 86, например чтобы дожидаться конца кадра при перенастройке ВГ75/ВТ57 и менять регистры когда ПДП неактивно. Или чтобы синхронизировать данные с кадровой развёрткой, например засвечивать какое-то знакоместо только в 1 кадре из 4. Теоретически ещё бывает например ситуация, когда запись в видеопамять происходит одновременно с её чтением контроллером, тогда возникают артефакты типа снега, чтобы с ними бороться тоже дожидаются конца развёртки, и запись делается на обратном ходе луча, когда чтений не бывает. Но на РК и его родственниках с ВГ75 видеоконтроллер в такие моменты тормозит процессор, поэтому снега не бывает в принципе.