; КОНТРОЛЛЕР ОТОБРАЖЕНИЯ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ
; Состоит из двух или трех слоев (банков) динамического ОЗУ,
; содержимое которых отображается на экране в виде карты бит,
; регистра цвета, регистра выбора страниц, таблицы присвоения
; цветов и логической матрицы для анализа содержимого ГЗУ.
; Объем каждого слоя может быть 16 или 64 к, но отображается
; всегда только 16 к из каждого слоя.
; Четырехразрядный регистр выбора страницы при объеме 64 к
; определяет, какая часть (страница) каждого слоя отображается
; в текущий момент на экране и какая открыта для доступа
; процессору.
; Байты информации одновременно из всех слоев выводятся на
; экран начиная с верхнего левого угла таким образом, что
; одноименные биты совмещаются и определяют логический цвет
; соответствующей точки на экране.
; Старший бит каждого байта отображается слева, младший -
; справа. Окончательный (физический) цвет точки определяется
; содержимым программируемой таблицы присвоения цветов,
; причем учитывается также информация из АЦЗУ. Таблица
; присвоения цветов расположена в области УВВ и адресуется
; как одна ячейка памяти, работающая только на запись, при
; этом выбор строки таблицы определяется содержимым запи-
; сываемого байта.
PAGREG EQU VIREG ; Адрес регистра выбора страниц
VPAGE0 EQU 00000000B ; Выбор 0 страницы отображения
VPAGE1 EQU 00000001B ; Выбор 1 страницы отображения
VPAGE2 EQU 00000010B ; Выбор 2 страницы отображения
VPAGE3 EQU 00000011B ; Выбор 3 страницы отображения
RWPAG0 EQU 00000000B ; Выбор 0 страницы чтения/записи
RWPAG1 EQU 01000000B ; Выбор 1 страницы чтения/записи
RWPAG2 EQU 10000000B ; Выбор 2 страницы чтения/записи
RWPAG3 EQU 11000000B ; Выбор 3 страницы чтения/записи
; Если объем слоя ограничен 16 к, состояние битов PAGREG
; безразлично.
LUT EQU 0FBH ; Адрес таблицы присвоения цветов
; (относительный)
; При записи в LUT биты D0...D3 задают номер одной из 16
; строк таблицы, а D4...D7 - содержимое этой строки.
; D3 соответствует АЦЗУ, D2 - слою ГЗУ #2, D1 - слою #1,
; D0 - слою #0; D7 задает интенсивность (яркость),
; D6 - наличие красного цвета, D5 - зеленого цвета, D4 -
; синего цвета.
;
; Регистр цвета задает маски логических цветов и режимы
; записи и считывания ГЗУ. Имеются два основных режима -
; послойный и цветовой. Этот регистр работает только на
; запись.
NCREG EQU 0BFH ; Относительный адрес регистра цвета
; Константы для программирования регистра цвета
BANKMD EQU 0 ; Послойный режим чтения/записи
WSEL0 EQU 11111101B ; Выбор слоя 0 при записи
WSEL1 EQU 11111011B ; Выбор слоя 1 при записи
WSEL2 EQU 11110111B ; Выбор слоя 2 при записи
RSEL0 EQU 00010000B ; Выбор слоя 0 при чтении
RSEL1 EQU 00100000B ; Выбор слоя 1 при чтении
RSEL2 EQU 01000000B ; Выбор слоя 2 при чтении
WBIT EQU 00000001B ; Маска значения бита, записы-
; ваемого в биты ГЗУ в послой-
; ном режиме
COLORMD EQU 80H ; Цветовой режим чтения/записи
; (выбраны все три слоя)
WRMSK EQU 00001110B ; маска битов, задающих логи-
; ческий цвет при записи
RDMSK EQU 01110000B ; маска битов, задающих логи-
; ческий цвет при чтении
; При записи в ГЗУ записываемый байт данных определяет,
; какие биты ГЗУ изменятся (примут значение WBIT или
; WRMSK), а какие сохранят свое значение. Признаком
; изменения является соответствие битов записываемого
; байта значению BITWR, признаком сохранения - противо-
; положное значение.
BITWR SET 1 ; Изменяются биты, заданные единицами
; При чтении ГЗУ в послойном режиме в считываемом байте
; получается содержимое ячейки выбранного слоя.
; При чтении в цветовом режиме в считанном байте содер-
; жатся признаки совпадения цвета в каждой точке с задан-
; ной маской. В случае совпадения в соответствующих битах
; читаются нули.