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.

1634 lines
55 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 German
  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 SG_LOGIC ;;
  22. PUBLIC SG_437_XLAT ;;
  23. PUBLIC SG_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. SG_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 BOTLH_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 BOTLH_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. ;; SG 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 SG_COMMON_XLAT ;;
  369. SG_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_SG_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_SG_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_SG_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_SG_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 39,'�' ;; diaresis - o
  550. DB 26,'�' ;; diaresis - u
  551. DB 40,'�' ;; diaresis - a
  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 39,'�' ;; diaresis - o
  578. DB 26,'�' ;; diaresis - u
  579. DB 40,'�' ;; diaresis - a
  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 39,'�' ;; diaresis - o
  606. DB 26,'�' ;; diaresis - u
  607. DB 40,'�' ;; diaresis - a
  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 39,'�' ;; acute e
  650. DB 26,'�' ;; grave e
  651. DB 40,'�' ;; grave a
  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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  661. ;; CODE PAGE: Common
  662. ;; STATE: Non-Alpha Upper Case
  663. ;; KEYBOARD TYPES: AT
  664. ;; TABLE TYPE: Translate
  665. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  666. ;;
  667. DW COM_NA_UP_K2_END-$ ;; length of state section
  668. DB NON_ALPHA_UPPER ;; State ID
  669. DW AT_KB ;; Keyboard Type
  670. DB -1,-1 ;; Buffer entry for error character
  671. ;;
  672. DW COM_NA_UP_T1_K2_END-$ ;; Size of xlat table
  673. DB STANDARD_TABLE ;; xlat options:
  674. DB 19 ;; number of entries
  675. DB 41,'>' ;; degree symbol
  676. DB 2,'+' ;;
  677. DB 3,'"' ;;
  678. DB 4,'*' ;;
  679. DB 5,087H ;; �
  680. DB 7,'&' ;;
  681. DB 8,'/' ;;
  682. DB 9,'(' ;;
  683. DB 10,')' ;;
  684. DB 11,'=' ;;
  685. DB 12,'?' ;;
  686. DB 43,09CH ;;�
  687. DB 27,'!' ;;
  688. DB 51,';' ;;
  689. DB 52,':' ;;
  690. DB 53,'_' ;;
  691. DB 39,'�' ;; acute e
  692. DB 26,'�' ;; grave e
  693. DB 40,'�' ;; grave a
  694. COM_NA_UP_T1_K2_END: ;;
  695. ;;
  696. DW 0 ;; Size of xlat table - null table
  697. ;;
  698. COM_NA_UP_K2_END: ;;
  699. ;;
  700. ;;
  701. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  702. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  703. ;; CODE PAGE: Common
  704. ;; STATE: Non-Alpha Upper Case
  705. ;; KEYBOARD TYPES: XT+
  706. ;; TABLE TYPE: Translate
  707. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  708. ;;
  709. DW COM_NA_UP_K3_END-$ ;; length of state section
  710. DB NON_ALPHA_UPPER ;; State ID
  711. DW XT_KB ;; Keyboard Type
  712. DB -1,-1 ;; Buffer entry for error character
  713. ;;
  714. DW COM_NA_UP_T1_K3_END-$ ;; Size of xlat table
  715. DB STANDARD_TABLE ;; xlat options:
  716. DB 19 ;; number of entries
  717. DB 43,'>' ;; degree symbol
  718. DB 2,'+' ;;
  719. DB 3,'"' ;;
  720. DB 4,'*' ;;
  721. DB 5,087H ;; �
  722. DB 7,'&' ;;
  723. DB 8,'/' ;;
  724. DB 9,'(' ;;
  725. DB 10,')' ;;
  726. DB 11,'=' ;;
  727. DB 12,'?' ;;
  728. DB 41,09CH ;;�
  729. DB 27,'!' ;;
  730. DB 51,';' ;;
  731. DB 52,':' ;;
  732. DB 53,'_' ;;
  733. DB 39,'�' ;; acute e - Shift stae for SWISS GR
  734. DB 26,'�' ;; grave e
  735. DB 40,'�' ;; grave a
  736. COM_NA_UP_T1_K3_END: ;;
  737. ;;
  738. DW 0 ;; Size of xlat table - null table
  739. ;;
  740. COM_NA_UP_K3_END: ;;
  741. ;;
  742. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  743. ;; CODE PAGE: Common
  744. ;; STATE: Third Shift
  745. ;; KEYBOARD TYPES: G_KB+P12
  746. ;; TABLE TYPE: Translate
  747. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  748. ;;
  749. DW COM_THIRD_K1_END-$ ;; length of state section
  750. DB THIRD_SHIFT ;; State ID
  751. DW G_KB+P12_KB ;; Keyboard Type
  752. DB -1,-1 ;; Buffer entry for error character
  753. ;;
  754. DW COM_THIRD_T1_K1_END-$ ;; Size of xlat table
  755. DB STANDARD_TABLE ;; xlat options:
  756. DB 8 ;; number of entries
  757. DB 3,"@" ;;
  758. DB 4,'#' ;;
  759. DB 7,0AAH ;; �
  760. DB 43,'}' ;;
  761. DB 26,'[' ;;
  762. DB 27,']' ;;
  763. DB 40,'{' ;;
  764. DB 86,'\' ;;
  765. COM_THIRD_T1_K1_END: ;;
  766. ;;
  767. DW 0 ;; Last xlat table
  768. COM_THIRD_K1_END: ;;
  769. ;;
  770. ;;
  771. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  772. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  773. ;; CODE PAGE: Common
  774. ;; STATE: Third Shift
  775. ;; KEYBOARD TYPES: AT
  776. ;; TABLE TYPE: Translate
  777. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  778. ;;
  779. DW COM_THIRD_K2_END-$ ;; length of state section
  780. DB THIRD_SHIFT ;; State ID
  781. DW AT_KB ;; Keyboard Type
  782. DB -1,-1 ;; Buffer entry for error character
  783. ;;
  784. DW COM_THIRD_T1_K2_END-$ ;; Size of xlat table
  785. DB STANDARD_TABLE ;; xlat options:
  786. DB 9 ;; number of entries
  787. DB 3,"@" ;;
  788. DB 4,'#' ;;
  789. DB 5,0F8H ;; degree symbol
  790. DB 8,07CH ;; broken vertical - |
  791. DB 40,'}' ;;
  792. DB 26,'[' ;;
  793. DB 27,']' ;;
  794. DB 39,'{' ;;
  795. DB 41,'\' ;;
  796. COM_THIRD_T1_K2_END: ;;
  797. ;;
  798. DW 0 ;; Last xlat table
  799. COM_THIRD_K2_END: ;;
  800. ;;
  801. ;;
  802. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  803. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  804. ;; CODE PAGE: Common
  805. ;; STATE: Third Shift
  806. ;; KEYBOARD TYPES: XT+
  807. ;; TABLE TYPE: Translate
  808. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  809. ;;
  810. DW COM_THIRD_K3_END-$ ;; length of state section
  811. DB THIRD_SHIFT ;; State ID
  812. DW XT_KB ;; Keyboard Type
  813. DB -1,-1 ;; Buffer entry for error character
  814. ;;
  815. DW COM_THIRD_T1_K3_END-$ ;; Size of xlat table
  816. DB STANDARD_TABLE ;; xlat options:
  817. DB 9 ;; number of entries
  818. DB 3,"@" ;;
  819. DB 4,'#' ;;
  820. DB 5,0F8H ;; degree symbol
  821. DB 6,0E8H ;; � symbol
  822. DB 41,'}' ;;
  823. DB 26,'[' ;;
  824. DB 27,']' ;;
  825. DB 40,'{' ;;
  826. DB 43,'\' ;;
  827. COM_THIRD_T1_K3_END: ;;
  828. ;;
  829. DW 0 ;; Last xlat table
  830. COM_THIRD_K3_END: ;;
  831. ;;
  832. ;;
  833. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  834. ;; CODE PAGE: Common
  835. ;; STATE: Grave Lower
  836. ;; KEYBOARD TYPES: All
  837. ;; TABLE TYPE: Translate
  838. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  839. ;;
  840. DW COM_GR_LO_END-$ ;; length of state section
  841. DB GRAVE_LOWER ;; State ID
  842. DW ANY_KB ;; Keyboard Type
  843. DB 96,0 ;; error character = standalone accent
  844. ;;
  845. DW COM_GR_LO_T1_END-$ ;; Size of xlat table
  846. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  847. DB 5 ;; number of scans
  848. DB 18,08AH ;; scan code,ASCII - e
  849. DB 22,'�' ;; scan code,ASCII - u
  850. DB 23,'�' ;; scan code,ASCII - i
  851. DB 24,'�' ;; scan code,ASCII - o
  852. DB 30,'�' ;; scan code,ASCII - a
  853. COM_GR_LO_T1_END: ;;
  854. ;;
  855. DW 0 ;; Size of xlat table - null table
  856. ;;
  857. COM_GR_LO_END: ;; length of state section
  858. ;;
  859. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  860. ;; CODE PAGE: Common
  861. ;; STATE: Grave Space Bar
  862. ;; KEYBOARD TYPES: All
  863. ;; TABLE TYPE: Translate
  864. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  865. ;;
  866. DW COM_GR_SP_END-$ ;; length of state section
  867. DB GRAVE_SPACE ;; State ID
  868. DW ANY_KB ;; Keyboard Type
  869. DB 96,0 ;; error character = standalone accent
  870. ;;
  871. DW COM_GR_SP_T1_END-$ ;; Size of xlat table
  872. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  873. DB 1 ;; number of scans
  874. DB 57,96 ;; STANDALONE GRAVE
  875. COM_GR_SP_T1_END: ;;
  876. ;;
  877. DW 0 ;; Size of xlat table - null table
  878. ;;
  879. COM_GR_SP_END: ;; length of state section
  880. ;;
  881. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  882. ;; CODE PAGE: Common
  883. ;; STATE: Circumflex Lower
  884. ;; KEYBOARD TYPES: All
  885. ;; TABLE TYPE: Translate
  886. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  887. ;;
  888. DW COM_CI_LO_END-$ ;; length of state section
  889. DB CIRCUMFLEX_LOWER ;; State ID
  890. DW ANY_KB ;; Keyboard Type
  891. DB 94,0 ;; error character = standalone accent
  892. ;;
  893. DW COM_CI_LO_T1_END-$ ;; Size of xlat table
  894. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  895. DB 5 ;; number of scans
  896. DB 18,'�' ;; scan code,ASCII - e
  897. DB 22,'�' ;; scan code,ASCII - u
  898. DB 23,'�' ;; scan code,ASCII - i
  899. DB 24,'�' ;; scan code,ASCII - o
  900. DB 30,'�' ;; scan code,ASCII - a
  901. COM_CI_LO_T1_END: ;;
  902. ;;
  903. DW 0 ;;
  904. ;;
  905. COM_CI_LO_END: ;;
  906. ;;
  907. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  908. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  909. ;; CODE PAGE: Common
  910. ;; STATE: Circumflex Space Bar
  911. ;; KEYBOARD TYPES: All
  912. ;; TABLE TYPE: Translate
  913. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  914. ;;
  915. DW COM_CI_SP_END-$ ;; length of state section
  916. DB CIRCUMFLEX_SPACE ;; State ID
  917. DW ANY_KB ;; Keyboard Type
  918. DB 94,0 ;; error character = standalone accent
  919. ;;
  920. DW COM_CI_SP_T1_END-$ ;; Size of xlat table
  921. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  922. DB 1 ;; number of scans
  923. DB 57,94 ;; STANDALONE CIRCUMFLEX
  924. COM_CI_SP_T1_END: ;;
  925. ;;
  926. DW 0 ;; Size of xlat table - null table
  927. ;;
  928. COM_CI_SP_END: ;; length of state section
  929. ;;
  930. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  931. ;; CODE PAGE: Common
  932. ;; STATE: Tilde Lower
  933. ;; KEYBOARD TYPES: All
  934. ;; TABLE TYPE: Translate
  935. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  936. ;;
  937. DW COM_TI_LO_END-$ ;; length of state section
  938. DB TILDE_LOWER ;; State ID
  939. DW ANY_KB ;; Keyboard Type
  940. DB 07EH,0 ;; error character = standalone accent
  941. ;;
  942. DW COM_TI_LO_T1_END-$ ;; Size of xlat table
  943. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  944. DB 1 ;; number of scans
  945. DB 49,0A4H ;; scan code,ASCII - �
  946. COM_TI_LO_T1_END: ;;
  947. ;;
  948. DW 0 ;;
  949. ;;
  950. COM_TI_LO_END: ;;
  951. ;;
  952. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  953. ;;; CODE PAGE: Common
  954. ;;; STATE: Tilde Upper Case
  955. ;;; KEYBOARD TYPES: All
  956. ;;; TABLE TYPE: Translate
  957. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  958. ;;
  959. DW COM_TI_UP_END-$ ;; length of state section
  960. DB TILDE_UPPER ;; State ID
  961. DW ANY_KB ;; Keyboard Type
  962. DB 07EH,0 ;; error character = standalone accent
  963. ;;
  964. DW COM_TI_UP_T1_END-$ ;; Size of xlat table
  965. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  966. DB 1 ;; number of scans
  967. DB 49,0A5H ;; scan code,ASCII - �
  968. COM_TI_UP_T1_END: ;;
  969. ;;
  970. DW 0 ;; Size of xlat table - null table
  971. ;;
  972. COM_TI_UP_END: ;; length of state section
  973. ;;
  974. ;;
  975. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  976. ;; CODE PAGE: Common
  977. ;; STATE: Tilde Space Bar
  978. ;; KEYBOARD TYPES: All
  979. ;; TABLE TYPE: Translate
  980. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  981. ;;
  982. DW COM_TI_SP_END-$ ;; length of state section
  983. DB TILDE_SPACE ;; State ID
  984. DW ANY_KB ;; Keyboard Type
  985. DB 07EH,0 ;; error character = standalone accent
  986. ;;
  987. DW COM_TI_SP_T1_END-$ ;; Size of xlat table
  988. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  989. DB 1 ;; number of scans
  990. DB 57,07EH ;; STANDALONE TILDE
  991. COM_TI_SP_T1_END: ;;
  992. ;;
  993. DW 0 ;; Size of xlat table - null table
  994. ;;
  995. COM_TI_SP_END: ;; length of state section
  996. ;;
  997. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  998. DW 0 ;; Last State
  999. COMMON_XLAT_END: ;;
  1000. ;;
  1001. ;;
  1002. ;;
  1003. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1004. ;;***************************************
  1005. ;; SG Specific Translate Section for 437
  1006. ;;***************************************
  1007. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1008. ;;
  1009. PUBLIC SG_437_XLAT ;;
  1010. SG_437_XLAT: ;;
  1011. ;;
  1012. DW CP437_XLAT_END-$ ;; length of section
  1013. DW 437 ;;
  1014. ;;
  1015. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1016. ;; CODE PAGE: 437
  1017. ;; STATE: Non-Alpha Lower Case
  1018. ;; KEYBOARD TYPES: G_KB+P12_KB
  1019. ;; TABLE TYPE: Translate
  1020. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1021. ;;
  1022. DW CP437_NA_LO_END-$ ;; length of state section
  1023. DB NON_ALPHA_LOWER ;; State ID
  1024. DW G_KB+P12_KB ;; Keyboard Type
  1025. DB -1,-1 ;; Buffer entry for error character
  1026. ;;
  1027. DW CP437_NA_LO_T1_END-$ ;; Size of xlat table
  1028. DB STANDARD_TABLE ;; xlat options:
  1029. DB 1 ;; number of entries
  1030. DB 41,015H ;; Section Symbol
  1031. CP437_NA_LO_T1_END: ;;
  1032. ;;
  1033. DW 0 ;; Size of xlat table - null table
  1034. ;;
  1035. CP437_NA_LO_END: ;;
  1036. ;;
  1037. ;;
  1038. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1039. ;; CODE PAGE: 437
  1040. ;; STATE: Third Shift
  1041. ;; KEYBOARD TYPES: G_KB+P12_KB
  1042. ;; TABLE TYPE: Translate
  1043. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1044. ;;
  1045. DW CP437_THIRD_K1_END-$ ;; length of state section
  1046. DB THIRD_SHIFT ;; State ID
  1047. DW G_KB+P12_KB ;; Keyboard Type
  1048. DB -1,-1 ;; Buffer entry for error character
  1049. ;;
  1050. DW CP437_THIRD_T1_K1_END-$ ;; Size of xlat table
  1051. DB STANDARD_TABLE ;; xlat options:
  1052. DB 3 ;; number of entries
  1053. DB 2,0B3H ;; Solid vertical
  1054. DB 8,07CH ;; Broken vertical
  1055. DB 9,09BH ;; � cent sign
  1056. CP437_THIRD_T1_K1_END: ;;
  1057. ;;
  1058. DW 0 ;; Size of xlat table - null table
  1059. ;;
  1060. CP437_THIRD_K1_END: ;;
  1061. ;;
  1062. ;;
  1063. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1064. ;; CODE PAGE: 437
  1065. ;; STATE: Third Shift
  1066. ;; KEYBOARD TYPES: AT+XT+
  1067. ;; TABLE TYPE: Translate
  1068. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1069. ;;
  1070. DW CP437_THIRD_K2_END-$ ;; length of state section
  1071. DB THIRD_SHIFT ;; State ID
  1072. DW AT_KB+XT_KB ;; Keyboard Type
  1073. DB -1,-1 ;; Buffer entry for error character
  1074. ;;
  1075. DW CP437_THIRD_T1_K2_END-$ ;; Size of xlat table
  1076. DB STANDARD_TABLE ;; xlat options:
  1077. DB 2 ;; number of entries
  1078. DB 8,07CH ;; Broken vertical
  1079. DB 6,015H ;; Section Symbol
  1080. CP437_THIRD_T1_K2_END: ;;
  1081. ;;
  1082. DW 0 ;; Size of xlat table - null table
  1083. ;;
  1084. CP437_THIRD_K2_END: ;;
  1085. ;;
  1086. ;;
  1087. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1088. ;; CODE PAGE: 437
  1089. ;; STATE: Acute Lower Case
  1090. ;; KEYBOARD TYPES: All
  1091. ;; TABLE TYPE: Translate
  1092. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1093. ;;
  1094. DW CP437_AC_LO_END-$ ;; length of state section
  1095. DB ACUTE_LOWER ;; State ID
  1096. DW ANY_KB ;; Keyboard Type
  1097. DB 39,0 ;; error character = standalone accent
  1098. ;;
  1099. DW CP437_AC_LO_T1_END-$ ;; Size of xlat table
  1100. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1101. DB 5 ;; number of scans
  1102. DB 18,'�' ;; scan code,ASCII - e
  1103. DB 22,'�' ;; scan code,ASCII - u
  1104. DB 23,'�' ;; scan code,ASCII - i
  1105. DB 24,'�' ;; scan code,ASCII - o
  1106. DB 30,'�' ;; scan code,ASCII - a
  1107. CP437_AC_LO_T1_END: ;;
  1108. ;;
  1109. DW 0 ;; Size of xlat table - null table
  1110. ;;
  1111. CP437_AC_LO_END: ;;
  1112. ;;
  1113. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1114. ;; CODE PAGE: 437
  1115. ;; STATE: Acute Upper Case
  1116. ;; KEYBOARD TYPES: All
  1117. ;; TABLE TYPE: Translate
  1118. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1119. ;;
  1120. DW CP437_AC_UP_END-$ ;; length of state section
  1121. DB ACUTE_UPPER ;; State ID
  1122. DW ANY_KB ;; Keyboard Type
  1123. DB 39,0 ;; error character = standalone accent
  1124. ;;
  1125. DW CP437_AC_UP_T1_END-$ ;; Size of xlat table
  1126. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1127. DB 1 ;; number of entries
  1128. DB 18,'�' ;; scan code,ASCII - �
  1129. CP437_AC_UP_T1_END: ;;
  1130. ;;
  1131. DW 0 ;; Size of xlat table - null table
  1132. ;;
  1133. CP437_AC_UP_END: ;;
  1134. ;;
  1135. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1136. ;; CODE PAGE: CP437
  1137. ;; STATE: Diaresis Lower Case
  1138. ;; KEYBOARD TYPES: All
  1139. ;; TABLE TYPE: Translate
  1140. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1141. ;;
  1142. DW CP437_DI_LO_END-$ ;; length of state section
  1143. DB DIARESIS_LOWER ;; State ID
  1144. DW ANY_KB ;; Keyboard Type
  1145. DB 34,0 ;; error character = standalone accent
  1146. ;;
  1147. DW CP437_DI_LO_T1_END-$ ;; Size of xlat table
  1148. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1149. DB 6 ;; number of scans
  1150. DB 18,'�' ;; scan code,ASCII - e
  1151. DB 44,'�' ;; scan code,ASCII - y
  1152. DB 22,'�' ;; scan code,ASCII - u
  1153. DB 23,'�' ;; scan code,ASCII - i
  1154. DB 24,'�' ;; scan code,ASCII - o
  1155. DB 30,'�' ;; scan code,ASCII - a
  1156. CP437_DI_LO_T1_END: ;;
  1157. ;;
  1158. DW 0 ;; Size of xlat table - null table
  1159. ;;
  1160. CP437_DI_LO_END: ;; length of state section
  1161. ;;
  1162. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1163. ;; CODE PAGE: CP437
  1164. ;; STATE: Diaresis Upper Case
  1165. ;; KEYBOARD TYPES: All
  1166. ;; TABLE TYPE: Translate
  1167. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1168. ;;
  1169. DW CP437_DI_UP_END-$ ;; length of state section
  1170. DB DIARESIS_UPPER ;; State ID
  1171. DW ANY_KB ;; Keyboard Type
  1172. DB 34,0 ;; error character = standalone accent
  1173. ;;
  1174. DW CP437_DI_UP_T1_END-$ ;; Size of xlat table
  1175. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1176. DB 3 ;; number of scans
  1177. DB 22,'�' ;; scan code,ASCII - U
  1178. DB 24,'�' ;; scan code,ASCII - O
  1179. DB 30,'�' ;; scan code,ASCII - A
  1180. CP437_DI_UP_T1_END: ;;
  1181. ;;
  1182. DW 0 ;; Size of xlat table - null table
  1183. ;;
  1184. CP437_DI_UP_END: ;; length of state section
  1185. ;;
  1186. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1187. ;; CODE PAGE: CP437
  1188. ;; STATE: CapsLock
  1189. ;; KEYBOARD TYPES: All
  1190. ;; TABLE TYPE: Translate
  1191. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1192. ;;
  1193. DW CP437_BOTLH_K1_END-$ ;; length of state section
  1194. DB BOTLH_CAPS ;; State ID
  1195. DW ANY_KB ;; Keyboard Type
  1196. DB -1,-1 ;; Buffer entry for error character
  1197. ;;
  1198. DW CP437_BOTLH_K1_T1_END-$ ;; Size of xlat table
  1199. DB STANDARD_TABLE ;; xlat options:
  1200. DB 3 ;; number of entries
  1201. DB 39,099H ;; CAP O Umlaut
  1202. DB 26,09AH ;; CAP U Umlaut
  1203. DB 40,08EH ;; CAP A Umlaut
  1204. CP437_BOTLH_K1_T1_END: ;;
  1205. ;;
  1206. DW 0 ;; Last xlat table
  1207. CP437_BOTLH_K1_END: ;;
  1208. ;;
  1209. ;;
  1210. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1211. ;; CODE PAGE: CP437
  1212. ;; STATE: CapsLock + Shift
  1213. ;; KEYBOARD TYPES: All
  1214. ;; TABLE TYPE: Translate
  1215. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1216. ;;
  1217. DW CP437_BOTLH_T1_END-$ ;; length of state section
  1218. DB BOTLH_F_CAPS ;; State ID
  1219. DW ANY_KB ;; Keyboard Type
  1220. DB -1,-1 ;; Buffer entry for error character
  1221. ;;
  1222. DW CP437_BOTLH_T1_K2_END-$ ;; Size of xlat table
  1223. DB STANDARD_TABLE ;; xlat options:
  1224. DB 3 ;; number of entries
  1225. DB 39,082H ;; e Acute
  1226. DB 26,08AH ;; e Grave
  1227. DB 40,085H ;; a Grave
  1228. CP437_BOTLH_T1_K2_END: ;;
  1229. ;;
  1230. DW 0 ;; Last xlat table
  1231. CP437_BOTLH_T1_END: ;;
  1232. ;;
  1233. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1234. ;;
  1235. DW 0 ;; LAST STATE
  1236. ;;
  1237. CP437_XLAT_END: ;;
  1238. ;;
  1239. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1240. ;;***************************************
  1241. ;; SG Specific Translate Section for 850
  1242. ;;***************************************
  1243. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1244. ;;
  1245. PUBLIC SG_850_XLAT ;;
  1246. SG_850_XLAT: ;;
  1247. ;;
  1248. DW CP850_XLAT_END-$ ;; length of section
  1249. DW 850 ;;
  1250. ;;
  1251. ;;
  1252. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1253. ;; CODE PAGE: CP850
  1254. ;; STATE: CapsLock
  1255. ;; KEYBOARD TYPES: All
  1256. ;; TABLE TYPE: Translate
  1257. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1258. ;;
  1259. DW CP850_BOTLH_END-$ ;; length of state section
  1260. DB BOTLH_CAPS ;; State ID
  1261. DW ANY_KB ;; Keyboard Type
  1262. DB -1,-1 ;; Buffer entry for error character
  1263. ;;
  1264. DW CP850_BOTLH_T1_END-$ ;; Size of xlat table
  1265. DB STANDARD_TABLE ;; xlat options:
  1266. DB 3 ;; number of entries
  1267. DB 26,09AH ;; CAP U Umlaut
  1268. DB 39,099H ;; CAP O Umlaut
  1269. DB 40,08EH ;; CAP A Umlaut
  1270. CP850_BOTLH_T1_END: ;;
  1271. ;;
  1272. DW 0 ;; Last xlat table
  1273. CP850_BOTLH_END: ;;
  1274. ;;
  1275. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1276. ;; CODE PAGE: CP850
  1277. ;; STATE: CapsLock + Shift
  1278. ;; KEYBOARD TYPES: All
  1279. ;; TABLE TYPE: Translate
  1280. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1281. ;;
  1282. DW CP850_BOTLH_K1_END-$ ;; length of state section
  1283. DB BOTLH_F_CAPS ;; State ID
  1284. DW ANY_KB ;; Keyboard Type
  1285. DB -1,-1 ;; Buffer entry for error character
  1286. ;;
  1287. DW CP850_BOTLH_T1_K1_END-$ ;; Size of xlat table
  1288. DB STANDARD_TABLE ;; xlat options:
  1289. DB 3 ;; number of entries
  1290. DB 26,0D4H ;; CAP E Grave
  1291. DB 39,090H ;; CAP E Acute
  1292. DB 40,0B7H ;; CAP A Grave
  1293. CP850_BOTLH_T1_K1_END: ;;
  1294. ;;
  1295. DW 0 ;; Last xlat table
  1296. CP850_BOTLH_K1_END: ;;
  1297. ;;
  1298. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1299. ;; CODE PAGE: 850
  1300. ;; STATE: Non-Alpha Lower Case
  1301. ;; KEYBOARD TYPES: G_KB+P12
  1302. ;; TABLE TYPE: Translate
  1303. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1304. ;;
  1305. DW CP850_NA_LO_END-$ ;; length of state section
  1306. DB NON_ALPHA_LOWER ;; State ID
  1307. DW G_KB+P12_KB ;; Keyboard Type
  1308. DB -1,-1 ;; Buffer entry for error character
  1309. ;;
  1310. DW CP850_NA_LO_T1_END-$ ;; Size of xlat table
  1311. DB STANDARD_TABLE ;; xlat options:
  1312. DB 1 ;; number of entries
  1313. DB 41,0F5H ;; Section Symbol
  1314. CP850_NA_LO_T1_END: ;;
  1315. ;;
  1316. DW 0 ;; Size of xlat table - null table
  1317. ;;
  1318. CP850_NA_LO_END: ;;
  1319. ;;
  1320. ;;
  1321. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1322. ;; CODE PAGE: 850
  1323. ;; STATE: Third Shift
  1324. ;; KEYBOARD TYPES: G_KB+P12_KB
  1325. ;; TABLE TYPE: Translate
  1326. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1327. ;;
  1328. DW CP850_THIRD_K1_END-$ ;; length of state section
  1329. DB THIRD_SHIFT ;; State ID
  1330. DW G_KB+P12_KB ;; Keyboard Type
  1331. DB -1,-1 ;; Buffer entry for error character
  1332. ;;
  1333. DW CP850_THIRD_T1_K1_END-$ ;; Size of xlat table
  1334. DB STANDARD_TABLE ;; xlat options:
  1335. DB 3 ;; number of entries
  1336. DB 2,07CH ;; Solid vertical
  1337. DB 8,0DDH ;; Broken vertical
  1338. DB 9,0BDH ;; � cent sign
  1339. CP850_THIRD_T1_K1_END: ;;
  1340. ;;
  1341. DW 0 ;; Size of xlat table - null table
  1342. ;;
  1343. CP850_THIRD_K1_END: ;;
  1344. ;;
  1345. ;;
  1346. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1347. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1348. ;; CODE PAGE: 850
  1349. ;; STATE: Third Shift
  1350. ;; KEYBOARD TYPES: AT+XT
  1351. ;; TABLE TYPE: Translate
  1352. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1353. ;;
  1354. DW CP850_THIRD_K2_END-$ ;; length of state section
  1355. DB THIRD_SHIFT ;; State ID
  1356. DW AT_KB+XT_KB ;; Keyboard Type
  1357. DB -1,-1 ;; Buffer entry for error character
  1358. ;;
  1359. DW CP850_THIRD_T1_K2_END-$ ;; Size of xlat table
  1360. DB STANDARD_TABLE ;; xlat options:
  1361. DB 2 ;; number of entries
  1362. DB 8,0DDH ;; Broken vertical
  1363. DB 6,0F5H ;; Section Symbol
  1364. CP850_THIRD_T1_K2_END: ;;
  1365. ;;
  1366. DW 0 ;; Size of xlat table - null table
  1367. ;;
  1368. CP850_THIRD_K2_END: ;;
  1369. ;;
  1370. ;;
  1371. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1372. ;; CODE PAGE: 850
  1373. ;; STATE: Acute Lower Case
  1374. ;; KEYBOARD TYPES: All
  1375. ;; TABLE TYPE: Translate
  1376. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1377. ;;
  1378. DW CP850_AC_LO_END-$ ;; length of state section
  1379. DB ACUTE_LOWER ;; State ID
  1380. DW ANY_KB ;; Keyboard Type
  1381. DB 239,0 ;; error character = standalone accent
  1382. ;;
  1383. DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
  1384. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1385. DB 6 ;; number of scans
  1386. DB 18,'�' ;; scan code,ASCII - e
  1387. DB 44,0ECH ;; y acute
  1388. DB 22,'�' ;; scan code,ASCII - u
  1389. DB 23,'�' ;; scan code,ASCII - i
  1390. DB 24,'�' ;; scan code,ASCII - o
  1391. DB 30,'�' ;; scan code,ASCII - a
  1392. CP850_AC_LO_T1_END: ;;
  1393. ;;
  1394. DW 0 ;; Size of xlat table - null table
  1395. ;;
  1396. CP850_AC_LO_END: ;;
  1397. ;;
  1398. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1399. ;; CODE PAGE: 850
  1400. ;; STATE: Acute Upper Case
  1401. ;; KEYBOARD TYPES: All
  1402. ;; TABLE TYPE: Translate
  1403. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1404. ;;
  1405. DW CP850_AC_UP_END-$ ;; length of state section
  1406. DB ACUTE_UPPER ;; State ID
  1407. DW ANY_KB ;; Keyboard Type
  1408. DB 239,0 ;; error character = standalone accent
  1409. ;;
  1410. DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
  1411. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1412. DB 6 ;; number of entries
  1413. DB 18,090H ;; E acute
  1414. DB 44,0EDH ;; Y acute
  1415. DB 22,0E9H ;; U acute
  1416. DB 23,0D6H ;; I acute
  1417. DB 24,0E0H ;; O acute
  1418. DB 30,0B5H ;; A acute
  1419. CP850_AC_UP_T1_END: ;;
  1420. ;;
  1421. DW 0 ;; Size of xlat table - null table
  1422. ;;
  1423. CP850_AC_UP_END: ;;
  1424. ;;
  1425. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1426. ;; CODE PAGE: 850
  1427. ;; STATE: Acute Space Bar
  1428. ;; KEYBOARD TYPES: All
  1429. ;; TABLE TYPE: Translate
  1430. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1431. ;;
  1432. DW CP850_AC_SP_END-$ ;; length of state section
  1433. DB ACUTE_SPACE ;; State ID
  1434. DW ANY_KB ;; Keyboard Type
  1435. DB 239,0 ;; error character = standalone accent
  1436. ;;
  1437. DW CP850_AC_SP_T1_END-$ ;; Size of xlat table
  1438. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1439. DB 1 ;; number of scans
  1440. DB 57,239 ;; scan code,ASCII - SPACE
  1441. CP850_AC_SP_T1_END: ;;
  1442. ;;
  1443. DW 0 ;; Size of xlat table - null table
  1444. ;;
  1445. CP850_AC_SP_END: ;;
  1446. ;;
  1447. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1448. ;; CODE PAGE: 850
  1449. ;; STATE: Diaresis Lower Case
  1450. ;; KEYBOARD TYPES: All
  1451. ;; TABLE TYPE: Translate
  1452. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1453. ;;
  1454. DW CP850_DI_LO_END-$ ;; length of state section
  1455. DB DIARESIS_LOWER ;; State ID
  1456. DW ANY_KB ;; Keyboard Type
  1457. DB 249,0 ;; error character = standalone accent
  1458. ;;
  1459. DW CP850_DI_LO_T1_END-$ ;; Size of xlat table
  1460. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1461. DB 6 ;; number of scans
  1462. DB 18,'�' ;; scan code,ASCII - e
  1463. DB 44,'�' ;; scan code,ASCII - y
  1464. DB 22,'�' ;; scan code,ASCII - u
  1465. DB 23,'�' ;; scan code,ASCII - i
  1466. DB 24,'�' ;; scan code,ASCII - o
  1467. DB 30,'�' ;; scan code,ASCII - a
  1468. CP850_DI_LO_T1_END: ;;
  1469. ;;
  1470. DW 0 ;; Size of xlat table - null table
  1471. ;;
  1472. CP850_DI_LO_END: ;; length of state section
  1473. ;;
  1474. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1475. ;; CODE PAGE: 850
  1476. ;; STATE: Diaresis Upper Case
  1477. ;; KEYBOARD TYPES: All
  1478. ;; TABLE TYPE: Translate
  1479. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1480. ;;
  1481. DW CP850_DI_UP_END-$ ;; length of state section
  1482. DB DIARESIS_UPPER ;; State ID
  1483. DW ANY_KB ;; Keyboard Type
  1484. DB 249,0 ;; error character = standalone accent
  1485. ;;
  1486. DW CP850_DI_UP_T1_END-$ ;; Size of xlat table
  1487. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1488. DB 5 ;; number of scans
  1489. DB 18,0D3H ;; E Diaeresis
  1490. DB 22,'�' ;; U Diaeresis
  1491. DB 23,0D8H ;; I Diaeresis
  1492. DB 24,'�' ;; O Diaeresis
  1493. DB 30,'�' ;; A Diaeresis
  1494. CP850_DI_UP_T1_END: ;;
  1495. ;;
  1496. DW 0 ;; Size of xlat table - null table
  1497. ;;
  1498. CP850_DI_UP_END: ;; length of state section
  1499. ;;
  1500. ;;
  1501. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1502. ;; CODE PAGE: 850
  1503. ;; STATE: Diaresis Space Bar
  1504. ;; KEYBOARD TYPES: All
  1505. ;; TABLE TYPE: Translate
  1506. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1507. ;;
  1508. DW CP850_DI_SP_END-$ ;; length of state section
  1509. DB DIARESIS_SPACE ;; State ID
  1510. DW ANY_KB ;; Keyboard Type
  1511. DB 249,0 ;; error character = standalone accent
  1512. ;;
  1513. DW CP850_DI_SP_T1_END-$ ;; Size of xlat table
  1514. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1515. DB 1 ;; number of scans
  1516. DB 57,249 ;; error character = standalone accent
  1517. CP850_DI_SP_T1_END: ;;
  1518. ;;
  1519. DW 0 ;; Size of xlat table - null table
  1520. CP850_DI_SP_END: ;; length of state section
  1521. ;;
  1522. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1523. ;; CODE PAGE: 850
  1524. ;; STATE: Grave Upper
  1525. ;; KEYBOARD TYPES: All
  1526. ;; TABLE TYPE: Translate
  1527. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1528. ;;
  1529. DW CP850_GR_UP_END-$ ;; length of state section
  1530. DB GRAVE_UPPER ;; State ID
  1531. DW ANY_KB ;; Keyboard Type
  1532. DB 96,0 ;; error character = standalone accent
  1533. ;;
  1534. DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
  1535. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1536. DB 5 ;; number of scans
  1537. DB 18,0D4H ;; E grave
  1538. DB 22,0EBH ;; U grave
  1539. DB 23,0DEH ;; I grave
  1540. DB 24,0E3H ;; O grave
  1541. DB 30,0B7H ;; A grave
  1542. CP850_GR_UP_T1_END: ;;
  1543. ;;
  1544. DW 0 ;; Size of xlat table - null table
  1545. ;;
  1546. CP850_GR_UP_END: ;; length of state section
  1547. ;;
  1548. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1549. ;; CODE PAGE: 850
  1550. ;; STATE: Tilde Lower
  1551. ;; KEYBOARD TYPES: All
  1552. ;; TABLE TYPE: Translate
  1553. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1554. ;;
  1555. DW CP850_TI_LO_END-$ ;; length of state section
  1556. DB TILDE_LOWER ;; State ID
  1557. DW ANY_KB ;; Keyboard Type
  1558. DB 07EH,0 ;; error character = standalone accent
  1559. ;;
  1560. DW CP850_TI_LO_T1_END-$ ;; Size of xlat table
  1561. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1562. DB 2 ;; number of scans
  1563. DB 24,0E4H ;; scan code,ASCII - o tilde
  1564. DB 30,0C6H ;; scan code,ASCII - a tilde
  1565. CP850_TI_LO_T1_END: ;;
  1566. ;;
  1567. DW 0 ;;
  1568. ;;
  1569. CP850_TI_LO_END: ;;
  1570. ;;
  1571. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1572. ;;; CODE PAGE: 850
  1573. ;;; STATE: Tilde Upper Case
  1574. ;;; KEYBOARD TYPES: All
  1575. ;;; TABLE TYPE: Translate
  1576. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1577. ;;
  1578. DW CP850_TI_UP_END-$ ;; length of state section
  1579. DB TILDE_UPPER ;; State ID
  1580. DW ANY_KB ;; Keyboard Type
  1581. DB 07EH,0 ;; error character = standalone accent
  1582. ;;
  1583. DW CP850_TI_UP_T1_END-$ ;; Size of xlat table
  1584. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1585. DB 2 ;; number of scans
  1586. DB 24,0E5H ;; scan code,ASCII - O tilde
  1587. DB 30,0C7H ;; scan code,ASCII - A tilde
  1588. CP850_TI_UP_T1_END: ;;
  1589. ;;
  1590. DW 0 ;; Size of xlat table - null table
  1591. ;;
  1592. CP850_TI_UP_END: ;; length of state section
  1593. ;;
  1594. ;;
  1595. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1596. ;; CODE PAGE: 850
  1597. ;; STATE: Circumflex Upper
  1598. ;; KEYBOARD TYPES: All
  1599. ;; TABLE TYPE: Translate
  1600. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1601. ;;
  1602. DW CP850_CI_UP_END-$ ;; length of state section
  1603. DB CIRCUMFLEX_UPPER ;; State ID
  1604. DW ANY_KB ;; Keyboard Type
  1605. DB 94,0 ;; error character = standalone accent
  1606. ;;
  1607. DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
  1608. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1609. DB 5 ;; number of scans
  1610. DB 18,0D2H ;; E circumflex
  1611. DB 22,0EAH ;; U circumflex
  1612. DB 23,0D7H ;; I circumflex
  1613. DB 24,0E2H ;; O circumflex
  1614. DB 30,0B6H ;; A circumflex
  1615. CP850_CI_UP_T1_END: ;;
  1616. ;;
  1617. DW 0 ;; Size of xlat table - null table
  1618. ;;
  1619. CP850_CI_UP_END: ;; length of state section
  1620. ;;
  1621. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1622. ;;
  1623. ;;
  1624. DW 0 ;; LAST STATE
  1625. ;;
  1626. CP850_XLAT_END: ;;
  1627. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1628. ;;
  1629. CODE ENDS ;;
  1630. END ;;
  1631.