+-------------------------------------------------------------------------+
| SHARP (2.01) |
| Библиотеки для работы с PCX файлами, EMS, XMS памятью и "мышью". |
| из программ на Turbo / Borland Pascal 7.0 |
| All right reserved |
| -= FreeWare Release =- |
+-------------------------------------------------------------------------+
| Описание функций библиотек: |
++-------------------------------------------------------------------------++
| EMS-SHARP |
| Библиотека для работы с EMS памятью |
+---------------------------------------------------------------------------+
| EmsError : byte; |
| В этой переменной дается код ошибки при выполнении процедур и функций |
|+-------------------------------------------------------------------------+|
|| Коды ошибок из драйвера EMM ||
|+-------------------------------------------------------------------------+|
|| 0 - Ошибок нет ||
||81h - Внутренняя ошибка EMM драйвера ||
||82h - EMM драйвер занят ||
||83h - Недопустимый EMM префикс ||
||84h - Запрос нестандартной функции ||
||85h - Исчерпан лимит на EMM префиксы ||
||86h - Ошибка сохранения или восстановления карты отображения ||
||87h - Запрошеное число страниц превышает обьем EMS памяти ||
||88h - Запрошеное число страниц больше числа свободных страниц ||
||89h - Запрос закрепления нуля страниц ||
||8Ah - При создании карты страниц указан номер превышающий ||
|| максимально допустимый для данного EMM префикса ||
||8Bh - Номер физической страницы больше 3 ||
||8Ch - Область сохранения контекста карты отображения пуста ||
||8Dh - Попытка сохранить контекст карты отображения вторично ||
||8Eh - Попытка восстановления контекста карты отображения ||
|| без предварительного сохранения ||
||8Fh - Недопустимый номер подфункции в регистре AL ||
|+-------------------------------------------------------------------------+|
| |
| Procedure EmsStatus; |
| Определение состояния EMS, EmsError = 0 если драйвер готов к работе |
| |
| Procedure EmsSegmentDetect; |
| Определение адреса сегмента начиная с которого располагается |
| фрейм физических страниц, передается в переменной EmsSegment |
| |
| Procedure EmsMemAvail; |
| Определение общего обьема EMS памяти и кол-во свободных для |
| распределения страниц, в LogPages и FreePages соответственно. |
| |
| Procedure EmsAlloc(Pages : word); |
| Распределение указанного в Pages числа страниц, префикс для |
| ссылок на рапределенные страницы дается в EmsPrefix. |
| |
| Procedure EmsMap(Handle : word; Pages : array of word); |
| Построение карты отображения. Связывает физические страницы с |
| номерами от 0 до 3 с логическими страницами номера которых даны |
| в массиве Pages[0..3] of word. В Handle передается EMM префикс. |
| |
| Procedure EmsSave(Handle : word); |
| Сохраняется текущая карта отображения, в Handle передается EMM префикс|
| |
| Procedure EmsRestore(Handle : word); |
| Восстанавливается карта отображения, в Handle передается EMM префикс. |
| |
| Function EmsVersion : byte; |
| Возвращает номер версии EMM драйвера |
| |
| Procedure EmsFree(Handle : word); |
| Освобождает распределенные логические страницы, в Handle передается |
| EMM префикс. |
| |
| Procedure EmsMemoryBlockSave(Segment : Word; Offset1 : Word; |
| Offset2 : Word; Bytes : Word); |
| Запись в фрейм физических страниц Bytes байтов. В переменную |
| Segment передается адрес сегмента данных откуда передаются байты. |
| В Offset1 смещение откуда начинаются пересылаемые байты. |
| В Offset2 смещение в фрейме физических страниц куда пересылаются |
| байты. |
| |
| Procedure EmsMemoryBlockLoad(Segment : Word; Offset1 : Word; |
| Offset2 : Word; Bytes : Word); |
| Загрузка из фрейма физических страниц Bytes байтов. В переменную |
| Segment передается адрес сегмента данных куда загружаются байты. |
| В Offset1 смещение начиная с которого загружаются байты. |
| В Offset2 смещение в фрейме физических страниц откуда происходит |
| загрузка байтов. |
| |
+---------------------------------------------------------------------------+
| +----------------------------------------------------------------+ |
| | | |
| | SHARP (2.01) | |
| | Release 25-07-1997 | |
| | All right reserved | |
| | -= ShareWare Release =- | |
| | Programming by VanDamM | |
| +----------------------------------------------------------------+ |
+---------------------------------------------------------------------------+
|