fk0, легенда (08.07.2013 18:16, просмотров: 431) ответил koyodza на вообще-то не 48Гц, а как раз 50Гц. Но как уже сказали, никто не мешает сделать RST38 с нужной частотой независимо от частоты обновления экрана. Но для VGA ресурсов и правда может нехватить из-за высокой пиксельной частоты
В кадре у Пентагона 71680 тактов (3.5000МГц) и 320 строк (по 224 такта). Строчная частота дана свыше (в телевизоре линия задержки не позволит другую) -- 15625Гц. 15625/320=48.828125Гц. Ровно столько и никак иначе. В некоторых машинах было 312 строк (и 50.08Гц), но в них тактов меньше 70тыс. за кадр, демы не влезают, тормозят, тянется музыка -- не годится. В фирменных машинах всё не так, там и частота другая, и память с циклами ожидания. Но нас это не интересует -- на них мало что работает, т.к. эталоном демо-машины считается Пентагон. Делать прерывания независимо от экрана -- порядочный бред. Во всех демах обновление экрана привязано именно к прерыванию, больше не к чему. Иначе эффекты пересекаются с лучём телевизора и видим на экране не то, что есть на самом деле, а что данный момент лежит в видеопамяти. В лучшем случае изломанные эффекты, в худшем просто мусор (который обсчитывается пока отрисовывается другая часть экрана). В частности т.н. multicolor эффекты ломаются совсем, т.к. для создания большего цветового разрешения это делается процессором синхронно с лучём телевизора путём подставовки байтиков в нужные места видеопамяти на лету. А если мы хотим на VGA показывать нормально, как это делают эмуляторы, нужно иметь пару буферов видеопамяти на кадр, уже в VGA режиме со своим цветом на точку (а не как у спектрума). Виртуально "показывать" в эти буфера, а потом их собственно выводить в VGA. Иначе половины эффектов не будет. Либо таки нужно делать кадровую 48Гц и 320 строк (верней 640, из-за скандаблинга).
[ZX]