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.

1632 lines
54 KiB

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