Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
;****************************************************************************** ; ; (C) Copyright MICROSOFT Corp., 1993-1994 ; ; Title: Virtual Flat Device Exported Services ; ; Version: 2.00 ; ; Date: 8-Nov-1993 ; ; Author: RAP ; ;------------------------------------------------------------------------------ ; ; Change log: ; ; DATE REV DESCRIPTION ; ----------- --- ----------------------------------------------------------- ; 08-Nov-1993 RAP Original ; ;==============================================================================
IFDEF VMM_TRUE Begin_Service_Table VFLATD
VFLATD_Service VFLATD_Get_Version, LOCAL VFLATD_Service VFLATD_Unmap_Flat_Selector, LOCAL
End_Service_Table VFLATD ENDIF
VflatD_Chicago_ID equ 011Fh ; OEM #8 Device #31 VflatD_Windows_ID equ (0440h + 29d) ; MMSYS OEM# device 30
ifdef WIN31 VflatD_Device_ID equ VflatD_Windows_ID VflatD_Version equ 0160h ; 1.60 else VflatD_Device_ID equ VflatD_Chicago_ID VflatD_Version equ 0200h ; 2.00 endif
; ; PM API defines ; VflatD_Query equ 0 VflatD_Get_Version equ 0 VflatD_Get_Sel equ 1 VflatD_Reset equ 2 VflatD_Create_Virtual_Frame_Buffer equ 3 VflatD_Create_Physical_Frame_Buffer equ 4
;****************************************************************************** ; ; VFLATD_PM_API_Query ; ; DESCRIPTION: ; Query VFlatD info ; ; ENTRY: ; Client_DX = 0 ; ; EXIT: ; Client_EAX = VFlatD version ; Client_EBX = selector to the frame buffer ; Client_ECX = size of frame buffer ; Client_EDX = Bank size + flags? ; ;==============================================================================
;****************************************************************************** ; ; VFLATD_PM_API_Get_Video_Base ; ; DESCRIPTION: ; Return a GDT selector to the flat video buffer ; ; ENTRY: ; Client_DX = 1 ; Client_AX = # of pages of video memory ; Client_CX = size of bank switch code ; Client_ES:DI -> bank switch code ; ; EXIT: ; Client_AX = Selector to flat video buffer ; Client_EDX = Linear base of flat video buffer ; Client carry flag clear ; ;==============================================================================
;****************************************************************************** ; ; VFLATD_PM_API_Create_Physical_Frame_Buffer ; ; DESCRIPTION: ; Return a GDT selector to a flat video buffer ; ; ENTRY: ; Client_DL = 4 ; Client_DH = flags ; Client_EAX = physical base of frame buffer ; Client_ECX = size of frame buffer (in bytes) ; ; EXIT: ; Client_AX = Selector to flat video buffer ; Client_EDX = Linear base of flat video buffer ; Client carry flag clear ; ;==============================================================================
;****************************************************************************** ; ; VFLATD_PM_API_Create_Virtual_Frame_Buffer ; ; DESCRIPTION: ; Return a GDT selector to the flat video buffer ; ; ENTRY: ; Client_DL = 3 ; Client_DH = flags ; Client_EAX = size of frame buffer (in bytes) ; Client_EBX = size of a bank (in bytes) ; Client_ESI = location of bank ; Client_CX = size of bank switch code ; Client_ES:DI = ptr to bank switch code ; ; EXIT: ; Client_AX = Selector to flat video buffer ; Client_EDX = Linear base of flat video buffer ; Client carry flag clear ; ;==============================================================================
|