Leaked source code of windows server 2003
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.

182 lines
5.5 KiB

  1. ;---------------------------- Include File Header ---------------------------;
  2. ; Module Name: hw.inc
  3. ;
  4. ; All the hardware specific driver file stuff. Mirrors some of 'hw.h'.
  5. ;
  6. ; Copyright (c) 1993-1994 Microsoft Corporation
  7. ;----------------------------------------------------------------------------;
  8. ;--------------------------------------------------------------------------
  9. ; Chip equates
  10. STATUS_1 equ 03DAh
  11. VSY_NOT equ 08h
  12. CRTC_INDEX equ 03D4h
  13. CRTC_DATA equ 03D5h
  14. S3R8 equ 038h
  15. S3R9 equ 039h
  16. S3R1 equ 031h
  17. S3R5 equ 035h
  18. CR39 equ 039h
  19. CR4C equ 04Ch
  20. CR4D equ 04Dh
  21. HGC_MODE equ 045h
  22. HGC_ENABLE equ 001h
  23. HGC_DISABLE equ 000h
  24. HGC_ORGX_LSB equ 047h
  25. HGC_ORGX_MSB equ 046h
  26. HGC_ORGY_LSB equ 049h
  27. HGC_ORGY_MSB equ 048h
  28. HGC_DX equ 04Eh
  29. HGC_DY equ 04Fh
  30. REG_UNLOCK_1 equ 048h
  31. CPUA_BASE equ 001h
  32. SYSCTL_UNLOCK equ 0A0h
  33. SYSCTL_LOCK equ 000h
  34. SYS_CNFG equ 040h
  35. LAW_CTL equ 058h
  36. EX_SCTL_2 equ 051h
  37. EX_DAC_CT equ 055h
  38. MISC_1 equ 03Ah
  39. ; Command types:
  40. DRAW_LINE equ 02000h
  41. RECTANGLE_FILL equ 04000h
  42. BITBLT equ 0C000h
  43. PATTERN_FILL equ 0E000h
  44. BYTE_SWAP equ 01000h
  45. BUS_SIZE_16 equ 00200h
  46. BUS_SIZE_8 equ 00000h
  47. WAIT_CPU equ 00100h
  48. ; Drawing directions (radial):
  49. DRAWING_DIRECTION_0 equ 0000h
  50. DRAWING_DIRECTION_45 equ 0020h
  51. DRAWING_DIRECTION_90 equ 0040h
  52. DRAWING_DIRECTION_135 equ 0060h
  53. DRAWING_DIRECTION_180 equ 0080h
  54. DRAWING_DIRECTION_225 equ 00A0h
  55. DRAWING_DIRECTION_270 equ 00C0h
  56. DRAWING_DIRECTION_315 equ 00E0h
  57. ; Drawing directions (x/y):
  58. DRAWING_DIR_BTRLXM equ 0000h
  59. DRAWING_DIR_BTLRXM equ 0020h
  60. DRAWING_DIR_BTRLYM equ 0040h
  61. DRAWING_DIR_BTLRYM equ 0060h
  62. DRAWING_DIR_TBRLXM equ 0080h
  63. DRAWING_DIR_TBLRXM equ 00A0h
  64. DRAWING_DIR_TBRLYM equ 00C0h
  65. DRAWING_DIR_TBLRYM equ 00E0h
  66. ; Drawing direction bits:
  67. PLUS_X equ 0020h
  68. PLUS_Y equ 0080h
  69. MAJOR_Y equ 0040h
  70. ; Draw:
  71. DRAW equ 0010h
  72. ; Direction type:
  73. DIR_TYPE_RADIAL equ 0008h
  74. DIR_TYPE_XY equ 0000h
  75. ; Last pixel:
  76. LAST_PIXEL_OFF equ 0004h
  77. LAST_PIXEL_ON equ 0000h
  78. ; Pixel mode:
  79. MULTIPLE_PIXELS equ 0002h
  80. SINGLE_PIXEL equ 0000h
  81. ; Read/write:
  82. READ equ 0000h
  83. WRITE equ 0001h
  84. ; Graphics processor status:
  85. HARDWARE_BUSY equ 0200h
  86. READ_DATA_AVAILABLE equ 0100h
  87. GP_ALL_EMPTY equ 0400h
  88. ; Fifo status in terms of empty entries:
  89. FIFO_1_EMPTY equ 0080h
  90. FIFO_2_EMPTY equ 0040h
  91. FIFO_3_EMPTY equ 0020h
  92. FIFO_4_EMPTY equ 0010h
  93. FIFO_5_EMPTY equ 0008h
  94. FIFO_6_EMPTY equ 0004h
  95. FIFO_7_EMPTY equ 0002h
  96. FIFO_8_EMPTY equ 0001h
  97. ; These are the defines for the multifunction control register.
  98. ; The 4 MSBs define the function of the register.
  99. RECT_HEIGHT equ 00000h
  100. CLIP_TOP equ 01000h
  101. CLIP_LEFT equ 02000h
  102. CLIP_BOTTOM equ 03000h
  103. CLIP_RIGHT equ 04000h
  104. DATA_EXTENSION equ 0A000h
  105. MULT_MISC_INDEX equ 0E000h
  106. READ_SEL_INDEX equ 0F000h
  107. ALL_ONES equ 00000h
  108. CPU_DATA equ 00080h
  109. DISPLAY_MEMORY equ 000C0h
  110. ; Color source:
  111. BACKGROUND_COLOR equ 000h
  112. FOREGROUND_COLOR equ 020h
  113. SRC_CPU_DATA equ 040h
  114. SRC_DISPLAY_MEMORY equ 060h
  115. ; Mix modes:
  116. NOT_SCREEN equ 00h
  117. LOGICAL_0 equ 01h
  118. LOGICAL_1 equ 02h
  119. LEAVE_ALONE equ 03h
  120. NOT_NEW equ 04h
  121. SCREEN_XOR_NEW equ 05h
  122. NOT_SCREEN_XOR_NEW equ 06h
  123. OVERPAINT equ 07h
  124. NOT_SCREEN_OR_NOT_NEW equ 08h
  125. SCREEN_OR_NOT_NEW equ 09h
  126. NOT_SCREEN_OR_NEW equ 0Ah
  127. SCREEN_OR_NEW equ 0Bh
  128. SCREEN_AND_NEW equ 0Ch
  129. NOT_SCREEN_AND_NEW equ 0Dh
  130. SCREEN_AND_NOT_NEW equ 0Eh
  131. NOT_SCREEN_AND_NOT_NEW equ 0Fh
  132. ; When one of the following bits is set in a hardware mix, it means
  133. ; that a pattern is needed (i.e., is none of NOT_SCREEN, LOGICAL_0,
  134. ; LOGICAL_1 or LEAVE_ALONE):
  135. MIX_NEEDSPATTERN equ 0Ch