возникла мысль написать эмуляцию сабжа, и не чтобы как-то работала, а чтобы работала более-менее по принципу железки. но принципы эти я представляю себе смутно. плз, прочитайте, и поправьте, где я неправ
как я это понимаю:
прорисовка экрана начинается по фронту кадрового синхроимпульса. экранная картинка выводится по линиям, два пиксела за такт. по фронту импульса гашения (который формируется по спаду строчного синхроимпульса) рисование очередной линии прекращается, луч переходит к началу следующей строки, и по спаду импульса гашения (пентагон: 32 такта) начинает ее рисовать.
выводится верхняя часть бордюра (64 линии; чем, интересно, это определяется?). потом начинается отрисовка 192-х линий, включающих в себя спектрумовский экран и полоски бордюра по сторонам. сперва рисуется левое бордюрное ухо, ширина которого (пентагон: 36 тактов) определяется, кажется, неким счетчиком контроллера, назову его "D"; затем 256 пикселов картинки -- контроллер берет из памяти байт пикселов, байт атрибутов, сохраняет их в своих регистрах, рисует, и так каждые 8 пикселов. потом по счетчику D снова начинается рисование бордюра -- правого уха, заканчивается оно с приходом строчного синхроимпульса, и так все 192 линии.
теперь опять рисуется бордюр, нижняя его часть, до тех пор (пентагон: 48 линий), пока не припрется кадровый синхроимпульс, по спаду которого начинается обратный ход кадровой развертки (3584 такта). ну а потом все повторяется сначала.
теперь непонятка: число тактов на строку (включая обратный ход) у всех спеков, насколько знаю, одно. а количество строк -- разное, то есть величина фрейма разная тоже. но ЭЛТ-то не прикажешь, он должен отрабатывать свои 50гц... чем это компенсируется, неужто частотой тактового генератора?