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.

361 lines
13 KiB

  1. .xlist
  2. ;========================================================================;
  3. ; ;
  4. ; GLOBAL EQUATION ;
  5. ; ;
  6. ;========================================================================;
  7. if WINNT
  8. Version equ '5.0'
  9. else
  10. Version equ '1.20a.'
  11. endif
  12. false = 0
  13. true = not false
  14. hWin31Sw = true
  15. GetSwitch = true
  16. Kbd101On = true
  17. ChkW32Trident = true ; card check(true), switch(false)
  18. HotKey = true ; support(true)
  19. AltHotKey = true ; support(true)
  20. VirtualKey = false ; 84 kbd
  21. KseVga = true
  22. AtiVga = true
  23. if1
  24. %OUT *****************************************************************
  25. if Debug
  26. %OUT DEBUGGING mode
  27. endif
  28. if ComFile
  29. %OUT .COM file type
  30. else
  31. %OUT .SYS file type
  32. endif
  33. if HotKey
  34. %OUT Hot_key support
  35. endif
  36. %OUT *****************************************************************
  37. endif
  38. ;------------------------------------------------------------------------
  39. DATA SEGMENT AT 0
  40. ORG 8*4
  41. rRtcInt dd ? ; INT 8
  42. ORG 9*4
  43. rKbInt dd ? ; INT 9
  44. ORG 10h*4
  45. rVideoInt dd ? ; INT 10
  46. ORG 15h*4
  47. rCasetInt dd ? ; INT 15
  48. ORG 16h*4
  49. rKbioInt dd ? ; INT 16
  50. ORG 17h*4
  51. rPrinter dd ? ; INT 17
  52. ORG 1dh*4
  53. rVdParm dd ? ; INT 1D
  54. ORG 2fh*4
  55. rInt2f dd ? ; INT 2F
  56. ORG 410h
  57. rEquip db ?
  58. ORG 449h
  59. rCrtMode db ? ; current CRT mode
  60. rCrtCols dw ? ; number of columns on screen
  61. rCrtLen dw ? ; length of regen in bytes
  62. rCrtStart dw ? ; starting address in regen buffer
  63. rCurPos dw 8 dup (?) ; cursor for each of up to 8 pages
  64. rCurType dw ? ; current cursor mode setting
  65. rCurPage db ? ; current page being displayed
  66. rAddr6845 dw ? ; base address for active display card
  67. rCrtModeSet db ? ; current setting of the 3x8 register
  68. rCrtPallette db ? ; current pallette setting color card
  69. ORG 46ch
  70. rTimerLow dw ? ; low word of timer count
  71. rTimerHigh dw ? ; high word of timer count
  72. rTimerOverflow db ? ; timer has rolled over since last read
  73. ORG 484h
  74. rRows db ? ; rows on the active screen (less 1)
  75. rPoints dw ? ; bytes per character
  76. rInfo db ? ; mode options
  77. rInfo3 db ? ; feature bit switches
  78. rMiscFlags db ? ; miscellaneous flags
  79. rDCC db ? ; display config comb code table index
  80. ORG 4a8h
  81. rSavePtr dd ? ; pointer to E/VGA parms control block
  82. DATA ENDS
  83. KbSeg SEGMENT AT 40h
  84. ORG 17h
  85. rKbFlag db ?
  86. rKbFlag1 db ?
  87. rAltInput db ? ; storage for alternate keypad entry
  88. rBufferHead dw ? ; pointer to head of keyboard buffer
  89. rBufferTail dw ? ; pointer to tail of keyboard buffer
  90. rKbBuffer dw 16 dup (?)
  91. ORG 80h ; buffer location within segment 40H
  92. rBufferStart dw ? ; offset of keyboard buffer start
  93. rBufferEnd dw ? ; offset of keyboard buffer end
  94. ORG 96h
  95. rKbFlag3 db ? ; keyboard mode state and type flags
  96. rKbFlag2 db ? ; keyboard LED flags
  97. KbSeg ENDS
  98. ;------------------------------------------------------------------------
  99. @PUSH MACRO a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12
  100. IRP REGISTER,<a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12>
  101. IFB <REGISTER>
  102. ;;if REGISTER is blank do nothing.
  103. ELSE
  104. PUSH REGISTER
  105. ENDIF
  106. ENDM
  107. ENDM
  108. @POP MACRO a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12
  109. IRP REGISTER,<a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12>
  110. IFB <REGISTER>
  111. ;;if REGISTER is blank do nothing.
  112. ELSE
  113. POP REGISTER
  114. ENDIF
  115. ENDM
  116. ENDM
  117. BOP MACRO func
  118. db 0c4h,0c4h,func
  119. ; jmp cs:[pass_disp_add]
  120. ; int 44h
  121. ENDM
  122. ;------------------------------------------------------------------------
  123. Config STRUC ; total 50 byte
  124. sConfigId db 'HECON.CFG' ; 9 byte
  125. sCodeType db ?
  126. sFont db 32 dup(?) ; drive/path/filename
  127. sMemory db ? ; real/EMS/ext./HIMEM
  128. sHeKey db ?
  129. sHjKey db ?
  130. sPrinterType db ?
  131. sKbdType db ?
  132. db 3 dup(?) ; reserved
  133. Config ENDS
  134. UserCard STRUC
  135. uHanOn dw ?
  136. uHanOff dw ?
  137. uGetFont dw ?
  138. uPutFont dw ?
  139. uModeset dw ?
  140. uEop dw ?
  141. uInit dw ?
  142. UserCard ENDS
  143. CrtParm STRUC ; video parms structure
  144. db 2 dup(?)
  145. cPoints db ?
  146. db 6 dup(?)
  147. cMisc db ?
  148. cCrtc db 25 dup(?)
  149. cAttr db 20 dup(?)
  150. cGrp db 6 dup(?)
  151. cMap db ?
  152. db 2 dup(?)
  153. CrtParm ENDS
  154. ModeParms STRUC
  155. sMode db ? ; input mode(modified if eng-card/text)
  156. sModeId db ? ; mode ID for application
  157. sRealMode db ? ; used for mode set really
  158. sCodeVram db ? ; code buffer address
  159. sGrpVram db ? ; grp video byte address
  160. sCodeSize db ? ; code buffer size
  161. sGrpSize db ? ; grp video byte size
  162. sStatus db ? ; mode status byte
  163. sRows db ? ; rows
  164. sAdjParms dw ? ; adjust video mode parms pointer
  165. sParms dw ? ; video mode parms pointer
  166. sCurType dw ? ; cursor type
  167. ModeParms ENDS
  168. UdcHeader STRUC
  169. UdcMapTblPtr dw ?
  170. UdcMapTblSize dw ?
  171. UdcIndexTblPtr dw ?
  172. UdcIndexTblSize dw ?
  173. UdcSetTblPtr dw ?
  174. UdcSetTblSize dw ?
  175. UdcPatPtr dw ?
  176. UdcPatSize dw ?
  177. UdcFileId db 8 dup (?)
  178. UdcUpdateDate db 8 dup (?)
  179. UdcReserved db 16 dup (?)
  180. UdcHeader ENDS
  181. GdtTbl STRUC
  182. db 16 dup(?)
  183. GdtCntS dw ?
  184. GdtSL dw ?
  185. GdtSH db ?
  186. db ?
  187. db 2 dup(?)
  188. GdtCntD dw ?
  189. GdtDL dw ?
  190. GdtDH db ?
  191. db ?
  192. db 18 dup(?)
  193. GdtTbl ENDS
  194. VDM_INFO_TBL STRUC
  195. packet_len dw 30
  196. video_buffer dd 0
  197. dmode_add dd 0
  198. windowed_add dd 0
  199. nt_cons_add dd 0
  200. disp_sys_init dd 0
  201. fullsc_resume_ptr dd 0
  202. ias_setmode_add dd 0
  203. VDM_INFO_TBL ENDS
  204. ;------------------------------------------------------------------------
  205. GrpIndex = 3ceh
  206. MiscReg = 3c2h
  207. AttrReg = 3c0h
  208. SeqIndex = 3c4h
  209. ;------------------------------------------------------------------------
  210. ; stack pointer
  211. rBX = 2*7
  212. rCX = 2*6
  213. rDX = 2*5
  214. rSI = 2*4
  215. rDI = 2*3
  216. rES = 2*2
  217. rDS = 2*1
  218. rBP = 2*0
  219. StringLng = 32 ; size of 'HECON.CFG' file
  220. EnvrParmPtr = 2ch
  221. ; << ModeStat >>
  222. TextEmulation = 10000000b ; fixed
  223. ColorMode = 01000000b ; fixed
  224. GrpMode = 00100000b ; fixed
  225. MultiPage = 00001000b ; fixed
  226. EmuCursor = 00000100b ; fixed
  227. HwScroll = 00000001b ; fixed
  228. ; << CodeStat >>
  229. InstPatGen = 10000000b ; installed PatGen
  230. HangeulMode = 01000000b ; ѱ ȯ
  231. ChabLoad = 00100000b ; request to chohab service
  232. WSung7 = 00000100b ; fixed
  233. Chab = 00000010b ; fixed
  234. WSung = 00000000b ; fixed
  235. HangeulVideoMode= 00000001b ; ѱ display mode
  236. ; << DisplayStat >>
  237. RunEsc = 00000001b
  238. ; << HanStat >> ; reserved flag
  239. Han1st = 00000001b ; fixed
  240. ; << KbStat >>
  241. UserDefineKey = 10000000b
  242. ReqEnvrChg = 01000000b ; request hot-key processing
  243. HanKeyinMode = 00100000b ; hangeul displayable video mode
  244. Ext10xKey = 00010000b ; fixed
  245. HEStat = 00000100b ; fixed
  246. JJStat = 00000001b ; fixed
  247. ; <<HotStat>>
  248. AltHotChg = 00000001b
  249. ; << HjStat >> << OrgHjStat >>
  250. UdcLoaded = 10000000b
  251. UdcArea = 01000000b
  252. HjLoaded = 00100000b
  253. HjModeEnable = 00000001b ; fixed
  254. ; << HjMenuStat >> ; reserved flag
  255. HjMenuMode = 00000001b ; fixed
  256. ; << MachineType >>
  257. AtMachine = 00000001b
  258. ; << Card1st >> , << Card2nd >>
  259. FontCard = 10000000b
  260. HanCard = 01000000b
  261. ColorMnt = 00100000b ; color monitor(1), mono monitor(0)
  262. DualMnt = 00010000b
  263. CardType = 00001110b ; fixed, card mask
  264. VgaCard = 00001010b ; fixed
  265. McgaCard = 00001000b ; fixed
  266. EgaCardC = 00000110b ; fixed
  267. EgaCardM = 00000100b ; fixed
  268. CgaCard = 00000010b ; fixed
  269. MgaCard = 00000000b ; fixed
  270. ; << MemStat >>
  271. RealMem = 10000000b
  272. ExtMem = 01000000b
  273. EmsMem = 00100000b
  274. HiMem = 00010000b
  275. ; << ErrStat >>
  276. UdcLoadErr = 10000000b
  277. FontLoadErr = 01000000b
  278. MemoryErr = 00100000b
  279. FileErr = 00010000b
  280. ; << Printer >>
  281. NoPrt = 00000011b ; WanSung printer
  282. KsPrt = 00000000b ; WanSung printer
  283. wLbp = 00000001b ; WanSung printer
  284. wKmPrt = 00000010b ; WanSung printer
  285. cKmPrt = 00000110b ; ChoHab printer
  286. TgPrt = 00000111b ; ChoHab printer
  287. ChPrinter = 00000100b
  288. ; << KbMisc >>
  289. InterimCtrlDisp = 00000001b
  290. HaveInterim = 00000010b
  291. SavedInterim = 00000100b
  292. RunningHot = 00001000b
  293. ; << KseCard >>
  294. MonoMntC = 00000010b
  295. PassHanCdCheck = 00000100b
  296. Page1Fix = 00001000b
  297. ; << KbdType >>
  298. SetKbd101 = 00000001b
  299. ;------------------------------------------------------------------------
  300. EscKey = 1bh
  301. CR = 0Dh
  302. LF = 0Ah
  303. BS = 08h
  304. BELL = 07h
  305. DelKey = 53h
  306. DefXtKsHeKey = 0f0h
  307. DefAtKsHeKey = 0f2h
  308. DefKsHjKey = 0f1h
  309. Def101HeKey = 38h
  310. Def101HjKey = 1dh
  311. DefAtHeKey = 6eh
  312. DefAtHjKey = 62h
  313. DefXtHeKey = 57h
  314. DefXtHjKey = 56h
  315. ;------------------------------------------------------------------------
  316. .list
  317.