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.

1165 lines
38 KiB

  1. ; * IBM CONFIDENTIAL * Jan 9 1990 *
  2. ;; XT section enabled
  3. ;; ************* CNS 12/18/86
  4. PAGE ,132
  5. TITLE PC DOS 3.3 Keyboard Definition File
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7. ;; PC DOS 3.3 - NLS Support - Keyboard Defintion File
  8. ;; (c) Copyright IBM Corp 198?,...
  9. ;;
  10. ;; This file contains the keyboard tables for Brazil
  11. ;;
  12. ;; Linkage Instructions:
  13. ;; Refer to KDF.ASM.
  14. ;;
  15. ;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986
  16. ;; Adapted for Brazil by Mihindu Senanayake (Microsoft) - Oct 1990
  17. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  18. ;;
  19. INCLUDE KEYBSHAR.INC ;;
  20. INCLUDE POSTEQU.INC ;;
  21. INCLUDE KEYBMAC.INC ;;
  22. ;;
  23. PUBLIC BR_LOGIC ;;
  24. PUBLIC BR_437_XLAT ;;
  25. PUBLIC BR_850_XLAT ;;
  26. ;;
  27. CODE SEGMENT PUBLIC 'CODE' ;;
  28. ASSUME CS:CODE,DS:CODE ;;
  29. ;;
  30. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  31. ;; Standard translate table options are a linear search table
  32. ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  33. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  34. ;;
  35. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  36. ;;
  37. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38. ;; BR State Logic
  39. ;;***************************************
  40. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  41. ;;
  42. BR_LOGIC:
  43. DW LOGIC_END-$ ;; length
  44. ;;
  45. DW 0 ;; special features
  46. ;;
  47. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
  48. ;; OPTIONS: If we find a scan match in
  49. ;; an XLATT or SET_FLAG operation then
  50. ;; exit from INT 9.
  51. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  52. ;;
  53. OPTION EXIT_IF_FOUND ;;
  54. ;;
  55. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  56. ;; Dead key definitions must come before
  57. ;; dead key translations to handle
  58. ;; dead key + dead key.
  59. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  60. ;;
  61. IFF EITHER_ALT,NOT ;;
  62. ANDF EITHER_CTL,NOT ;;
  63. IFF EITHER_SHIFT ;;
  64. IFF CIRCUMFLEX ;;
  65. RESET_NLS ;;
  66. XLATT CIRCUMFLEX_CIRCUMFLEX ;;
  67. SET_FLAG DEAD_UPPER ;;
  68. GOTO CIRCUMFLEX_ON ;;
  69. ENDIFF ;;
  70. IFF TILDE ;;
  71. RESET_NLS ;;
  72. XLATT TILDE_TILDE ;;
  73. SET_FLAG DEAD_UPPER ;;
  74. GOTO TILDE_ON ;;
  75. ENDIFF ;;
  76. IFF DIARESIS ;;
  77. RESET_NLS ;;
  78. XLATT DIARESIS_DIARESIS ;;
  79. SET_FLAG DEAD_UPPER ;;
  80. GOTO DIARESIS_ON ;;
  81. ENDIFF ;;
  82. SET_FLAG DEAD_UPPER ;;
  83. ELSEF
  84. IFF GRAVE ;;
  85. RESET_NLS ;;
  86. XLATT GRAVE_GRAVE ;;
  87. SET_FLAG DEAD_LOWER
  88. GOTO GRAVE_ON ;;
  89. ENDIFF ;;
  90. IFF ACUTE ;;
  91. RESET_NLS ;;
  92. XLATT ACUTE_ACUTE ;;
  93. SET_FLAG DEAD_LOWER
  94. GOTO ACUTE_ON ;;
  95. ENDIFF ;;
  96. SET_FLAG DEAD_LOWER
  97. ENDIFF ;;
  98. ENDIFF ;;
  99. ;;
  100. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  101. ;; ACUTE ACCENT TRANSLATIONS
  102. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  103. ;;
  104. ACUTE_PROC:
  105. ;;
  106. IFF ACUTE,NOT ;;
  107. GOTO DIARESIS_PROC ;;
  108. ENDIFF ;;
  109. ;;
  110. RESET_NLS ;;
  111. ACUTE_ON: ;;
  112. IFF R_ALT_SHIFT,NOT ;;
  113. XLATT ACUTE_SPACE ;;
  114. ENDIFF ;;
  115. IFF EITHER_CTL,NOT ;;
  116. ANDF EITHER_ALT,NOT ;;
  117. IFF EITHER_SHIFT ;;
  118. IFF CAPS_STATE ;;
  119. XLATT ACUTE_LOWER ;;
  120. ELSEF ;;
  121. XLATT ACUTE_UPPER ;;
  122. ENDIFF ;;
  123. ELSEF ;;
  124. IFF CAPS_STATE ;;
  125. XLATT ACUTE_UPPER ;;
  126. ELSEF ;;
  127. XLATT ACUTE_LOWER ;;
  128. ENDIFF ;;
  129. ENDIFF ;;
  130. ENDIFF ;;
  131. ;;
  132. INVALID_ACUTE: ;;
  133. PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
  134. BEEP ;; failed or we are ina bad shift state.
  135. GOTO NON_DEAD ;; Either is invalid so BEEP and fall
  136. ;; through to generate the second char.
  137. ;; Note that the dead key flag will be
  138. ;; reset before we get here.
  139. ;;
  140. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  141. ;; DIARESIS ACCENT TRANSLATIONS
  142. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  143. ;;
  144. DIARESIS_PROC: ;;
  145. ;;
  146. IFF DIARESIS,NOT ;;
  147. GOTO GRAVE_PROC ;;
  148. ENDIFF ;;
  149. ;;
  150. RESET_NLS ;;
  151. DIARESIS_ON: ;;
  152. IFF R_ALT_SHIFT,NOT ;;
  153. XLATT DIARESIS_SPACE ;;
  154. ENDIFF ;;
  155. IFF EITHER_CTL,NOT ;;
  156. ANDF EITHER_ALT,NOT ;;
  157. IFF EITHER_SHIFT ;;
  158. IFF CAPS_STATE ;;
  159. XLATT DIARESIS_LOWER ;;
  160. ELSEF ;;
  161. XLATT DIARESIS_UPPER ;;
  162. ENDIFF ;;
  163. ELSEF ;;
  164. IFF CAPS_STATE ;;
  165. XLATT DIARESIS_UPPER ;;
  166. ELSEF ;;
  167. XLATT DIARESIS_LOWER ;;
  168. ENDIFF ;;
  169. ENDIFF ;;
  170. ENDIFF ;;
  171. ;;
  172. INVALID_DIARESIS: ;;
  173. PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent
  174. BEEP ;; Invalid dead key combo.
  175. GOTO NON_DEAD ;;
  176. ;;
  177. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  178. ;; GRAVE ACCENT TRANSLATIONS
  179. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  180. ;;
  181. GRAVE_PROC: ;;
  182. ;;
  183. IFF GRAVE,NOT ;;
  184. GOTO TILDE_PROC ;;
  185. ENDIFF ;;
  186. ;;
  187. RESET_NLS ;;
  188. GRAVE_ON: ;;
  189. IFF R_ALT_SHIFT,NOT ;;
  190. XLATT GRAVE_SPACE ;;
  191. ENDIFF ;;
  192. IFF EITHER_CTL,NOT ;;
  193. ANDF EITHER_ALT,NOT ;;
  194. IFF EITHER_SHIFT ;;
  195. IFF CAPS_STATE ;;
  196. XLATT GRAVE_LOWER ;;
  197. ELSEF ;;
  198. XLATT GRAVE_UPPER ;;
  199. ENDIFF ;;
  200. ELSEF ;;
  201. IFF CAPS_STATE,NOT ;;
  202. XLATT GRAVE_LOWER ;;
  203. ELSEF ;;
  204. XLATT GRAVE_UPPER ;;
  205. ENDIFF ;;
  206. ENDIFF ;;
  207. ENDIFF ;;
  208. ;;
  209. INVALID_GRAVE: ;;
  210. PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
  211. BEEP ;; Invalid dead key combo.
  212. GOTO NON_DEAD ;;
  213. ;;
  214. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  215. ;; TILDE ACCENT TRANSLATIONS
  216. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  217. TILDE_PROC: ;;
  218. ;;
  219. IFF TILDE,NOT ;;
  220. GOTO CIRCUMFLEX_PROC ;;
  221. ENDIFF ;;
  222. ;;
  223. RESET_NLS ;;
  224. TILDE_ON: ;;
  225. IFF R_ALT_SHIFT,NOT ;;
  226. XLATT TILDE_SPACE ;;
  227. ENDIFF ;;
  228. IFF EITHER_CTL,NOT ;;
  229. ANDF EITHER_ALT,NOT ;;
  230. IFF EITHER_SHIFT ;;
  231. IFF CAPS_STATE ;;
  232. XLATT TILDE_LOWER ;;
  233. ELSEF ;;
  234. XLATT TILDE_UPPER ;;
  235. ENDIFF ;;
  236. ELSEF ;;
  237. IFF CAPS_STATE ;;
  238. XLATT TILDE_UPPER ;;
  239. ELSEF ;;
  240. XLATT TILDE_LOWER ;;
  241. ENDIFF ;;
  242. ENDIFF ;;
  243. ENDIFF ;;
  244. ;;
  245. INVALID_TILDE: ;;
  246. PUT_ERROR_CHAR TILDE_LOWER ;; standalone accent
  247. BEEP ;; Invalid dead key combo.
  248. GOTO NON_DEAD ;;
  249. ;;
  250. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  251. ;; CIRCUMFLEX ACCENT TRANSLATIONS
  252. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  253. ;;
  254. CIRCUMFLEX_PROC: ;;
  255. ;;
  256. IFF CIRCUMFLEX,NOT ;;
  257. GOTO NON_DEAD ;;
  258. ENDIFF ;;
  259. ;;
  260. RESET_NLS ;;
  261. CIRCUMFLEX_ON: ;;
  262. IFF R_ALT_SHIFT,NOT ;;
  263. XLATT CIRCUMFLEX_SPACE ;;
  264. ENDIFF ;;
  265. IFF EITHER_CTL,NOT ;;
  266. ANDF EITHER_ALT,NOT ;;
  267. IFF EITHER_SHIFT ;;
  268. IFF CAPS_STATE ;;
  269. XLATT CIRCUMFLEX_LOWER ;;
  270. ELSEF ;;
  271. XLATT CIRCUMFLEX_UPPER ;;
  272. ENDIFF ;;
  273. ELSEF ;;
  274. IFF CAPS_STATE,NOT ;;
  275. XLATT CIRCUMFLEX_LOWER ;;
  276. ELSEF ;;
  277. XLATT CIRCUMFLEX_UPPER ;;
  278. ENDIFF ;;
  279. ENDIFF ;;
  280. ENDIFF ;;
  281. ;;
  282. INVALID_CIRCUMFLEX: ;;
  283. PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
  284. BEEP ;; Invalid dead key combo.
  285. GOTO NON_DEAD ;;
  286. ;;
  287. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  288. ;; Upper, lower and third shifts
  289. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  290. ;;
  291. NON_DEAD: ;;
  292. ;;
  293. IFKBD G_KB+P12_KB ;; Avoid accidentally translating
  294. ANDF LC_E0 ;; the "/" on the numeric pad of the
  295. EXIT_STATE_LOGIC ;; G keyboard
  296. ENDIFF ;;
  297. ;;
  298. IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
  299. ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
  300. IFF EITHER_SHIFT ;; Numeric keys are not.
  301. XLATT NON_ALPHA_UPPER ;;
  302. IFF CAPS_STATE ;;
  303. XLATT ALPHA_LOWER ;;
  304. ELSEF ;;
  305. XLATT ALPHA_UPPER ;;
  306. ENDIFF ;;
  307. ELSEF ;;
  308. XLATT NON_ALPHA_LOWER ;;
  309. IFF CAPS_STATE ;;
  310. XLATT ALPHA_UPPER ;;
  311. ELSEF ;;
  312. XLATT ALPHA_LOWER ;;
  313. ENDIFF ;;
  314. ENDIFF ;;
  315. ELSEF ;;
  316. IFF EITHER_SHIFT,NOT ;;
  317. IFKBD XT_KB+AT_KB ;;
  318. IFF EITHER_CTL ;;
  319. ANDF ALT_SHIFT ;;
  320. XLATT THIRD_SHIFT ;;
  321. ENDIFF ;;
  322. ELSEF ;;
  323. IFF EITHER_CTL,NOT ;;
  324. ANDF R_ALT_SHIFT ;;
  325. XLATT THIRD_SHIFT ;;
  326. ENDIFF ;;
  327. ENDIFF ;;
  328. ENDIFF ;;
  329. ENDIFF ;;
  330. ;**************************************;;
  331. IFF EITHER_SHIFT,NOT ;;
  332. IFKBD XT_KB+AT_KB ;;
  333. IFF EITHER_CTL ;;
  334. ANDF ALT_SHIFT ;;
  335. XLATT ALT_CASE ;;
  336. ENDIFF ;;
  337. ENDIFF ;;
  338. IFKBD G_KB+P12_KB ;;
  339. IFF EITHER_CTL ;;
  340. ANDF ALT_SHIFT ;;
  341. IFF R_ALT_SHIFT,NOT ;;
  342. XLATT ALT_CASE ;;
  343. ENDIFF ;;
  344. ENDIFF ;;
  345. ENDIFF ;;
  346. ENDIFF ;;
  347. ;**************************************;;
  348. IFKBD AT_KB+XT_KB ;;
  349. IFF EITHER_CTL,NOT ;;
  350. IFF ALT_SHIFT ;; ALT - case
  351. XLATT ALT_CASE ;;
  352. ENDIFF ;;
  353. ELSEF ;;
  354. IFF EITHER_ALT,NOT ;; CTRL - case
  355. XLATT CTRL_CASE ;;
  356. ENDIFF ;;
  357. ENDIFF ;;
  358. ENDIFF ;;
  359. ;;
  360. IFKBD G_KB+P12_KB ;;
  361. IFF EITHER_CTL,NOT ;;
  362. IFF ALT_SHIFT ;; ALT - case
  363. ANDF R_ALT_SHIFT,NOT ;;
  364. XLATT ALT_CASE ;;
  365. ENDIFF ;;
  366. ELSEF ;;
  367. IFF EITHER_ALT,NOT ;; CTRL - case
  368. XLATT CTRL_CASE ;;
  369. ENDIFF ;;
  370. ENDIFF ;;
  371. IFF EITHER_CTL ;;
  372. ANDF ALT_SHIFT ;;
  373. ANDF R_ALT_SHIFT,NOT ;;
  374. XLATT ALT_CASE ;;
  375. ENDIFF ;;
  376. ENDIFF ;;
  377. ;;
  378. EXIT_STATE_LOGIC ;;
  379. ;;
  380. LOGIC_END: ;;
  381. ;;
  382. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  383. ;; BR Common Translate Section
  384. ;; This section contains translations for the lower 128 characters
  385. ;; only since these will never change from code page to code page.
  386. ;; In addition the dead key "Set Flag" tables are here since the
  387. ;; dead keys are on the same keytops for all code pages.
  388. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  389. ;;
  390. PUBLIC BR_COMMON_XLAT ;;
  391. BR_COMMON_XLAT: ;;
  392. ;;
  393. DW COMMON_XLAT_END-$ ;; length of section
  394. DW -1 ;; code page
  395. ;;
  396. ;;
  397. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  398. ;; CODE PAGE: Common
  399. ;; STATE: Lower Shift Dead Key
  400. ;; KEYBOARD TYPES: Any
  401. ;; TABLE TYPE: Flag Table
  402. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  403. ;;
  404. DW COM_DK_LO_K1_END-$ ;; length of state section
  405. DB DEAD_LOWER ;; State ID
  406. DW ANY_KB ;; Keyboard Type
  407. DB -1,-1 ;; Buffer entry for error character
  408. ;; Set Flag Table
  409. DW 2 ;; number of entries
  410. DB 40 ;; scan code
  411. FLAG ACUTE ;; flag bit to set
  412. DB 41 ;;
  413. FLAG GRAVE ;;
  414. ;;
  415. ;;
  416. COM_DK_LO_K1_END: ;;
  417. ;;
  418. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  419. ;; CODE PAGE: Common
  420. ;; STATE: Upper Shift Dead Key
  421. ;; KEYBOARD TYPES: Any,
  422. ;; TABLE TYPE: Flag Table
  423. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  424. ;;
  425. DW COM_DK_UP_K1_END-$ ;; length of state section
  426. DB DEAD_UPPER ;; State ID
  427. DW ANY_KB ;; Keyboard Type
  428. DB -1,-1 ;; Buffer entry for error character
  429. ;; Set Flag Table
  430. DW 3 ;; number of entries
  431. DB 7 ;; scan code
  432. FLAG CIRCUMFLEX ;; flag bit to set
  433. DB 40 ;;
  434. FLAG DIARESIS ;;
  435. DB 41 ;;
  436. FLAG TILDE ;;
  437. ;;
  438. COM_DK_UP_K1_END: ;;
  439. ;;
  440. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  441. ;; CODE PAGE: Common
  442. ;; STATE: Grave Lower
  443. ;; KEYBOARD TYPES: Any,
  444. ;; TABLE TYPE: Translate
  445. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  446. ;;
  447. DW COM_GR_LO_END-$ ;; length of state section
  448. DB GRAVE_LOWER ;; State ID
  449. DW ANY_KB ;; Keyboard Type
  450. DB 96,0 ;; error character = standalone accent
  451. ;;
  452. DW COM_GR_LO_T1_END-$ ;; Size of xlat table
  453. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  454. DB 5 ;; number of scans
  455. DB 18,'�' ;; scan code,ASCII - e
  456. DB 22,'�' ;; scan code,ASCII - u
  457. DB 23,'�' ;; scan code,ASCII - i
  458. DB 24,'�' ;; scan code,ASCII - o
  459. DB 30,'�' ;; scan code,ASCII - a
  460. ;;
  461. COM_GR_LO_T1_END: ;;
  462. ;;
  463. DW 0 ;; Size of xlat table - null table
  464. ;;
  465. COM_GR_LO_END: ;; length of state section
  466. ;;
  467. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  468. ;; CODE PAGE: Common
  469. ;; STATE: Grave Space Bar
  470. ;; KEYBOARD TYPES: Any,
  471. ;; TABLE TYPE: Translate
  472. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  473. ;;
  474. DW COM_GR_SP_END-$ ;; length of state section
  475. DB GRAVE_SPACE ;; State ID
  476. DW ANY_KB ;; Keyboard Type
  477. DB 96,0 ;; error character = standalone accent
  478. ;;
  479. DW COM_GR_SP_T1_END-$ ;; Size of xlat table
  480. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  481. DB 1 ;; number of scans
  482. DB 57,96 ;; STANDALONE GRAVE
  483. ;;
  484. COM_GR_SP_T1_END: ;;
  485. ;;
  486. DW 0 ;; Size of xlat table - null table
  487. ;;
  488. COM_GR_SP_END: ;; length of state section
  489. ;;
  490. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  491. ;; CODE PAGE: Common
  492. ;; STATE: Grave Twice
  493. ;; KEYBOARD TYPES: Any,
  494. ;; TABLE TYPE: Translate
  495. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  496. ;;
  497. DW COM_GR_GR_END-$ ;; length of state section
  498. DB GRAVE_GRAVE ;; State ID
  499. DW ANY_KB ;; Keyboard Type
  500. DB 96,0 ;; error character = standalone accent
  501. ;;
  502. DW COM_GR_GR_T1_END-$ ;; Size of xlat table
  503. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  504. DB 1 ;; number of scans
  505. DB 41,96 ;; STANDALONE GRAVE
  506. ;;
  507. COM_GR_GR_T1_END: ;;
  508. ;;
  509. DW 0 ;; Size of xlat table - null table
  510. ;;
  511. COM_GR_GR_END: ;; length of state section
  512. ;;
  513. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  514. ;; CODE PAGE: Common
  515. ;; STATE: Circumflex Lower
  516. ;; KEYBOARD TYPES: Any,
  517. ;; TABLE TYPE: Translate
  518. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  519. ;;
  520. DW COM_CI_LO_END-$ ;; length of state section
  521. DB CIRCUMFLEX_LOWER ;; State ID
  522. DW ANY_KB ;; Keyboard Type
  523. DB 94,0 ;; error character = standalone accent
  524. ;;
  525. DW COM_CI_LO_T1_END-$ ;; Size of xlat table
  526. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  527. DB 5 ;; number of scans
  528. DB 18,'�' ;; scan code,ASCII - e
  529. DB 22,'�' ;; scan code,ASCII - u
  530. DB 23,'�' ;; scan code,ASCII - i
  531. DB 24,'�' ;; scan code,ASCII - o
  532. DB 30,'�' ;; scan code,ASCII - a
  533. ;;
  534. COM_CI_LO_T1_END: ;;
  535. ;;
  536. DW 0 ;;
  537. ;;
  538. COM_CI_LO_END: ;;
  539. ;;
  540. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  541. ;; CODE PAGE: Common
  542. ;; STATE: Circumflex Space Bar
  543. ;; KEYBOARD TYPES: Any,
  544. ;; TABLE TYPE: Translate
  545. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  546. ;;
  547. DW COM_CI_SP_END-$ ;; length of state section
  548. DB CIRCUMFLEX_SPACE ;; State ID
  549. DW ANY_KB ;; Keyboard Type
  550. DB 94,0 ;; error character = standalone accent
  551. ;;
  552. DW COM_CI_SP_T1_END-$ ;; Size of xlat table
  553. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  554. DB 1 ;; number of scans
  555. DB 57,94 ;; STANDALONE CIRCUMFLEX
  556. ;;
  557. COM_CI_SP_T1_END: ;;
  558. ;;
  559. DW 0 ;; Size of xlat table - null table
  560. ;;
  561. COM_CI_SP_END: ;; length of state section
  562. ;;
  563. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  564. ;; CODE PAGE: Common
  565. ;; STATE: Circumflex Twice
  566. ;; KEYBOARD TYPES: Any
  567. ;; TABLE TYPE: Translate
  568. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  569. ;;
  570. DW COM_CI_CI_END-$ ;; length of state section
  571. DB CIRCUMFLEX_CIRCUMFLEX ;; State ID
  572. DW ANY_KB ;; Keyboard Type
  573. DB 94,0 ;; error character = standalone accent
  574. ;;
  575. DW COM_CI_CI_T1_END-$ ;; Size of xlat table
  576. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  577. DB 1 ;; number of scans
  578. DB 7,94 ;; STANDALONE CIRCUMFLEX
  579. ;;
  580. COM_CI_CI_T1_END: ;;
  581. ;;
  582. DW 0 ;; Size of xlat table - null table
  583. ;;
  584. COM_CI_CI_END: ;; length of state section
  585. ;;
  586. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  587. ;; CODE PAGE: Common
  588. ;; STATE: Tilde Lower
  589. ;; KEYBOARD TYPES: Any
  590. ;; TABLE TYPE: Translate
  591. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  592. ;;
  593. DW COM_TI_LO_K1_END-$ ;; length of state section
  594. DB TILDE_LOWER ;; State ID
  595. DW ANY_KB ;; Keyboard Type
  596. DB 07EH,0 ;; error character = standalone accent
  597. ;;
  598. DW COM_TI_LO_K1_T1_END-$ ;; Size of xlat table
  599. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  600. DB 1 ;; number of scans
  601. DB 49,0A4H ;; scan code,ASCII - �
  602. ;;
  603. COM_TI_LO_K1_T1_END: ;;
  604. ;;
  605. DW 0 ;;
  606. ;;
  607. COM_TI_LO_K1_END: ;;
  608. ;;
  609. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  610. ;; CODE PAGE: Common
  611. ;; STATE: Tilde Upper Case
  612. ;; KEYBOARD TYPES: Any
  613. ;; TABLE TYPE: Translate
  614. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  615. ;;
  616. DW COM_TI_UP_K1_END-$ ;; length of state section
  617. DB TILDE_UPPER ;; State ID
  618. DW ANY_KB ;; Keyboard Type
  619. DB 07EH,0 ;; error character = standalone accent
  620. ;;
  621. DW COM_TI_UP_K1_T1_END-$ ;; Size of xlat table
  622. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  623. DB 1 ;; number of scans
  624. DB 49,0A5H ;; scan code,ASCII - �
  625. ;;
  626. COM_TI_UP_K1_T1_END: ;;
  627. ;;
  628. DW 0 ;; Size of xlat table - null table
  629. ;;
  630. COM_TI_UP_K1_END: ;; length of state section
  631. ;;
  632. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  633. ;; CODE PAGE: Common
  634. ;; STATE: Tilde Space Bar
  635. ;; KEYBOARD TYPES: Any,
  636. ;; TABLE TYPE: Translate
  637. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  638. ;;
  639. DW COM_TI_SP_END-$ ;; length of state section
  640. DB TILDE_SPACE ;; State ID
  641. DW ANY_KB ;; Keyboard Type
  642. DB 07EH,0 ;; error character = standalone accent
  643. ;;
  644. DW COM_TI_SP_T1_END-$ ;; Size of xlat table
  645. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  646. DB 1 ;; number of scans
  647. DB 57,07EH ;; STANDALONE TILDE
  648. ;;
  649. COM_TI_SP_T1_END: ;;
  650. ;;
  651. DW 0 ;; Size of xlat table - null table
  652. ;;
  653. COM_TI_SP_END: ;; length of state section
  654. ;;
  655. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  656. ;; CODE PAGE: Common
  657. ;; STATE: Tilde Twice
  658. ;; KEYBOARD TYPES: Any,
  659. ;; TABLE TYPE: Translate
  660. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  661. ;;
  662. DW COM_TI_TI_END-$ ;; length of state section
  663. DB TILDE_TILDE ;; State ID
  664. DW ANY_KB ;; Keyboard Type
  665. DB 07EH,0 ;; error character = standalone accent
  666. ;;
  667. DW COM_TI_TI_T1_END-$ ;; Size of xlat table
  668. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  669. DB 1 ;; number of scans
  670. DB 41,07EH ;; STANDALONE TILDE
  671. ;;
  672. COM_TI_TI_T1_END: ;;
  673. ;;
  674. DW 0 ;; Size of xlat table - null table
  675. ;;
  676. COM_TI_TI_END: ;; length of state section
  677. ;;
  678. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  679. ;; CODE PAGE: Common
  680. ;; STATE: Acute Lower Case
  681. ;; KEYBOARD TYPES: Any,
  682. ;; TABLE TYPE: Translate
  683. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  684. ;;
  685. DW COM_AC_LO_END-$ ;; length of state section
  686. DB ACUTE_LOWER ;; State ID
  687. DW ANY_KB ;; Keyboard Type
  688. DB 39,0 ;; error character = standalone accent
  689. ;;
  690. DW COM_AC_LO_T1_END-$ ;; Size of xlat table
  691. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  692. DB 6 ;; number of scans
  693. DB 18,'�' ;; scan code,ASCII - e
  694. DB 22,'�' ;; scan code,ASCII - u
  695. DB 23,'�' ;; scan code,ASCII - i
  696. DB 24,'�' ;; scan code,ASCII - o
  697. DB 30,'�' ;; scan code,ASCII - a
  698. DB 46,'�' ;; scan code,ASCII - c-cedilla
  699. ;;
  700. COM_AC_LO_T1_END: ;;
  701. ;;
  702. DW 0 ;; Size of xlat table - null table
  703. ;;
  704. COM_AC_LO_END: ;;
  705. ;;
  706. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  707. ;; CODE PAGE: Common
  708. ;; STATE: Acute Upper Case
  709. ;; KEYBOARD TYPES: Any
  710. ;; TABLE TYPE: Translate
  711. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  712. ;;
  713. DW COM_AC_UP_END-$ ;; length of state section
  714. DB ACUTE_UPPER ;; State ID
  715. DW ANY_KB ;; Keyboard Type
  716. DB 39,0 ;; error character = standalone accent
  717. ;;
  718. DW COM_AC_UP_T1_END-$ ;; Size of xlat table
  719. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  720. DB 2 ;; number of scans
  721. DB 18,090H ;; scan code,ASCII - E
  722. DB 46,080H ;; C cedilla
  723. ;;
  724. COM_AC_UP_T1_END: ;;
  725. ;;
  726. DW 0 ;; Size of xlat table - null table
  727. ;;
  728. COM_AC_UP_END: ;;
  729. ;;
  730. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  731. ;; CODE PAGE: Common
  732. ;; STATE: Acute Space Bar
  733. ;; KEYBOARD TYPES: Any
  734. ;; TABLE TYPE: Translate
  735. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  736. ;;
  737. DW COM_AC_SP_END-$ ;; length of state section
  738. DB ACUTE_SPACE ;; State ID
  739. DW ANY_KB ;; Keyboard Type
  740. DB 39,0 ;; error character = standalone accent
  741. ;;
  742. DW COM_AC_SP_T1_END-$ ;; Size of xlat table
  743. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  744. DB 1 ;; number of scans
  745. DB 57,39 ;; scan code,ASCII - SPACE
  746. ;;
  747. COM_AC_SP_T1_END: ;;
  748. ;;
  749. DW 0 ;; Size of xlat table - null table
  750. ;;
  751. COM_AC_SP_END: ;;
  752. ;;
  753. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  754. ;; CODE PAGE: Common
  755. ;; STATE: Acute Twice
  756. ;; KEYBOARD TYPES: Any
  757. ;; TABLE TYPE: Translate
  758. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  759. ;;
  760. DW COM_AC_AC_END-$ ;; length of state section
  761. DB ACUTE_ACUTE ;; State ID
  762. DW ANY_KB ;; Keyboard Type
  763. DB 39,0 ;; error character = standalone accent
  764. ;;
  765. DW COM_AC_AC_T1_END-$ ;; Size of xlat table
  766. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  767. DB 1 ;; number of scans
  768. DB 40,39 ;; scan code,ASCII - ACUTE
  769. ;;
  770. COM_AC_AC_T1_END: ;;
  771. ;;
  772. DW 0 ;; Size of xlat table - null table
  773. ;;
  774. COM_AC_AC_END: ;;
  775. ;;
  776. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  777. ;; CODE PAGE: Common
  778. ;; STATE: Diaresis Lower
  779. ;; KEYBOARD TYPES: Any
  780. ;; TABLE TYPE: Translate
  781. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  782. ;;
  783. DW COM_DI_LO_END-$ ;; length of state section
  784. DB DIARESIS_LOWER ;; State ID
  785. DW ANY_KB ;; Keyboard Type
  786. DB '"',0 ;; error character = standalone accent
  787. ;;
  788. DW COM_DI_LO_T1_END-$ ;; Size of xlat table
  789. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  790. DB 6 ;; number of scans
  791. DB 18,089H ;; e diaeresis
  792. DB 21,098H ;; y diaeresis
  793. DB 22,081H ;; u diaeresis
  794. DB 23,08BH ;; i diaeresis
  795. DB 24,094H ;; o diaeresis
  796. DB 30,084H ;; a diaeresis
  797. ;;
  798. COM_DI_LO_T1_END: ;;
  799. ;;
  800. DW 0 ;; Size of xlat table - null table
  801. ;;
  802. COM_DI_LO_END: ;; length of state section
  803. ;;
  804. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  805. ;; CODE PAGE: Common
  806. ;; STATE: Diaresis Upper
  807. ;; KEYBOARD TYPES: Any
  808. ;; TABLE TYPE: Translate
  809. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  810. ;;
  811. DW COM_DI_UP_END-$ ;; length of state section
  812. DB DIARESIS_UPPER ;; State ID
  813. DW ANY_KB ;; Keyboard Type
  814. DB -1,-1 ;; error character = standalone accent
  815. ;;
  816. DW COM_DI_UP_T1_END-$ ;; Size of xlat table
  817. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  818. DB 3 ;; number of scans
  819. DB 22,09AH ;; U diaeresis
  820. DB 24,099H ;; O diaeresis
  821. DB 30,08EH ;; A diaeresis
  822. ;;
  823. COM_DI_UP_T1_END: ;;
  824. ;;
  825. DW 0 ;; Size of xlat table - null table
  826. ;;
  827. COM_DI_UP_END: ;; length of state section
  828. ;;
  829. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  830. ;; CODE PAGE: Common
  831. ;; STATE: Diaresis Space Bar
  832. ;; KEYBOARD TYPES: Any
  833. ;; TABLE TYPE: Translate
  834. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  835. ;;
  836. DW COM_DI_SP_END-$ ;; length of state section
  837. DB DIARESIS_SPACE ;; State ID
  838. DW ANY_KB ;; Keyboard Type
  839. DB '"',0 ;; error character = standalone accent
  840. ;;
  841. DW COM_DI_SP_T1_END-$ ;; Size of xlat table
  842. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  843. DB 1 ;; number of scans
  844. DB 57,'"' ;; scan code,ASCII - SPACE
  845. ;;
  846. COM_DI_SP_T1_END: ;;
  847. ;;
  848. DW 0 ;; Size of xlat table - null table
  849. ;;
  850. COM_DI_SP_END: ;;
  851. ;;
  852. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  853. ;; CODE PAGE: Common
  854. ;; STATE: Diaresis Twice
  855. ;; KEYBOARD TYPES: Any
  856. ;; TABLE TYPE: Translate
  857. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  858. ;;
  859. DW COM_DI_DI_END-$ ;; length of state section
  860. DB DIARESIS_DIARESIS ;; State ID
  861. DW ANY_KB ;; Keyboard Type
  862. DB '"',0 ;; error character = standalone accent
  863. ;;
  864. DW COM_DI_DI_T1_END-$ ;; Size of xlat table
  865. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  866. DB 1 ;; number of scans
  867. DB 40,'"' ;; scan code,ASCII - SPACE
  868. ;;
  869. COM_DI_DI_T1_END: ;;
  870. ;;
  871. DW 0 ;; Size of xlat table - null table
  872. ;;
  873. COM_DI_DI_END: ;;
  874. ;;
  875. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  876. ;;
  877. DW 0 ;; Last State
  878. COMMON_XLAT_END: ;;
  879. ;;
  880. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  881. ;;***************************************
  882. ;; BR Specific Translate Section for 437
  883. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  884. ;;
  885. PUBLIC BR_437_XLAT ;;
  886. BR_437_XLAT: ;;
  887. ;;
  888. DW CP437_XLAT_END-$ ;; length of section
  889. DW 437 ;;
  890. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  891. DW 0 ;; LAST STATE
  892. ;;
  893. CP437_XLAT_END: ;;
  894. ;;
  895. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  896. ;; BR Specific Translate Section for 850
  897. ;;***************************************
  898. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  899. ;;
  900. PUBLIC BR_850_XLAT ;;
  901. BR_850_XLAT: ;;
  902. ;;
  903. DW CP850_XLAT_END-$ ;; length of section
  904. DW 850 ;;
  905. ;;
  906. ;;
  907. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  908. ;; CODE PAGE: 850
  909. ;; STATE: Alt Case
  910. ;; KEYBOARD TYPES: Any
  911. ;; TABLE TYPE: Translate
  912. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  913. ;;
  914. DW CP850_ALT_K1_END-$ ;; length of state section
  915. DB ALT_CASE ;; State ID
  916. DW ANY_KB ;; Keyboard Type
  917. DB -1,-1 ;; error character = standalone accent
  918. ;;
  919. DW CP850_ALT_K1_T1_END-$ ;; Size of xlat table
  920. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  921. DB 1 ;; number of scans
  922. DB 40,0EFH ;; scan code, acute
  923. ;;
  924. CP850_ALT_K1_T1_END: ;;
  925. ;;
  926. DW 0 ;; Size of xlat table - null table
  927. ;;
  928. CP850_ALT_K1_END: ;; length of state section
  929. ;;
  930. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  931. ;; CODE PAGE: 850
  932. ;; STATE: Third Shift
  933. ;; KEYBOARD TYPES: Any
  934. ;; TABLE TYPE: Translate
  935. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  936. ;;
  937. DW CP850_THIRD_K1_END-$ ;; length of state section
  938. DB THIRD_SHIFT ;; State ID
  939. DW ANY_KB ;; Keyboard Type
  940. DB -1,-1 ;; Buffer entry for error character
  941. ;;
  942. DW CP850_THIRD_K1_T1_END-$ ;; Size of xlat table
  943. DB STANDARD_TABLE ;; xlat options:
  944. DB 1 ;; number of entries
  945. DB 40,0F9H ;; scan code, diaresis
  946. ;;
  947. CP850_THIRD_K1_T1_END: ;;
  948. ;;
  949. DW 0 ;; Last xlat table
  950. CP850_THIRD_K1_END: ;;
  951. ;;
  952. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  953. ;; CODE PAGE: 850
  954. ;; STATE: Acute Lower Case
  955. ;; KEYBOARD TYPES: Any
  956. ;; TABLE TYPE: Translate
  957. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  958. ;;
  959. DW CP850_AC_LO_END-$ ;; length of state section
  960. DB ACUTE_LOWER ;; State ID
  961. DW ANY_KB ;; Keyboard Type
  962. DB 39,0 ;; error character = standalone accent
  963. ;;
  964. DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
  965. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  966. DB 1 ;; number of scans
  967. DB 21,0ECH ;; y acute
  968. ;;
  969. CP850_AC_LO_T1_END: ;;
  970. ;;
  971. DW 0 ;; Size of xlat table - null table
  972. ;;
  973. CP850_AC_LO_END: ;;
  974. ;;
  975. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  976. ;; CODE PAGE: 850
  977. ;; STATE: Acute Upper Case
  978. ;; KEYBOARD TYPES: Any
  979. ;; TABLE TYPE: Translate
  980. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  981. ;;
  982. DW CP850_AC_UP_END-$ ;; length of state section
  983. DB ACUTE_UPPER ;; State ID
  984. DW ANY_KB ;; Keyboard Type
  985. DB 39,0 ;; error character = standalone accent
  986. ;;
  987. DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
  988. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  989. DB 5 ;; number of scans
  990. DB 21,0EDH ;; Y acute
  991. DB 22,0E9H ;; U acute
  992. DB 23,0D6H ;; I acute
  993. DB 24,0E0H ;; O acute
  994. DB 30,0B5H ;; A acute
  995. ;;
  996. CP850_AC_UP_T1_END: ;;
  997. ;;
  998. DW 0 ;; Size of xlat table - null table
  999. ;;
  1000. CP850_AC_UP_END: ;;
  1001. ;;
  1002. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1003. ;; CODE PAGE: 850
  1004. ;; STATE: Diaresis Lower
  1005. ;; KEYBOARD TYPES: Any
  1006. ;; TABLE TYPE: Translate
  1007. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1008. ;;
  1009. DW CP850_DI_LO_END-$ ;; length of state section
  1010. DB DIARESIS_LOWER ;; State ID
  1011. DW ANY_KB ;; Keyboard Type
  1012. DB '"',0 ;; error character = standalone accent
  1013. ;;
  1014. DW CP850_DI_LO_T1_END-$ ;; Size of xlat table
  1015. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1016. DB 0 ;; number of scans
  1017. ;;
  1018. CP850_DI_LO_T1_END: ;;
  1019. ;;
  1020. DW 0 ;; Size of xlat table - null table
  1021. ;;
  1022. CP850_DI_LO_END: ;; length of state section
  1023. ;;
  1024. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1025. ;; CODE PAGE: 850
  1026. ;; STATE: Diaresis Upper
  1027. ;; KEYBOARD TYPES: Any
  1028. ;; TABLE TYPE: Translate
  1029. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1030. ;;
  1031. DW CP850_DI_UP_END-$ ;; length of state section
  1032. DB DIARESIS_UPPER ;; State ID
  1033. DW ANY_KB ;; Keyboard Type
  1034. DB '"',0 ;; error character = standalone accent
  1035. ;;
  1036. DW CP850_DI_UP_T1_END-$ ;; Size of xlat table
  1037. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1038. DB 2 ;; number of scans
  1039. DB 18,0D3H ;; E diaeresis
  1040. DB 23,0D8H ;; I diaeresis
  1041. ;;
  1042. CP850_DI_UP_T1_END: ;;
  1043. ;;
  1044. DW 0 ;; Size of xlat table - null table
  1045. ;;
  1046. CP850_DI_UP_END: ;; length of state section
  1047. ;;
  1048. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1049. ;; CODE PAGE: 850
  1050. ;; STATE: Grave Upper
  1051. ;; KEYBOARD TYPES: Any
  1052. ;; TABLE TYPE: Translate
  1053. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1054. ;;
  1055. DW CP850_GR_UP_END-$ ;; length of state section
  1056. DB GRAVE_UPPER ;; State ID
  1057. DW ANY_KB ;; Keyboard Type
  1058. DB 96,0 ;; error character = standalone accent
  1059. ;;
  1060. DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
  1061. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1062. DB 5 ;; number of scans
  1063. DB 30,0B7H ;; A grave
  1064. DB 18,0D4H ;; E grave
  1065. DB 23,0DEH ;; I grave
  1066. DB 24,0E3H ;; O grave
  1067. DB 22,0EBH ;; U grave
  1068. CP850_GR_UP_T1_END: ;;
  1069. ;;
  1070. DW 0 ;; Size of xlat table - null table
  1071. ;;
  1072. CP850_GR_UP_END: ;; length of state section
  1073. ;;
  1074. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1075. ;; CODE PAGE: 850
  1076. ;; STATE: Tilde Lower
  1077. ;; KEYBOARD TYPES: Any
  1078. ;; TABLE TYPE: Translate
  1079. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1080. ;;
  1081. DW CP850_TI_LO_END-$ ;; length of state section
  1082. DB TILDE_LOWER ;; State ID
  1083. DW ANY_KB ;; Keyboard Type
  1084. DB 07EH,0 ;; error character = standalone accent
  1085. ;;
  1086. DW CP850_TI_LO_T1_END-$ ;; Size of xlat table
  1087. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1088. DB 2 ;; number of scans
  1089. DB 30,0C6H ;; scan code,ASCII - a tilde
  1090. DB 24,0E4H ;; scan code,ASCII - o tilde
  1091. ;;
  1092. CP850_TI_LO_T1_END: ;;
  1093. ;;
  1094. DW 0 ;;
  1095. ;;
  1096. CP850_TI_LO_END: ;;
  1097. ;;
  1098. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1099. ;; CODE PAGE: 850
  1100. ;; STATE: Tilde Upper Case
  1101. ;; KEYBOARD TYPES: Any
  1102. ;; TABLE TYPE: Translate
  1103. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1104. ;;
  1105. DW CP850_TI_UP_END-$ ;; length of state section
  1106. DB TILDE_UPPER ;; State ID
  1107. DW ANY_KB ;; Keyboard Type
  1108. DB 07eH,0 ;; error character = standalone accent
  1109. ;;
  1110. DW CP850_TI_UP_T1_END-$ ;; Size of xlat table
  1111. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1112. DB 2 ;; number of scans
  1113. DB 30,0C7H ;; scan code,ASCII - A tilde
  1114. DB 24,0E5H ;; scan code,ASCII - O tilde
  1115. ;;
  1116. CP850_TI_UP_T1_END: ;;
  1117. ;;
  1118. DW 0 ;; Size of xlat table - null table
  1119. ;;
  1120. CP850_TI_UP_END: ;; length of state section
  1121. ;;
  1122. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1123. ;; CODE PAGE: 850
  1124. ;; STATE: Circumflex Upper
  1125. ;; KEYBOARD TYPES: Any
  1126. ;; TABLE TYPE: Translate
  1127. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1128. ;;
  1129. DW CP850_CI_UP_END-$ ;; length of state section
  1130. DB CIRCUMFLEX_UPPER ;; State ID
  1131. DW ANY_KB ;; Keyboard Type
  1132. DB 94,0 ;; error character = standalone accent
  1133. ;;
  1134. DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
  1135. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1136. DB 5 ;; number of scans
  1137. DB 30,0B6H ;; A circumflex
  1138. DB 18,0D2H ;; E circumflex
  1139. DB 23,0D7H ;; I circumflex
  1140. DB 24,0E2H ;; O circumflex
  1141. DB 22,0EAH ;; U circumflex
  1142. ;;
  1143. CP850_CI_UP_T1_END: ;;
  1144. ;;
  1145. DW 0 ;; Size of xlat table - null table
  1146. ;;
  1147. CP850_CI_UP_END: ;; length of state section
  1148. ;;
  1149. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1150. ;;
  1151. DW 0 ;; LAST STATE
  1152. ;;
  1153. CP850_XLAT_END: ;;
  1154. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1155. ;;
  1156. CODE ENDS ;;
  1157. END ;;
  1158.