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.

1120 lines
51 KiB

  1. PAGE 118,132
  2. TITLE DOS - Keyboard Definition File
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;; DOS - - NLS Support - Keyboard Definition File
  5. ;; (c) Copyright 1988 Microsoft
  6. ;;
  7. ;; This file contains the keyboard tables for Russia
  8. ;;
  9. ;; Linkage Instructions:
  10. ;; Refer to KDF.ASM.
  11. ;;
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13. ;;
  14. INCLUDE KEYBSHAR.INC ;;
  15. INCLUDE POSTEQU.INC ;;
  16. INCLUDE KEYBMAC.INC ;;
  17. ;;
  18. PUBLIC YC1_LOGIC ;;
  19. ;; PUBLIC YC1_866_XLAT ;;
  20. PUBLIC YC1_437_XLAT ;;
  21. PUBLIC YC1_850_XLAT ;;
  22. ;; PUBLIC YC1_852_XLAT ;;
  23. PUBLIC YC1_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. DEBUG EQU 0 ;;
  38. ;;
  39. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  40. ;;***************************************
  41. ;;
  42. ;; YC State Logic
  43. ;;
  44. ;;***************************************
  45. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  46. ;;
  47. ;;
  48. ;;
  49. ;;
  50. YC1_LOGIC: ;;
  51. ;;
  52. DW LOGIC_END-$ ;; length
  53. ;;
  54. DW SHIFTS_TO_LOGIC+SWITCHABLE ;; special features
  55. ;;
  56. ;; COMMANDS START HERE
  57. ;;
  58. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  59. ;; OPTIONS: If we find a scan match in
  60. ;; an XLATT or SET_FLAG operation then
  61. ;; exit from INT 9.
  62. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  63. ;;
  64. ;;
  65. OPTION EXIT_IF_FOUND ;;
  66. ;;
  67. ;;
  68. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  69. ;;
  70. ;; Mode change CHECK
  71. ;;
  72. ;; MODE CHANGE BY <CTRL + Left SHIFT> and
  73. ;; <CTRL+Right SHIFT> PRESS
  74. ;;
  75. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  76. ;;
  77. ;;
  78. IFF SHIFTS_PRESSED ;;
  79. IFF EITHER_ALT,NOT ;;
  80. ANDF EITHER_CTL ;;
  81. IFF LEFT_SHIFT ;;
  82. BEEP ;;
  83. RESET_NLS ;;
  84. ENDIFF ;;
  85. IFF RIGHT_SHIFT ;;
  86. BEEP ;;
  87. SET_FLAG RUS_MODE_SET ;;
  88. ENDIFF ;;
  89. ENDIFF ;;
  90. EXIT_STATE_LOGIC ;;
  91. ENDIFF ;;
  92. ;;
  93. ;;
  94. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  95. IFF EITHER_ALT,NOT ;;
  96. ANDF EITHER_CTL,NOT ;;
  97. IFF RUS_MODE ;;
  98. ANDF LC_E0,NOT ;;
  99. ; IFF CAPS_STATE
  100. ; SET_FLAG DEAD_UPPER
  101. ; ELSEF
  102. IFF EITHER_SHIFT ;;
  103. SET_FLAG DEAD_UPPER ;;
  104. ELSEF ;;
  105. SET_FLAG DEAD_LOWER ;;
  106. ENDIFF ;;
  107. ; ENDIFF
  108. ENDIFF
  109. ELSEF ;;
  110. IFF EITHER_SHIFT,NOT ;;
  111. IFKBD XT_KB+AT_KB
  112. IFF EITHER_CTL ;;
  113. ANDF ALT_SHIFT ;;
  114. SET_FLAG DEAD_THIRD ;;
  115. ENDIFF ;;
  116. ELSEF
  117. IFF R_ALT_SHIFT ;;
  118. ANDF EITHER_CTL,NOT ;;
  119. ANDF LC_E0,NOT ;;
  120. SET_FLAG DEAD_THIRD ;;
  121. ENDIFF ;;
  122. ENDIFF
  123. ENDIFF
  124. ENDIFF ;;
  125. ;;
  126. ;;
  127. IFF ACUTE,NOT ;;
  128. GOTO NON_DEAD ;;
  129. ENDIFF ;;
  130. RESET_NLS1 ;;
  131. IFF R_ALT_SHIFT,NOT ;;
  132. XLATT ACUTE_SPACE ;;
  133. ENDIFF ;;
  134. IFF EITHER_CTL,NOT ;;
  135. ANDF EITHER_ALT,NOT ;;
  136. IFF EITHER_SHIFT ;;
  137. IFF CAPS_STATE ;;
  138. XLATT ACUTE_LOWER ;;
  139. ELSEF ;;
  140. XLATT ACUTE_UPPER ;;
  141. ENDIFF ;;
  142. ELSEF ;;
  143. IFF CAPS_STATE ;;
  144. XLATT ACUTE_UPPER ;;
  145. ELSEF ;;
  146. XLATT ACUTE_LOWER ;;
  147. ENDIFF ;;
  148. ENDIFF ;;
  149. ENDIFF ;;
  150. ;;
  151. INVALID_ACUTE: ;;
  152. PUT_ERROR_CHAR ACUTE_SPACE ;; If we get here then either the XLATT
  153. BEEP ;; failed or we are ina bad shift state.
  154. GOTO NON_DEAD ;; Either is invalid so BEEP and fall
  155. ;; through to generate the second char.
  156. ;; Note that the dead key flag will be
  157. ;; reset before we get here.
  158. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  159. NON_DEAD: ;;
  160. ;;
  161. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  162. ;; Upper, lower and third shifts
  163. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  164. ;;
  165. ;;
  166. ;;
  167. IFF EITHER_CTL,NOT ;; Lower and upper case. Alphabetic
  168. IFF EITHER_ALT,NOT ;; keys are affected by CAPS LOCK.
  169. IFF RUS_MODE ;;
  170. ANDF LC_E0,NOT ;; Enhanced keys are not
  171. IFF EITHER_SHIFT ;; Numeric keys are not.
  172. XLATT NON_ALPHA_UPPER ;;
  173. IFF CAPS_STATE ;;
  174. XLATT ALPHA_LOWER ;;
  175. ELSEF ;;
  176. XLATT ALPHA_UPPER ;;
  177. ENDIFF ;;
  178. ELSEF ;;
  179. XLATT NON_ALPHA_LOWER ;;
  180. IFF CAPS_STATE ;;
  181. XLATT ALPHA_UPPER ;;
  182. ELSEF ;;
  183. XLATT ALPHA_LOWER ;;
  184. ENDIFF ;;
  185. ENDIFF ;; Third and Fourth shifts
  186. ELSEF
  187. IFF LC_E0, NOT
  188. IFF EITHER_SHIFT ;;
  189. XLATT NON_ALPHA_UPPER_LAT ;;
  190. IFF CAPS_STATE ;;
  191. XLATT ALPHA_LOWER_LAT ;;
  192. ELSEF ;;
  193. XLATT ALPHA_UPPER_LAT ;;
  194. ENDIFF ;;
  195. ELSEF ;;
  196. XLATT NON_ALPHA_LOWER_LAT ;;
  197. IFF CAPS_STATE ;;
  198. XLATT ALPHA_UPPER_LAT ;;
  199. ELSEF ;;
  200. XLATT ALPHA_LOWER_LAT ;;
  201. ENDIFF ;;
  202. ENDIFF
  203. ENDIFF
  204. ENDIFF ;;
  205. ELSEF ;; ctl off, alt on at this point
  206. ; IFKBD XT_KB+AT_KB,NOT ;; XT, AT, keyboards.
  207. ; IFF EITHER_SHIFT ;; only.
  208. ; XLATT THIRD_SHIFT ;; ALT + shift
  209. ; ENDIFF ;;
  210. ; ELSEF ;; ENHANCED keyboard
  211. IFF R_ALT_SHIFT ;; ALTGr
  212. ANDF EITHER_SHIFT,NOT ;;
  213. XLATT THIRD_SHIFT ;;
  214. ENDIFF ;;
  215. ; ENDIFF ;;
  216. ENDIFF ;;
  217. ELSEF
  218. IFF EITHER_ALT,NOT ;;
  219. XLATT CTRL_CASE
  220. ELSEF ;;
  221. IFKBD XT_KB+AT_KB ;; XT, AT, keyboards.
  222. IFF EITHER_SHIFT,NOT ;; only.
  223. XLATT THIRD_SHIFT ;; ALT + Ctrl
  224. ENDIFF ;;
  225. ENDIFF ;;
  226. ENDIFF
  227. ENDIFF ;;
  228. ;;
  229. ;**************************************;;
  230. ;;
  231. EXIT_STATE_LOGIC ;;
  232. ;;
  233. LOGIC_END: ;;
  234. ;;
  235. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  236. ;;**********************************************************************
  237. ;; YC Common Translate Section
  238. ;; This section contains translations for the lower 128 characters
  239. ;; only since these will never change from code page to code page.
  240. ;; Some common Characters are included from 128 - 165 where appropriate.
  241. ;; In addition the dead key "Set Flag" tables are here since the
  242. ;; dead keys are on the same keytops for all code pages.
  243. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  244. ;;
  245. PUBLIC YC1_COMMON_XLAT ;;
  246. YC1_COMMON_XLAT: ;;
  247. ;;
  248. DW COMMON_XLAT_END-$ ;; length of section
  249. DW -1 ;; code page
  250. ;;
  251. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  252. ;; CODE PAGE: COMMON
  253. ;; STATE: low shift Dead_lower
  254. ;; KEYBOARD TYPES: G
  255. ;; TABLE TYPE: Flag Table
  256. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  257. ;;
  258. DW COM_PL_LO_END-$ ;; length of state section
  259. DB DEAD_LOWER ;; State ID
  260. DW ANY_KB ;; Keyboard Type
  261. DB -1,-1 ;; Buffer entry for error character
  262. ;; Set Flag Table
  263. DW 1 ;; number of entries
  264. DB 12 ;;
  265. FLAG ACUTE ;;
  266. ;;
  267. COM_PL_LO_END: ;;
  268. ;;
  269. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  270. ;; CODE PAGE: COMMON
  271. ;; STATE: low shift Dead_UPPER
  272. ;; KEYBOARD TYPES: G
  273. ;; TABLE TYPE: Flag Table
  274. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  275. ;;
  276. DW COM_PL_UP_END-$ ;; length of state section
  277. DB DEAD_UPPER ;; State ID
  278. DW ANY_KB ;; Keyboard Type
  279. DB -1,-1 ;; Buffer entry for error character
  280. ;; Set Flag Table
  281. DW 0 ;; number of entries
  282. ;;
  283. COM_PL_UP_END: ;;
  284. ;;
  285. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  286. ;; CODE PAGE: COMMON
  287. ;; STATE: Third Shift Dead Key
  288. ;; KEYBOARD TYPES: G
  289. ;; TABLE TYPE: Flag Table
  290. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  291. ;;
  292. DW COM_CZ_TH_END-$ ;; length of state section
  293. DB DEAD_THIRD ;; State ID
  294. DW ANY_KB ;; Keyboard Type
  295. DB -1,-1 ;; Buffer entry for error character
  296. ;; Set Flag Table
  297. DW 0 ;; number of entries
  298. ;;
  299. COM_CZ_TH_END: ;;
  300. ;;
  301. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  302. ;; CODE PAGE: Common
  303. ;; STATE: Acute Lower Case
  304. ;; KEYBOARD TYPES: G_KB
  305. ;; TABLE TYPE: Translate
  306. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  307. ;;
  308. DW COM_AC_LO_END-$ ;; length of state section
  309. DB ACUTE_LOWER ;; State ID
  310. DW ANY_KB ;; Keyboard Type
  311. DB 39,0 ;; error character = standalone accent
  312. ;;
  313. DW COM_AC_LO_T1_END-$ ;; Size of xlat table
  314. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  315. DB 2 ;; number of entries
  316. DB 34,082H ;; 022h
  317. DB 37,096H ;; 025h
  318. COM_AC_LO_T1_END: ;;
  319. ;;
  320. DW 0 ;; Size of xlat table - null table
  321. ;;
  322. COM_AC_LO_END: ;;
  323. ;;
  324. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  325. ;; CODE PAGE: Common
  326. ;; STATE: Acute Upper Case
  327. ;; KEYBOARD TYPES: G_KB
  328. ;; TABLE TYPE: Translate
  329. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  330. ;;
  331. DW COM_AC_UP_END-$ ;; length of state section
  332. DB ACUTE_UPPER ;; State ID
  333. DW ANY_KB ;; Keyboard Type
  334. DB 39,0 ;; error character = standalone accent
  335. ;;
  336. DW COM_AC_UP_T1_END-$ ;; Size of xlat table
  337. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  338. DB 2 ;; number of entries
  339. DB 34,083H ;; 022h
  340. DB 37,097H ;; 025h
  341. COM_AC_UP_T1_END: ;;
  342. ;;
  343. DW 0 ;; Size of xlat table - null table
  344. ;;
  345. COM_AC_UP_END: ;;
  346. ;;
  347. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  348. ;; CODE PAGE: COMMON
  349. ;; STATE: Acute Space Bar
  350. ;; KEYBOARD TYPES: P12_KB+G_KB
  351. ;; TABLE TYPE: Translate
  352. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  353. ;;
  354. DW COM_AC_SP_END-$ ;; length of state section
  355. DB ACUTE_SPACE ;; State ID
  356. DW ANY_KB ;; Keyboard Type
  357. DB 027H,0 ;; error character = standalone accent
  358. ;;
  359. DW COM_AC_SP_T1_END-$ ;; Size of xlat table
  360. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  361. DB 1 ;; number of scans
  362. DB 57,027H ;; error character = standalone accent
  363. COM_AC_SP_T1_END: ;;
  364. ;;
  365. DW 0 ;; Size of xlat table - null table
  366. COM_AC_SP_END: ;; length of state section
  367. ;;
  368. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  369. ;; CODE PAGE: COMMON
  370. ;; STATE: Ctrl Case
  371. ;; KEYBOARD TYPES: G
  372. ;; TABLE TYPE: Translate
  373. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  374. ;;
  375. DW COM_CTRL_K2_END-$ ;; length of state section
  376. DB CTRL_CASE ;; State ID
  377. DW ANY_KB ;; Keyboard Type
  378. DB -1,-1 ;; Buffer entry for error character
  379. ;;
  380. DW COM_CTRL_K2_T1_END-$ ;; Size of xlat table
  381. DB TYPE_2_TAB ;; xlat options:
  382. DB 3 ;; number of entries
  383. DB 21,01AH,2CH ;;
  384. DB 44,019H,15H ;;
  385. DB 53,01FH,0CH ;;
  386. COM_CTRL_K2_T1_END: ;;
  387. ;;
  388. DW 0 ;; Size of xlat table - null table
  389. ;;
  390. COM_CTRL_K2_END: ;;
  391. ;;
  392. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  393. ;; CODE PAGE: Any
  394. ;; STATE: RUS_MODE
  395. ;; KEYBOARD TYPES: All
  396. ;; TABLE TYPE: Flag Table
  397. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  398. ;;
  399. DW COM_F1_END-$ ;; length of state section
  400. DB RUS_MODE_SET ;; State ID
  401. DW ANY_KB ;; Keyboard Type
  402. DB -1,-1 ;; Buffer entry for error character
  403. ;;
  404. ;; Set Flag Table
  405. DW 3 ;; number of entries
  406. DB 42 ;; scan code (Left Shift)
  407. FLAG LAT_MODE ;; flag bit to set
  408. DB 54 ;; scan code (Right Shift)
  409. FLAG RUS_MODE ;; flag bit to set
  410. DB 29 ;; scan code (Ctrl)
  411. FLAG RUS_MODE ;;
  412. ;;
  413. DW 0 ;; Size of xlat table - null table
  414. ;;
  415. COM_F1_END: ;;
  416. ;;
  417. ;;
  418. ;;
  419. ;;
  420. DW 0 ;; Last State
  421. COMMON_XLAT_END: ;;
  422. ;;
  423. ;;
  424. ;;
  425. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  426. ;;***************************************
  427. ;; YC Specific Translate Section for 437
  428. ;;***************************************
  429. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  430. ;;
  431. YC1_437_XLAT: ;;
  432. ;;
  433. DW CP437_XLAT_END-$ ;; length of section
  434. DW 437 ;;
  435. ;;
  436. ;;
  437. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  438. ;; CODE PAGE: 437
  439. ;; STATE: Third Shift
  440. ;; KEYBOARD TYPES: All
  441. ;; TABLE TYPE: Translate
  442. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  443. ;;
  444. DW CP437_TS_END-$ ;; length of state section
  445. DB THIRD_SHIFT ;; State ID
  446. DW ANY_KB ;; Keyboard Type
  447. DB -1,-1 ;; Buffer entry for error character
  448. ;;
  449. DW CP437_TS_T1_END-$ ;; Size of xlat table
  450. DB STANDARD_TABLE ;; xlat options:
  451. DB 13 ;; number of entries
  452. DB 03H,040H ;; @
  453. DB 04H,023H ;; #
  454. DB 07H,05EH ;; ^
  455. DB 08H,026H ;; &
  456. DB 09H,024H ;; $
  457. DB 0AH,03CH ;; <
  458. DB 0BH,03EH ;; >
  459. DB 1AH,05BH ;; [
  460. DB 1BH,05DH ;; ]
  461. DB 2BH,07CH ;; |
  462. DB 33H,03CH ;; <
  463. DB 34H,03EH ;; >
  464. DB 35H,02FH ;; /
  465. CP437_TS_T1_END: ;;
  466. ;;
  467. DW 0 ;; Size of xlat table - null table
  468. ;;
  469. CP437_TS_END: ;;
  470. ;;
  471. DW CP437_NA_Y1_LO_END-$ ;; length of state section
  472. DB NON_ALPHA_LOWER_LAT ;; State ID
  473. DW ANY_KB ;; Keyboard Type
  474. DB -1,-1 ;; Buffer entry for error character
  475. ;;
  476. DW CP437_NA_LO_Y1_T1_END-$ ;; Size of xlat table
  477. DB STANDARD_TABLE ;; xlat options:
  478. DB 11 ;; number of entries
  479. DB 51, 02CH ;; 033H
  480. DB 52, 02EH ;; 034H
  481. DB 53, 02DH ;; 035H
  482. DB 12, 027H ;; 0CH
  483. DB 13, 02BH ;; 0DH
  484. DB 86, 03Ch ;; 056H
  485. DB 26, 05Bh ;; 01AH
  486. DB 27, 05Ch ;; 01BH
  487. DB 39, 07Ch ;; 027H
  488. DB 40, 05Dh ;; 028H
  489. DB 43, 040h ;; 02BH
  490. CP437_NA_LO_Y1_T1_END: ;;
  491. ;;
  492. DW 0 ;; Size of xlat table - null table
  493. ;;
  494. CP437_NA_Y1_LO_END: ;;
  495. ;;
  496. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  497. ;; CODE PAGE: 437
  498. ;; STATE: Non-Alpha Upper Case
  499. ;; KEYBOARD TYPES: All
  500. ;; TABLE TYPE: Translate
  501. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  502. ;;
  503. DW CP437_NY_UP_END-$ ;; length of state section
  504. DB NON_ALPHA_UPPER_LAT ;; State ID
  505. DW ANY_KB ;; Keyboard Type
  506. DB -1,-1 ;; Buffer entry for error character
  507. ;;
  508. DW CP437_NY_UP_T1_END-$ ;; Size of xlat table
  509. DB STANDARD_TABLE ;; xlat options:
  510. DB 17 ;; number of entrie
  511. DB 51, 03BH ;; 033H
  512. DB 52, 03AH ;; 034H
  513. DB 53, 05FH ;; 035H
  514. DB 12, 03FH ;; 0CH
  515. DB 13, 02AH ;; 0DH
  516. DB 86, 03EH ;; 056H
  517. DB 3, 022H ;; 03h
  518. DB 7, 026H ;; 07h
  519. DB 8, 02FH ;; 08h
  520. DB 9, 028H ;; 09h
  521. DB 10, 029H ;; 0ah
  522. DB 11, 03dH ;; 0bh
  523. DB 26, 07Bh ;; 01AH
  524. DB 27, 05Ch ;; 01BH
  525. DB 39, 05Eh ;; 027H
  526. DB 40, 07Dh ;; 028H
  527. DB 43, 040h ;; 02BH
  528. CP437_NY_UP_T1_END: ;;
  529. ;;
  530. DW 0 ;; Size of xlat table - null table
  531. ;;
  532. CP437_NY_UP_END: ;;
  533. ;;
  534. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  535. ;; CODE PAGE: 437
  536. ;; STATE: Alpha Lower Case
  537. ;; KEYBOARD TYPES: G
  538. ;; TABLE TYPE: Translate
  539. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  540. ;;
  541. DW CP437_AL_LO_K1_END-$ ;; length of state section
  542. DB ALPHA_LOWER_LAT ;; State ID
  543. DW ANY_KB ;; Keyboard Type
  544. DB -1,-1 ;; Buffer entry for error character
  545. ;;
  546. DW CP437_AL_LO_K1_T1_END-$ ;; Size of xlat table
  547. DB TYPE_2_TAB ;; xlat options:
  548. DB 2 ;; number of entries
  549. DB 21,"z",2CH ;;
  550. DB 44,"y",15H ;;
  551. CP437_AL_LO_K1_T1_END: ;;
  552. ;;
  553. DW 0 ;; Size of xlat table - null table
  554. ;;
  555. CP437_AL_LO_K1_END: ;;
  556. ;;
  557. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  558. ;; CODE PAGE: 437
  559. ;; STATE: Alpha Upper Case
  560. ;; KEYBOARD TYPES: G
  561. ;; TABLE TYPE: Translate
  562. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  563. ;;
  564. DW CP437_AL_UP_K1_END-$ ;; length of state section
  565. DB ALPHA_UPPER_LAT ;; State ID
  566. DW ANY_KB ;; Keyboard Type
  567. DB -1,-1 ;; Buffer entry for error character
  568. ;;
  569. DW CP437_AL_UP_K1_T1_END-$ ;; Size of xlat table
  570. DB TYPE_2_TAB ;; xlat options:
  571. DB 2 ;; number of entries
  572. DB 21,"Z",2CH ;;
  573. DB 44,"Y",15H ;;
  574. CP437_AL_UP_K1_T1_END: ;;
  575. ;;
  576. DW 0 ;; Size of xlat table - null table
  577. ;;
  578. CP437_AL_UP_K1_END: ;;
  579. ;;
  580. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  581. ;;
  582. ;;
  583. DW 0 ;; LAST STATE
  584. ;;
  585. CP437_XLAT_END: ;;
  586. ;;
  587. ;;
  588. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  589. ;;***************************************
  590. ;; YC Specific Translate Section for 850
  591. ;;***************************************
  592. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  593. ;;
  594. YC1_850_XLAT: ;;
  595. ;;
  596. DW CP850_XLAT_END-$ ;; length of section
  597. DW 850 ;;
  598. ;;
  599. ;;
  600. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  601. ;; CODE PAGE: 850
  602. ;; STATE: Third Shift
  603. ;; KEYBOARD TYPES: All
  604. ;; TABLE TYPE: Translate
  605. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  606. ;;
  607. DW CP850_TS_END-$ ;; length of state section
  608. DB THIRD_SHIFT ;; State ID
  609. DW ANY_KB ;; Keyboard Type
  610. DB -1,-1 ;; Buffer entry for error character
  611. ;;
  612. DW CP850_TS_T1_END-$ ;; Size of xlat table
  613. DB STANDARD_TABLE ;; xlat options:
  614. DB 14 ;; number of entries
  615. DB 03H,040H ;; @
  616. DB 04H,023H ;; #
  617. DB 05H,0CFH ;; RUBLES sign �
  618. DB 07H,05EH ;; ^
  619. DB 08H,026H ;; &
  620. DB 09H,024H ;; $
  621. DB 0AH,03CH ;; <
  622. DB 0BH,03EH ;; >
  623. DB 1AH,05BH ;; [
  624. DB 1BH,05DH ;; ]
  625. DB 2BH,07CH ;; |
  626. DB 33H,03CH ;; <
  627. DB 34H,03EH ;; >
  628. DB 35H,02FH ;; /
  629. CP850_TS_T1_END: ;;
  630. ;;
  631. DW 0 ;; Size of xlat table - null table
  632. ;;
  633. CP850_TS_END: ;;
  634. ;;
  635. DW CP850_NA_Y1_LO_END-$ ;; length of state section
  636. DB NON_ALPHA_LOWER_LAT ;; State ID
  637. DW ANY_KB ;; Keyboard Type
  638. DB -1,-1 ;; Buffer entry for error character
  639. ;;
  640. DW CP850_NA_LO_Y1_T1_END-$ ;; Size of xlat table
  641. DB STANDARD_TABLE ;; xlat options:
  642. DB 11 ;; number of entries
  643. DB 51, 02CH ;; 033H
  644. DB 52, 02EH ;; 034H
  645. DB 53, 02DH ;; 035H
  646. DB 12, 027H ;; 0CH
  647. DB 13, 02BH ;; 0DH
  648. DB 86, 03Ch ;; 056H
  649. DB 26, 05Bh ;; 01AH
  650. DB 27, 05Ch ;; 01BH
  651. DB 39, 07Ch ;; 027H
  652. DB 40, 05Dh ;; 028H
  653. DB 43, 040h ;; 02BH
  654. CP850_NA_LO_Y1_T1_END: ;;
  655. ;;
  656. DW 0 ;; Size of xlat table - null table
  657. ;;
  658. CP850_NA_Y1_LO_END: ;;
  659. ;;
  660. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  661. ;; CODE PAGE: 850
  662. ;; STATE: Non-Alpha Upper Case
  663. ;; KEYBOARD TYPES: All
  664. ;; TABLE TYPE: Translate
  665. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  666. ;;
  667. DW CP850_NY_UP_END-$ ;; length of state section
  668. DB NON_ALPHA_UPPER_LAT ;; State ID
  669. DW ANY_KB ;; Keyboard Type
  670. DB -1,-1 ;; Buffer entry for error character
  671. ;;
  672. DW CP850_NY_UP_T1_END-$ ;; Size of xlat table
  673. DB STANDARD_TABLE ;; xlat options:
  674. DB 17 ;; number of entrie
  675. DB 51, 03BH ;; 033H
  676. DB 52, 03AH ;; 034H
  677. DB 53, 05FH ;; 035H
  678. DB 12, 03FH ;; 0CH
  679. DB 13, 02AH ;; 0DH
  680. DB 86, 03EH ;; 056H
  681. DB 3, 022H ;; 03h
  682. DB 7, 026H ;; 07h
  683. DB 8, 02FH ;; 08h
  684. DB 9, 028H ;; 09h
  685. DB 10, 029H ;; 0ah
  686. DB 11, 03dH ;; 0bh
  687. DB 26, 07Bh ;; 01AH
  688. DB 27, 05Ch ;; 01BH
  689. DB 39, 05Eh ;; 027H
  690. DB 40, 07Dh ;; 028H
  691. DB 43, 040h ;; 02BH
  692. CP850_NY_UP_T1_END: ;;
  693. ;;
  694. DW 0 ;; Size of xlat table - null table
  695. ;;
  696. CP850_NY_UP_END: ;;
  697. ;;
  698. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  699. ;; CODE PAGE: 850
  700. ;; STATE: Alpha Lower Case
  701. ;; KEYBOARD TYPES: G
  702. ;; TABLE TYPE: Translate
  703. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  704. ;;
  705. DW CP850_AL_LO_K1_END-$ ;; length of state section
  706. DB ALPHA_LOWER_LAT ;; State ID
  707. DW ANY_KB ;; Keyboard Type
  708. DB -1,-1 ;; Buffer entry for error character
  709. ;;
  710. DW CP850_AL_LO_K1_T1_END-$ ;; Size of xlat table
  711. DB TYPE_2_TAB ;; xlat options:
  712. DB 2 ;; number of entries
  713. DB 21,"z",2CH ;;
  714. DB 44,"y",15H ;;
  715. CP850_AL_LO_K1_T1_END: ;;
  716. ;;
  717. DW 0 ;; Size of xlat table - null table
  718. ;;
  719. CP850_AL_LO_K1_END: ;;
  720. ;;
  721. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  722. ;; CODE PAGE: 850
  723. ;; STATE: Alpha Upper Case
  724. ;; KEYBOARD TYPES: G
  725. ;; TABLE TYPE: Translate
  726. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  727. ;;
  728. DW CP850_AL_UP_K1_END-$ ;; length of state section
  729. DB ALPHA_UPPER_LAT ;; State ID
  730. DW ANY_KB ;; Keyboard Type
  731. DB -1,-1 ;; Buffer entry for error character
  732. ;;
  733. DW CP850_AL_UP_K1_T1_END-$ ;; Size of xlat table
  734. DB TYPE_2_TAB ;; xlat options:
  735. DB 2 ;; number of entries
  736. DB 21,"Z",2CH ;;
  737. DB 44,"Y",15H ;;
  738. CP850_AL_UP_K1_T1_END: ;;
  739. ;;
  740. DW 0 ;; Size of xlat table - null table
  741. ;;
  742. CP850_AL_UP_K1_END: ;;
  743. ;;
  744. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  745. ;;
  746. ;;
  747. DW 0 ;; LAST STATE
  748. ;;
  749. CP850_XLAT_END: ;;
  750. ;;
  751. ;;
  752. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  753. ;;***************************************
  754. ;; YC Specific Translate Section for 855
  755. ;;***************************************
  756. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  757. ;;
  758. YC1_855_XLAT: ;;
  759. ;;
  760. DW CP855_XLAT_END-$ ;; length of section
  761. DW 855 ;;
  762. ;;
  763. ;;
  764. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  765. ;; CODE PAGE: 855
  766. ;; STATE: Non-Alpha Lower Case
  767. ;; KEYBOARD TYPES: All
  768. ;; TABLE TYPE: Translate
  769. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  770. ;;
  771. DW CP855_NA_K1_LO_END-$ ;; length of state section
  772. DB NON_ALPHA_LOWER ;; State ID
  773. DW ANY_KB ;; Keyboard Type
  774. DB -1,-1 ;; Buffer entry for error character
  775. ;;
  776. DW CP855_NA_LO_K1_T1_END-$ ;; Size of xlat table
  777. DB STANDARD_TABLE ;; xlat options:
  778. DB 6 ;; number of entries
  779. DB 51, 02CH ;; 033H
  780. DB 52, 02EH ;; 034H
  781. DB 53, 02DH ;; 035H
  782. DB 12, 027H ;; 0CH
  783. DB 13, 02BH ;; 0DH
  784. DB 86, 03Ch ;; 056H
  785. CP855_NA_LO_K1_T1_END: ;;
  786. ;;
  787. DW 0 ;; Size of xlat table - null table
  788. ;;
  789. CP855_NA_K1_LO_END: ;;
  790. ;;
  791. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  792. ;; CODE PAGE: 855
  793. ;; STATE: Non-Alpha Upper Case
  794. ;; KEYBOARD TYPES: All
  795. ;; TABLE TYPE: Translate
  796. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  797. ;;
  798. DW CP855_NA_UP_END-$ ;; length of state section
  799. DB NON_ALPHA_UPPER ;; State ID
  800. DW ANY_KB ;; Keyboard Type
  801. DB -1,-1 ;; Buffer entry for error character
  802. ;;
  803. DW CP855_NA_UP_T1_END-$ ;; Size of xlat table
  804. DB STANDARD_TABLE ;; xlat options:
  805. DB 12 ;; number of entries
  806. DB 51, 03BH ;; 033H
  807. DB 52, 03AH ;; 034H
  808. DB 53, 05FH ;; 035H
  809. DB 12, 03FH ;; 0CH
  810. DB 13, 02AH ;; 0DH
  811. DB 86, 03EH ;; 056H
  812. DB 3, 022H ;; 03h
  813. DB 7, 026H ;; 07h
  814. DB 8, 02FH ;; 08h
  815. DB 9, 028H ;; 09h
  816. DB 10, 029H ;; 0ah
  817. DB 11, 03dH ;; 0bh
  818. CP855_NA_UP_T1_END: ;;
  819. ;;
  820. DW 0 ;; Size of xlat table - null table
  821. ;;
  822. CP855_NA_UP_END: ;;
  823. ;;
  824. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  825. DW CP855_NA_Y1_LO_END-$ ;; length of state section
  826. DB NON_ALPHA_LOWER_LAT ;; State ID
  827. DW ANY_KB ;; Keyboard Type
  828. DB -1,-1 ;; Buffer entry for error character
  829. ;;
  830. DW CP855_NA_LO_Y1_T1_END-$ ;; Size of xlat table
  831. DB STANDARD_TABLE ;; xlat options:
  832. DB 11 ;; number of entries
  833. DB 51, 02CH ;; 033H
  834. DB 52, 02EH ;; 034H
  835. DB 53, 02DH ;; 035H
  836. DB 12, 027H ;; 0CH
  837. DB 13, 02BH ;; 0DH
  838. DB 86, 03Ch ;; 056H
  839. DB 26, 05Bh ;; 01AH
  840. DB 27, 05Ch ;; 01BH
  841. DB 39, 07Ch ;; 027H
  842. DB 40, 05Dh ;; 028H
  843. DB 43, 040h ;; 02BH
  844. CP855_NA_LO_Y1_T1_END: ;;
  845. ;;
  846. DW 0 ;; Size of xlat table - null table
  847. ;;
  848. CP855_NA_Y1_LO_END: ;;
  849. ;;
  850. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  851. ;; CODE PAGE: 855
  852. ;; STATE: Non-Alpha Upper Case
  853. ;; KEYBOARD TYPES: All
  854. ;; TABLE TYPE: Translate
  855. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  856. ;;
  857. DW CP855_NY_UP_END-$ ;; length of state section
  858. DB NON_ALPHA_UPPER_LAT ;; State ID
  859. DW ANY_KB ;; Keyboard Type
  860. DB -1,-1 ;; Buffer entry for error character
  861. ;;
  862. DW CP855_NY_UP_T1_END-$ ;; Size of xlat table
  863. DB STANDARD_TABLE ;; xlat options:
  864. DB 17 ;; number of entrie
  865. DB 51, 03BH ;; 033H
  866. DB 52, 03AH ;; 034H
  867. DB 53, 05FH ;; 035H
  868. DB 12, 03FH ;; 0CH
  869. DB 13, 02AH ;; 0DH
  870. DB 86, 03EH ;; 056H
  871. DB 3, 022H ;; 03h
  872. DB 7, 026H ;; 07h
  873. DB 8, 02FH ;; 08h
  874. DB 9, 028H ;; 09h
  875. DB 10, 029H ;; 0ah
  876. DB 11, 03dH ;; 0bh
  877. DB 26, 07Bh ;; 01AH
  878. DB 27, 05Ch ;; 01BH
  879. DB 39, 05Eh ;; 027H
  880. DB 40, 07Dh ;; 028H
  881. DB 43, 040h ;; 02BH
  882. CP855_NY_UP_T1_END: ;;
  883. ;;
  884. DW 0 ;; Size of xlat table - null table
  885. ;;
  886. CP855_NY_UP_END: ;;
  887. ;;
  888. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  889. ;; CODE PAGE: COM
  890. ;; STATE: Alpha Lower Case
  891. ;; KEYBOARD TYPES: G
  892. ;; TABLE TYPE: Translate
  893. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  894. ;;
  895. DW COM_AL_LO_K1_END-$ ;; length of state section
  896. DB ALPHA_LOWER_LAT ;; State ID
  897. DW ANY_KB ;; Keyboard Type
  898. DB -1,-1 ;; Buffer entry for error character
  899. ;;
  900. DW COM_AL_LO_K1_T1_END-$ ;; Size of xlat table
  901. DB TYPE_2_TAB ;; xlat options:
  902. DB 2 ;; number of entries
  903. DB 21,"z",2CH ;;
  904. DB 44,"y",15H ;;
  905. COM_AL_LO_K1_T1_END: ;;
  906. ;;
  907. DW 0 ;; Size of xlat table - null table
  908. ;;
  909. COM_AL_LO_K1_END: ;;
  910. ;;
  911. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  912. ;; CODE PAGE: COM
  913. ;; STATE: Alpha Upper Case
  914. ;; KEYBOARD TYPES: G
  915. ;; TABLE TYPE: Translate
  916. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  917. ;;
  918. DW COM_AL_UP_K1_END-$ ;; length of state section
  919. DB ALPHA_UPPER_LAT ;; State ID
  920. DW ANY_KB ;; Keyboard Type
  921. DB -1,-1 ;; Buffer entry for error character
  922. ;;
  923. DW COM_AL_UP_K1_T1_END-$ ;; Size of xlat table
  924. DB TYPE_2_TAB ;; xlat options:
  925. DB 2 ;; number of entries
  926. DB 21,"Z",2CH ;;
  927. DB 44,"Y",15H ;;
  928. COM_AL_UP_K1_T1_END: ;;
  929. ;;
  930. DW 0 ;; Size of xlat table - null table
  931. ;;
  932. COM_AL_UP_K1_END: ;;
  933. ;;
  934. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  935. ;; CODE PAGE: 855
  936. ;; STATE: Third Shift
  937. ;; KEYBOARD TYPES: All
  938. ;; TABLE TYPE: Translate
  939. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  940. ;;
  941. DW CP855_TS_END-$ ;; length of state section
  942. DB THIRD_SHIFT ;; State ID
  943. DW ANY_KB ;; Keyboard Type
  944. DB -1,-1 ;; Buffer entry for error character
  945. ;;
  946. DW CP855_TS_T1_END-$ ;; Size of xlat table
  947. DB STANDARD_TABLE ;; xlat options:
  948. DB 14 ;; number of entries
  949. DB 03H,040H ;; @
  950. DB 04H,023H ;; #
  951. DB 05H,0CFH ;; RUBLES sign �
  952. DB 07H,05EH ;; ^
  953. DB 08H,026H ;; &
  954. DB 09H,024H ;; $
  955. DB 0AH,03CH ;; <
  956. DB 0BH,03EH ;; >
  957. DB 1AH,05BH ;; [
  958. DB 1BH,05DH ;; ]
  959. DB 2BH,07CH ;; |
  960. DB 33H,03CH ;; <
  961. DB 34H,03EH ;; >
  962. DB 35H,02FH ;; /
  963. CP855_TS_T1_END: ;;
  964. ;;
  965. DW 0 ;; Size of xlat table - null table
  966. ;;
  967. CP855_TS_END: ;;
  968. ;;
  969. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  970. ;; CODE PAGE: 855
  971. ;; STATE: Alpha Lower Case
  972. ;; KEYBOARD TYPES: All
  973. ;; TABLE TYPE: Translate
  974. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  975. ;;
  976. DW CP855_A_K1_LO_END-$ ;; length of state section
  977. DB ALPHA_LOWER ;; State ID
  978. DW ANY_KB ;; Keyboard Type
  979. DB -1,-1 ;; Buffer entry for error character
  980. ;;
  981. DW CP855_A_LO_K1_T1_END-$ ;; Size of xlat table
  982. DB ASCII_ONLY ;; xlat options:
  983. DB 16 ;; Scan code
  984. DB 27 ;; range
  985. DB 090H ;; 010H
  986. DB 092H ;; 011H
  987. DB 0A8H ;; 012H
  988. DB 0E1H ;; 013H
  989. DB 0E5H ;; 014H
  990. DB 0F3H ;; 015H
  991. DB 0E7H ;; 016H
  992. DB 0B7H ;; 017H
  993. DB 0D6H ;; 018H
  994. DB 0D8H ;; 019H
  995. DB 0F5H ;; 01AH
  996. DB 080H ;; 01BH
  997. CP855_A_LO_K1_T1_END: ;;
  998. ;;
  999. ;;
  1000. DW CP855_A_LO_K1_T2_END-$ ;; Size of xlat table
  1001. DB ASCII_ONLY ;; xlat options:
  1002. DB 30 ;; Scan code
  1003. DB 40 ;; range
  1004. DB 0A0H ;; 01EH
  1005. DB 0E3H ;; 01Fh
  1006. DB 0A6H ;; 020H
  1007. DB 0AAH ;; 021H
  1008. DB 0ACH ;; 022H
  1009. DB 0B5H ;; 023H
  1010. DB 08EH ;; 024H
  1011. DB 0C6H ;; 025H
  1012. DB 0D0H ;; 026H
  1013. DB 0FBH ;; 027H
  1014. DB 094H ;; 028H
  1015. CP855_A_LO_K1_T2_END: ;;
  1016. ;;
  1017. ;;
  1018. DW CP855_A_LO_K1_T4_END-$ ;; Size of xlat table
  1019. DB ASCII_ONLY ;; xlat options:
  1020. DB 43 ;; Scan code
  1021. DB 50 ;; range
  1022. DB 0E9H ;; 02BH
  1023. DB 088H ;; 02CH
  1024. DB 09AH ;; 02DH
  1025. DB 0A4H ;; 02EH
  1026. DB 0EBH ;; 02FH
  1027. DB 0A2H ;; 030H
  1028. DB 0D4H ;; 031H
  1029. DB 0D2H ;; 032H
  1030. CP855_A_LO_K1_T4_END: ;;
  1031. ;;
  1032. DW 0 ;; Size of xlat table - null table
  1033. ;;
  1034. CP855_A_K1_LO_END: ;;
  1035. ;;
  1036. ;;
  1037. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1038. ;; CODE PAGE: 855
  1039. ;; STATE: Alpha Upper Case
  1040. ;; KEYBOARD TYPES: All
  1041. ;; TABLE TYPE: Translate
  1042. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1043. ;;
  1044. DW CP855_A_K1_UP_END-$ ;; length of state section
  1045. DB ALPHA_UPPER ;; State ID
  1046. DW ANY_KB ;; Keyboard Type
  1047. DB -1,-1 ;; Buffer entry for error character
  1048. ;;
  1049. DW CP855_A_UP_K1_T1_END-$ ;; Size of xlat table
  1050. DB ASCII_ONLY ;; xlat options:
  1051. DB 16 ;; Scan code
  1052. DB 27 ;; range
  1053. DB 091H ;; 010H
  1054. DB 093H ;; 011H
  1055. DB 0A9H ;; 012H
  1056. DB 0E2H ;; 013H
  1057. DB 0E6H ;; 014H
  1058. DB 0F4H ;; 015H
  1059. DB 0E8H ;; 016H
  1060. DB 0B8H ;; 017H
  1061. DB 0D7H ;; 018H
  1062. DB 0DDH ;; 019H
  1063. DB 0F6H ;; 01AH
  1064. DB 081H ;; 01BH
  1065. CP855_A_UP_K1_T1_END: ;;
  1066. ;;
  1067. ;;
  1068. DW CP855_A_UP_K1_T2_END-$ ;; Size of xlat table
  1069. DB ASCII_ONLY ;; xlat options:
  1070. DB 30 ;; Scan code
  1071. DB 40 ;; range
  1072. DB 0A1H ;; 01EH
  1073. DB 0E4H ;; 01Fh
  1074. DB 0A7H ;; 020H
  1075. DB 0ABH ;; 021H
  1076. DB 0ADH ;; 022H
  1077. DB 0B6H ;; 023H
  1078. DB 08FH ;; 024H
  1079. DB 0C7H ;; 025H
  1080. DB 0D1H ;; 026H
  1081. DB 0FCH ;; 027H
  1082. DB 095H ;; 028H
  1083. CP855_A_UP_K1_T2_END: ;;
  1084. ;;
  1085. ;;
  1086. DW CP855_A_UP_K1_T3_END-$ ;; Size of xlat table
  1087. DB ASCII_ONLY ;; xlat options:
  1088. DB 43 ;; Scan code
  1089. DB 50 ;; range
  1090. DB 0EAH ;; 02BH
  1091. DB 089H ;; 02CH
  1092. DB 09BH ;; 02DH
  1093. DB 0A5H ;; 02EH
  1094. DB 0ECH ;; 02FH
  1095. DB 0A3H ;; 030H
  1096. DB 0D5H ;; 031H
  1097. DB 0D3H ;; 032H
  1098. CP855_A_UP_K1_T3_END: ;;
  1099. ;;
  1100. ;;
  1101. CP855_A_UP_K1_T5_END: ;;
  1102. ;;
  1103. DW 0 ;; Size of xlat table - null table
  1104. ;;
  1105. CP855_A_K1_UP_END: ;;
  1106. ;;
  1107. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1108. ;;
  1109. DW 0 ;; LAST STATE
  1110. ;;
  1111. CP855_XLAT_END: ;;
  1112. ;;
  1113. ;;
  1114. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1115. ;;
  1116. CODE ENDS ;;
  1117. END ;;