home *** CD-ROM | disk | FTP | other *** search
- (7599) Thu 20 May 93 11:25a
- By: Wilbert van Leijen
- To: Terry Carmen
- Re: high memory
- St: Rcvd <5794
- ---------------------------------------------------------------------------
- @MSGID: 2:281/256.14 2bfb6b87
- @REPLY: 1:260/338@Fidonet 440ccf51
- @PID: GE 1/b8
- 16 May 93, Terry Carmen writes to All:
-
- TC> Does anybody know how to get a memory manager (QEMM, 386MAx, EMM386, etc.)
- TC> to give the location or size of available high memory blocks?
-
- Since these memory managers are also XMS servers, use the XMS interface via INT
- 2Fh, AH=43h. Here's a snippet of code from a TSR I wrote:
-
- ; Check presence of an XMS driver
- ; (such as HIMEM or QEMM386)
-
- XMSCheck: MOV AX, 4300h
- INT 2Fh
- CMP AL, 80h
- JNE NoXMS
- MOV AL, 10h
- INT 2Fh
- MOV Word Ptr [XMSDriver], BX
- MOV Word Ptr [XMSDriver+2], ES
-
- ; Allocate upper memory block to store alternative font in
-
- MOV AH, 10h
- MOV DX, 4096 / 16
- CALL [XMSDriver]
- OR AL, AL
- JZ NoXMS
-
- XOR AX, AX
- MOV Word Ptr [NewORG+AltFontPtr], AX
- MOV Word Ptr [NewORG+AltFontPtr+2], BX
- CLD
-
- ; Copy alternative font into the UMB
-
- MOV SI, Offset NewORG+AltFont
- MOV ES, BX
- XOR DI, DI
- MOV CX, 4096 / 2
- REP MOVSW
- MOV [FontUpper], 1
- JMP Short Activate
-
- NoXMS:
-
- Wilbert
-
- --- GEcho 1.00/beta
- * Origin: Charge of the Light Bregade (2:281/256.14)
-
- @PATH: 281/256 1 280/0 28/777 500/1 105/42 334 138/112 13/13 260/1
-