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.

689 lines
32 KiB

  1. PAGE 118,132
  2. TITLE DOS - Keyboard Definition File
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;; DOS - - NLS Support - Keyboard Definition File
  5. ;;
  6. ;; This file contains the keyboard tables for Bulgaria
  7. ;;
  8. ;; Linkage Instructions:
  9. ;; Refer to KDF.ASM.
  10. ;;
  11. ;; This file was generated YKEY.EXE V3.0 01/05/94
  12. ;; Copyright (C) YST_HOME 1991-1994
  13. ;;
  14. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  15. ;;
  16. INCLUDE KEYBSHAR.INC ;;
  17. INCLUDE POSTEQU.INC ;;
  18. INCLUDE KEYBMAC.INC ;;
  19. ;;
  20. PUBLIC BG_LOGIC ;;
  21. PUBLIC BG_866_XLAT ;;
  22. PUBLIC BG_850_XLAT ;;
  23. PUBLIC BG_855_XLAT ;;
  24. ;;
  25. CODE SEGMENT PUBLIC 'CODE' ;;
  26. ASSUME CS:CODE,DS:CODE ;;
  27. ;;
  28. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  29. ;; Standard translate table options are a linear search table
  30. ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  31. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  32. ;;
  33. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  34. ENX_KBD EQU G_KB+P12_KB
  35. ;;
  36. ;;
  37. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38. ;;***************************************
  39. ;;
  40. ;; BU State Logic
  41. ;;
  42. ;;***************************************
  43. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  44. ;;
  45. ;;
  46. ;;
  47. ;;
  48. BG_LOGIC: ;;
  49. ;;
  50. DW LOGIC_END-$ ;; length
  51. ;;
  52. DW SHIFTS_TO_LOGIC+SWITCHABLE ;; special features
  53. ;;
  54. ;; COMMANDS START HERE
  55. ;;
  56. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  57. ;; OPTIONS: If we find a scan match in
  58. ;; an XLATT or SET_FLAG operation then
  59. ;; exit from INT 9.
  60. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  61. ;;
  62. ;;
  63. OPTION EXIT_IF_FOUND ;;
  64. ;;
  65. ;;
  66. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  67. ;;
  68. ;; Mode change CHECK
  69. ;;
  70. ;; <CTRL>+<RIGHT SHIFT> for Cyrillic mode
  71. ;;
  72. ;; <CTRL>+<LEFT SHIFT> for Latin mode
  73. ;;
  74. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  75. ;;
  76. ;;
  77. IFF SHIFTS_PRESSED ;;
  78. IFF EITHER_CTL,NOT ;;
  79. ANDF EITHER_ALT ;;
  80. IFF LEFT_SHIFT ;; Primary mode
  81. BEEP ;;
  82. RESET_NLS ;;
  83. ENDIFF ;;
  84. IFF RIGHT_SHIFT ;;
  85. BEEP ;;
  86. SET_FLAG RUS_MODE_SET ;; secondary mode
  87. ENDIFF ;;
  88. ENDIFF ;;
  89. EXIT_STATE_LOGIC ;;
  90. ENDIFF ;;
  91. ;;
  92. ;;
  93. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  94. ;; Upper, lower and third shifts
  95. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  96. ;;
  97. ;;
  98. ;;
  99. IFF EITHER_CTL,NOT ;; Lower and upper case. Alphabetic
  100. IFF EITHER_ALT,NOT ;; keys are affected by CAPS LOCK.
  101. IFF RUS_MODE ;;
  102. ANDF LC_E0,NOT ;; Enhanced keys are not
  103. IFF EITHER_SHIFT ;; Numeric keys are not.
  104. XLATT NON_ALPHA_UPPER ;;
  105. IFF CAPS_STATE ;;
  106. XLATT ALPHA_LOWER ;;
  107. ELSEF ;;
  108. XLATT ALPHA_UPPER ;;
  109. ENDIFF ;;
  110. ELSEF ;;
  111. XLATT NON_ALPHA_LOWER ;;
  112. IFF CAPS_STATE ;;
  113. XLATT ALPHA_UPPER ;;
  114. ELSEF ;;
  115. XLATT ALPHA_LOWER ;;
  116. ENDIFF ;;
  117. ENDIFF ;; Third and Fourth shifts
  118. ENDIFF ;;
  119. ELSEF ;; ctl off, alt on at this point
  120. IFKBD XT_KB+AT_KB ;; XT, AT, keyboards.
  121. IFF EITHER_SHIFT ;; only.
  122. XLATT THIRD_SHIFT ;; ALT + shift
  123. ENDIFF ;;
  124. ELSEF ;; ENHANCED keyboard
  125. IFF R_ALT_SHIFT ;; ALTGr
  126. ANDF EITHER_SHIFT,NOT ;;
  127. XLATT THIRD_SHIFT ;;
  128. ENDIFF ;;
  129. ENDIFF ;;
  130. ENDIFF ;;
  131. ENDIFF ;;
  132. ;;
  133. ;**************************************;;
  134. ;;
  135. EXIT_STATE_LOGIC ;;
  136. ;;
  137. LOGIC_END: ;;
  138. ;;
  139. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  140. ;;**********************************************************************
  141. ;; BU Common Translate Section
  142. ;; This section contains translations for the lower 128 characters
  143. ;; only since these will never change from code page to code page.
  144. ;; Some common Characters are included from 128 - 165 where appropriate.
  145. ;; In addition the dead key "Set Flag" tables are here since the
  146. ;; dead keys are on the same keytops for all code pages.
  147. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  148. ;;
  149. PUBLIC BG_COMMON_XLAT ;;
  150. BG_COMMON_XLAT: ;;
  151. ;;
  152. DW COMMON_XLAT_END-$ ;; length of section
  153. DW -1 ;; code page
  154. ;;
  155. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  156. ;; CODE PAGE: Any
  157. ;; STATE: RUS_MODE
  158. ;; KEYBOARD TYPES: All
  159. ;; TABLE TYPE: Flag Table
  160. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  161. ;;
  162. DW COM_F1_END-$ ;; length of state section
  163. DB RUS_MODE_SET ;; State ID
  164. DW ANY_KB ;; Keyboard Type
  165. DB -1,-1 ;; Buffer entry for error character
  166. ;;
  167. ;; Set Flag Table
  168. DW 3 ;; number of entries
  169. DB 42 ;; scan code (Left Shift)
  170. FLAG LAT_MODE ;; flag bit to set
  171. DB 54 ;; scan code (Right Shift)
  172. FLAG RUS_MODE ;; flag bit to set
  173. DB 29 ;; scan code (Ctrl)
  174. FLAG RUS_MODE ;;
  175. ;;
  176. DW 0 ;; Size of xlat table - null table
  177. ;;
  178. COM_F1_END: ;;
  179. ;;
  180. ;;
  181. ;;
  182. ;;
  183. DW 0 ;; Last State
  184. COMMON_XLAT_END: ;;
  185. ;;
  186. ;;
  187. ;;
  188. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  189. ;;***************************************
  190. ;; BU Specific Translate Section for 850
  191. ;;***************************************
  192. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  193. ;;
  194. BG_850_XLAT: ;;
  195. ;;
  196. DW CP850_XLAT_END-$ ;; length of section
  197. DW 850 ;;
  198. ;;
  199. ;;
  200. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  201. ;; CODE PAGE: 850
  202. ;; STATE: Third Shift
  203. ;; KEYBOARD TYPES: All
  204. ;; TABLE TYPE: Translate
  205. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  206. ;;
  207. DW CP850_TS_END-$ ;; length of state section
  208. DB THIRD_SHIFT ;; State ID
  209. DW ANY_KB ;; Keyboard Type
  210. DB -1,-1 ;; Buffer entry for error character
  211. ;;
  212. DW CP850_TS_T1_END-$ ;; Size of xlat table
  213. DB STANDARD_TABLE ;; xlat options:
  214. DB 12 ;; number of entries
  215. DB 03H,040H ;; @
  216. DB 04H,023H ;; #
  217. DB 05H,0CFH ;; RUBLES sign �
  218. DB 07H,05EH ;; ^
  219. DB 08H,026H ;; &
  220. DB 09H,024H ;; $
  221. DB 1AH,05BH ;; [
  222. DB 1BH,05DH ;; ]
  223. DB 2BH,07CH ;; |
  224. DB 33H,03CH ;; <
  225. DB 34H,03EH ;; >
  226. DB 35H,02FH ;; /
  227. CP850_TS_T1_END: ;;
  228. ;;
  229. DW 0 ;; Size of xlat table - null table
  230. ;;
  231. CP850_TS_END: ;;
  232. ;;
  233. ;;
  234. ;;
  235. DW 0 ;; LAST STATE
  236. ;;
  237. CP850_XLAT_END: ;;
  238. ;;
  239. ;;
  240. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  241. ;;***************************************
  242. ;; BU Specific Translate Section for 855
  243. ;;***************************************
  244. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  245. ;;
  246. BG_855_XLAT: ;;
  247. ;;
  248. DW CP855_XLAT_END-$ ;; length of section
  249. DW 855 ;;
  250. ;;
  251. ;;
  252. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  253. ;; CODE PAGE: 855
  254. ;; STATE: Non-Alpha Lower Case
  255. ;; KEYBOARD TYPES: All
  256. ;; TABLE TYPE: Translate
  257. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  258. ;;
  259. DW CP855_NA_K1_LO_END-$ ;; length of state section
  260. DB NON_ALPHA_LOWER ;; State ID
  261. DW ANY_KB ;; Keyboard Type
  262. DB -1,-1 ;; Buffer entry for error character
  263. ;;
  264. DW CP855_NA_LO_K1_T1_END-$ ;; Size of xlat table
  265. DB STANDARD_TABLE ;; xlat options:
  266. DB 4 ;; number of entries
  267. DB 0DH, 46 ;; .
  268. DB 010H, 44 ;; ,
  269. DB 01BH, 59 ;; ;
  270. DB 02BH, 41 ;; )
  271. CP855_NA_LO_K1_T1_END: ;;
  272. ;;
  273. DW 0 ;; Size of xlat table - null table
  274. ;;
  275. CP855_NA_K1_LO_END: ;;
  276. ;;
  277. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  278. ;; CODE PAGE: 855
  279. ;; STATE: Non-Alpha Upper Case
  280. ;; KEYBOARD TYPES: All
  281. ;; TABLE TYPE: Translate
  282. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  283. ;;
  284. DW CP855_NA_UP_END-$ ;; length of state section
  285. DB NON_ALPHA_UPPER ;; State ID
  286. DW ANY_KB ;; Keyboard Type
  287. DB -1,-1 ;; Buffer entry for error character
  288. ;;
  289. DW CP855_NA_UP_T1_END-$ ;; Size of xlat table
  290. DB STANDARD_TABLE ;; xlat options:
  291. DB 13 ;; number of entries
  292. DB 03H, 63 ;; ?
  293. DB 04H, 43 ;; +
  294. DB 05H, 34 ;; "
  295. DB 06H, 37 ;; %
  296. DB 07H, 61 ;; =
  297. DB 08H, 58 ;; :
  298. DB 09H, 47 ;; /
  299. DB 0AH, 45 ;; -
  300. DB 0BH, 239 ;; Numer
  301. DB 0DH, 056h ;; V
  302. DB 010H, 242 ;; Non alpha because of lower case comma
  303. DB 01BH, 253 ;; Paragraph
  304. DB 02BH, 40 ;; (
  305. CP855_NA_UP_T1_END: ;;
  306. ;;
  307. DW 0 ;; Size of xlat table - null table
  308. ;;
  309. CP855_NA_UP_END: ;;
  310. ;;
  311. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  312. ;; CODE PAGE: 855
  313. ;; STATE: Third Shift
  314. ;; KEYBOARD TYPES: All
  315. ;; TABLE TYPE: Translate
  316. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  317. ;;
  318. DW CP855_TS_END-$ ;; length of state section
  319. DB THIRD_SHIFT ;; State ID
  320. DW ANY_KB ;; Keyboard Type
  321. DB -1,-1 ;; Buffer entry for error character
  322. ;;
  323. DW CP855_TS_T1_END-$ ;; Size of xlat table
  324. DB STANDARD_TABLE ;; xlat options:
  325. DB 12 ;; number of entries
  326. DB 03H,040H ;; @
  327. DB 04H,023H ;; #
  328. DB 05H,0CFH ;; RUBLES sign �
  329. DB 07H,05EH ;; ^
  330. DB 08H,026H ;; &
  331. DB 09H,024H ;; $
  332. DB 1AH,05BH ;; [
  333. DB 1BH,05DH ;; ]
  334. DB 2BH,07CH ;; |
  335. DB 33H,03CH ;; <
  336. DB 34H,03EH ;; >
  337. DB 35H,02FH ;; /
  338. CP855_TS_T1_END: ;;
  339. ;;
  340. DW 0 ;; Size of xlat table - null table
  341. ;;
  342. CP855_TS_END: ;;
  343. ;;
  344. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  345. ;; CODE PAGE: 855
  346. ;; STATE: Alpha Lower Case
  347. ;; KEYBOARD TYPES: All
  348. ;; TABLE TYPE: Translate
  349. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  350. ;;
  351. DW CP855_A_K1_LO_END-$ ;; length of state section
  352. DB ALPHA_LOWER ;; State ID
  353. DW ANY_KB ;; Keyboard Type
  354. DB -1,-1 ;; Buffer entry for error character
  355. ;;
  356. DW CP855_A_LO_K1_T11_END-$ ;; Size of xlat table
  357. DB STANDARD_TABLE ;; xlat options:
  358. DB 32 ;; Number of scans
  359. DB 16, 0F1h ;;
  360. DB 17, 0E7H ;; � - 011h ;;
  361. DB 18, 0A8H ;; � - 012
  362. DB 19, 0B7H ;; � - 013
  363. DB 20, 0F5H ;; � - 014
  364. DB 21, 0F9H ;; � - 015
  365. DB 22, 0C6H ;; � - 016
  366. DB 23, 0E3H ;; � - 017
  367. DB 24, 0A6H ;; � - 018
  368. DB 25, 0F3H ;; � - 019
  369. DB 26, 0A4H ;; � - 01A
  370. DB 30, 0EDH ;; � - 01E
  371. DB 31, 0DEH ;; � - 01F
  372. DB 32, 0A0H ;; � - 020
  373. DB 33, 0D6H ;; � - 021
  374. DB 34, 0E9H ;; � - 022
  375. DB 35, 0ACH ;; � - 023
  376. DB 36, 0E5H ;; � - 024
  377. DB 37, 0D4H ;; � - 025
  378. DB 38, 0EBH ;; � - 026
  379. DB 39, 0D2H ;; � - 027
  380. DB 40, 0FBH ;; � - 028
  381. DB 44, 09CH ;; � - 02C
  382. DB 45, 0BDH ;; � - 02D
  383. DB 46, 09EH ;; � - 02E
  384. DB 47, 0F7H ;; � - 02F
  385. DB 48, 0AAH ;; � - 030
  386. DB 49, 0B5H ;; � - 031
  387. DB 50, 0D8H ;; � - 032
  388. DB 51, 0E1H ;; � - 033
  389. DB 52, 0D0H ;; � - 034
  390. DB 53, 0A2H ;; � - 035
  391. ;;
  392. CP855_A_LO_K1_T11_END: ;;
  393. ;;
  394. DW 0 ;;
  395. ;;
  396. CP855_A_K1_LO_END: ;;
  397. ;;
  398. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  399. ;; CODE PAGE: 855
  400. ;; STATE: Alpha Upper Case
  401. ;; KEYBOARD TYPES: All
  402. ;; TABLE TYPE: Translate
  403. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  404. ;;
  405. DW CP855_A_K1_UP_END-$ ;; length of state section
  406. DB ALPHA_UPPER ;; State ID
  407. DW ANY_KB ;; Keyboard Type
  408. DB -1,-1 ;; Buffer entry for error character
  409. DW CP855_A_UP_K1_T11_END-$ ;; Size of xlat table
  410. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  411. DB 32H ;; Scan code
  412. DB 12, 139 ;; I - 011
  413. DB 17, 0E8H ;; � - 011
  414. DB 18, 0A9H ;; � - 012
  415. DB 19, 0B8H ;; � - 013
  416. DB 20, 0F6H ;; � - 014
  417. DB 21, 0FAH ;; � - 015
  418. DB 22, 0C7H ;; � - 016
  419. DB 23, 0E4H ;; � - 017
  420. DB 24, 0A7H ;; � - 018
  421. DB 25, 0F4H ;; � - 019
  422. DB 26, 0A5H ;; � - 01A
  423. DB 30, 0EEH ;; � - 01E
  424. DB 31, 224 ;; �
  425. DB 32, 0A1H ;; � - 020
  426. DB 33, 0D7H ;; � - 021
  427. DB 34, 0EAH ;; � - 022
  428. DB 35, 0ADH ;; � - 023
  429. DB 36, 0E6H ;; � - 024
  430. DB 37, 0D5H ;; � - 025
  431. DB 38, 0ECH ;; � - 026
  432. DB 39, 0D3H ;; � - 027
  433. DB 40, 0FCH ;; � - 028
  434. DB 44, 09DH ;; � - 02C
  435. DB 45, 0BEH ;; � - 02D
  436. DB 46, 09FH ;; � - 02E
  437. DB 47, 0F8H ;; � - 02F
  438. DB 48, 0ABH ;; � - 030
  439. DB 49, 0B6H ;; � - 031
  440. DB 50, 0DDH ;; � - 032
  441. DB 51, 0E2H ;; � - 033
  442. DB 52, 0D1H ;; � - 034
  443. DB 53, 0A3H ;; � - 035
  444. ;;
  445. CP855_A_UP_K1_T11_END: ;;
  446. ;;
  447. DW 0 ;;
  448. ;;
  449. CP855_A_K1_UP_END: ;;
  450. ;;
  451. ;;
  452. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  453. ;;
  454. DW 0 ;; LAST STATE
  455. ;;
  456. CP855_XLAT_END: ;;
  457. ;;
  458. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  459. ;; ;;
  460. ;; ********************************************* ;;
  461. ;; * BU Specific Translate Section for 866 * ;;
  462. ;; ********************************************* ;;
  463. ;; ;;
  464. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  465. ;;
  466. BG_866_XLAT: ;;
  467. ;;
  468. DW CP866_XLAT_END-$ ;; length of section
  469. DW 866 ;;
  470. ;;
  471. ;;
  472. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  473. ;; CODE PAGE: 866
  474. ;; STATE: Non-Alpha Lower Case
  475. ;; KEYBOARD TYPES: All
  476. ;; TABLE TYPE: Translate
  477. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  478. ;;
  479. DW CP866_NA_K1_LO_END-$ ;; length of state section
  480. DB NON_ALPHA_LOWER ;; State ID
  481. DW ANY_KB ;; Keyboard Type
  482. DB -1,-1 ;; Buffer entry for error character
  483. ;;
  484. DW CP866_NA_LO_K1_T1_END-$ ;; Size of xlat table
  485. DB STANDARD_TABLE ;; xlat options:
  486. DB 4 ;; number of entries
  487. DB 0DH, 46 ;; .
  488. DB 010H, 44 ;; ,
  489. DB 01BH, 59 ;; ;
  490. DB 02BH, 41 ;; )
  491. CP866_NA_LO_K1_T1_END: ;;
  492. ;;
  493. DW 0 ;; Size of xlat table - null table
  494. ;;
  495. CP866_NA_K1_LO_END: ;;
  496. ;;
  497. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  498. ;; CODE PAGE: 866
  499. ;; STATE: Non-Alpha Upper Case
  500. ;; KEYBOARD TYPES: All
  501. ;; TABLE TYPE: Translate
  502. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  503. ;;
  504. DW CP866_NA_UP_END-$ ;; length of state section
  505. DB NON_ALPHA_UPPER ;; State ID
  506. DW ANY_KB ;; Keyboard Type
  507. DB -1,-1 ;; Buffer entry for error character
  508. ;;
  509. DW CP866_NA_UP_T1_END-$ ;; Size of xlat table
  510. DB STANDARD_TABLE ;; xlat options:
  511. DB 13 ;; number of entries
  512. DB 03H, 63 ;; ?
  513. DB 04H, 43 ;; +
  514. DB 05H, 34 ;; "
  515. DB 06H, 37 ;; %
  516. DB 07H, 61 ;; =
  517. DB 08H, 58 ;; :
  518. DB 09H, 47 ;; /
  519. DB 0AH, 45 ;; -
  520. DB 0BH, 252 ;; Numer
  521. DB 0DH, 46 ;; .
  522. DB 010H, 235 ;;
  523. DB 01BH, 21 ;; Paragraph
  524. DB 02BH, 40 ;; (
  525. CP866_NA_UP_T1_END: ;;
  526. ;;
  527. DW 0 ;; Size of xlat table - null table
  528. ;;
  529. CP866_NA_UP_END: ;;
  530. ;;
  531. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  532. ;; CODE PAGE: 866
  533. ;; STATE: Third Shift
  534. ;; KEYBOARD TYPES: All
  535. ;; TABLE TYPE: Translate
  536. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  537. ;;
  538. DW CP866_TS_END-$ ;; length of state section
  539. DB THIRD_SHIFT ;; State ID
  540. DW ANY_KB ;; Keyboard Type
  541. DB -1,-1 ;; Buffer entry for error character
  542. ;;
  543. DW CP866_TS_T1_END-$ ;; Size of xlat table
  544. DB STANDARD_TABLE ;; xlat options:
  545. DB 12 ;; number of entries
  546. DB 03H,040H ;; @
  547. DB 04H,023H ;; #
  548. DB 05H,0FDH ;; RUBLES sign �
  549. DB 07H,05EH ;; ^
  550. DB 08H,026H ;; &
  551. DB 09H,024H ;; $
  552. DB 1AH,05BH ;; [
  553. DB 1BH,05DH ;; ]
  554. DB 2BH,07CH ;; |
  555. DB 33H,03CH ;; <
  556. DB 34H,03EH ;; >
  557. DB 35H,02FH ;; /
  558. CP866_TS_T1_END: ;;
  559. ;;
  560. DW 0 ;; Size of xlat table - null table
  561. ;;
  562. CP866_TS_END: ;;
  563. ;;
  564. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  565. ;; CODE PAGE: 866
  566. ;; STATE: Alpha Lower Case
  567. ;; KEYBOARD TYPES: All
  568. ;; TABLE TYPE: Translate
  569. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  570. ;;
  571. DW CP866_A_K1_LO_END-$ ;; length of state section
  572. DB ALPHA_LOWER ;; State ID
  573. DW ANY_KB ;; Keyboard Type
  574. DB -1,-1 ;; Buffer entry for error character
  575. ;;
  576. DW CP866_A_LO_K1_T11_END-$ ;; Size of xlat table
  577. DB STANDARD_TABLE ;; xlat options:
  578. DB 33 ;; number of scans
  579. DB 12, 105 ;; i - 010
  580. DB 16, 0EBH ;;
  581. DB 17, 227 ;; � - 011h
  582. DB 18, 165 ;; � - 012
  583. DB 19, 168 ;; � - 013
  584. DB 20, 232 ;; � - 014
  585. DB 21, 233 ;; � - 015
  586. DB 22, 170 ;; � - 016
  587. DB 23, 225 ;; � - 017
  588. DB 24, 164 ;; � - 018
  589. DB 25, 167 ;; � - 019
  590. DB 26, 230 ;; � - 01A
  591. DB 30, 236 ;; � - 01E
  592. DB 31, 239 ;; � - 01F
  593. DB 32, 160 ;; � - 020
  594. DB 33, 174 ;; � - 021
  595. DB 34, 166 ;; � - 022
  596. DB 35, 163 ;; � - 023
  597. DB 36, 226 ;; � - 024
  598. DB 37, 173 ;; � - 025
  599. DB 38, 162 ;; � - 026
  600. DB 39, 172 ;; � - 027
  601. DB 40, 231 ;; � - 028
  602. DB 44, 238 ;; � - 02C
  603. DB 45, 169 ;; � - 02D
  604. DB 46, 234 ;; � - 02E
  605. DB 47, 237 ;; � - 02F
  606. DB 48, 228 ;; � - 030
  607. DB 49, 229 ;; � - 031
  608. DB 50, 175 ;; � - 032
  609. DB 51, 0E0H ;;
  610. DB 52, 171 ;; � - 034
  611. DB 53, 161 ;; � - 035
  612. CP866_A_LO_K1_T11_END:
  613. ;;
  614. DW 0 ;; Size of xlat table - null table
  615. ;;
  616. CP866_A_K1_LO_END: ;;
  617. ;;
  618. ;;
  619. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  620. ;; CODE PAGE: 866
  621. ;; STATE: Alpha Upper Case
  622. ;; KEYBOARD TYPES: All
  623. ;; TABLE TYPE: Translate
  624. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  625. ;;
  626. DW CP866_A_K1_UP_END-$ ;; length of state section
  627. DB ALPHA_UPPER ;; State ID
  628. DW ANY_KB ;; Keyboard Type
  629. DB -1,-1 ;; Buffer entry for error character
  630. ;;
  631. DW CP866_A_UP_K1_T11_END-$ ;; Size of xlat table
  632. DB STANDARD_TABLE ;; xlat options:
  633. DB 33 ;; number of scans
  634. DB 12, 73 ;; I - 011
  635. DB 16, 09bh ;;
  636. DB 17, 147 ;; � - 011
  637. DB 18, 133 ;; � - 012
  638. DB 19, 136 ;; � - 013
  639. DB 20, 152 ;; � - 014
  640. DB 21, 153 ;; � - 015
  641. DB 22, 138 ;; � - 016
  642. DB 23, 145 ;; � - 017
  643. DB 24, 132 ;; � - 018
  644. DB 25, 135 ;; � - 019
  645. DB 26, 150 ;; � - 01A
  646. DB 30, 156 ;; � - 01E
  647. DB 31, 159 ;; �
  648. DB 32, 128 ;; � - 020
  649. DB 33, 142 ;; � - 021
  650. DB 34, 134 ;; � - 022
  651. DB 35, 131 ;; � - 023
  652. DB 36, 146 ;; � - 024
  653. DB 37, 141 ;; � - 025
  654. DB 38, 130 ;; � - 026
  655. DB 39, 140 ;; � - 027
  656. DB 40, 151 ;; � - 028
  657. DB 44, 158 ;; � - 02C
  658. DB 45, 137 ;; � - 02D
  659. DB 46, 154 ;; � - 02E
  660. DB 47, 157 ;; � - 02F
  661. DB 48, 148 ;; � - 030
  662. DB 49, 149 ;; � - 031
  663. DB 50, 143 ;; � - 032
  664. DB 51, 144 ;; � - 033
  665. DB 52, 139 ;; � - 034
  666. DB 53, 129 ;; � - 035
  667. ;;
  668. CP866_A_UP_K1_T11_END: ;;
  669. ;;
  670. DW 0 ;; Size of xlat table - null table
  671. ;;
  672. CP866_A_K1_UP_END: ;;
  673. ;;
  674. ;;
  675. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  676. ;;
  677. DW 0 ;; LAST STATE
  678. ;;
  679. CP866_XLAT_END: ;;
  680. ;;
  681. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  682. ;;
  683. CODE ENDS ;;
  684. END ;;