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.

1694 lines
58 KiB

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