const
MaxPage : Byte =3; {Максимальный номер страницы) MaxChar : Byte = 80; (Количество символов в строке} MaxLine : Byte = 25; (Количество строк на экране} PageSize: Word = 4000; {Размер видимой страницы) VSize : Word = 4096; {Полный размер страницы} VMemory : Word = BegVideo; {Адрес видеопамяти} VMW: array [O..15] of Word =
($0000,BegVideo,$1000,BegVideo,$2000,BegVideo, $3000,BegVideo,$4000,BegVideo,$5000,BegVideo, $6000,BegVideo,$7 О О 0,BegVideo) ;
{Массив VMP содержит адреса всех видеостраниц. Значения по умолчанию соответствуют адаптерам CGA/EGA/VGA в режиме С080. Эти значения можно переопределить с помощью процедуры InitText) •wax
VMP: array [O..7] of Pointer absolute VMW;
/
I Подпрограммы управления цветом
}
procedure ChangeAttribute(Page,Xl,Yl,X2,Y2,01dAtt,NewAtt: Byte);
{Меняет атрибут OLDATT на значение NEWATT в прямоугольнике XI...Y2 страницы PAGE}
Procedure Colors(Text,Back: Byte);
{Устанавливает цвет текста TEXT и фона BACK в текущей странице}
Procedure PageColors (Page,Text,Back: Byte);
{Устанавливает цвет текста TEXT и фона BACK в странице PAGE}
Function PackAttribute(Text,Back: Byte): Byte;
{Упаковывает два цвета в байт атрибута}
procedure SetAttribute(Page,XI,Y1,X2,Y2,Attr: Byte);
{Заменяет атрибут всех символов в прямоугольнике XI...Y2 страницы PAGE на значение Attr}
Procedure OnPackAttribute(Attr: Byte; var Text,Back: Byte);
{Распаковывает байт атрибута и возвращает два цвета} {
Подпрограммы управления курсором
> Procedure CursorOff;
{Отключает курсор в активной странице}
Procedure CursorOn;
(Включает курсор в активной странице}
Procedure CursorOnOff (Page: Byte; Vis: Boolean);
{Устанавливает признак видимости курсора: PAGE - номер страницы;
VIS - признак видимости}
procedure GetCursor (Page: Byte; var X, .г. Up, Down: Byte);
{Возвращает координаты курсора: PAGE - номер страницы; X,Y - возвращаемые координаты (отсчет от 1,1); Up, Down - размер курсора в строках развертки)
Function GetCursorVisible(Page: Byte): Boolean;