Наконец-то дошли руки накатать обещанное описание Если у кого есть более точная информация -- pls поправляйте
Во-первых, сразу хочу сказать, что у меня нет полной документации на БК, и из-за этого мне пришлось восстанавливать формат экрана по стандарту СЕКАМ. Дело в том, что БК рассчитана на использование телевизора в качестве монитора, и поэтому обязана соответсвовать этому стандарту.
Интересующие нас величины из этого стандарта таковы (такты даны для частоты 12 МГц):
Длительность телевизионной строки - 64 мкс (768 тактов)
Длителность полукадра - 20 мс (240000 тактов)
Количество полных строк в полукадре - 312.5
Далее, количество строк от начала полукадра до первой видимой строки известно из особенностей программирования БК - 40; любопытно, что это значение не точно центрирует экран БК по вертикали - для центрирования следовало бы использовать значение 38. Думаю, разработчики видеоадаптера БК пошли на это ради упрощения схемотехники.
С горизонтальной развёрткой сложнее - про неё у меня данных нет, и пришлось проводить расчёты. Копировать их сюда, уж извините, лень , но могу сказать, что для выравниваниz экрана по горизонтали необходимо левое поле в 180 тактов. Однако, моя методика эмуляции позволяет задавать параметры развёртки с точностью только до 16 тактов, поэтому я выбрал следующее кратное значение: 192. Возможно, разработчики БК поступили так же, не знаю.
И в завершение - про прерывания. Поскольку я так и не проверил по схеме полярность подключения, то решил проблему наиболее простым образом: прерывание совпадает с началом кадра. Если на самом деле используется задний перепад сигнала кадровой синхронизации, то прерывание надо задержать на 2.5 строки (1920 тактов).
На этом пока всё
PS: Уважаемые владельцы реала 11М! Очень прошу сфотографировать экран из программы multicol.bin, приаттаченной вот в в этом посте: http://zx.pk.ru/showpost.php?p=295091&postcount=15 . Это помогло бы уточнить времянки, да и эталон для эмуляторов бы появился. Всего 208 байт, это можно и в мониторе набрать ...