Кое что прояснилось, но вопросы остались.
Эти коды, отображаемые на РК86 пустотой, используются в некоторых играх РК86, например, в одном из XONIX, чтобы маркировать экранную позицию (при подсчёте площади).
Из этого понял, что вывод символа с таким кодом, приводит к тому, что по концу вывода такого пробела в триггеры LS74 защелкиваются два бита (которые подаются на A11, A12 псевдо-ПЗУ фонта), что приводит к тому, что следующий символ берётся из фонта, чей номер защелкнулся в этих триггерах.
Также понятно, что раз все биты D6, D7 во всех символах каждого из 4-х фонтов выставлены в соответствие с номером фонта, то до очередного "управляющего" пробела или конца строки, последующие символы будут браться из того же фонта, т.к каждый символ задавая битами D6,D7 фонт следующего символа, сохраняет текущий фонт.
Это идея как бы самоподдерживаемости включённого фонта, освобождающая атрибуты от задачи коммутации фонта. Из-за этого в начале каждой строки (в области бордюра) надо вставлять соответствующий "управляющий" пробел или вообще весь бордюр слева составлять из таких "управляющих" пробелов.
Но не понял зачем понадобилась сама идея самоподдержки текущего фонта, т.е зачем графикой каждого выводимого символа с помощью битов D6, D7 задавать номер фонта следующего по горизонтали символа. После включения соответствующим пробелом триггеров выбора нужного фонта, их состояние не меняется, а гашение экрана удобно делать запретом /CS "ПЗУ" фонта и привязкой его выходов на +5В (т.к фонт инверсный).
Зачем нужен буфер D6 на выходе ОЗУ фонта ?
Для коммутации фонта кодом самого символа я предлагал стандартные для этого коды 0E и 0F. Как это и делается в фирменных терминалах. А вообще на идее коммутации фонта кодом самого символа можно поиметь 32 фонта, переключаемых кодами 00...1F. Недостаток - для переключения фонта выводится пустое знакоместо, что для работы с текстом не особо вредит, а вот для графики фатально.
По принципу, как Вы вывели спрайты, freddy реализовал полноценную графику на базе ВГ75. Там для вывода поля в 2 знакоряда, т.е символьного куска экрана 64*2, со знакоместами 8*8, что из двух знакорядов даёт графическое поле (64*8)x(2*8)= 512x16, в соответствующие экранные позиции заносятся числа 0, 1, 2, 3... 127. Благодаря чему графика каждого из 128-ми символов фонта становится графикой одного экранного квадратика 8*8. ОЗУ фонта становится ОЗУ экрана, а старое текстовое ОЗУ экрана при этом играет роль счётчиков видеогенератора.
Четыре атрибута позволяют последовательно включать по экрану 16 таких полей 512*16 следующих один под другим, что и даёт полноценный графический экран 512*256 с удобным экраном в виде последовательно лежащих в "экранном ОЗУ" квадратиков 8*8. Но выгоднее с'экономить атрибуты для цвета, а для адресации по рядам использовать счётчик 561 ИЕ10 инкрементируемый по ССИ.
Кто-нибудь знает передаётся ли код (точнее его 7 битов) аппаратного графического символа (для рисования рамок) на выходы CC0...CC6 ВГ75 ?






Ответить с цитированием