Add support for DOS Upper Memory Blocks (UMBs). (#38)
* Import unmodified USE!UMBS source. From https://forum.vcfed.org/index.php?threads/loading-dos-high-on-a-xt.32320/ * Customize the UMB Driver prompts. * Refactor memory management. Allow activation of EMS/UMB on demand. * Update the XTEMM and XTUMBS drivers to map their ranges. * Add instructions for all the drivers.
This commit is contained in:
committed by
GitHub
parent
553ca58dff
commit
0fbbc0070c
@@ -3027,18 +3027,25 @@ instmsg PROC NEAR
|
||||
RET
|
||||
instmsg ENDP
|
||||
;--------------------------------------------------------------------
|
||||
; Check EMS i/o port.
|
||||
; Initialize EMS window and check EMS i/o port.
|
||||
; output
|
||||
; for lo-tech EMS board, we cannot read from the page registers
|
||||
; hence we just return OK anyway.
|
||||
; cf = 0 : OK
|
||||
; cf = 1 : NG
|
||||
;--------------------------------------------------------------------
|
||||
ckemsio PROC NEAR
|
||||
MOV DX,CS:EMSIO
|
||||
; JJP IN AL,DX
|
||||
; JJP CMP AL,255 ;check TRS flag
|
||||
; JJP JE ckems3
|
||||
ADD DX,10 ; EMS segment register
|
||||
MOV AX,CS:PAGE_FRAME_SEG
|
||||
OUT DX,AX
|
||||
ADD DX,3 ; debug base register
|
||||
OUT DX,AX
|
||||
DEC DX ; EMS pages count register
|
||||
MOV AL,PHYS_PAGES
|
||||
OUT DX,AL
|
||||
ADD DX,3 ; debug register
|
||||
IN AL,DX
|
||||
CMP AL,2 ; Region::EmsWindow
|
||||
JNE ckems3
|
||||
ckems4:
|
||||
CLC ;reset CF
|
||||
RET
|
||||
@@ -3520,9 +3527,9 @@ info:
|
||||
; EMM driver initial routine work data area
|
||||
;--------------------------------------------------------------------
|
||||
start_msg db CR,LF
|
||||
DB 'XTEMM: EMM Driver for XTMax r02',CR,LF
|
||||
DB 'XTEMM: EMM Driver for XTMax r03',CR,LF
|
||||
db ' Based on Lo-tech EMM Driver for the Lo-tech 2MB EMS board.',CR,LF
|
||||
db ' Based on modifications by Michael Karcher.',CR,LF
|
||||
db ' Based on modifications by Michael Karcher.',CR,LF
|
||||
db ' Based on original works Copyright (c) 1988, Alex Tsourikov.',CR,LF
|
||||
db ' All rights reserved.',CR,LF
|
||||
db 'Using EMS '
|
||||
|
||||
@@ -29,7 +29,6 @@ Syntax: DEVICE=LTEMM.EXE [/switches]
|
||||
/i:nnn - EMS i/o port base address (260)
|
||||
/h:nnn - Maximal number of handles (64)
|
||||
/d:nn - Depth of contest saves (5)
|
||||
/f:nnn - First page number (0)
|
||||
/n - Bypass memory test
|
||||
/x - Perform long memory test
|
||||
/3 - Use only EMS 3.2 functions
|
||||
|
||||
Reference in New Issue
Block a user