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.

397 lines
14 KiB

  1. ; * IBM CONFIDENTIAL * Jan 9 1990 *
  2. PAGE ,132
  3. TITLE PC DOS 3.3 Keyboard Definition File
  4. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  5. ;; PC DOS 3.3 - NLS Support - Keyboard Definition File
  6. ;; (c) Copyright IBM Corp 198?,...
  7. ;;
  8. ;; This the file header and table pointers ONLY.
  9. ;; The actual tables are contained in seperate source files.
  10. ;; These are:
  11. ;; KDFSP.ASM - Spanish
  12. ;; KDFPO.ASM - Portuguese
  13. ;; KDFGR.ASM - German
  14. ;; KDFIT.ASM - Italian
  15. ;; KDFFR.ASM - French
  16. ;; KDFSG.ASM - Swiss German
  17. ;; KDFSF.ASM - Swiss French
  18. ;; KDFDK.ASM - Danish
  19. ;; KDFUK.ASM - English
  20. ;; KDFBE.ASM - Belgium
  21. ;; KDFNL.ASM - Netherlands
  22. ;; KDFNO.ASM - Norway
  23. ;; KDFLA.ASM - Latin American
  24. ;; KDFSV.ASM - SWEDEN
  25. ;; KDFSU.ASM - Finland
  26. ;; Dummy US - US
  27. ;; Linkage Instructions:
  28. ;; The following instructions are contained in KDFLINK.BAT:
  29. ;;
  30. ;; LINK KDF+KDFSP+KDFGE+KDFFR+KDFIT+KDFPO+KDFUK+KDFSG+KDFDK+KDFEOF;
  31. ;; EXE2BIN KDF.EXE KEYBOARD.SYS
  32. ;;
  33. ;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986
  34. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  35. ;;
  36. ;;
  37. CODE SEGMENT PUBLIC 'CODE' ;;
  38. ASSUME CS:CODE,DS:CODE ;;
  39. ;;
  40. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  41. ;;***************************************
  42. ;; File Header
  43. ;;***************************************
  44. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  45. ;;
  46. DB 0FFh,'KEYB ' ;; signature
  47. DB 8 DUP(0) ;; reserved
  48. DW 650 ;; maximum size of Common Xlat Sect
  49. DW 350 ;; max size of Specific Xlat Sect
  50. DW 400 ;; max size of State Logic
  51. DD 0 ;; reserved
  52. DW 17 ;; number of languages
  53. DB 'SP'
  54. DW OFFSET SP_LANG_ENT,0
  55. DB 'PO'
  56. DW OFFSET PO_LANG_ENT,0
  57. DB 'FR'
  58. DW OFFSET FR_LANG_ENT,0
  59. DB 'DK'
  60. DW OFFSET DK_LANG_ENT,0
  61. DB 'SG'
  62. DW OFFSET SG_LANG_ENT,0
  63. DB 'GR'
  64. DW OFFSET GE_LANG_ENT,0
  65. DB 'IT'
  66. DW OFFSET IT_LANG_ENT,0
  67. DB 'UK'
  68. DW OFFSET UK_LANG_ENT,0
  69. DB 'SF'
  70. DW OFFSET SF_LANG_ENT,0
  71. DB 'BE'
  72. DW OFFSET BE_LANG_ENT,0
  73. DB 'NL'
  74. DW OFFSET NL_LANG_ENT,0
  75. DB 'NO'
  76. DW OFFSET NO_LANG_ENT,0
  77. DB 'CF'
  78. DW OFFSET CF_LANG_ENT,0
  79. DB 'SV'
  80. DW OFFSET SV_LANG_ENT,0
  81. DB 'SU'
  82. DW OFFSET SV_LANG_ENT,0
  83. DB 'LA'
  84. DW OFFSET LA_LANG_ENT,0
  85. DB 'US'
  86. DW OFFSET DUMMY_ENT,0
  87. ;
  88. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  89. ;;***************************************
  90. ;; Language Entries
  91. ;;***************************************
  92. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  93. ;;
  94. EXTRN SP_LOGIC:NEAR ;;
  95. EXTRN SP_437_XLAT:NEAR ;;
  96. EXTRN SP_850_XLAT:NEAR ;;
  97. ;;
  98. SP_LANG_ENT: ;; language entry for SPANISH
  99. DB 'SP' ;;
  100. DW 0 ;; reserved
  101. DW OFFSET SP_LOGIC,0 ;; pointer to LANG kb table
  102. DW 2 ;; number of code pages
  103. DW 437 ;; code page
  104. DW OFFSET SP_437_XLAT,0 ;; table pointer
  105. DW 850 ;; code page
  106. DW OFFSET SP_850_XLAT,0 ;; table pointer
  107. ;;
  108. ;****************************************************************************
  109. EXTRN PO_LOGIC:NEAR ;;
  110. EXTRN PO_860_XLAT:NEAR ;;
  111. EXTRN PO_850_XLAT:NEAR ;;
  112. ;;
  113. PO_LANG_ENT: ;; language entry for POTUGAL
  114. DB 'PO' ;;
  115. DW 0 ;; reserved
  116. DW OFFSET PO_LOGIC,0 ;; pointer to LANG kb table
  117. DW 2 ;; number of code pages
  118. DW 860 ;; code page
  119. DW OFFSET PO_860_XLAT,0 ;; table pointer
  120. DW 850 ;; code page
  121. DW OFFSET PO_850_XLAT,0 ;; table pointer
  122. ;;
  123. ;*****************************************************************************
  124. EXTRN FR_LOGIC:NEAR ;;
  125. EXTRN FR_437_XLAT:NEAR ;;
  126. EXTRN FR_850_XLAT:NEAR ;;
  127. ;;
  128. FR_LANG_ENT: ;; language entry for POTUGAL
  129. DB 'FR' ;;
  130. DW 0 ;; reserved
  131. DW OFFSET FR_LOGIC,0 ;; pointer to LANG kb table
  132. DW 2 ;; number of code pages
  133. DW 437 ;; code page
  134. DW OFFSET FR_437_XLAT,0 ;; table pointer
  135. DW 850 ;; code page
  136. DW OFFSET FR_850_XLAT,0 ;; table pointer
  137. ;;
  138. ;*****************************************************************************
  139. EXTRN DK_LOGIC:NEAR ;;
  140. EXTRN DK_865_XLAT:NEAR ;;
  141. EXTRN DK_850_XLAT:NEAR ;;
  142. ;;
  143. DK_LANG_ENT: ;; language entry for POTUGAL
  144. DB 'DK' ;;
  145. DW 0 ;; reserved
  146. DW OFFSET DK_LOGIC,0 ;; pointer to LANG kb table
  147. DW 2 ;; number of code pages
  148. DW 865 ;; code page
  149. DW OFFSET DK_865_XLAT,0 ;; table pointer
  150. DW 850 ;; code page
  151. DW OFFSET DK_850_XLAT,0 ;; table pointer
  152. ;;
  153. ;*****************************************************************************
  154. EXTRN SG_LOGIC:NEAR ;;
  155. EXTRN SG_437_XLAT:NEAR ;;
  156. EXTRN SG_850_XLAT:NEAR ;;
  157. ;;
  158. SG_LANG_ENT: ;; language entry for POTUGAL
  159. DB 'SG' ;;
  160. DW 0 ;; reserved
  161. DW OFFSET SG_LOGIC,0 ;; pointer to LANG kb table
  162. DW 2 ;; number of code pages
  163. DW 437 ;; code page
  164. DW OFFSET SG_437_XLAT,0 ;; table pointer
  165. DW 850 ;; code page
  166. DW OFFSET SG_850_XLAT,0 ;; table pointer
  167. ;;
  168. ;*****************************************************************************
  169. EXTRN SF_LOGIC:NEAR ;;
  170. EXTRN SF_437_XLAT:NEAR ;;
  171. EXTRN SF_850_XLAT:NEAR ;;
  172. ;;
  173. SF_LANG_ENT: ;; language entry for SWISS FRENCH
  174. DB 'SF' ;;
  175. DW 0 ;; reserved
  176. DW OFFSET SF_LOGIC,0 ;; pointer to LANG kb table
  177. DW 2 ;; number of code pages
  178. DW 437 ;; code page
  179. DW OFFSET SF_437_XLAT,0 ;; table pointer
  180. DW 850 ;; code page
  181. DW OFFSET SF_850_XLAT,0 ;; table pointer
  182. ;;
  183. ;*****************************************************************************
  184. EXTRN GE_LOGIC:NEAR ;;
  185. EXTRN GE_437_XLAT:NEAR ;;
  186. EXTRN GE_850_XLAT:NEAR ;;
  187. ;;
  188. GE_LANG_ENT: ;; language entry for POTUGAL
  189. DB 'GR' ;;
  190. DW 0 ;; reserved
  191. DW OFFSET GE_LOGIC,0 ;; pointer to LANG kb table
  192. DW 2 ;; number of code pages
  193. DW 437 ;; code page
  194. DW OFFSET GE_437_XLAT,0 ;; table pointer
  195. DW 850 ;; code page
  196. DW OFFSET GE_850_XLAT,0 ;; table pointer
  197. ;;
  198. ;*****************************************************************************
  199. EXTRN IT_LOGIC:NEAR ;;
  200. EXTRN IT_437_XLAT:NEAR ;;
  201. EXTRN IT_850_XLAT:NEAR ;;
  202. ;;
  203. IT_LANG_ENT: ;; language entry for POTUGAL
  204. DB 'IT' ;;
  205. DW 0 ;; reserved
  206. DW OFFSET IT_LOGIC,0 ;; pointer to LANG kb table
  207. DW 2 ;; number of code pages
  208. DW 437 ;; code page
  209. DW OFFSET IT_437_XLAT,0 ;; table pointer
  210. DW 850 ;; code page
  211. DW OFFSET IT_850_XLAT,0 ;; table pointer
  212. ;;
  213. ;*****************************************************************************
  214. EXTRN UK_LOGIC:FAR ;;
  215. EXTRN UK_437_XLAT:FAR ;;
  216. EXTRN UK_850_XLAT:FAR ;;
  217. ;;
  218. UK_LANG_ENT: ;; language entry for POTUGAL
  219. DB 'UK' ;;
  220. DW 0 ;; reserved
  221. DW OFFSET UK_LOGIC,0 ;; pointer to LANG kb table
  222. DW 2 ;; number of code pages
  223. DW 437 ;; code page
  224. DW OFFSET UK_437_XLAT,0 ;; table pointer
  225. DW 850 ;; code page
  226. DW OFFSET UK_850_XLAT,0 ;; table pointer
  227. ;;
  228. ;*****************************************************************************
  229. EXTRN BE_LOGIC:NEAR ;;
  230. EXTRN BE_437_XLAT:NEAR ;;
  231. EXTRN BE_850_XLAT:NEAR ;;
  232. ;;
  233. BE_LANG_ENT: ;; language entry for POTUGAL
  234. DB 'BE' ;;
  235. DW 0 ;; reserved
  236. DW OFFSET BE_LOGIC,0 ;; pointer to LANG kb table
  237. DW 2 ;; number of code pages
  238. DW 437 ;; code page
  239. DW OFFSET BE_437_XLAT,0 ;; table pointer
  240. DW 850 ;; code page
  241. DW OFFSET BE_850_XLAT,0 ;; table pointer
  242. ;;
  243. ;*****************************************************************************
  244. ;*****************************************************************************
  245. EXTRN NL_LOGIC:NEAR ;;
  246. EXTRN NL_437_XLAT:NEAR ;;
  247. EXTRN NL_850_XLAT:NEAR ;;
  248. ;;
  249. NL_LANG_ENT: ;; language entry for NETHERLANDS
  250. DB 'NL' ;;
  251. DW 0 ;; reserved
  252. DW OFFSET NL_LOGIC,0 ;; pointer to LANG kb table
  253. DW 2 ;; number of code pages
  254. DW 437 ;; code page
  255. DW OFFSET NL_437_XLAT,0 ;; table pointer
  256. DW 850 ;; code page
  257. DW OFFSET NL_850_XLAT,0 ;; table pointer
  258. ;;
  259. ;*****************************************************************************
  260. ;*****************************************************************************
  261. EXTRN NO_LOGIC:NEAR ;;
  262. EXTRN NO_865_XLAT:NEAR ;;
  263. EXTRN NO_850_XLAT:NEAR ;;
  264. ;;
  265. NO_LANG_ENT: ;; language entry for NORWAY
  266. DB 'NO' ;;
  267. DW 0 ;; reserved
  268. DW OFFSET NO_LOGIC,0 ;; pointer to LANG kb table
  269. DW 2 ;; number of code pages
  270. DW 865 ;; code page
  271. DW OFFSET NO_865_XLAT,0 ;; table pointer
  272. DW 850 ;; code page
  273. DW OFFSET NO_850_XLAT,0 ;; table pointer
  274. ;;
  275. ;*****************************************************************************
  276. ;*****************************************************************************
  277. EXTRN SV_LOGIC:NEAR ;;
  278. EXTRN SV_437_XLAT:NEAR ;;
  279. EXTRN SV_850_XLAT:NEAR ;;
  280. ;;
  281. SV_LANG_ENT: ;; language entry for SWEDEN
  282. DB 'SV' ;;
  283. DW 0 ;; reserved
  284. DW OFFSET SV_LOGIC,0 ;; pointer to LANG kb table
  285. DW 2 ;; number of code pages
  286. DW 437 ;; code page
  287. DW OFFSET SV_437_XLAT,0 ;; table pointer
  288. DW 850 ;; code page
  289. DW OFFSET SV_850_XLAT,0 ;; table pointer
  290. ;;
  291. ;*****************************************************************************
  292. ;*****************************************************************************
  293. ; EXTRN SU_LOGIC:NEAR ;;
  294. ; EXTRN SU_437_XLAT:NEAR ;;
  295. ; EXTRN SU_850_XLAT:NEAR ;;
  296. ; ;;
  297. ; SU_LANG_ENT: ;; language entry for FINLAND
  298. ; DB 'SU' ;;
  299. ; DW 0 ;; reserved
  300. ; DW OFFSET SU_LOGIC,0 ;; pointer to LANG kb table
  301. ; DW 2 ;; number of code pages
  302. ; DW 437 ;; code page
  303. ; DW OFFSET SU_437_XLAT,0 ;; table pointer
  304. ; DW 850 ;; code page
  305. ; DW OFFSET SU_850_XLAT,0 ;; table pointer
  306. ; ;;
  307. ;*****************************************************************************
  308. ;*****************************************************************************
  309. EXTRN CF_LOGIC:NEAR ;;
  310. EXTRN CF_863_XLAT:NEAR ;;
  311. EXTRN CF_850_XLAT:NEAR ;;
  312. ;;
  313. CF_LANG_ENT: ;; language entry for Canadian-French
  314. DB 'CF' ;;
  315. DW 0 ;; reserved
  316. DW OFFSET CF_LOGIC,0 ;; pointer to LANG kb table
  317. DW 2 ;; number of code pages
  318. DW 863 ;; code page
  319. DW OFFSET CF_863_XLAT,0 ;; table pointer
  320. DW 850 ;; code page
  321. DW OFFSET CF_850_XLAT,0 ;; table pointer
  322. ;;
  323. ;*****************************************************************************
  324. EXTRN LA_LOGIC:NEAR ;;
  325. EXTRN LA_850_XLAT:NEAR ;;
  326. EXTRN LA_437_XLAT:NEAR ;;
  327. ;;
  328. LA_LANG_ENT: ;; language entry for Canadian-French
  329. DB 'LA' ;;
  330. DW 0 ;; reserved
  331. DW OFFSET LA_LOGIC,0 ;; pointer to LANG kb table
  332. DW 2 ;; number of code pages
  333. DW 850 ;; code page
  334. DW OFFSET LA_850_XLAT,0 ;; table pointer
  335. DW 437 ;; code page
  336. DW OFFSET LA_437_XLAT,0 ;; table pointer
  337. ;;
  338. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  339. ;;
  340. DUMMY_ENT: ;; language entry
  341. DB 'XX' ;;
  342. DW 0 ;; reserved
  343. DW OFFSET DUMMY_LOGIC,0 ;; pointer to LANG kb table
  344. DW 5 ;; number of code pages
  345. DW 437 ;; code page
  346. DW OFFSET DUMMY_XLAT_437,0 ;; table pointer
  347. DW 850 ;; code page
  348. DW OFFSET DUMMY_XLAT_850,0 ;; table pointer
  349. DW 860 ;; code page
  350. DW OFFSET DUMMY_XLAT_860,0 ;; table pointer
  351. DW 863 ;; code page
  352. DW OFFSET DUMMY_XLAT_863,0 ;; table pointer
  353. DW 865 ;; code page
  354. DW OFFSET DUMMY_XLAT_865,0 ;; table pointer
  355. ;;
  356. DUMMY_LOGIC: ;;
  357. DW LOGIC_END-$ ;; length
  358. DW 0 ;; special features
  359. DB 92H,0,0 ;; EXIT_STATE_LOGIC_COMMAND
  360. LOGIC_END: ;;
  361. ;;
  362. DUMMY_XLAT_437: ;;
  363. DW 6 ;; length of section
  364. DW 437 ;; code page
  365. DW 0 ;; LAST STATE
  366. ;;
  367. DUMMY_XLAT_850: ;;
  368. DW 6 ;; length of section
  369. DW 850 ;; code page
  370. DW 0 ;; LAST STATE
  371. ;;
  372. DUMMY_XLAT_860: ;;
  373. DW 6 ;; length of section
  374. DW 860 ;; code page
  375. DW 0 ;; LAST STATE
  376. ;;
  377. DUMMY_XLAT_865: ;;
  378. DW 6 ;; length of section
  379. DW 865 ;; code page
  380. DW 0 ;; LAST STATE
  381. ;;
  382. DUMMY_XLAT_863: ;;
  383. DW 6 ;; length of section
  384. DW 863 ;; code page
  385. DW 0 ;; LAST STATE
  386. ;;
  387. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  388. ;*****************************************************************************
  389. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  390. ;;
  391. CODE ENDS ;;
  392. END ;;