mirror of https://github.com/nmlgc/ReC98.git
63 lines
869 B
NASM
63 lines
869 B
NASM
; master library - PC98 - MSDOS - EMS
|
|
;
|
|
; Description:
|
|
; EMS ドライバの存在確認
|
|
;
|
|
; Function/Procedures:
|
|
; int ems_exist(void) ;
|
|
;
|
|
; Parameters:
|
|
; none
|
|
;
|
|
; Returns:
|
|
; int 0 ... 存在しない
|
|
; 1 ... 存在する
|
|
;
|
|
; Binding Target:
|
|
; Microsoft-C / Turbo-C / Turbo Pascal
|
|
;
|
|
; Running Target:
|
|
; PC-9801
|
|
;
|
|
; Requiring Resources:
|
|
; CPU: 8086
|
|
; EMS: LIM EMS 4.0
|
|
;
|
|
; Notes:
|
|
; すべての EMS関数を実行する前にかならずこれで存在判定を行うこと。
|
|
;
|
|
; Compiler/Assembler:
|
|
; TASM 3.0
|
|
; OPTASM 1.6
|
|
;
|
|
; Author:
|
|
; 恋塚昭彦
|
|
;
|
|
; Revision History:
|
|
; 92/11/16 Initial
|
|
|
|
func EMS_EXIST
|
|
push SI
|
|
push DI
|
|
push DS
|
|
|
|
xor AX,AX
|
|
mov ES,AX
|
|
mov ES,ES:[67h*4+2]
|
|
mov DI,000ah
|
|
mov BX,CS
|
|
mov DS,BX
|
|
mov SI,offset emm_device_name
|
|
mov CX,4
|
|
repe cmpsw
|
|
jne short @@NAI
|
|
inc AX
|
|
@@NAI:
|
|
pop DS
|
|
pop DI
|
|
pop SI
|
|
ret
|
|
endfunc
|
|
|
|
emm_device_name db 'EMMXXXX0'
|