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.

132 lines
3.7 KiB

  1. ;******************************************************************************
  2. ;
  3. ; (C) Copyright MICROSOFT Corp., 1993-1994
  4. ;
  5. ; Title: Virtual Flat Device Exported Services
  6. ;
  7. ; Version: 2.00
  8. ;
  9. ; Date: 8-Nov-1993
  10. ;
  11. ; Author: RAP
  12. ;
  13. ;------------------------------------------------------------------------------
  14. ;
  15. ; Change log:
  16. ;
  17. ; DATE REV DESCRIPTION
  18. ; ----------- --- -----------------------------------------------------------
  19. ; 08-Nov-1993 RAP Original
  20. ;
  21. ;==============================================================================
  22. IFDEF VMM_TRUE
  23. Begin_Service_Table VFLATD
  24. VFLATD_Service VFLATD_Get_Version, LOCAL
  25. VFLATD_Service VFLATD_Unmap_Flat_Selector, LOCAL
  26. End_Service_Table VFLATD
  27. ENDIF
  28. VflatD_Chicago_ID equ 011Fh ; OEM #8 Device #31
  29. VflatD_Windows_ID equ (0440h + 29d) ; MMSYS OEM# device 30
  30. ifdef WIN31
  31. VflatD_Device_ID equ VflatD_Windows_ID
  32. VflatD_Version equ 0160h ; 1.60
  33. else
  34. VflatD_Device_ID equ VflatD_Chicago_ID
  35. VflatD_Version equ 0200h ; 2.00
  36. endif
  37. ;
  38. ; PM API defines
  39. ;
  40. VflatD_Query equ 0
  41. VflatD_Get_Version equ 0
  42. VflatD_Get_Sel equ 1
  43. VflatD_Reset equ 2
  44. VflatD_Create_Virtual_Frame_Buffer equ 3
  45. VflatD_Create_Physical_Frame_Buffer equ 4
  46. ;******************************************************************************
  47. ;
  48. ; VFLATD_PM_API_Query
  49. ;
  50. ; DESCRIPTION:
  51. ; Query VFlatD info
  52. ;
  53. ; ENTRY:
  54. ; Client_DX = 0
  55. ;
  56. ; EXIT:
  57. ; Client_EAX = VFlatD version
  58. ; Client_EBX = selector to the frame buffer
  59. ; Client_ECX = size of frame buffer
  60. ; Client_EDX = Bank size + flags?
  61. ;
  62. ;==============================================================================
  63. ;******************************************************************************
  64. ;
  65. ; VFLATD_PM_API_Get_Video_Base
  66. ;
  67. ; DESCRIPTION:
  68. ; Return a GDT selector to the flat video buffer
  69. ;
  70. ; ENTRY:
  71. ; Client_DX = 1
  72. ; Client_AX = # of pages of video memory
  73. ; Client_CX = size of bank switch code
  74. ; Client_ES:DI -> bank switch code
  75. ;
  76. ; EXIT:
  77. ; Client_AX = Selector to flat video buffer
  78. ; Client_EDX = Linear base of flat video buffer
  79. ; Client carry flag clear
  80. ;
  81. ;==============================================================================
  82. ;******************************************************************************
  83. ;
  84. ; VFLATD_PM_API_Create_Physical_Frame_Buffer
  85. ;
  86. ; DESCRIPTION:
  87. ; Return a GDT selector to a flat video buffer
  88. ;
  89. ; ENTRY:
  90. ; Client_DL = 4
  91. ; Client_DH = flags
  92. ; Client_EAX = physical base of frame buffer
  93. ; Client_ECX = size of frame buffer (in bytes)
  94. ;
  95. ; EXIT:
  96. ; Client_AX = Selector to flat video buffer
  97. ; Client_EDX = Linear base of flat video buffer
  98. ; Client carry flag clear
  99. ;
  100. ;==============================================================================
  101. ;******************************************************************************
  102. ;
  103. ; VFLATD_PM_API_Create_Virtual_Frame_Buffer
  104. ;
  105. ; DESCRIPTION:
  106. ; Return a GDT selector to the flat video buffer
  107. ;
  108. ; ENTRY:
  109. ; Client_DL = 3
  110. ; Client_DH = flags
  111. ; Client_EAX = size of frame buffer (in bytes)
  112. ; Client_EBX = size of a bank (in bytes)
  113. ; Client_ESI = location of bank
  114. ; Client_CX = size of bank switch code
  115. ; Client_ES:DI = ptr to bank switch code
  116. ;
  117. ; EXIT:
  118. ; Client_AX = Selector to flat video buffer
  119. ; Client_EDX = Linear base of flat video buffer
  120. ; Client carry flag clear
  121. ;
  122. ;==============================================================================