home *** CD-ROM | disk | FTP | other *** search
- {
- ════════════════════════════════════════════════════════════════════════════
-
- Visionix Expanded Memory Services Unit (VEMS)
- Copyright 1991,92,93 Visionix
- ALL RIGHTS RESERVED
-
- ────────────────────────────────────────────────────────────────────────────
-
- Revision history in reverse chronological order:
-
- Initials Date Comment
- ──────── ──────── ────────────────────────────────────────────────────────
-
- lpg 03/15/93 Added Source Documentation
-
- mep 02/11/93 Cleaned up code for beta release
-
- jrt 02/08/93 Sync with beta 0.12 release
-
- jrt 12/07/92 Sync with beta 0.11 release
-
- jrt 11/21/92 Sync with beta 0.08
-
- jrt 11/18/92 First logged revision.
-
- ────────────────────────────────────────────────────────────────────────────
-
- }
-
- Unit VEMS;
-
-
- Uses
-
- VTypes,
- DOS;
-
- {────────────────────────────────────────────────────────────────────────────}
-
- Type
-
- TEMSHandle = WORD;
- PEMSHadle = ^TEMSHandle;
-
- TEMSError = BYTE;
-
- {────────────────────────────────────────────────────────────────────────────}
-
- { EMS 3.0 functions. 4.0 is being implemented. }
-
-
- Function VEMSInstalled : BOOLEAN;
-
- Function VEMSGetVersion : BYTE;
-
- Function VEMSGetPageFrameSeg : WORD;
-
- Function VEMSGetStatus : TEMSError;
-
- Function VEMSGetErrorText( EMSstatus : BYTE ) : STRING;
-
- Function VEMSCountFreePages : WORD;
-
- Function VEMSCountTotalPages : WORD;
-
- Function VEMSNewPages( NumPages2Alloc : WORD ) : TEMSHandle;
-
- Function VEMSPageMap( EMSHandle : TEMSHandle;
- LogPage : WORD;
- PhysPage : WORD ) : TEMSError;
-
- Function VEMSDisposePages( EMSHandle : TEMSHandle ) : TEMSError;
-
- Function VEMS30SavePageMap( Handle : TEMSHandle ) : TEMSError;
-
- Function VEMS30RestorePageMap( Handle : TEMSHandle ) : TEMSError;
-
- Function VEMSCountHandles : WORD;
-
- Function VEMSHandlePageCount( Handle : TEMSHandle ) : WORD;
-
- Function VEMSSavePageMap( Point : POINTER ) : TEMSError;
-
- Function VEMSRestorePageMap( Point : POINTER ) : TEMSError;
-
- Function VEMSSaveRestorePageMap( SourcePoint : POINTER;
- DestPoint : POINTER ) : TEMSError;
-
- Function VEMSGetPageMapSize : WORD;
-
- {────────────────────────────────────────────────────────────────────────────}
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSInstalled : BOOLEAN;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- Whether EMS Support is Available
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSGetVersion : BYTE;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- EMS Version Number
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSGetPageFrameSeg : WORD;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- EMS Page Frame Segment
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSGetStatus : TEMSError;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSGetErrorText( Status : BYTE ) : STRING;
-
- [PARAMETERS]
-
- Status EMS Error Code
-
- [RETURNS]
-
- EMS Error Message Text
-
- [DESCRIPTION]
-
- Converts an EMS Error Code into a Text Error Message.
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSCountFreePages : WORD;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- Number of Free EMS Pages
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSCountTotalPages : WORD;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- Total Number of EMS Pages
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSNewPages( NumPages2Alloc : WORD ) : TEMSHandle; ;
-
- [PARAMETERS]
-
- NumPages2Alloc Number of Pages to Allocate
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSPageMap( Handle : TEMSHandle;
- LogPage : WORD;
- PhysPage : WORD ) : TEMSError;
-
- [PARAMETERS]
-
- Handle EMS Page Handle
- LogPage Logical Page Number
- PhysPage Physical Page Number
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSDisposePages( Handle : TEMSHandle ) : TEMSError;
-
- [PARAMETERS]
-
- Handle EMS Page Handle
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMS30SavePageMap( Handle : TEMSHandle ) : TEMSError;
-
- [PARAMETERS]
-
- Handle EMS Page Handle
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMS30RestorePageMap( Handle : TEMSHandle ) : TEMSError;
-
- [PARAMETERS]
-
- Handle EMS Page Handle
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSCountHandles : WORD;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- Total Number of EMS Handles
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSHandlePageCount( Handle : TEMSHandle ) : WORD;
-
- [PARAMETERS]
-
- Handle EMS Page Handle
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSSavePageMap( Point : POINTER ) : TEMSError;
-
- [PARAMETERS]
-
- Point ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSRestorePageMap( Point : POINTER ) : TEMSError;
-
- [PARAMETERS]
-
- Point ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSSaveRestorePageMap( SourcePoint : POINTER;
- DestPoint : POINTER ) : TEMSError;
-
- [PARAMETERS]
-
- SourcePoint ?
- DestPoint ?
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-
- ──────────────────────────────────────────────────────────────────────────────
-
-
- [FUNCTION]
-
- Function VEMSGetPageMapSize : WORD;
-
- [PARAMETERS]
-
- (None)
-
- [RETURNS]
-
- [DESCRIPTION]
-
- [SEE-ALSO]
-
- [EXAMPLE]
-
-