Я тут немного поразмыслил, как бы концепцию Galaksija перенести на
возможности микропроцессора К580ВМ80. У него нет механизма регенерации,
поэтому напрямую перенести решения не представляется возможным.
Но задумка есть вот какая: пусть, к примеру, сначала всё идёт по сценарию
Galaksija...
По кадровому импульсу К580ВМ80 получает видео-INT. Заканчивает текущую инструкцию
и переходит к обработке прерывания. По характерным сигналам
схема на триггере вырабатывает сигнал WAIT и этим тормозит процессор.
Процессор молотит такты ожидания, выдерживая гашение по кадру.
Начало строки развёртки перебрасывает триггер, отпускает процессор
в работу и вот тут-то он...
выполняет по прерыванию команду JMP 9000H (или в видео-ОЗУ на начало).
На время действия прямого кадрового хода отдельным сигналом надо переключить
схему так, чтобы процессор при обращению к области видео-ОЗУ считывал
инструкцию NOP. То есть - он выдал адрес 9000Н и дал строб чтения RD, но
данные пошли не к процессору, а на регистр видео-сдвига.
Времени на NOP хватит, я так помню у "Спеца" на два обращения счетчика
регенерации приходилось одно обращение процессора.
По NOP К580ВМ80 ничего не делает и далее выставит адрес 9001Н . Возможно
надо точно тайминги посмотреть и для синхронности тормозить проц через
WAIT.
После того как проц во время действия прямого кадрового хода переберёт
весь видео-буфер, читая псевдо-NOP, сигнал начала обратного хода
развёртки по кадру снова разрешит процу обращаться к памяти как обычно.
И по тому адресу, на котором процессор закончит перебор адресов видео-ОЗУ
должна быть предварительно записана инструкция RET из видео-прерывания.
Её можно занести при начальной инициализации.
Таким образом мы получаем графический экран, отображением которого
занимается процессор, осуществляя заодно циклы регенерации ДОЗУ.
Вроде как всё правильно. Параметры экрана, конечно, надо подсчитать.
Организация получится:
9000Н, 9001Н, 9002Н ... - в первой строке, и т.д.
Какие будут мнения?
Кстати говоря, попалось мне упоминание, что аппаратная организация
клавиатуры в Galaksija позволяет получать код клавиши непосредственно
в ASCII без привычных для такой процедуры таблиц перекодировки.
Не проверял ещё этой возможности - но если это так, то весьма удобно...
Another interesting thing about this computer is that the each key on the keyboard is mapped in ASCII order to a memory location.