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.

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