Скачать EMS-Sharp 2.01 - Модуль для Работы с EMS

14.07.1997
Скачать файл (3,61 Кб)






+-------------------------------------------------------------------------+
 |                             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                     |    |
|     +----------------------------------------------------------------+    |
+---------------------------------------------------------------------------+