ZX Format
#01
31 октября 1995 |
|
IS-DOS - Программистам: UniColor - cтандарт настройки цветов в программах IS-DOS
Рубрика "Программисту на заметку"
Елисеев В. А.
UniColor - cтандарт настройки цветов
в программах IS-DOS.
В целях унификации процедуры настрой-
ки цветов в программах IS-DOS в послед-
нее время все чаще применяется стандарт
UniColor, позволяющий настраивать цвета
любой программы при помощи универсальной
утилиты unicolor.com. Поэтому при разра-
ботке любых программ в среде IS-DOS пред-
почтительнее пользоваться этим стандар-
том, дабы облегчить пользователям индиви-
дуальную настройку системы.
Для обеспечения совместимости со
стандартом UniColor все цвета программы
должны быть собраны в специальную табли-
цу, называемую "вектором UniColor".
Структура этой программы чрезвычайно
проста:
Первые четыре байта занимает так на-
зываемый маркер UniColor - последова-
тельность символов UnCo (#55, #6E, #43,
#6F), по которой утилита unicolor.com оп-
ределяет местонахождение вектора.
Пятый байт содержит информацию о ко-
личестве имеющихся в программе настраи-
ваемых цветов.
Последующие байты в количестве, опре-
деляемом пятым байтом вектора, представ-
ляют собой коды цветов в стандартном для
IS-DOS формате:
байты 0 - 2 - цвет чернил
байты 3 - 5 - цвет бумаги
байт 6 - яркость
байт 7 - мерцание
Всего возможно задание до 16 настраи-
ваемых цветов. Впоследствии в программе
необходимые цвета переносятся из вектора
UniColor в вектор соответствующего окна,
или передаются в качестве параметров в
регистрах процессора обычными способами.
Пример: фрагмент программы, содержащей
вектор UniColor.
;****************************************
START JR BEGIN
COL DEFM "UnCo" ;Маркер UniColor
DEFB #04 ;кол-во цветов = 4
DEFB %00111000 ;цвета окна WIN1
DEFB %00000001 ;цвет тени WIN1
DEFB %00001101 ;цвета окна WIN2
DEFB %00000001 ;цвет тени WIN2
BEGIN LD IX,WIN1 ;вектор W1 в IX
LD HL,(COL+5) ;перенести цвета
LD (WIN1+4),HL;окна и тени из
;ВЕКТОРА UniColor
;в вектор окна W1
LD IX,WIN2 ;вектор W2 в IX
LD HL,(COL+5) ;перенести цвета
LD (WIN2+4),HL;для WIN2
........
WIN1 DEFW #0415
DEFW #0806
DEFB %00000000
DEFB %00000000
DEFW #0000
WIN2 DEFW #0404
DEFW #0806
DEFB %00000000
DEFB %00000000
DEFW #0000
;****************************************
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября