Немного "вкусного"
Вобщем-то "
Galaksija" - очень интересное программно-аппаратное решение.
Сугубо для компьютерных "нищебродов", коими мы в СССР в 80-х
годах были. Но сделано очень "вкусно", хотя, я полагаю, менее
надёжно чем "Специалист" в плане неквалифицированной сборки-
наладки. Да, я знаю, что на "Spectrum Z81" решение очень похожее,
но на ТТЛ россыпи я это вижу впервые.
Грубо говоря - основная идея следующая: а что, если вместо всякой
там "прозрачной регенерации", арбитров и прочей "схемотехнической
лабуды", поручить самому процессору выдачу байтов из памяти в
сдвиговый регистр.
Так сразу и в голове-то не укладывается!!! А когда же тогда процессору
основным делом заниматься? Оказывается и 25 процентов всего времени
процессору приемлемо-достаточно, чтобы эта поделка напоминала недо-
компьютер.
Поскольку имею некоторый опыт - охотно верю, потроша игры "Специалиста",
делал эксперимент - убирал программные задержки. Дык эти черти-персонажи
носились по экрану как электроны вокруг атома - размазываясь.
А тут задержки по условию есть - только успевай программить эффективно.
Но вернёмся к "вкусной" схемотехнике. Собственно аппаратно реализован
гененатор сдвига пикселей. Его сигнал, делённый попалам - такт для Z80.
Далее посчитаны строчная и кадровая частоты. Синхроимпульсы формируются
одновибраторами, гасящие - организуются чисто программно.
Основной цикл следующий:
По кадровому импульсу Z80 получает видео-INT. Заканчивает текущую инструкцию
и переходит к обработке прерывания. По характерным сигналам
схема на триггере вырабатывает сигнал WAIT и этим тормозит процессор.
Процессор молотит такты ожидания, выдерживая гашение по кадру.
Начало строки развёртки перебрасывает триггер, отпускает процессор
в работу и вот тут-то он начинает сам хватать из видеобуфера и выдавать
в сдвиговый регистр либо напрямую, либо через знакогенератор.
Графический вариант даже упрощает всё, поскольку знакогенератор можно
выкинуть. Но памяти было маловато. Так что символьный вывод использовали
предпочтительно.
Вот так всё здорово!!! Классический "нищебродский" компьютер!!!
Я ещё не проецировал это на К580ВМ80, чтобы сказать что-либо ответственно,
но скажу вам, текст ПЗУ демонстрирует довольно нескомканный код
программного видеодрайвера. Хотя, конечно, временные интервалы там
высчитаны, похоже, точно.
http://www.tablix.org/~avian/galaksija/rom/rom1.html
Вероятно, если с этим поработали бы плотно в 80-е годы, то по аппаратным
затратам это могло бы стать популярным компом в СССР.
Но, читал я, что и в редакции "РАДИО" дело обстояло не кристально чисто...
А ничего так красавец... делать нефиг!