Потому что мой опыт подсказывает следовать стандартам. Ведь монитор - это вполне себе стандартизованное устройство. И чтобы он съел видеосигнал, последний должен быть тоже стандартным. Так вот о стандарте:
У меня 640х400@70Hz. Pixelclock 25.175MHz. Размер строки: длина линии 800 точек, видимая часть 640 точек, передний бордюр 16 точек, длина синхроимпульса 96 точек, задний бордюр 48 точек. Переведу в знакоместа: 80+2+12+6=100. Теперь смотрим как я запрограммировал ВГ75.
0 --> +FE9 =сброс
79 --> +FE8 =80символов в строке
0b10011000 --> +FE8
0FH --> +FE8
0b00001001 --> +FE8 =20символов сигнала обратного хода строчной развертки
0b11100000 --> +FE9
Как бы получается всего 100 символов. Да? А теперь берем схему и смотрим, как в интервал обратного хода строчной развертки вставить синхроимпульс.
Все интервалы четные, поэтому чтобы упростить "навороченую" схему, делим CCLK на 2.
По переднему фронту HRTC разрешаю считать CCLK/2 счетчику U22. Нулевой импульс ничего не делает, вывод Y0 U23 не подключен, это передний бордюр 2CCLK.
Потом импульсы 1,2,3,4,5,6 формируют отрицательный строчный синхроимпульс 12CCLK. Потом схема стопорится установкой триггера U24A и ВГ75 досчитывает оставшиеся 6CCLK заднего бордюра, а потом опять начинает выводить строку 80CCLK.
Кадровая синхронизация работает аналогично, читайте VGA стандарт и станет понятно. Там я немного подрезал задний бордюр, кварц у меня однако был только на 25МГц, но стандарт надо было соблюдать.
P.S. Предложите не "навороченную" схему. Я с радостью применю в своей видеокарте. Главное, чтоб стандарт видеосигнала соблюдался, колхозники идут лесом.

