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.

1612 lines
54 KiB

  1. ;; LATEST CHANGE TO CTL [ and ] on XT moved to key 26 & 27
  2. ; * IBM CONFIDENTIAL * Jan 9 1990 *
  3. ;; XT section enabled
  4. ;; ************* CNS 12/18/86
  5. PAGE ,132
  6. TITLE PC DOS 3.3 Keyboard Definition File
  7. ;; LATEST CHANGE P12 NUMERIC
  8. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  9. ;; PC DOS 3.3 - NLS Support - Keyboard Defintion File
  10. ;; (c) Copyright IBM Corp 198?,...
  11. ;;
  12. ;; This file contains the keyboard tables for Portugeuse
  13. ;;
  14. ;; Linkage Instructions:
  15. ;; Refer to KDF.ASM.
  16. ;;
  17. ;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986
  18. ;; Updated for Portugal by M.J.Saunders WSD - August 1986.
  19. ;; modded : DTF 18-Sep-86
  20. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  21. ;;
  22. INCLUDE KEYBSHAR.INC ;;
  23. INCLUDE POSTEQU.INC ;;
  24. INCLUDE KEYBMAC.INC ;;
  25. ;;
  26. PUBLIC PO_LOGIC ;;
  27. PUBLIC PO_860_XLAT ;;
  28. PUBLIC PO_850_XLAT ;;
  29. ;;
  30. CODE SEGMENT PUBLIC 'CODE' ;;
  31. ASSUME CS:CODE,DS:CODE ;;
  32. ;;
  33. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  34. ;; Standard translate table options are a linear search table
  35. ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  36. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  37. ;;
  38. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  39. ;;
  40. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  41. ;; PO State Logic
  42. ;;***************************************
  43. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  44. ;;
  45. PO_LOGIC:
  46. DW LOGIC_END-$ ;; length
  47. ;;
  48. DW 0 ;; special features
  49. ;;
  50. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
  51. ;; OPTIONS: If we find a scan match in
  52. ;; an XLATT or SET_FLAG operation then
  53. ;; exit from INT 9.
  54. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  55. ;;
  56. OPTION EXIT_IF_FOUND ;;
  57. ;;
  58. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  59. ;; Dead key definitions must come before
  60. ;; dead key translations to handle
  61. ;; dead key + dead key.
  62. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  63. ;;
  64. IFF EITHER_ALT,NOT ;;
  65. ANDF EITHER_CTL,NOT ;;
  66. IFF EITHER_SHIFT ;;
  67. SET_FLAG DEAD_UPPER ;;
  68. ELSEF ;;
  69. SET_FLAG DEAD_LOWER ;;
  70. ENDIFF ;;
  71. ENDIFF ;;
  72. IFF EITHER_SHIFT,NOT ;;
  73. IFKBD XT_KB+AT_KB ;;
  74. IFF EITHER_CTL ;;
  75. ANDF ALT_SHIFT ;;
  76. SET_FLAG DEAD_THIRD ;;
  77. ENDIFF ;;
  78. ELSEF ;;
  79. IFF EITHER_CTL,NOT ;;
  80. ANDF R_ALT_SHIFT ;;
  81. SET_FLAG DEAD_THIRD ;;
  82. ENDIFF ;;
  83. ENDIFF ;;
  84. ENDIFF ;;
  85. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  86. ;; ACUTE ACCENT TRANSLATIONS
  87. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  88. ;;
  89. ACUTE_PROC: ;;
  90. ;;
  91. IFF ACUTE,NOT ;;
  92. GOTO DIARESIS_PROC ;;
  93. ENDIFF ;;
  94. ;;
  95. RESET_NLS ;;
  96. IFF R_ALT_SHIFT,NOT ;;
  97. XLATT ACUTE_SPACE ;;
  98. ENDIFF ;;
  99. IFF EITHER_CTL,NOT ;;
  100. ANDF EITHER_ALT,NOT ;;
  101. IFF EITHER_SHIFT ;;
  102. IFF CAPS_STATE ;;
  103. XLATT ACUTE_LOWER ;;
  104. ELSEF ;;
  105. XLATT ACUTE_UPPER ;;
  106. ENDIFF ;;
  107. ELSEF ;;
  108. IFF CAPS_STATE ;;
  109. XLATT ACUTE_UPPER ;;
  110. ELSEF ;;
  111. XLATT ACUTE_LOWER ;;
  112. ENDIFF ;;
  113. ENDIFF ;;
  114. ENDIFF ;;
  115. ;;
  116. INVALID_ACUTE: ;;
  117. PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
  118. BEEP ;; failed or we are ina bad shift state.
  119. GOTO NON_DEAD ;; Either is invalid so BEEP and fall
  120. ;; through to generate the second char.
  121. ;; Note that the dead key flag will be
  122. ;; reset before we get here.
  123. ;;
  124. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  125. ;; DIARESIS ACCENT TRANSLATIONS
  126. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  127. ;;
  128. DIARESIS_PROC: ;;
  129. ;;
  130. IFF DIARESIS,NOT ;;
  131. GOTO GRAVE_PROC ;;
  132. ENDIFF ;;
  133. ;;
  134. RESET_NLS ;;
  135. IFF R_ALT_SHIFT,NOT ;;
  136. XLATT DIARESIS_SPACE ;; exist for 437 so beep for
  137. ENDIFF ;;
  138. IFF EITHER_CTL,NOT ;;
  139. ANDF EITHER_ALT,NOT ;;
  140. IFF EITHER_SHIFT ;;
  141. IFF CAPS_STATE ;;
  142. XLATT DIARESIS_LOWER ;;
  143. ELSEF ;;
  144. XLATT DIARESIS_UPPER ;;
  145. ENDIFF ;;
  146. ELSEF ;;
  147. IFF CAPS_STATE ;;
  148. XLATT DIARESIS_UPPER ;;
  149. ELSEF ;;
  150. XLATT DIARESIS_LOWER ;;
  151. ENDIFF ;;
  152. ENDIFF ;;
  153. ENDIFF ;;
  154. ;;
  155. INVALID_DIARESIS: ;;
  156. PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent
  157. BEEP ;; Invalid dead key combo.
  158. GOTO NON_DEAD ;;
  159. ;;
  160. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  161. ;; GRAVE ACCENT TRANSLATIONS
  162. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  163. ;;
  164. GRAVE_PROC: ;;
  165. ;;
  166. IFF GRAVE,NOT ;;
  167. GOTO TILDE_PROC ;;
  168. ENDIFF ;;
  169. ;;
  170. RESET_NLS ;;
  171. IFF R_ALT_SHIFT,NOT ;;
  172. XLATT GRAVE_SPACE ;;
  173. ENDIFF ;;
  174. IFF EITHER_CTL,NOT ;;
  175. ANDF EITHER_ALT,NOT ;;
  176. IFF EITHER_SHIFT ;;
  177. IFF CAPS_STATE ;;
  178. XLATT GRAVE_LOWER ;;
  179. ELSEF ;;
  180. XLATT GRAVE_UPPER ;;
  181. ENDIFF ;;
  182. ELSEF ;;
  183. IFF CAPS_STATE,NOT ;;
  184. XLATT GRAVE_LOWER ;;
  185. ELSEF ;;
  186. XLATT GRAVE_UPPER ;;
  187. ENDIFF ;;
  188. ENDIFF ;;
  189. ENDIFF ;;
  190. ;;
  191. INVALID_GRAVE: ;;
  192. PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
  193. BEEP ;; Invalid dead key combo.
  194. GOTO NON_DEAD ;;
  195. ;;
  196. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  197. ;; TILDE ACCENT TRANSLATIONS
  198. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  199. TILDE_PROC: ;;
  200. ;;
  201. IFF TILDE,NOT ;;
  202. GOTO CIRCUMFLEX_PROC ;;
  203. ENDIFF ;;
  204. ;;
  205. RESET_NLS ;;
  206. IFF R_ALT_SHIFT,NOT ;;
  207. XLATT TILDE_SPACE ;;
  208. ENDIFF ;;
  209. IFF EITHER_CTL,NOT ;;
  210. ANDF EITHER_ALT,NOT ;;
  211. IFF EITHER_SHIFT ;;
  212. IFF CAPS_STATE ;;
  213. XLATT TILDE_LOWER ;;
  214. ELSEF ;;
  215. XLATT TILDE_UPPER ;;
  216. ENDIFF ;;
  217. ELSEF ;;
  218. IFF CAPS_STATE ;;
  219. XLATT TILDE_UPPER ;;
  220. ELSEF ;;
  221. XLATT TILDE_LOWER ;;
  222. ENDIFF ;;
  223. ENDIFF ;;
  224. ENDIFF ;;
  225. ;;
  226. INVALID_TILDE: ;;
  227. PUT_ERROR_CHAR TILDE_LOWER ;; standalone accent
  228. BEEP ;; Invalid dead key combo.
  229. GOTO NON_DEAD ;;
  230. ;;
  231. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  232. ;; CIRCUMFLEX ACCENT TRANSLATIONS
  233. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  234. ;;
  235. CIRCUMFLEX_PROC: ;;
  236. ;;
  237. IFF CIRCUMFLEX,NOT ;;
  238. GOTO NON_DEAD ;;
  239. ENDIFF ;;
  240. ;;
  241. RESET_NLS ;;
  242. IFF R_ALT_SHIFT,NOT ;;
  243. XLATT CIRCUMFLEX_SPACE ;;
  244. ENDIFF ;;
  245. IFF EITHER_CTL,NOT ;;
  246. ANDF EITHER_ALT,NOT ;;
  247. IFF EITHER_SHIFT ;;
  248. IFF CAPS_STATE ;;
  249. XLATT CIRCUMFLEX_LOWER ;;
  250. ELSEF ;;
  251. XLATT CIRCUMFLEX_UPPER ;;
  252. ENDIFF ;;
  253. ELSEF ;;
  254. IFF CAPS_STATE,NOT ;;
  255. XLATT CIRCUMFLEX_LOWER ;;
  256. ELSEF ;;
  257. XLATT CIRCUMFLEX_UPPER ;;
  258. ENDIFF ;;
  259. ENDIFF ;;
  260. ENDIFF ;;
  261. ;;
  262. INVALID_CIRCUMFLEX: ;;
  263. PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
  264. BEEP ;; Invalid dead key combo.
  265. GOTO NON_DEAD ;;
  266. ;;
  267. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  268. ;; Upper, lower and third shifts
  269. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  270. ;;
  271. NON_DEAD: ;;
  272. ;;
  273. IFKBD G_KB+P12_KB ;; Avoid accidentally translating
  274. ANDF LC_E0 ;; the "/" on the numeric pad of the
  275. EXIT_STATE_LOGIC ;; G keyboard
  276. ENDIFF ;;
  277. ;;
  278. IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
  279. ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
  280. IFF EITHER_SHIFT ;; Numeric keys are not.
  281. ;;***BD ADDED FOR NUMERIC PAD
  282. IFF NUM_STATE,NOT ;;
  283. XLATT NUMERIC_PAD ;;
  284. ENDIFF ;;
  285. ;;***BD END OF ADDITION
  286. XLATT NON_ALPHA_UPPER ;;
  287. IFF CAPS_STATE ;;
  288. XLATT ALPHA_LOWER ;;
  289. ELSEF ;;
  290. XLATT ALPHA_UPPER ;;
  291. ENDIFF ;;
  292. ELSEF ;;
  293. ;;***BD ADDED FOR NUMERIC PAD
  294. IFF NUM_STATE ;;
  295. XLATT NUMERIC_PAD ;;
  296. ENDIFF ;;
  297. ;;***BD END OF ADDITION
  298. XLATT NON_ALPHA_LOWER ;;
  299. IFF CAPS_STATE ;;
  300. XLATT ALPHA_UPPER ;;
  301. ELSEF ;;
  302. XLATT ALPHA_LOWER ;;
  303. ENDIFF ;;
  304. ENDIFF ;;
  305. ELSEF ;;
  306. IFF EITHER_SHIFT,NOT ;;
  307. IFKBD XT_KB+AT_KB ;;
  308. IFF EITHER_CTL ;;
  309. ANDF ALT_SHIFT ;;
  310. XLATT THIRD_SHIFT ;;
  311. ENDIFF ;;
  312. ELSEF ;;
  313. IFF EITHER_CTL,NOT ;;
  314. ANDF R_ALT_SHIFT ;;
  315. XLATT THIRD_SHIFT ;;
  316. ENDIFF ;;
  317. ENDIFF ;;
  318. ENDIFF ;;
  319. ENDIFF ;;
  320. ;**************************************;;
  321. IFF EITHER_SHIFT,NOT ;;
  322. IFKBD XT_KB+AT_KB ;;
  323. IFF EITHER_CTL ;;
  324. ANDF ALT_SHIFT ;;
  325. XLATT ALT_CASE ;;
  326. ENDIFF ;;
  327. ENDIFF ;;
  328. IFKBD G_KB+P12_KB ;;
  329. IFF EITHER_CTL ;;
  330. ANDF ALT_SHIFT ;;
  331. IFF R_ALT_SHIFT,NOT ;;
  332. XLATT ALT_CASE ;;
  333. ENDIFF ;;
  334. ENDIFF ;;
  335. ENDIFF ;;
  336. ENDIFF ;;
  337. ;**************************************;;
  338. IFKBD AT_KB+XT_KB ;;
  339. IFF EITHER_CTL,NOT ;;
  340. IFF ALT_SHIFT ;; ALT - case
  341. XLATT ALT_CASE ;;
  342. ENDIFF ;;
  343. ELSEF ;;
  344. IFF EITHER_ALT,NOT ;; CTRL - case
  345. XLATT CTRL_CASE ;;
  346. ENDIFF ;;
  347. ENDIFF ;;
  348. ENDIFF ;;
  349. ;;
  350. IFKBD G_KB+P12_KB ;;
  351. IFF EITHER_CTL,NOT ;;
  352. IFF ALT_SHIFT ;; ALT - case
  353. ANDF R_ALT_SHIFT,NOT ;;
  354. XLATT ALT_CASE ;;
  355. ENDIFF ;;
  356. ELSEF ;;
  357. IFF EITHER_ALT,NOT ;; CTRL - case
  358. XLATT CTRL_CASE ;;
  359. ENDIFF ;;
  360. ENDIFF ;;
  361. IFF EITHER_CTL ;;
  362. ANDF ALT_SHIFT ;;
  363. ANDF R_ALT_SHIFT,NOT ;;
  364. XLATT ALT_CASE ;;
  365. ENDIFF ;;
  366. ENDIFF ;;
  367. ;;
  368. EXIT_STATE_LOGIC ;;
  369. ;;
  370. LOGIC_END: ;;
  371. ;;
  372. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  373. ;; PO Common Translate Section
  374. ;; This section contains translations for the lower 128 characters
  375. ;; only since these will never change from code page to code page.
  376. ;; In addition the dead key "Set Flag" tables are here since the
  377. ;; dead keys are on the same keytops for all code pages.
  378. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  379. ;;
  380. PUBLIC PO_COMMON_XLAT ;;
  381. PO_COMMON_XLAT: ;;
  382. ;;
  383. DW COMMON_XLAT_END-$ ;; length of section
  384. DW -1 ;; code page
  385. ;;
  386. ;;
  387. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  388. ;; CODE PAGE: Common
  389. ;; STATE: Lower Shift Dead Key
  390. ;; KEYBOARD TYPES: XT
  391. ;; TABLE TYPE: Flag Table
  392. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  393. ;;
  394. DW COM_DK_LO_END-$ ;; length of state section
  395. DB DEAD_LOWER ;; State ID
  396. DW XT_KB ;; Keyboard Type
  397. DB -1,-1 ;; Buffer entry for error character
  398. ;; Set Flag Table
  399. DW 2 ;; number of entries
  400. DB 27 ;; scan code
  401. FLAG ACUTE ;; flag bit to set
  402. DB 41 ;;
  403. FLAG TILDE ;;
  404. ;;
  405. ;;
  406. COM_DK_LO_END: ;;
  407. ;;
  408. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  409. ;; CODE PAGE: Common
  410. ;; STATE: Lower Shift Dead Key
  411. ;; KEYBOARD TYPES: G, P12
  412. ;; TABLE TYPE: Flag Table
  413. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  414. ;;
  415. DW COM_DK_LO_K1_END-$ ;; length of state section
  416. DB DEAD_LOWER ;; State ID
  417. DW G_KB+P12_KB ;; Keyboard Type
  418. DB -1,-1 ;; Buffer entry for error character
  419. ;; Set Flag Table
  420. DW 2 ;; number of entries
  421. DB 27 ;; scan code
  422. FLAG ACUTE ;; flag bit to set
  423. DB 43 ;;
  424. FLAG TILDE ;;
  425. ;;
  426. ;;
  427. COM_DK_LO_K1_END: ;;
  428. ;;
  429. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  430. ;; CODE PAGE: Common
  431. ;; STATE: Upper Shift Dead Key
  432. ;; KEYBOARD TYPES: XT
  433. ;; TABLE TYPE: Flag Table
  434. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  435. ;;
  436. DW COM_DK_UP_END-$ ;; length of state section
  437. DB DEAD_UPPER ;; State ID
  438. DW XT_KB ;; Keyboard Type
  439. DB -1,-1 ;; Buffer entry for error character
  440. ;; Set Flag Table
  441. DW 2 ;; number of entries
  442. DB 27 ;; scan code
  443. FLAG GRAVE ;; flag bit to set
  444. DB 41 ;;
  445. FLAG CIRCUMFLEX ;;
  446. ;;
  447. COM_DK_UP_END: ;;
  448. ;;
  449. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  450. ;; CODE PAGE: Common
  451. ;; STATE: Upper Shift Dead Key
  452. ;; KEYBOARD TYPES: G, P12,
  453. ;; TABLE TYPE: Flag Table
  454. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  455. ;;
  456. DW COM_DK_UP_K1_END-$ ;; length of state section
  457. DB DEAD_UPPER ;; State ID
  458. DW G_KB+P12_KB ;; Keyboard Type
  459. DB -1,-1 ;; Buffer entry for error character
  460. ;; Set Flag Table
  461. DW 2 ;; number of entries
  462. DB 27 ;; scan code
  463. FLAG GRAVE ;; flag bit to set
  464. DB 43 ;;
  465. FLAG CIRCUMFLEX ;;
  466. ;;
  467. COM_DK_UP_K1_END: ;;
  468. ;;
  469. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  470. ;; CODE PAGE: Common
  471. ;; STATE: Third Shift Dead Key
  472. ;; KEYBOARD TYPES: G, P12
  473. ;; TABLE TYPE: Flag Table
  474. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  475. ;;
  476. DW COM_DK_TH_END-$ ;; length of state section
  477. DB DEAD_THIRD ;; State ID
  478. DW G_KB+P12_KB ;; Keyboard Type
  479. DB -1,-1 ;; Buffer entry for error character
  480. ;; Set Flag Table
  481. DW 1 ;; number of entries
  482. DB 26 ;; scan code
  483. FLAG DIARESIS ;; flag bit to set
  484. ;;
  485. COM_DK_TH_END: ;;
  486. ;;
  487. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  488. ;; CODE PAGE: Common
  489. ;; STATE: Alt Case
  490. ;; KEYBOARD TYPES: XT, G, P12,
  491. ;; TABLE TYPE: Translate
  492. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  493. ;;
  494. DW COM_ALT_K1_END-$ ;; length of state section
  495. DB ALT_CASE ;; State ID
  496. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  497. DB -1,-1 ;; Buffer entry for error character
  498. ;;
  499. DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
  500. DB TYPE_2_TAB ;; xlat options:
  501. DB 0 ;; 2 number of entries
  502. ; DB 12,-1,-1 ;; BLOT OUT HYPHEN
  503. ; DB 53,0,82H ;; MOVE HYPHEN
  504. COM_ALT_K1_T1_END: ;;
  505. ;;
  506. DW 0 ;; Size of xlat table - null table
  507. ;;
  508. COM_ALT_K1_END: ;;
  509. ;;
  510. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  511. ;; CODE PAGE: Common
  512. ;; STATE: Ctrl Case
  513. ;; KEYBOARD TYPES: G, P12,
  514. ;; TABLE TYPE: Translate
  515. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  516. ;;
  517. DW COM_CTRL_K1_END-$ ;; length of state section
  518. DB CTRL_CASE ;; State ID **** CNS 12/18
  519. DW G_KB+P12_KB ;; Keyboard Type
  520. DB -1,-1 ;; Buffer entry for error character
  521. ;;
  522. DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
  523. DB TYPE_2_TAB ;; xlat options:
  524. DB 7 ;; number of entries
  525. DB 09,1BH,09 ;; [
  526. DB 10,1DH,10 ;; ]
  527. DB 12,-1,-1 ;; BLOT OUT HYPHEN
  528. DB 1AH,-1,-1 ;; " " [
  529. DB 1BH,-1,-1 ;; " " ]
  530. DB 29H,1CH,29H ;; backslash
  531. DB 53,01FH,35H ;; MOVE HYPHEN
  532. COM_CTRL_K1_T1_END: ;;
  533. ;;
  534. DW 0 ;; Size of xlat table - null table
  535. ;;
  536. COM_CTRL_K1_END: ;;
  537. ;;
  538. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  539. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  540. ;; CODE PAGE: Common
  541. ;; STATE: Ctrl Case
  542. ;; KEYBOARD TYPES: XT
  543. ;; TABLE TYPE: Translate
  544. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; *** CNS 12/18/86
  545. ;;
  546. DW COM_CTRL_K2_END-$ ;; length of state section
  547. DB CTRL_CASE ;; State ID
  548. DW XT_KB ;; Keyboard Type
  549. DB -1,-1 ;; Buffer entry for error character
  550. ;;
  551. DW COM_CTRL_K2_T1_END-$ ;; Size of xlat table
  552. DB TYPE_2_TAB ;; xlat options:
  553. DB 5 ;; number of entries
  554. DB 12,-1,-1 ;; BLOT OUT HYPHEN
  555. DB 1AH,1BH,1AH ;; " " [
  556. DB 1BH,1DH,1BH ;; " " ]
  557. DB 43,1CH,43 ;; backslash
  558. DB 53,01FH,35H ;; MOVE HYPHEN
  559. COM_CTRL_K2_T1_END: ;;
  560. ;;
  561. DW 0 ;; Size of xlat table - null table
  562. ;;
  563. COM_CTRL_K2_END: ;;
  564. ;;
  565. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  566. ;; CODE PAGE: Common
  567. ;; STATE: Alpha Lower Case
  568. ;; KEYBOARD TYPES: XT, G, P12,
  569. ;; TABLE TYPE: Translate
  570. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  571. ;;
  572. DW COM_AL_LO_END-$ ;; length of state section
  573. DB ALPHA_LOWER ;; State ID
  574. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  575. DB -1,-1 ;; Buffer entry for error character
  576. ;;
  577. DW COM_AL_LO_T1_END-$ ;; Size of xlat table
  578. DB STANDARD_TABLE ;; xlat options:
  579. DB 1 ;; number of entries
  580. DB 39,087H ;; c-cedilla
  581. COM_AL_LO_T1_END: ;;
  582. ;;
  583. DW 0 ;; Size of xlat table - null table
  584. ;;
  585. COM_AL_LO_END: ;;
  586. ;;
  587. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  588. ;; CODE PAGE: Common
  589. ;; STATE: Alpha Upper Case
  590. ;; KEYBOARD TYPES: XT, G, P12,
  591. ;; TABLE TYPE: Translate
  592. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  593. ;;
  594. DW COM_AL_UP_END-$ ;; length of state section
  595. DB ALPHA_UPPER ;; State ID
  596. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  597. DB -1,-1 ;; Buffer entry for error character
  598. ;;
  599. DW COM_AL_UP_T1_END-$ ;; Size of xlat table
  600. DB STANDARD_TABLE ;; xlat options:
  601. DB 1 ;; number of entries
  602. DB 39,080H ;; c-cedilla
  603. COM_AL_UP_T1_END: ;;
  604. ;;
  605. DW 0 ;; Size of xlat table - null table
  606. ;;
  607. COM_AL_UP_END: ;;
  608. ;;
  609. ;;
  610. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  611. ;; CODE PAGE: Common
  612. ;; STATE: Non-Alpha Lower Case
  613. ;; KEYBOARD TYPES: XT,
  614. ;; TABLE TYPE: Translate
  615. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  616. ;;
  617. DW COM_NA_LO_END-$ ;; length of state section
  618. DB NON_ALPHA_LOWER ;; State ID
  619. DW XT_KB ;; Keyboard Type
  620. DB -1,-1 ;; Buffer entry for error character
  621. ;;
  622. DW COM_NA_LO_T1_END-$ ;; Size of xlat table
  623. DB STANDARD_TABLE ;; xlat options:
  624. DB 6 ;; number of entries
  625. DB 12,"'" ;;
  626. DB 13,0AEH ;;
  627. DB 26,"+" ;;
  628. DB 40,0A7H ;;
  629. DB 43,"<" ;;
  630. DB 53,"-" ;;
  631. COM_NA_LO_T1_END: ;;
  632. ;;
  633. DW 0 ;; Size of xlat table - null table
  634. ;;
  635. COM_NA_LO_END: ;;
  636. ;;
  637. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  638. ;; CODE PAGE: Common
  639. ;; STATE: Non-Alpha Lower Case
  640. ;; KEYBOARD TYPES: XT, , G, P12,
  641. ;; TABLE TYPE: Translate
  642. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  643. ;;
  644. DW COM_NA_LO_K1_END-$ ;; length of state section
  645. DB NON_ALPHA_LOWER ;; State ID
  646. DW G_KB+P12_KB ;; Keyboard Type
  647. DB -1,-1 ;; Buffer entry for error character
  648. ;;
  649. DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
  650. DB STANDARD_TABLE ;; xlat options:
  651. DB 7 ;; number of entries
  652. DB 12,"'" ;;
  653. DB 13,0AEH ;;
  654. DB 26,"+" ;;
  655. DB 40,0A7H ;;
  656. DB 41,"\" ;;
  657. DB 53,"-" ;;
  658. DB 86,"<" ;;
  659. COM_NA_LO_K1_T1_END: ;;
  660. ;;
  661. DW 0 ;; Size of xlat table - null table
  662. ;;
  663. COM_NA_LO_K1_END: ;;
  664. ;;
  665. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  666. ;; CODE PAGE: Common
  667. ;; STATE: Non-Alpha Upper Case
  668. ;; KEYBOARD TYPES: XT,
  669. ;; TABLE TYPE: Translate
  670. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  671. ;;
  672. DW COM_NA_UP_END-$ ;; length of state section
  673. DB NON_ALPHA_UPPER ;; State ID
  674. DW XT_KB ;; Keyboard Type
  675. DB -1,-1 ;; Buffer entry for error character
  676. ;;
  677. DW COM_NA_UP_T1_END-$ ;; Size of xlat table
  678. DB STANDARD_TABLE ;; xlat options:
  679. DB 14 ;;
  680. DB 3,'"' ;;
  681. DB 7,'&' ;;
  682. DB 8,'/' ;;
  683. DB 9,'(' ;;
  684. DB 10,')' ;;
  685. DB 11,'=' ;;
  686. DB 12,'?' ;;
  687. DB 13,0AFH ;; right double arrow �
  688. DB 26,'*' ;;
  689. DB 40,0A6H ;;� a underscore
  690. DB 43,'>' ;;
  691. DB 51,';' ;;
  692. DB 52,':' ;;
  693. DB 53,'_' ;;
  694. ;;
  695. COM_NA_UP_T1_END: ;;
  696. ;;
  697. DW 0 ;; Size of xlat table - null table
  698. ;;
  699. COM_NA_UP_END: ;;
  700. ;;
  701. ;;
  702. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  703. ;; CODE PAGE: Common
  704. ;; STATE: Non-Alpha Upper Case
  705. ;; KEYBOARD TYPES: G, P12,
  706. ;; TABLE TYPE: Translate
  707. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  708. ;;
  709. DW COM_NA_UP_K1_END-$ ;; length of state section
  710. DB NON_ALPHA_UPPER ;; State ID
  711. DW G_KB+P12_KB ;; Keyboard Type
  712. DB -1,-1 ;; Buffer entry for error character
  713. ;;
  714. DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
  715. DB STANDARD_TABLE ;; xlat options:
  716. DB 15 ;;
  717. DB 3,'"' ;;
  718. DB 7,'&' ;;
  719. DB 8,'/' ;;
  720. DB 9,'(' ;;
  721. DB 10,')' ;;
  722. DB 11,'=' ;;
  723. DB 12,'?' ;;
  724. DB 13,0AFH ;; right double arrow �
  725. DB 26,'*' ;;
  726. DB 40,0A6H ;;� a underscore
  727. DB 41,07CH ;;|
  728. DB 51,';' ;;
  729. DB 52,':' ;;
  730. DB 53,'_' ;;
  731. DB 86,'>' ;;
  732. ;;
  733. COM_NA_UP_K1_T1_END: ;;
  734. ;;
  735. DW 0 ;; Size of xlat table - null table
  736. ;;
  737. COM_NA_UP_K1_END: ;;
  738. ;;
  739. ;;
  740. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  741. ;; CODE PAGE: Common
  742. ;; STATE: Third Shift
  743. ;; KEYBOARD TYPES: XT,
  744. ;; TABLE TYPE: Translate
  745. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  746. ;;
  747. DW COM_THIRD_END-$ ;; length of state section
  748. DB THIRD_SHIFT ;; State ID
  749. DW XT_KB ;; Keyboard Type
  750. DB -1,-1 ;; Buffer entry for error character
  751. ;;
  752. DW COM_THIRD_T1_END-$ ;; Size of xlat table
  753. DB STANDARD_TABLE ;; xlat options:
  754. DB 8 ;; number of entries
  755. DB 2,'|' ;;
  756. DB 3,'@' ;;
  757. DB 5,09CH ;; �
  758. DB 9,'{' ;;
  759. DB 10,'}' ;;
  760. DB 26,'[' ;;
  761. DB 27,']' ;;
  762. DB 43,'\' ;;
  763. COM_THIRD_T1_END: ;;
  764. ;;
  765. DW 0 ;; Last xlat table
  766. COM_THIRD_END: ;;
  767. ;;
  768. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  769. ;; CODE PAGE: Common
  770. ;; STATE: Third Shift
  771. ;; KEYBOARD TYPES: G, P12,
  772. ;; TABLE TYPE: Translate
  773. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  774. ;;
  775. DW COM_THIRD_K1_END-$ ;; length of state section
  776. DB THIRD_SHIFT ;; State ID
  777. DW G_KB+P12_KB ;; Keyboard Type
  778. DB -1,-1 ;; Buffer entry for error character
  779. ;;
  780. DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table
  781. DB STANDARD_TABLE ;; xlat options:
  782. DB 6 ;; number of entries
  783. DB 3,'@' ;;
  784. DB 4,09CH ;; �
  785. DB 8,'{' ;;
  786. DB 9,'[' ;;
  787. DB 10,']' ;;
  788. DB 11,'}' ;;
  789. COM_THIRD_K1_T1_END: ;;
  790. ;;
  791. DW 0 ;; Last xlat table
  792. COM_THIRD_K1_END: ;;
  793. ;;
  794. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  795. ;; CODE PAGE: Common
  796. ;; STATE: Grave Lower
  797. ;; KEYBOARD TYPES: XT, , G, P12,
  798. ;; TABLE TYPE: Translate
  799. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  800. ;;
  801. DW COM_GR_LO_END-$ ;; length of state section
  802. DB GRAVE_LOWER ;; State ID
  803. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  804. DB 96,0 ;; error character = standalone accent
  805. ;;
  806. DW COM_GR_LO_T1_END-$ ;; Size of xlat table
  807. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  808. DB 5 ;; number of scans
  809. DB 18,'�' ;; scan code,ASCII - e
  810. DB 22,'�' ;; scan code,ASCII - u
  811. DB 23,'�' ;; scan code,ASCII - i
  812. DB 24,'�' ;; scan code,ASCII - o
  813. DB 30,'�' ;; scan code,ASCII - a
  814. COM_GR_LO_T1_END: ;;
  815. ;;
  816. DW 0 ;; Size of xlat table - null table
  817. ;;
  818. COM_GR_LO_END: ;; length of state section
  819. ;;
  820. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  821. ;; CODE PAGE: Common
  822. ;; STATE: Grave Space Bar
  823. ;; KEYBOARD TYPES: XT, , G, P12,
  824. ;; TABLE TYPE: Translate
  825. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  826. ;;
  827. DW COM_GR_SP_END-$ ;; length of state section
  828. DB GRAVE_SPACE ;; State ID
  829. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  830. DB 96,0 ;; error character = standalone accent
  831. ;;
  832. DW COM_GR_SP_T1_END-$ ;; Size of xlat table
  833. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  834. DB 1 ;; number of scans
  835. DB 57,96 ;; STANDALONE GRAVE
  836. COM_GR_SP_T1_END: ;;
  837. ;;
  838. DW 0 ;; Size of xlat table - null table
  839. ;;
  840. COM_GR_SP_END: ;; length of state section
  841. ;;
  842. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  843. ;; CODE PAGE: Common
  844. ;; STATE: Circumflex Lower
  845. ;; KEYBOARD TYPES: XT, , G, P12,
  846. ;; TABLE TYPE: Translate
  847. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  848. ;;
  849. DW COM_CI_LO_END-$ ;; length of state section
  850. DB CIRCUMFLEX_LOWER ;; State ID
  851. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  852. DB 94,0 ;; error character = standalone accent
  853. ;;
  854. DW COM_CI_LO_T1_END-$ ;; Size of xlat table
  855. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  856. DB 3 ;; number of scans
  857. DB 18,'�' ;; scan code,ASCII - e
  858. DB 24,'�' ;; scan code,ASCII - o
  859. DB 30,'�' ;; scan code,ASCII - a
  860. COM_CI_LO_T1_END: ;;
  861. ;;
  862. DW 0 ;;
  863. ;;
  864. COM_CI_LO_END: ;;
  865. ;;
  866. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  867. ;; CODE PAGE: Common
  868. ;; STATE: Circumflex Space Bar
  869. ;; KEYBOARD TYPES: XT, , G, P12,
  870. ;; TABLE TYPE: Translate
  871. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  872. ;;
  873. DW COM_CI_SP_END-$ ;; length of state section
  874. DB CIRCUMFLEX_SPACE ;; State ID
  875. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  876. DB 94,0 ;; error character = standalone accent
  877. ;;
  878. DW COM_CI_SP_T1_END-$ ;; Size of xlat table
  879. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  880. DB 1 ;; number of scans
  881. DB 57,94 ;; STANDALONE CIRCUMFLEX
  882. COM_CI_SP_T1_END: ;;
  883. ;;
  884. DW 0 ;; Size of xlat table - null table
  885. ;;
  886. COM_CI_SP_END: ;; length of state section
  887. ;;
  888. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  889. ;; CODE PAGE: Common
  890. ;; STATE: Tilde Lower
  891. ;; KEYBOARD TYPES: XT,
  892. ;; TABLE TYPE: Translate
  893. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  894. ;;
  895. DW COM_TI_LO_END-$ ;; length of state section
  896. DB TILDE_LOWER ;; State ID
  897. DW XT_KB ;; Keyboard Type
  898. DB 07EH,0 ;; error character = standalone accent
  899. ;;
  900. DW COM_TI_LO_T1_END-$ ;; Size of xlat table
  901. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  902. DB 4 ;; number of scans
  903. DB 30,0C6H ;; scan code,ASCII - tilde a
  904. DB 24,0E4H ;; scan code,ASCII - tilde o
  905. DB 49,0A4H ;; scan code,ASCII - �
  906. DB 22,081h ;; scan code,ASCII - u diaresis
  907. COM_TI_LO_T1_END: ;; because the diaresis is not
  908. ;; available on the XT
  909. DW 0 ;;
  910. ;;
  911. COM_TI_LO_END: ;;
  912. ;;
  913. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  914. ;;; CODE PAGE: Common
  915. ;;; STATE: Tilde Upper Case
  916. ;;; KEYBOARD TYPES: XT,
  917. ;;; TABLE TYPE: Translate
  918. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  919. ;;
  920. DW COM_TI_UP_END-$ ;; length of state section
  921. DB TILDE_UPPER ;; State ID
  922. DW XT_KB ;; Keyboard Type
  923. DB 07eH,0 ;; error character = standalone accent
  924. ;;
  925. DW COM_TI_UP_T1_END-$ ;; Size of xlat table
  926. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  927. DB 4 ;; number of scans
  928. DB 30,0C7H ;; scan code,ASCII - tilde A
  929. DB 24,0E5H ;; scan code,ASCII - tilde O
  930. DB 49,0A5H ;; scan code,ASCII - �
  931. DB 22,09AH ;; scan code,ASCII - U diaresis
  932. COM_TI_UP_T1_END: ;; because the diaresis is not
  933. ;; available on the XT
  934. DW 0 ;; Size of xlat table - null table
  935. ;;
  936. COM_TI_UP_END: ;; length of state section
  937. ;;
  938. ;;
  939. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  940. ;; CODE PAGE: Common
  941. ;; STATE: Tilde Lower
  942. ;; KEYBOARD TYPES: G, P12
  943. ;; TABLE TYPE: Translate
  944. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  945. ;;
  946. DW COM_TI_LO_K1_END-$ ;; length of state section
  947. DB TILDE_LOWER ;; State ID
  948. DW G_KB+P12_KB ;; Keyboard Type
  949. DB 07EH,0 ;; error character = standalone accent
  950. ;;
  951. DW COM_TI_LO_K1_T1_END-$ ;; Size of xlat table
  952. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  953. DB 3 ;; number of scans
  954. DB 30,0C6H ;; scan code,ASCII - tilde a
  955. DB 24,0E4H ;; scan code,ASCII - tilde o
  956. DB 49,0A4H ;; scan code,ASCII - �
  957. COM_TI_LO_K1_T1_END: ;;
  958. ;;
  959. DW 0 ;;
  960. ;;
  961. COM_TI_LO_K1_END: ;;
  962. ;;
  963. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  964. ;;; CODE PAGE: Common
  965. ;;; STATE: Tilde Upper Case
  966. ;;; KEYBOARD TYPES: G, P12
  967. ;;; TABLE TYPE: Translate
  968. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  969. ;;
  970. DW COM_TI_UP_K1_END-$ ;; length of state section
  971. DB TILDE_UPPER ;; State ID
  972. DW G_KB+P12_KB ;; Keyboard Type
  973. DB 07EH,0 ;; error character = standalone accent
  974. ;;
  975. DW COM_TI_UP_K1_T1_END-$ ;; Size of xlat table
  976. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  977. DB 3 ;; number of scans
  978. DB 30,0C7H ;; scan code,ASCII - tilde A
  979. DB 24,0E5H ;; scan code,ASCII - tilde O
  980. DB 49,0A5H ;; scan code,ASCII - �
  981. COM_TI_UP_K1_T1_END: ;;
  982. ;;
  983. DW 0 ;; Size of xlat table - null table
  984. ;;
  985. COM_TI_UP_K1_END: ;; length of state section
  986. ;;
  987. ;;
  988. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  989. ;; CODE PAGE: Common
  990. ;; STATE: Tilde Space Bar
  991. ;; KEYBOARD TYPES: XT, , G, P12,
  992. ;; TABLE TYPE: Translate
  993. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  994. ;;
  995. DW COM_TI_SP_END-$ ;; length of state section
  996. DB TILDE_SPACE ;; State ID
  997. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  998. DB 07EH,0 ;; error character = standalone accent
  999. ;;
  1000. DW COM_TI_SP_T1_END-$ ;; Size of xlat table
  1001. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1002. DB 1 ;; number of scans
  1003. DB 57,07EH ;; STANDALONE TILDE
  1004. COM_TI_SP_T1_END: ;;
  1005. ;;
  1006. DW 0 ;; Size of xlat table - null table
  1007. ;;
  1008. COM_TI_SP_END: ;; length of state section
  1009. ;;
  1010. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1011. DW 0 ;; Last State
  1012. COMMON_XLAT_END: ;;
  1013. ;;
  1014. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1015. ;;***************************************
  1016. ;; PO Specific Translate Section for 860
  1017. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1018. ;;
  1019. PUBLIC PO_860_XLAT ;;
  1020. PO_860_XLAT: ;;
  1021. ;;
  1022. DW CP860_XLAT_END-$ ;; length of section
  1023. DW 860 ;;
  1024. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1025. ;; CODE PAGE: 860
  1026. ;; STATE: Third Shift
  1027. ;; KEYBOARD TYPES: G, P12,
  1028. ;; TABLE TYPE: Translate
  1029. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1030. ;;
  1031. DW CP860_THIRD_K1_END-$ ;; length of state section
  1032. DB THIRD_SHIFT ;; State ID
  1033. DW G_KB+P12_KB ;; Keyboard Type
  1034. DB -1,-1 ;; Buffer entry for error character
  1035. ;;
  1036. DW CP860_THIRD_K1_T1_END-$ ;; Size of xlat table
  1037. DB STANDARD_TABLE ;; xlat options:
  1038. DB 1 ;; number of entries
  1039. DB 5,015H ;; section symbol
  1040. CP860_THIRD_K1_T1_END: ;;
  1041. ;;
  1042. DW 0 ;; Last xlat table
  1043. CP860_THIRD_K1_END: ;;
  1044. ;;
  1045. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1046. ;; CODE PAGE: 860
  1047. ;; STATE: Acute Lower Case
  1048. ;; KEYBOARD TYPES: XT, , G, P12,
  1049. ;; TABLE TYPE: Translate
  1050. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1051. ;;
  1052. DW CP860_AC_LO_END-$ ;; length of state section
  1053. DB ACUTE_LOWER ;; State ID
  1054. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1055. DB 39,0 ;; error character = standalone accent
  1056. ;;
  1057. DW CP860_AC_LO_T1_END-$ ;; Size of xlat table
  1058. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1059. DB 5 ;; number of scans
  1060. DB 18,'�' ;; scan code,ASCII - e
  1061. DB 22,'�' ;; scan code,ASCII - u
  1062. DB 23,'�' ;; scan code,ASCII - i
  1063. DB 24,'�' ;; scan code,ASCII - o
  1064. DB 30,'�' ;; scan code,ASCII - a
  1065. CP860_AC_LO_T1_END: ;;
  1066. ;;
  1067. DW 0 ;; Size of xlat table - null table
  1068. ;;
  1069. CP860_AC_LO_END: ;;
  1070. ;;
  1071. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1072. ;; CODE PAGE: 860
  1073. ;; STATE: Acute Upper Case
  1074. ;; KEYBOARD TYPES: XT, , G, P12,
  1075. ;; TABLE TYPE: Translate
  1076. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1077. ;;
  1078. DW CP860_AC_UP_END-$ ;; length of state section
  1079. DB ACUTE_UPPER ;; State ID
  1080. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1081. DB 39,0 ;; error character = standalone accent
  1082. ;;
  1083. DW CP860_AC_UP_T1_END-$ ;; Size of xlat table
  1084. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1085. DB 5 ;; number of scans
  1086. DB 18,090H ;; E acute
  1087. DB 22,096H ;; U acute
  1088. DB 23,08BH ;; I acute
  1089. DB 24,09FH ;; O acute
  1090. DB 30,086H ;; A acute
  1091. CP860_AC_UP_T1_END: ;;
  1092. ;;
  1093. DW 0 ;; Size of xlat table - null table
  1094. ;;
  1095. CP860_AC_UP_END: ;;
  1096. ;;
  1097. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1098. ;; CODE PAGE: 860
  1099. ;; STATE: Acute Space Bar
  1100. ;; KEYBOARD TYPES: XT, , G, P12,
  1101. ;; TABLE TYPE: Translate
  1102. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1103. ;;
  1104. DW CP860_AC_SP_END-$ ;; length of state section
  1105. DB ACUTE_SPACE ;; State ID
  1106. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1107. DB 39,0 ;; error character = standalone accent
  1108. ;;
  1109. DW CP860_AC_SP_T1_END-$ ;; Size of xlat table
  1110. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1111. DB 1 ;; number of scans
  1112. DB 57,39 ;; scan code,ASCII - SPACE
  1113. CP860_AC_SP_T1_END: ;;
  1114. ;;
  1115. DW 0 ;; Size of xlat table - null table
  1116. ;;
  1117. CP860_AC_SP_END: ;;
  1118. ;;
  1119. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1120. ;; CODE PAGE: 860
  1121. ;; STATE: Grave Upper
  1122. ;; KEYBOARD TYPES: XT, , G, P12,
  1123. ;; TABLE TYPE: Translate
  1124. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1125. ;;
  1126. DW CP860_GR_UP_END-$ ;; length of state section
  1127. DB GRAVE_UPPER ;; State ID
  1128. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1129. DB 96,0 ;; error character = standalone accent
  1130. ;;
  1131. DW CP860_GR_UP_T1_END-$ ;; Size of xlat table
  1132. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1133. DB 5 ;; number of scans
  1134. DB 18,092H ;; E grave
  1135. DB 22,09DH ;; U grave
  1136. DB 23,098H ;; I grave
  1137. DB 24,0A9H ;; O grave
  1138. DB 30,091H ;; A grave
  1139. CP860_GR_UP_T1_END: ;;
  1140. ;;
  1141. DW 0 ;; Size of xlat table - null table
  1142. ;;
  1143. CP860_GR_UP_END: ;; length of state section
  1144. ;;
  1145. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1146. ;; CODE PAGE: 860
  1147. ;; STATE: Circumflex Upper
  1148. ;; KEYBOARD TYPES: XT, , G, P12,
  1149. ;; TABLE TYPE: Translate
  1150. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1151. ;;
  1152. DW CP860_CI_UP_END-$ ;; length of state section
  1153. DB CIRCUMFLEX_UPPER ;; State ID
  1154. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1155. DB 94,0 ;; error character = standalone accent
  1156. ;;
  1157. DW CP860_CI_UP_T1_END-$ ;; Size of xlat table
  1158. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1159. DB 3 ;; number of scans
  1160. DB 30,08FH ;; A circumflex
  1161. DB 18,089H ;; E circumflex
  1162. DB 24,08CH ;; O circumflex
  1163. CP860_CI_UP_T1_END: ;;
  1164. ;;
  1165. DW 0 ;; Size of xlat table - null table
  1166. ;;
  1167. CP860_CI_UP_END: ;; length of state section
  1168. ;;
  1169. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1170. ;; CODE PAGE: 860
  1171. ;; STATE: Tilde Lower
  1172. ;; KEYBOARD TYPES: XT, , G, P12,
  1173. ;; TABLE TYPE: Translate
  1174. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1175. ;;
  1176. DW CP860_TI_LO_END-$ ;; length of state section
  1177. DB TILDE_LOWER ;; State ID
  1178. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1179. DB 07eH,0 ;; error character = standalone accent
  1180. ;;
  1181. DW CP860_TI_LO_T1_END-$ ;; Size of xlat table
  1182. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1183. DB 2 ;; number of scans
  1184. DB 24,094H ;; scan code,ASCII - o tilde
  1185. DB 30,084H ;; scan code,ASCII - a tilde
  1186. CP860_TI_LO_T1_END: ;;
  1187. ;;
  1188. DW 0 ;;
  1189. ;;
  1190. CP860_TI_LO_END: ;;
  1191. ;;
  1192. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1193. ;;; CODE PAGE: 860
  1194. ;;; STATE: Tilde Upper Case
  1195. ;;; KEYBOARD TYPES: XT, , G, P12,
  1196. ;;; TABLE TYPE: Translate
  1197. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1198. ;;
  1199. DW CP860_TI_UP_END-$ ;; length of state section
  1200. DB TILDE_UPPER ;; State ID
  1201. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1202. DB 07eH,0 ;; error character = standalone accent
  1203. ;;
  1204. DW CP860_TI_UP_T1_END-$ ;; Size of xlat table
  1205. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1206. DB 2 ;; number of scans
  1207. DB 24,099H ;; scan code,ASCII - O tilde
  1208. DB 30,08EH ;; scan code,ASCII - A tilde
  1209. CP860_TI_UP_T1_END: ;;
  1210. ;;
  1211. DW 0 ;; Size of xlat table - null table
  1212. ;;
  1213. CP860_TI_UP_END: ;; length of state section
  1214. ;;
  1215. ;;
  1216. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1217. ;; CODE PAGE: 860
  1218. ;; STATE: Diaresis Lower
  1219. ;; KEYBOARD TYPES: G, P12,
  1220. ;; TABLE TYPE: Translate
  1221. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1222. ;;
  1223. DW CP860_DI_LO_END-$ ;; length of state section
  1224. DB DIARESIS_LOWER ;; State ID
  1225. DW G_KB+P12_KB ;; Keyboard Type
  1226. DB 0FEH,0 ;; error character = standalone accent
  1227. ;;
  1228. DW CP860_DI_LO_T1_END-$ ;; Size of xlat table
  1229. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1230. DB 1 ;; number of scans
  1231. DB 22,081H ;; u diaeresis
  1232. CP860_DI_LO_T1_END: ;;
  1233. ;;
  1234. DW 0 ;; Size of xlat table - null table
  1235. ;;
  1236. CP860_DI_LO_END: ;; length of state section
  1237. ;;
  1238. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1239. ;; CODE PAGE: 860
  1240. ;; STATE: Diaresis Upper
  1241. ;; KEYBOARD TYPES: G, P12,
  1242. ;; TABLE TYPE: Translate
  1243. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1244. ;;
  1245. DW CP860_DI_UP_END-$ ;; length of state section
  1246. DB DIARESIS_UPPER ;; State ID
  1247. DW G_KB+P12_KB ;; Keyboard Type
  1248. DB 0FEH,0 ;; error character = standalone accent
  1249. ;;
  1250. DW CP860_DI_UP_T1_END-$ ;; Size of xlat table
  1251. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1252. DB 1 ;; number of scans
  1253. DB 22,09AH ;; U diaeresis
  1254. CP860_DI_UP_T1_END: ;;
  1255. ;;
  1256. DW 0 ;; Size of xlat table - null table
  1257. ;;
  1258. CP860_DI_UP_END: ;; length of state section
  1259. ;;
  1260. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1261. ;; CODE PAGE: 860
  1262. ;; STATE: Diaresis Space Bar
  1263. ;; KEYBOARD TYPES: G, P12
  1264. ;; TABLE TYPE: Translate
  1265. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1266. ;;
  1267. DW CP860_DI_SP_END-$ ;; length of state section
  1268. DB DIARESIS_SPACE ;; State ID
  1269. DW G_KB+P12_KB ;; Keyboard Type
  1270. DB 0FEH,0 ;; error character = standalone accent
  1271. ;;
  1272. DW CP860_DI_SP_T1_END-$ ;; Size of xlat table
  1273. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1274. DB 1 ;; number of scans
  1275. DB 57,0FEH ;; scan code,ASCII - SPACE
  1276. CP860_DI_SP_T1_END: ;;
  1277. ;;
  1278. DW 0 ;; Size of xlat table - null table
  1279. ;;
  1280. CP860_DI_SP_END: ;;
  1281. ;;
  1282. ;;
  1283. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1284. DW 0 ;; LAST STATE
  1285. ;;
  1286. CP860_XLAT_END: ;;
  1287. ;;
  1288. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1289. ;; PO Specific Translate Section for 850
  1290. ;;***************************************
  1291. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1292. ;;
  1293. PUBLIC PO_850_XLAT ;;
  1294. PO_850_XLAT: ;;
  1295. ;;
  1296. DW CP850_XLAT_END-$ ;; length of section
  1297. DW 850 ;;
  1298. ;;
  1299. ;;
  1300. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1301. ;; CODE PAGE: 850
  1302. ;; STATE: Third Shift
  1303. ;; KEYBOARD TYPES: G, P12,
  1304. ;; TABLE TYPE: Translate
  1305. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1306. ;;
  1307. DW CP850_THIRD_K1_END-$ ;; length of state section
  1308. DB THIRD_SHIFT ;; State ID
  1309. DW G_KB+P12_KB ;; Keyboard Type
  1310. DB -1,-1 ;; Buffer entry for error character
  1311. ;;
  1312. DW CP850_THIRD_K1_T1_END-$ ;; Size of xlat table
  1313. DB STANDARD_TABLE ;; xlat options:
  1314. DB 1 ;; number of entries
  1315. DB 5,0F5H ;; section symbol
  1316. CP850_THIRD_K1_T1_END: ;;
  1317. ;;
  1318. DW 0 ;; Last xlat table
  1319. CP850_THIRD_K1_END: ;;
  1320. ;;
  1321. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1322. ;; CODE PAGE: 850
  1323. ;; STATE: Acute Lower Case
  1324. ;; KEYBOARD TYPES: XT, , G, P12,
  1325. ;; TABLE TYPE: Translate
  1326. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1327. ;;
  1328. DW CP850_AC_LO_END-$ ;; length of state section
  1329. DB ACUTE_LOWER ;; State ID
  1330. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1331. DB 239,0 ;; error character = standalone accent
  1332. ;;
  1333. DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
  1334. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1335. DB 6 ;; number of scans
  1336. DB 18,'�' ;; scan code,ASCII - e
  1337. DB 21,0ECH ;; y acute
  1338. DB 22,'�' ;; scan code,ASCII - u
  1339. DB 23,'�' ;; scan code,ASCII - i
  1340. DB 24,'�' ;; scan code,ASCII - o
  1341. DB 30,'�' ;; scan code,ASCII - a
  1342. CP850_AC_LO_T1_END: ;;
  1343. ;;
  1344. DW 0 ;; Size of xlat table - null table
  1345. ;;
  1346. CP850_AC_LO_END: ;;
  1347. ;;
  1348. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1349. ;; CODE PAGE: 850
  1350. ;; STATE: Acute Upper Case
  1351. ;; KEYBOARD TYPES: XT, , G, P12,
  1352. ;; TABLE TYPE: Translate
  1353. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1354. ;;
  1355. DW CP850_AC_UP_END-$ ;; length of state section
  1356. DB ACUTE_UPPER ;; State ID
  1357. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1358. DB 239,0 ;; error character = standalone accent
  1359. ;;
  1360. DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
  1361. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1362. DB 6 ;; number of scans
  1363. DB 18,090H ;; E acute
  1364. DB 21,0EDH ;; Y acute
  1365. DB 22,0E9H ;; U acute
  1366. DB 23,0D6H ;; I acute
  1367. DB 24,0E0H ;; O acute
  1368. DB 30,0B5H ;; A acute
  1369. CP850_AC_UP_T1_END: ;;
  1370. ;;
  1371. DW 0 ;; Size of xlat table - null table
  1372. ;;
  1373. CP850_AC_UP_END: ;;
  1374. ;;
  1375. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1376. ;; CODE PAGE: 850
  1377. ;; STATE: Acute Space Bar
  1378. ;; KEYBOARD TYPES: XT, , G, P12,
  1379. ;; TABLE TYPE: Translate
  1380. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1381. ;;
  1382. DW CP850_AC_SP_END-$ ;; length of state section
  1383. DB ACUTE_SPACE ;; State ID
  1384. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1385. DB 239,0 ;; error character = standalone accent
  1386. ;;
  1387. DW CP850_AC_SP_T1_END-$ ;; Size of xlat table
  1388. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1389. DB 1 ;; number of scans
  1390. DB 57,239 ;; scan code,ASCII - SPACE
  1391. CP850_AC_SP_T1_END: ;;
  1392. ;;
  1393. DW 0 ;; Size of xlat table - null table
  1394. ;;
  1395. CP850_AC_SP_END: ;;
  1396. ;;
  1397. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1398. ;; CODE PAGE: 850
  1399. ;; STATE: Diaresis Lower
  1400. ;; KEYBOARD TYPES: G, P12,
  1401. ;; TABLE TYPE: Translate
  1402. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1403. ;;
  1404. DW CP850_DI_LO_END-$ ;; length of state section
  1405. DB DIARESIS_LOWER ;; State ID
  1406. DW G_KB+P12_KB ;; Keyboard Type
  1407. DB 249,0 ;; error character = standalone accent
  1408. ;;
  1409. DW CP850_DI_LO_T1_END-$ ;; Size of xlat table
  1410. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1411. DB 6 ;; number of scans
  1412. DB 18,089H ;; e diaeresis
  1413. DB 21,098H ;; y diaeresis
  1414. DB 22,081H ;; u diaeresis
  1415. DB 23,08BH ;; i diaeresis
  1416. DB 24,094H ;; o diaeresis
  1417. DB 30,084H ;; a diaeresis
  1418. CP850_DI_LO_T1_END: ;;
  1419. ;;
  1420. DW 0 ;; Size of xlat table - null table
  1421. ;;
  1422. CP850_DI_LO_END: ;; length of state section
  1423. ;;
  1424. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1425. ;; CODE PAGE: 850
  1426. ;; STATE: Diaresis Upper
  1427. ;; KEYBOARD TYPES: G, P12,
  1428. ;; TABLE TYPE: Translate
  1429. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1430. ;;
  1431. DW CP850_DI_UP_END-$ ;; length of state section
  1432. DB DIARESIS_UPPER ;; State ID
  1433. DW G_KB+P12_KB ;; Keyboard Type
  1434. DB 249,0 ;; error character = standalone accent
  1435. ;;
  1436. DW CP850_DI_UP_T1_END-$ ;; Size of xlat table
  1437. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1438. DB 5 ;; number of scans
  1439. DB 18,0D3H ;; E diaeresis
  1440. DB 22,09AH ;; U diaeresis
  1441. DB 23,0D8H ;; I diaeresis
  1442. DB 24,099H ;; O diaeresis
  1443. DB 30,08EH ;; A diaeresis
  1444. CP850_DI_UP_T1_END: ;;
  1445. ;;
  1446. DW 0 ;; Size of xlat table - null table
  1447. ;;
  1448. CP850_DI_UP_END: ;; length of state section
  1449. ;;
  1450. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1451. ;; CODE PAGE: 850
  1452. ;; STATE: Diaresis Space Bar
  1453. ;; KEYBOARD TYPES: G, P12
  1454. ;; TABLE TYPE: Translate
  1455. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1456. ;;
  1457. DW CP850_DI_SP_END-$ ;; length of state section
  1458. DB DIARESIS_SPACE ;; State ID
  1459. DW G_KB+P12_KB ;; Keyboard Type
  1460. DB 249,0 ;; error character = standalone accent
  1461. ;;
  1462. DW CP850_DI_SP_T1_END-$ ;; Size of xlat table
  1463. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1464. DB 1 ;; number of scans
  1465. DB 57,249 ;; scan code,ASCII - SPACE
  1466. CP850_DI_SP_T1_END: ;;
  1467. ;;
  1468. DW 0 ;; Size of xlat table - null table
  1469. ;;
  1470. CP850_DI_SP_END: ;;
  1471. ;;
  1472. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1473. ;; CODE PAGE: 850
  1474. ;; STATE: Grave Upper
  1475. ;; KEYBOARD TYPES: XT, , G, P12,
  1476. ;; TABLE TYPE: Translate
  1477. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1478. ;;
  1479. DW CP850_GR_UP_END-$ ;; length of state section
  1480. DB GRAVE_UPPER ;; State ID
  1481. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1482. DB 96,0 ;; error character = standalone accent
  1483. ;;
  1484. DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
  1485. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1486. DB 5 ;; number of scans
  1487. DB 30,0B7H ;; A grave
  1488. DB 18,0D4H ;; E grave
  1489. DB 23,0DEH ;; I grave
  1490. DB 24,0E3H ;; O grave
  1491. DB 22,0EBH ;; U grave
  1492. CP850_GR_UP_T1_END: ;;
  1493. ;;
  1494. DW 0 ;; Size of xlat table - null table
  1495. ;;
  1496. CP850_GR_UP_END: ;; length of state section
  1497. ;;
  1498. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1499. ;; CODE PAGE: 850
  1500. ;; STATE: Tilde Lower
  1501. ;; KEYBOARD TYPES: XT, , G, P12,
  1502. ;; TABLE TYPE: Translate
  1503. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1504. ;;
  1505. DW CP850_TI_LO_END-$ ;; length of state section
  1506. DB TILDE_LOWER ;; State ID
  1507. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1508. DB 07EH,0 ;; error character = standalone accent
  1509. ;;
  1510. DW CP850_TI_LO_T1_END-$ ;; Size of xlat table
  1511. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1512. DB 2 ;; number of scans
  1513. DB 30,0C6H ;; scan code,ASCII - a tilde
  1514. DB 24,0E4H ;; scan code,ASCII - o tilde
  1515. CP850_TI_LO_T1_END: ;;
  1516. ;;
  1517. DW 0 ;;
  1518. ;;
  1519. CP850_TI_LO_END: ;;
  1520. ;;
  1521. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1522. ;;; CODE PAGE: 850
  1523. ;;; STATE: Tilde Upper Case
  1524. ;;; KEYBOARD TYPES: XT, , G, P12,
  1525. ;;; TABLE TYPE: Translate
  1526. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1527. ;;
  1528. DW CP850_TI_UP_END-$ ;; length of state section
  1529. DB TILDE_UPPER ;; State ID
  1530. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1531. DB 07eH,0 ;; error character = standalone accent
  1532. ;;
  1533. DW CP850_TI_UP_T1_END-$ ;; Size of xlat table
  1534. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1535. DB 2 ;; number of scans
  1536. DB 30,0C7H ;; scan code,ASCII - A tilde
  1537. DB 24,0E5H ;; scan code,ASCII - O tilde
  1538. CP850_TI_UP_T1_END: ;;
  1539. ;;
  1540. DW 0 ;; Size of xlat table - null table
  1541. ;;
  1542. CP850_TI_UP_END: ;; length of state section
  1543. ;;
  1544. ;;
  1545. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1546. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1547. ;; CODE PAGE: 850
  1548. ;; STATE: Circumflex Lower
  1549. ;; KEYBOARD TYPES: XT, , G, P12,
  1550. ;; TABLE TYPE: Translate
  1551. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1552. ;;
  1553. DW CP850_CI_LO_END-$ ;; length of state section
  1554. DB CIRCUMFLEX_LOWER ;; State ID
  1555. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1556. DB 94,0 ;; error character = standalone accent
  1557. ;;
  1558. DW CP850_CI_LO_T1_END-$ ;; Size of xlat table
  1559. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1560. DB 2 ;; number of scans
  1561. DB 23,08CH ;; i circumflex
  1562. DB 22,096H ;; u circumflex
  1563. CP850_CI_LO_T1_END: ;;
  1564. ;;
  1565. DW 0 ;; Size of xlat table - null table
  1566. ;;
  1567. CP850_CI_LO_END: ;; length of state section
  1568. ;;
  1569. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1570. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1571. ;; CODE PAGE: 850
  1572. ;; STATE: Circumflex Upper
  1573. ;; KEYBOARD TYPES: XT, , G, P12,
  1574. ;; TABLE TYPE: Translate
  1575. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1576. ;;
  1577. DW CP850_CI_UP_END-$ ;; length of state section
  1578. DB CIRCUMFLEX_UPPER ;; State ID
  1579. DW XT_KB+G_KB+P12_KB ;; Keyboard Type
  1580. DB 94,0 ;; error character = standalone accent
  1581. ;;
  1582. DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
  1583. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1584. DB 5 ;; number of scans
  1585. DB 30,0B6H ;; A circumflex
  1586. DB 18,0D2H ;; E circumflex
  1587. DB 23,0D7H ;; I circumflex
  1588. DB 24,0E2H ;; O circumflex
  1589. DB 22,0EAH ;; U circumflex
  1590. CP850_CI_UP_T1_END: ;;
  1591. ;;
  1592. DW 0 ;; Size of xlat table - null table
  1593. ;;
  1594. CP850_CI_UP_END: ;; length of state section
  1595. ;;
  1596. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1597. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1598. ;;
  1599. DW 0 ;; LAST STATE
  1600. ;;
  1601. CP850_XLAT_END: ;;
  1602. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1603. ;;
  1604. CODE ENDS ;;
  1605. END ;;
  1606.