** Сайт посвящённый ПЭВМ АГАТ **
Автор: Алексей Салтыков. Разыскивается! Если вы автор или что-то знаете о нём, свяжитесь с нами! (ЗАЧЕМ ЭТО?)
Эмулирует штатное ПЗУ знакогенератора, позволяя программно модифицировать используемые в текстовом режиме шрифты. Интересно что устройство выполнено на редкой монтажной плате ЯБ7.104.194 от ЛЭМЗ.
ПЗУшка программируемого знакогенератора.
Поддерживается системой Мастер Бейсик.
Агат имеет как текстовые так и графические режимы отображения информации. Графический: программно можно задавать цвет отдельных точек. Текстовый: можно задавать выводимый символ и его цвет для каждого отдельного знакоместа. Шрифт, используемый при этом, хранится в ПЗУ. У ранних Агат-7 - 128 знаков, у поздних - 256.
С точки зрения схемотехники плата заменяет микросхему ПЗУ знакогенератора, позволяя, таким образом, рисовать в текстовом режиме относительно произвольные рисунки. Для установки платы нужно снять штатное ПЗУ с панельки и включить вместо него переходную колодку контроллера. А сам контроллер установить в любой свободный слот.
Разработана для Агат-9, хотя, возможно, без переделок встанет и на семёрку.
Аппаратно содержит три блока памяти:
После включения питания регистр управления сбрасывается в 0000 RC-цепочкой, общесистемный RESET платой игнорируется.
Биты регистра управления (что будет, если записать "1"):
0 - разрешает отображение ОЗУ-знакогенератора на адреса C800..CFFF. ОЗУ при этом доступно как на чтение так и на запись ЦП.
1 - переключается между ПЗУ-знакогенератором, установленном на модуле ("0") и ОЗУ-знакогенератором ("1").
2 - блокирует эмуляцию (т.е. модуль устанавливает состояние выходов на переходной колодке в Z-состояние независимо от других сигналов). Если другой ПЗУ/модуля нет - все символы будут восприняты системной платой как состоящие полностью из "1".
3 - не используется.
Значение регистра задаётся записью произвольных данных в адреса C0nx, где n - номер слота + 8, в котором установлен контроллер, а x - новое значение регистра. Прочитать значение регистра нельзя.
Буфер ОЗУ-знакогенератора:
В целом: как слышится так и пишется.
Т.е. символы идут подряд - от 0 до 255, строки символов подряд (сверху вниз), биты в байтах (колонки)
подряд (старший - левее), старший бит игнорируется, т.к. матрица дисплейного
контроллера 7x8. После включения питания содержимое неопределено.
Т.е. чтобы символ с кодом 0x00 выглядел как символ "0" нужно сделать что-то примерно такое:
C0D1:0
C800:00 22 26 2A 32 22 22 00
C0D2:0
Попытки чтения (кроме области C800..CFFF, если разрешено) игнорируются (т.е. выходной формирователь шины данных не выходит из Z-состояния), считанные значения должны быть такие же, как если бы модуль отсутствовал вообще (т.е. зависят от системной платы).
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *