// Считывание переменных видеофункций BIOS

#include <stdio.h>
#include "sysp.h"
#include "sysgraph.h"


main() {

     BIOS_VAR _far  *bios_var_ptr;

     // получаем указатель на область переменных видеофункций BIOS

     bios_var_ptr = (BIOS_VAR _far *) FP_MAKE(0x0000, 0x0410);

	  // отображаем содержимое переменных BIOS

	  printf(   "Флаги конфигурации:                        %Xh\n"
               "Текущий режим работы видеоадаптера:        %Xh\n"
               "Число символов в строке:                   %d\n"
               "Размер страницы видеопамяти:               %d\n"
               "Начальный адрес:                           %Xh\n"
               "Координаты курсора нулевой страницы:       %Xh\n"
					"Форма курсора:                             %Xh\n"
               "Активная страница:                         %Xh\n"
               "Адрес индексного регистра контроллера ЭЛТ: %Xh\n"
               "Регистр режима CGA:                        %Xh\n"
               "Цветовая палитра CGA:                      %Xh\n"
					"Число текстовых строк:                     %d\n"
               "Высота символов:                           %d\n"
               "Информация о EGA 1:                        %Xh\n"
               "Информация о EGA 2:                        %Xh\n"
					"Адрес таблицы окружения:                   %Fp\n",

               (unsigned char) bios_var_ptr->equipment_flag,
               (unsigned char) bios_var_ptr->video_mode,
               (unsigned) bios_var_ptr->columns,
               (unsigned) bios_var_ptr->page_length,
               (unsigned) bios_var_ptr->start_addr,
               (unsigned) bios_var_ptr->cursor_position[0],
               (unsigned) bios_var_ptr->cursor_shape,
               (unsigned char) bios_var_ptr->active_page,
               (unsigned) bios_var_ptr->crt_address,
               (unsigned char) bios_var_ptr->mode_reg_data,
               (unsigned char) bios_var_ptr->palette,
					(unsigned char) bios_var_ptr->rows + 1,
               (unsigned) bios_var_ptr->char_height,
               (unsigned char) bios_var_ptr->ega_info_1,
               (unsigned char) bios_var_ptr->ega_info_2,
               (void far*) bios_var_ptr->environ_ptr
     );
}

