| http://freesoft.ru/?id=5163 Собственно говоря, это далеко не новость. Хотя, многие наверное даже не знают, что использование этой библиотеки позволяет решить не только проблему [color=red]ошики 200[color=blue] но и реализовать ряд возможностей. Приводим штатную сопроводительную документацию: ***************************************** * unit Max_Crt; * * v 1.2 beta last update 30/08/2001 * * © 1999-2001 ReMax SoftWare 2000 * ***************************************** Совместимая со стандартной библиотекой CRT (Borland Pascal 7.0). Но в отличие от нее корректно работает на современных процессорах (проверено на К6 -3-500 и СELERON-733) . Начиная с версии 1.1 поддерживает в текстовом режиме два набора символов на экране одновременно (VGA). Откомпилирована BP7.0. Исходные тексты примеров использования. Внимание ! Этот модуль является бета-версией. При возникновении нештатных ситуаций свяжитесь с автором! Просьба! Результаты Вашего тестирования (работает/не работает, на каком процессоре, какие параметры быстродействия достигнуты, замечания) - присылайте автору! http://remax22.chat.ru/ email:remax22@aport2000.ru Основное отличие версии 1.2 от 1.1 - оптимизация кода по быстродействию. - DelayCnt - Параметр быстродействия компьютера - переменная, определяемая при инициализации библиотеки. Переполнение этой переменной и является причиной выхода по ошибке любой программы, использующей стандартную библиотеку CRT. В зависимости от правильности установки этой переменной определяется точность остчета времени в процедуре DELAY. В библиотеке MAX_CRT версии 1.0 был изменен алгоритм инициализации этой переменной, что позволяло использовать ее на компьютерах вплоть до частоты процессора = 600. В свзи с необходимостью использования более быстродействующих процессоров алгоритм был пересмотрен в версии 1.1. Следует отметить, что сам принцип формирования временных интервалов, заложенный в идеологию данной библиотеки, некорректно работает в многозадачных операционных средах. Если в режиме полной эмуляции MS-DOS точность определения быстродействия ЭВМ составляет 0.1%, то при запуске из под WINDOWS 9x/NT речь идет про 10-15%. Если процедура DELAY неиспользуется в задачах REALTIME, то это не приципиально. В противном случае надо либо завышать время паузы на 10-15%, либо вообще перейти на другой принцип задрежки. - Max_Crt_Version - Номер версии модуля Max_Crt. - VGA FONTS - VGA_FONT1=1; VGA_FONT2=4; Константы, определяющие номер активной таблицы знакогенератора. При использовании VGA адаптера имеется возможность отображать на экране в текстовом режиме сразу два знакогенератора (т.е. 512 символов !!!). Принадлежность символа к тому или иному знакогенератору определяется атрибутом бита яркости. - procedure SetFontVGA(aa:byte) - Процедура выбора активной таблицы знакогенератора aa может принимать значения либо VGA_FONT1 либо VGA_FONT2. Если активен первый знакогенератор, то значит "яркие" символы беруться из первой таблицы, а "тусклые" символы берутся из второй. Если активен второй знакогенератор, то все наоборот. После смены режимов указатели знакогенераторов устанавливаются на одну стандартную таблицу. - procedure PutFontVGA(n:byte;a:pointer) - Процедура установки таблицы знакогенератора n=0 либо 1 a - адрес массива знакогенератора. Например: VAR newFont:array[0..255,1..16]of byte; Begin PutFontVGA(0,@NewFont); End. Разумеется, в этот массив надо что-то загрузить. Для формирования таблицы знакогенератора можно использовать программу RMFE.EXE (ReMax Font Editor), скачать которую можно по адресу http://remax22.chat.ru/
|