А в каком плане зависят? Вроде бы при смене разрешения меняется количество точек и соответственно знакомест в строке, но ширина знакоместа всегда равна восьми точкам.
Вид для печати
Alex_K, про курсор УК-НЦ , откуда берётся глюк, когда позиция курсора левый верхний угол экрана и запускается графика, курсор вдруг бац и начинает отображаться во всю высоту экрана мигающим столбиком ?
Кто-нибудь видел, как на реале выглядит графический курсор? Судя по всему это должна быть вертикальная полоска (а не знакоместо), шириной 1 пиксель для выбранного разрешения.
Всё так и есть. 0 - слева, 7 - справа. Можно посмотреть, если записать в ячейку 022746. Формат её младшего байта соответствует формату младшего байта первого слова регистра управления отображением. Ячейка 022746 является частью таблицы видеопараметров экрана пользователя. Т.е. если в режиме УСТАНОВКА выйти в отладчик ПП и изменить ячейку, то при возврате на экран пользователя мы увидим изменения.
Интересно еще узнать у реальщиков, как накладывается курсор в 036 прошивке. Тоже по OR, как в 136, или же иначе.
А вот это мы уже наверное никогда не узнаем. Я сначала думал, что в -136 наверное есть неописанные биты в регистре отображения, чтобы делать режим наложения курсора, типа MOV, AND, XOR, OR. Но установка неиспользуемых битов ни на что не повлияла. Да и реверс-инжиниринг подтвердил, что их нет.
Логически чёрный курсор в этом случае мы никогда не увидим, так что таким образом его можно отключать. А в курсоре промежуточных цветов (не чёрный и не белый) мы всегда будем видеть белый символ.
- - - Добавлено - - -
Да, надо реверс-инжиниринг 1515ХМ1-036, чем она отличается от -136.
Ну и аппаратно наложение по ИЛИ наверное легче сделать, чем мультиплексор. Возможно что-то в -136 улучшили и мультиплексоров уже не осталось, пришлось делать по ИЛИ.
Тут вопрос к владельцам 036, почему они не спешат слать на фотографирование товарищу @Vslav'у.
У меня есть, кажется, 036. Это она?
https://pic.maxiol.com/thumbs2/15924...0618181624.jpg
Только я не знаю, как отослать на Украину. И можно ли?
Отписал в личку.
Вот что у меня есть.
https://pic.maxiol.com/thumbs2/15925...0619062448.jpg
Все по одной.
Так что, остальные тоже отослать @Vslav-у?
Интересно, что CAS2 и CAS1 полностью идентичны.
Те же самые данные выводятся и на CAS0, но этот выход переводится в Z-состояние по другому алгоритму.
Ну CAS2 и CAS1 - это выбор столбцов памяти ЦП. Память 16-разрядная, потому и выбор младшего и старшего байта. CAS0 - это выбор памяти ПП. Память ПП видеоконтроллер только читает. А вот память ЦП может быть прочитана и записана по запросу от контроллера ОЗУ ПП (ХМ1-032 или ХМ2-002). Соответственно при запросе на память ЦП память ПП не используется, перевод в Z-состояние. А вот CAS2 и CAS1, да, вероятно полностью идентичны. Даже при байтовой записи в контроллере ПП, сам он передаёт полное 16-разрядное слово для видеоконтроллера по запросу.
Ну их нельзя замыкать. При доступе в ОЗУ со стороны ЦП через 1515ХМ1-039 (1515ХМ2-003) там можно отдельно записывать и младший и старший байт. Если байт не записывается, то на него не подаётся соответствующий CAS. А если бы CAS2 и CAS1 были бы замкнуты, то и байтовой записи не было бы.
Сброс и инициализация регистров начальными значениями происходит по любому из следующих условий:
1. EVNT (событие таймера 50Гц)
2. CC0 = 1, и MO = 0.
- - - Добавлено - - -
Горизонтальные и вертикальные счетчики инициализируются только по второму событию (CC0 = 1, и MO = 0). Оно и понятно, т.к. первое событие (EVNT) генерируется самими счетчиками.
А константы вертикального счётчика известны?