Просмотр полной версии : Обратный ход луча на РК/ПАРТНЕРе
Добрый день.
Возможно ли отследить сабж? И если то да то как ;)
hitomi2500
19.11.2018, 11:14
Речь про строчный синхроимпульс? Кадровый можно отследить флагом прерывания в ВГ75 (0x20), а для строчника если и есть механизм, то я его не знаю. На Апогее я пытался ловить тупыми задержками, переключая знакогенератор посреди строки, но из-за недетерминированного торможения ВМ80 переключить в фиксированном месте не получалось. На Орионе и Специалисте наверное получится.
кадровый. а можно кусочек кода?
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
цикл (вернее почему-то даже 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 видеоконтроллер в такие моменты тормозит процессор, поэтому снега не бывает в принципе.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot