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.

244 lines
3.9 KiB

  1. ;***************************************************************************
  2. ; *
  3. ; Copyright (C) 1983,1984 by Microsoft Inc. *
  4. ; *
  5. ;***************************************************************************
  6. ;***************************************************************************
  7. ; *
  8. ; Header file for IBM/PC timer device driver. Contains all machine *
  9. ; specific constant and data structure definitions. *
  10. ; *
  11. ;***************************************************************************
  12. .xlist
  13. include cmacros.inc
  14. ifdef NEC_98
  15. include windefs.inc
  16. else ; NEC_98
  17. ; include windefs.inc
  18. endif ; NEC_98
  19. .list
  20. ; picked off romstuff.inc
  21. DSEG equ DATA
  22. doffset EQU <DataOffset>
  23. ; Approximate value of timer tic in milliseconds * 1000.
  24. ifdef NEC_98
  25. res_low EQU 25000
  26. else ; NEC_98
  27. res_low EQU 54925
  28. endif ; NEC_98
  29. res_high EQU 0
  30. ; equates for disk status
  31. REMOVEABLE equ 2
  32. FIXED equ 3
  33. REMOTE equ 4
  34. ; Offset of Single Diskette indicator from beginning of Bios Data Area, 400h
  35. SingleDrive equ 104h
  36. ; Timer structure
  37. tiblock STRUC
  38. tirate DW ? ; -1 means not used, 0 means call as fast as possible
  39. ticount DW ? ; -1 means end of table.
  40. tiproc DD ? ; far proc to call.
  41. tiblock ENDS
  42. ifdef NEC_98
  43. ;
  44. ; DELAY MACRO FOR 80386
  45. ; This macro is defined in SYSMAC.INC(V23 ROM BIOS) <880203 ver2.1
  46. ;
  47. DELAY MACRO DEV,ACT,MOD
  48. IFIDN <DEV>,<8237>
  49. IFIDN <ACT>,<O-O>
  50. JMP SHORT $+2
  51. ENDIF
  52. IFIDN <ACT>,<O-I>
  53. JMP SHORT $+2
  54. ENDIF
  55. IFIDN <ACT>,<>
  56. JMP SHORT $+2
  57. ENDIF
  58. ENDIF
  59. IFIDN <DEV>,<8253>
  60. IFIDN <ACT>,<O-O>
  61. REPT 2
  62. JMP SHORT $+2
  63. ENDM
  64. ENDIF
  65. IFIDN <ACT>,<I-I>
  66. JMP SHORT $+2
  67. ENDIF
  68. IFIDN <ACT>,<O-I>
  69. REPT 2
  70. JMP SHORT $+2
  71. ENDM
  72. ENDIF
  73. IFIDN <ACT>,<I-O>
  74. JMP SHORT $+2
  75. ENDIF
  76. IFIDN <ACT>,<>
  77. REPT 2
  78. JMP SHORT $+2
  79. ENDM
  80. ENDIF
  81. ENDIF
  82. IFIDN <DEV>,<8255>
  83. IFIDN <ACT>,<O-O>
  84. REPT 2
  85. JMP SHORT $+2
  86. ENDM
  87. ENDIF
  88. IFIDN <ACT>,<I-I>
  89. JMP SHORT $+2
  90. ENDIF
  91. IFIDN <ACT>,<O-I>
  92. REPT 2
  93. JMP SHORT $+2
  94. ENDM
  95. ENDIF
  96. IFIDN <ACT>,<I-O>
  97. JMP SHORT $+2
  98. ENDIF
  99. IFIDN <ACT>,<>
  100. REPT 2
  101. JMP SHORT $+2
  102. ENDM
  103. ENDIF
  104. ENDIF
  105. IFIDN <DEV>,<8259>
  106. IFIDN <ACT>,<O-O>
  107. JMP SHORT $+2
  108. ENDIF
  109. IFIDN <ACT>,<I-I>
  110. ENDIF
  111. IFIDN <ACT>,<O-I>
  112. JMP SHORT $+2
  113. ENDIF
  114. IFIDN <ACT>,<I-O>
  115. ENDIF
  116. IFIDN <ACT>,<>
  117. JMP SHORT $+2
  118. ENDIF
  119. ENDIF
  120. IFIDN <DEV>,<8251>
  121. IFIDN <ACT>,<O-O>
  122. IFIDN <MOD>,<INIT>
  123. REPT 4
  124. JMP SHORT $+2
  125. ENDM
  126. ENDIF
  127. IFIDN <MOD>,<ASYNC>
  128. REPT 5
  129. JMP SHORT $+2
  130. ENDM
  131. ENDIF
  132. IFIDN <MOD>,<SYNC>
  133. REPT 10
  134. JMP SHORT $+2
  135. ENDM
  136. ENDIF
  137. ENDIF
  138. ENDIF
  139. IFIDN <DEV>,<765>
  140. ENDIF
  141. IFIDN <DEV>,<7220>
  142. IFIDN <ACT>,<O-O>
  143. IFIDN <MOD>,<GRAPH>
  144. REPT 4
  145. JMP SHORT $+2
  146. ENDM
  147. ENDIF
  148. IFIDN <MOD>,<TEXT>
  149. REPT 2
  150. JMP SHORT $+2
  151. ENDM
  152. ENDIF
  153. ENDIF
  154. IFIDN <ACT>,<I-I>
  155. IFIDN <MOD>,<GRAPH>
  156. REPT 3
  157. JMP SHORT $+2
  158. ENDM
  159. ENDIF
  160. IFIDN <MOD>,<TEXT>
  161. JMP SHORT $+2
  162. ENDIF
  163. ENDIF
  164. IFIDN <ACT>,<O-I>
  165. IFIDN <MOD>,<GRAPH>
  166. REPT 4
  167. JMP SHORT $+2
  168. ENDM
  169. ENDIF
  170. IFIDN <MOD>,<TEXT>
  171. REPT 2
  172. JMP SHORT $+2
  173. ENDM
  174. ENDIF
  175. ENDIF
  176. IFIDN <ACT>,<I-O>
  177. IFIDN <MOD>,<GRAPH>
  178. REPT 3
  179. JMP SHORT $+2
  180. ENDM
  181. ENDIF
  182. IFIDN <MOD>,<TEXT>
  183. JMP SHORT $+2
  184. ENDIF
  185. ENDIF
  186. ENDIF
  187. IFIDN <DEV>,<7201>
  188. IFIDN <ACT>,<O-O>
  189. JMP SHORT $+2
  190. ENDIF
  191. IFIDN <ACT>,<O-I>
  192. JMP SHORT $+2
  193. ENDIF
  194. ENDIF
  195. IFIDN <DEV>,<7210>
  196. IFIDN <ACT>,<O-O>
  197. JMP SHORT $+2
  198. ENDIF
  199. IFIDN <ACT>,<O-I>
  200. JMP SHORT $+2
  201. ENDIF
  202. ENDIF
  203. IFIDN <DEV>,<4990>
  204. REPT 3
  205. JMP SHORT $+2
  206. ENDM
  207. ENDIF
  208. ENDM
  209. ; dummy delay
  210. DELAY2 MACRO CNT
  211. local l1
  212. push cx
  213. mov cx, CNT
  214. l1:
  215. out 5fh, al
  216. loop l1
  217. pop cx
  218. ENDM
  219. endif ; NEC_98