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.

1837 lines
63 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 Estonian
  13. ;; <<kchang:modify kdfsv.asm>>
  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 ET_LOGIC ;;
  28. PUBLIC ET_775_XLAT ;; <<kchang:replace cp437>>
  29. PUBLIC ET_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. ET_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 <<kdchang:used it for Caron>>
  128. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  129. ;;
  130. DIARESIS_PROC: ;;
  131. ;;
  132. IFF CARON,NOT ;;
  133. GOTO GRAVE_PROC ;;
  134. ENDIFF ;;
  135. ;;
  136. RESET_NLS ;;
  137. IFF R_ALT_SHIFT,NOT ;;
  138. XLATT CARON_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 CARON_LOWER ;;
  145. ELSEF ;;
  146. XLATT CARON_UPPER ;;
  147. ENDIFF ;;
  148. ELSEF ;;
  149. IFF CAPS_STATE ;;
  150. XLATT CARON_UPPER ;;
  151. ELSEF ;;
  152. XLATT CARON_LOWER ;;
  153. ENDIFF ;;
  154. ENDIFF ;;
  155. ENDIFF ;;
  156. ;;
  157. INVALID_DIARESIS: ;;
  158. PUT_ERROR_CHAR CARON_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. ;*** IanJa Moved ALT and CTRL to beginning. ;;
  285. ;**************************************;;
  286. IFKBD AT_KB+JR_KB+XT_KB ;;
  287. IFF EITHER_CTL,NOT ;;
  288. IFF ALT_SHIFT ;; ALT - case
  289. XLATT ALT_CASE ;;
  290. ENDIFF ;;
  291. ELSEF ;;
  292. IFF EITHER_ALT,NOT ;; CTRL - case
  293. XLATT CTRL_CASE ;;
  294. ENDIFF ;;
  295. ENDIFF ;;
  296. ENDIFF ;;
  297. ;;
  298. IFKBD G_KB+P12_KB ;;
  299. IFF EITHER_CTL,NOT ;;
  300. IFF ALT_SHIFT ;; ALT - case
  301. ANDF R_ALT_SHIFT,NOT ;;
  302. XLATT ALT_CASE ;;
  303. ENDIFF ;;
  304. ELSEF ;;
  305. IFF EITHER_ALT,NOT ;; CTRL - case
  306. XLATT CTRL_CASE ;;
  307. ENDIFF ;;
  308. ENDIFF ;;
  309. ENDIFF
  310. ;**************************************;;
  311. ;*** IanJa end of ALT and CTRL cases
  312. ;;
  313. IFF EITHER_CTL,NOT ;; Lower and upper case. Alphabetic
  314. ANDF EITHER_ALT,NOT ;; keys are affected by CAPS LOCK.
  315. IFF EITHER_SHIFT ;; Numeric keys are not.
  316. ;;***BD ADDED FOR NUMERIC PAD
  317. IFF NUM_STATE,NOT ;;
  318. XLATT NUMERIC_PAD ;;
  319. ENDIFF ;;
  320. ;;***BD END OF ADDITION
  321. XLATT NON_ALPHA_UPPER ;;
  322. IFF CAPS_STATE ;;
  323. XLATT ALPHA_LOWER ;;
  324. ELSEF ;;
  325. XLATT ALPHA_UPPER ;;
  326. ENDIFF ;;
  327. ELSEF ;;
  328. ;;***BD ADDED FOR NUMERIC PAD
  329. IFF NUM_STATE ;;
  330. XLATT NUMERIC_PAD ;;
  331. ENDIFF ;;
  332. ;;***BD END OF ADDITION
  333. XLATT NON_ALPHA_LOWER ;;
  334. IFF CAPS_STATE ;;
  335. XLATT ALPHA_UPPER ;;
  336. ELSEF ;;
  337. XLATT ALPHA_LOWER ;;
  338. ENDIFF ;;
  339. ENDIFF ;; Third and Fourth shifts
  340. ELSEF ;; ctl or alt on at this point
  341. IFKBD XT_KB+AT_KB+JR_KB ;; XT, AT, JR keyboards. Nordics
  342. IFF EITHER_CTL ;;
  343. ANDF ALT_SHIFT
  344. IFF EITHER_SHIFT ;; only.
  345. XLATT FOURTH_SHIFT ;; ALT + shift
  346. ELSEF ;;
  347. XLATT THIRD_SHIFT ;; ALT
  348. ENDIFF ;;
  349. ENDIFF ;;
  350. ELSEF ;; ENHANCED keyboard
  351. IFF R_ALT_SHIFT ;; ALTGr
  352. IFF EITHER_CTL, NOT ;;
  353. ANDF R_ALT_SHIFT ;;
  354. IFF EITHER_SHIFT,NOT ;;
  355. XLATT THIRD_SHIFT ;;
  356. ELSEF ;;
  357. XLATT FOURTH_SHIFT ;; AltGr+Shift
  358. ENDIFF ;;
  359. ENDIFF ;;
  360. ENDIFF ;;
  361. ENDIFF ;;
  362. ENDIFF ;;
  363. ENDIFF ;;
  364. ;**************************************;;
  365. ;;
  366. EXIT_STATE_LOGIC ;;
  367. ;;
  368. LOGIC_END: ;;
  369. ;;
  370. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  371. ;;**********************************************************************
  372. ;; SV Common Translate Section
  373. ;; This section contains translations for the lower 128 characters
  374. ;; only since these will never change from code page to code page.
  375. ;; Some common Characters are included from 128 - 165 where appropriate.
  376. ;; In addition the dead key "Set Flag" tables are here since the
  377. ;; dead keys are on the same keytops for all code pages.
  378. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  379. ;;
  380. PUBLIC ET_COMMON_XLAT ;;
  381. ET_COMMON_XLAT: ;;
  382. ;;
  383. DW COMMON_XLAT_END-$ ;; length of section
  384. DW -1 ;; code page
  385. ;;
  386. ;;
  387. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  388. ;; CODE PAGE: Common
  389. ;; STATE: Lower Shift Dead Key
  390. ;; KEYBOARD TYPES: All
  391. ;; TABLE TYPE: Flag Table
  392. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  393. ;;
  394. DW COM_DK_LO_END-$ ;; length of state section
  395. DB DEAD_LOWER ;; State ID
  396. DW ANY_KB ;; Keyboard Type
  397. DB -1,-1 ;; Buffer entry for error character
  398. ;; Set Flag Table
  399. DW 2 ;; number of entries
  400. DB 13 ;; scan code
  401. FLAG ACUTE ;; flag bit to set
  402. DB 029H ;;
  403. FLAG CARON ;;
  404. ;;
  405. ;;
  406. COM_DK_LO_END: ;;
  407. ;;
  408. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  409. ;; CODE PAGE: Common
  410. ;; STATE: Upper Shift Dead Key
  411. ;; KEYBOARD TYPES: All
  412. ;; TABLE TYPE: Flag Table
  413. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  414. ;;
  415. DW COM_DK_UP_END-$ ;; length of state section
  416. DB DEAD_UPPER ;; State ID
  417. DW ANY_KB ;; Keyboard Type
  418. DB -1,-1 ;; Buffer entry for error character
  419. ;; Set Flag Table
  420. DW 2 ;; number of entries
  421. DB 13 ;; scan code
  422. FLAG GRAVE ;; flag bit to set
  423. DB 029H ;;
  424. FLAG TILDE ;;
  425. ;;
  426. COM_DK_UP_END: ;;
  427. ;;
  428. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  429. ;; CODE PAGE: Common
  430. ;; STATE: Third Shift Dead Key
  431. ;; KEYBOARD TYPES: G, P12
  432. ;; TABLE TYPE: Flag Table
  433. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  434. ;;
  435. DW COM_DK_TH_END-$ ;; length of state section
  436. DB DEAD_THIRD ;; State ID
  437. DW G_KB+P12_KB ;; Keyboard Type
  438. DB -1,-1 ;; Buffer entry for error character
  439. ;; Set Flag Table
  440. DW 1 ;; number of entries
  441. DB 028H ;; scan code
  442. FLAG CIRCUMFLEX ;; flag bit to set
  443. ;;
  444. COM_DK_TH_END: ;;
  445. ;;
  446. ;;
  447. ;;
  448. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  449. ;;******************************
  450. ;;***BD - ADDED FOR NUMERIC PAD (DECIMAL SEPERATOR)
  451. ;;******************************
  452. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  453. ;; CODE PAGE: Common ;;********* CNS ******* change
  454. ;; STATE: Numeric Key Pad
  455. ;; KEYBOARD TYPES: All except the p12
  456. ;; TABLE TYPE: Translate
  457. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  458. ;;
  459. DW COM_PAD_K1_END-$ ;; length of state section
  460. DB NUMERIC_PAD ;; State ID
  461. DW G_KB+AT_KB+XT_KB ;; Keyboard Type
  462. DB -1,-1 ;; Buffer entry for error character
  463. ;;
  464. DW COM_PAD_K1_T1_END-$ ;; Size of xlat table
  465. DB STANDARD_TABLE ;; xlat options:
  466. DB 1 ;; number of entries
  467. DB 83,',' ;; decimal seperator = ,
  468. COM_PAD_K1_T1_END: ;;
  469. ;;
  470. DW 0 ;; Size of xlat table - null table
  471. ;;
  472. COM_PAD_K1_END: ;;
  473. ;;
  474. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  475. ;;******************************
  476. ;;***BD - ADDED FOR ALT CASE
  477. ;;******************************
  478. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  479. ;; CODE PAGE: Common
  480. ;; STATE: Alt Case
  481. ;; KEYBOARD TYPES: G, P12
  482. ;; TABLE TYPE: Translate
  483. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  484. ;;
  485. DW COM_ALT_K1_END-$ ;; length of state section
  486. DB ALT_CASE ;; State ID
  487. DW G_KB+P12_KB ;; Keyboard Type
  488. DB -1,-1 ;; Buffer entry for error character
  489. ;;
  490. DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
  491. DB TYPE_2_TAB ;; xlat options:
  492. DB 0 ;; 2 number of entries
  493. ; DB 12,-1,-1 ;;
  494. ; DB 53,0,82H ;;
  495. COM_ALT_K1_T1_END: ;;
  496. ;;
  497. DW 0 ;; Size of xlat table - null table
  498. ;;
  499. COM_ALT_K1_END: ;;
  500. ;;
  501. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  502. ;;******************************
  503. ;;***BD - ADDED FOR CTRL CASE
  504. ;;******************************
  505. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  506. ;; CODE PAGE: Common
  507. ;; STATE: Ctrl Case
  508. ;; KEYBOARD TYPES: XT, JR, AT
  509. ;; TABLE TYPE: Translate
  510. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  511. ;;
  512. DW COM_CTRL_K1_END-$ ;; length of state section
  513. DB CTRL_CASE ;; State ID
  514. DW XT_KB+JR_KB+AT_KB ;; Keyboard Type
  515. DB -1,-1 ;; Buffer entry for error character
  516. ;;
  517. DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
  518. DB TYPE_2_TAB ;; xlat options:
  519. DB 2 ;; number of entries
  520. DB 12,-1,-1 ;;
  521. DB 53,01FH,35h ;;
  522. COM_CTRL_K1_T1_END: ;;
  523. ;;
  524. DW 0 ;; Size of xlat table - null table
  525. ;;
  526. COM_CTRL_K1_END: ;;
  527. ;;
  528. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  529. ;; CODE PAGE: Common
  530. ;; STATE: Ctrl Case
  531. ;; KEYBOARD TYPES: G, P12
  532. ;; TABLE TYPE: Translate
  533. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  534. ;;
  535. DW COM_CTRL_K2_END-$ ;; length of state section
  536. DB CTRL_CASE ;; State ID
  537. DW G_KB+P12_KB ;; Keyboard Type
  538. DB -1,-1 ;; Buffer entry for error character
  539. ;;
  540. DW COM_CTRL_K2_T1_END-$ ;; Size of xlat table
  541. DB TYPE_2_TAB ;; xlat options:
  542. DB 8 ;; number of entries
  543. DB 9,01BH,09H ;;
  544. DB 10,01DH,0AH ;;
  545. DB 12,-1,-1 ;;
  546. DB 26,-1,-1 ;;
  547. DB 27,-1,-1 ;;
  548. DB 43,-1,-1 ;;
  549. DB 53,01FH,35H ;;
  550. DB 86,01CH,56H ;;
  551. COM_CTRL_K2_T1_END: ;;
  552. ;;
  553. DW 0 ;; Size of xlat table - null table
  554. ;;
  555. COM_CTRL_K2_END: ;;
  556. ;;
  557. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  558. ;; CODE PAGE: Common
  559. ;; STATE: Alpha Lower Case
  560. ;; KEYBOARD TYPES: All
  561. ;; TABLE TYPE: Translate
  562. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  563. ;;
  564. DW COM_AL_LO_END-$ ;; length of state section
  565. DB ALPHA_LOWER ;; State ID
  566. DW ANY_KB ;; Keyboard Type
  567. DB -1,-1 ;; Buffer entry for error character
  568. ;;
  569. DW COM_AL_LO_T1_END-$ ;; Size of xlat table
  570. DB STANDARD_TABLE ;; xlat options:
  571. DB 4 ;; number of entries
  572. DB 26,081H ;; u-diaeresis
  573. DB 27,0e4H ;; o-tilde
  574. DB 39,094H ;; o-diaeresis
  575. DB 40,084H ;; a-diaeresis
  576. COM_AL_LO_T1_END: ;;
  577. ;;
  578. DW 0 ;; Size of xlat table - null table
  579. ;;
  580. COM_AL_LO_END: ;;
  581. ;;
  582. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  583. ;; CODE PAGE: Common
  584. ;; STATE: Alpha Upper Case
  585. ;; KEYBOARD TYPES: All
  586. ;; TABLE TYPE: Translate
  587. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  588. ;;
  589. DW COM_AL_UP_END-$ ;; length of state section
  590. DB ALPHA_UPPER ;; State ID
  591. DW ANY_KB ;; Keyboard Type
  592. DB -1,-1 ;; Buffer entry for error character
  593. ;;
  594. DW COM_AL_UP_T1_END-$ ;; Size of xlat table
  595. DB STANDARD_TABLE ;; xlat options:
  596. DB 4 ;; number of entries
  597. DB 26,09aH ;; U-DIAERESIS
  598. DB 27,0e5H ;; O-Tilde
  599. DB 39,099H ;; A-DIAERESIS
  600. DB 40,08eH ;; O-DIAERESIS
  601. COM_AL_UP_T1_END: ;;
  602. ;;
  603. DW 0 ;; Size of xlat table - null table
  604. ;;
  605. COM_AL_UP_END: ;;
  606. ;;
  607. ;;
  608. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  609. ;; CODE PAGE: Common
  610. ;; STATE: Non-Alpha Lower Case
  611. ;; KEYBOARD TYPES: G + P12
  612. ;; TABLE TYPE: Translate
  613. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  614. ;;
  615. DW COM_NA_LO_K1_END-$ ;; length of state section
  616. DB NON_ALPHA_LOWER ;; State ID
  617. DW G_KB+P12_KB ;; Keyboard Type
  618. DB -1,-1 ;; Buffer entry for error character
  619. ;;
  620. DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
  621. DB STANDARD_TABLE ;; xlat options:
  622. DB 4 ;; number of entries
  623. DB 12,"+" ;; + INCLUDED FOR SIMPLIC.
  624. DB 43,"'" ;; '
  625. DB 86,"<" ;; <
  626. DB 53,"-" ;; -
  627. COM_NA_LO_K1_T1_END: ;;
  628. ;;
  629. DW 0 ;; Size of xlat table - null table
  630. ;;
  631. COM_NA_LO_K1_END: ;;
  632. ;;
  633. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  634. ;; CODE PAGE: Common
  635. ;; STATE: Non-Alpha Lower Case
  636. ;; KEYBOARD TYPES: XT + JR
  637. ;; TABLE TYPE: Translate
  638. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  639. ;;
  640. DW COM_NA_LO_K2_END-$ ;; length of state section
  641. DB NON_ALPHA_LOWER ;; State ID
  642. DW XT_KB+JR_KB ;; Keyboard Type
  643. DB -1,-1 ;; Buffer entry for error character
  644. ;;
  645. DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table
  646. DB STANDARD_TABLE ;; xlat options:
  647. DB 4 ;; number of entries
  648. DB 12,"+" ;; +
  649. DB 41,"'" ;; '
  650. DB 43,"<" ;; <
  651. DB 53,"-" ;; -
  652. COM_NA_LO_K2_T1_END: ;;
  653. ;;
  654. DW 0 ;; Size of xlat table - null table
  655. ;;
  656. COM_NA_LO_K2_END: ;;
  657. ;;
  658. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  659. ;; CODE PAGE: Common
  660. ;; STATE: Non-Alpha Lower Case
  661. ;; KEYBOARD TYPES: AT
  662. ;; TABLE TYPE: Translate
  663. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  664. ;;
  665. DW COM_NA_LO_K3_END-$ ;; length of state section
  666. DB NON_ALPHA_LOWER ;; State ID
  667. DW AT_KB ;; Keyboard Type
  668. DB -1,-1 ;; Buffer entry for error character
  669. ;;
  670. DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table
  671. DB STANDARD_TABLE ;; xlat options:
  672. DB 4 ;; number of entries
  673. DB 12,"+" ;; +
  674. DB 41,"<" ;; <
  675. DB 43,"'" ;; '
  676. DB 53,"-" ;; -
  677. COM_NA_LO_K3_T1_END: ;;
  678. ;;
  679. DW 0 ;; Size of xlat table - null table
  680. ;;
  681. COM_NA_LO_K3_END: ;;
  682. ;;
  683. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  684. ;; CODE PAGE: Common
  685. ;; STATE: Non-Alpha Upper Case
  686. ;; KEYBOARD TYPES: G + P12
  687. ;; TABLE TYPE: Translate
  688. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  689. ;;
  690. DW COM_NA_UP_K1_END-$ ;; length of state section
  691. DB NON_ALPHA_UPPER ;; State ID
  692. DW G_KB + P12_KB ;; Keyboard Type
  693. DB -1,-1 ;; Buffer entry for error character
  694. ;;
  695. DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
  696. DB STANDARD_TABLE ;; xlat options:
  697. DB 13 ;; number of entries
  698. DB 3,'"' ;;
  699. DB 7,'&' ;;
  700. DB 8,'/' ;;
  701. DB 9,'(' ;;
  702. DB 10,')' ;;
  703. DB 11,'=' ;;
  704. DB 12,'?' ;;
  705. DB 41,'�' ;;
  706. DB 43,'*' ;;
  707. DB 51,';' ;;
  708. DB 52,':' ;;
  709. DB 53,'_' ;;
  710. DB 86,'>' ;;
  711. COM_NA_UP_K1_T1_END: ;;
  712. ;;
  713. DW 0 ;; Size of xlat table - null table
  714. ;;
  715. COM_NA_UP_K1_END: ;;
  716. ;;
  717. ;;
  718. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  719. ;; CODE PAGE: Common
  720. ;; STATE: Non-Alpha Upper Case
  721. ;; KEYBOARD TYPES: XT + JR
  722. ;; TABLE TYPE: Translate
  723. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  724. ;;
  725. DW COM_NA_UP_K2_END-$ ;; length of state section
  726. DB NON_ALPHA_UPPER ;; State ID
  727. DW XT_KB + JR_KB ;; Keyboard Type
  728. DB -1,-1 ;; Buffer entry for error character
  729. ;;
  730. DW COM_NA_UP_K2_T1_END-$ ;; Size of xlat table
  731. DB STANDARD_TABLE ;; xlat options:
  732. DB 13 ;; number of entries
  733. DB 3,'"' ;;
  734. DB 4,09CH ;; POUND STERLING
  735. DB 7,'&' ;;
  736. DB 8,'/' ;;
  737. DB 9,'(' ;;
  738. DB 10,')' ;;
  739. DB 11,'=' ;;
  740. DB 12,'?' ;;
  741. DB 41,'*' ;;
  742. DB 43,'>' ;;
  743. DB 51,';' ;;
  744. DB 52,':' ;;
  745. DB 53,'_' ;;
  746. COM_NA_UP_K2_T1_END: ;;
  747. ;;
  748. DW 0 ;; Size of xlat table - null table
  749. ;;
  750. COM_NA_UP_K2_END: ;;
  751. ;;
  752. ;;
  753. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  754. ;; CODE PAGE: Common
  755. ;; STATE: Non-Alpha Upper Case
  756. ;; KEYBOARD TYPES: AT
  757. ;; TABLE TYPE: Translate
  758. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  759. ;;
  760. DW COM_NA_UP_K3_END-$ ;; length of state section
  761. DB NON_ALPHA_UPPER ;; State ID
  762. DW AT_KB ;; Keyboard Type
  763. DB -1,-1 ;; Buffer entry for error character
  764. ;;
  765. DW COM_NA_UP_K3_T1_END-$ ;; Size of xlat table
  766. DB STANDARD_TABLE ;; xlat options:
  767. DB 13 ;; number of entries
  768. DB 3,'"' ;;
  769. DB 4,09CH ;; POUND STERLING
  770. DB 7,'&' ;;
  771. DB 8,'/' ;;
  772. DB 9,'(' ;;
  773. DB 10,')' ;;
  774. DB 11,'=' ;;
  775. DB 12,'?' ;;
  776. DB 41,'>' ;;
  777. DB 43,'*' ;;
  778. DB 51,';' ;;
  779. DB 52,':' ;;
  780. DB 53,'_' ;;
  781. COM_NA_UP_K3_T1_END: ;;
  782. ;;
  783. DW 0 ;; Size of xlat table - null table
  784. ;;
  785. COM_NA_UP_K3_END: ;;
  786. ;;
  787. ;;
  788. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  789. ;; CODE PAGE: Common
  790. ;; STATE: Third Shift
  791. ;; KEYBOARD TYPES: G, P12
  792. ;; TABLE TYPE: Translate
  793. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  794. ;;
  795. DW COM_THIRD_END-$ ;; length of state section
  796. DB THIRD_SHIFT ;; State ID
  797. DW G_KB+P12_KB ;; Keyboard Type FERRARI
  798. DB -1,-1 ;; Buffer entry for error character
  799. ;;
  800. DW COM_THIRD_T1_END-$ ;; Size of xlat table
  801. DB STANDARD_TABLE ;; xlat options:
  802. DB 11 ;; number of entries
  803. DB 3,'@' ;;
  804. DB 4,09CH ;; �
  805. DB 5,'$' ;;
  806. DB 8,'{' ;;
  807. DB 9,'[' ;;
  808. DB 10,']' ;;
  809. DB 11,'}' ;;
  810. DB 12,'\' ;; Broken Vertical Line
  811. DB 01bH,0f5H ;; Section Sign
  812. DB 02bH,0abH ;; 1/2 sign
  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 0 ;; number of scans
  968. ; DB 18,089H ;; scan code,ASCII - e
  969. ; DB 22,0d7H ;; scan code,ASCII - u
  970. ; DB 23,'�' ;; scan code,ASCII - i
  971. ; DB 24,093H ;; scan code,ASCII - o
  972. ; DB 30,083H ;; 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 0 ;; number of scans
  1016. ; DB 18,0d2H ;; scan code,ASCII - e
  1017. ; DB 22,0d6H ;; scan code,ASCII - u
  1018. ; DB 23,0d4H ;; scan code,ASCII - i
  1019. ; DB 24,'�' ;; scan code,ASCII - o
  1020. ; DB 30,0d0H ;; scan code,ASCII - a
  1021. ; DB 031H,0ecH ;; scan code,ASCII - n
  1022. ; DB 022H,085H ;; scan code,ASCII - g
  1023. ; DB 025H,0e9H ;; scan code,ASCII - k
  1024. ; DB 026H,0ebH ;; scan code,ASCII - l
  1025. COM_CI_LO_T1_END: ;;
  1026. ;;
  1027. DW 0 ;;
  1028. ;;
  1029. COM_CI_LO_END: ;;
  1030. ;;
  1031. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1032. ;; CODE PAGE: Common
  1033. ;; STATE: Circumflex Space Bar
  1034. ;; KEYBOARD TYPES: All
  1035. ;; TABLE TYPE: Translate
  1036. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1037. ;;
  1038. DW COM_CI_SP_END-$ ;; length of state section
  1039. DB CIRCUMFLEX_SPACE ;; State ID
  1040. DW ANY_KB ;; Keyboard Type
  1041. DB 94,0 ;; error character = standalone accent
  1042. ;;
  1043. DW COM_CI_SP_T1_END-$ ;; Size of xlat table
  1044. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1045. DB 1 ;; number of scans
  1046. DB 57,94 ;; STANDALONE CIRCUMFLEX
  1047. COM_CI_SP_T1_END: ;;
  1048. ;;
  1049. DW 0 ;; Size of xlat table - null table
  1050. ;;
  1051. COM_CI_SP_END: ;; length of state section
  1052. ;;
  1053. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1054. ;; CODE PAGE: Common
  1055. ;; STATE: Tilde Lower
  1056. ;; KEYBOARD TYPES: All
  1057. ;; TABLE TYPE: Translate
  1058. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1059. ;;
  1060. DW COM_TI_LO_END-$ ;; length of state section
  1061. DB TILDE_LOWER ;; State ID
  1062. DW ANY_KB ;; Keyboard Type
  1063. DB 07EH,0 ;; error character = standalone accent
  1064. ;;
  1065. DW COM_TI_LO_T1_END-$ ;; Size of xlat table
  1066. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1067. DB 1 ;; number of scans
  1068. DB 49,0e4H ;; o-tilde
  1069. COM_TI_LO_T1_END: ;;
  1070. ;;
  1071. DW 0 ;;
  1072. ;;
  1073. COM_TI_LO_END: ;;
  1074. ;;
  1075. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1076. ;;; CODE PAGE: Common
  1077. ;;; STATE: Tilde Upper Case
  1078. ;;; KEYBOARD TYPES: All
  1079. ;;; TABLE TYPE: Translate
  1080. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1081. ;;
  1082. DW COM_TI_UP_END-$ ;; length of state section
  1083. DB TILDE_UPPER ;; State ID
  1084. DW ANY_KB ;; Keyboard Type
  1085. DB 07EH,0 ;; error character = standalone accent
  1086. ;;
  1087. DW COM_TI_UP_T1_END-$ ;; Size of xlat table
  1088. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1089. DB 1 ;; number of scans
  1090. DB 49,0e5H ;; O-tilde
  1091. COM_TI_UP_T1_END: ;;
  1092. ;;
  1093. DW 0 ;; Size of xlat table - null table
  1094. ;;
  1095. COM_TI_UP_END: ;; length of state section
  1096. ;;
  1097. ;;
  1098. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1099. ;; CODE PAGE: Common
  1100. ;; STATE: Tilde Space Bar
  1101. ;; KEYBOARD TYPES: All
  1102. ;; TABLE TYPE: Translate
  1103. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1104. ;;
  1105. DW COM_TI_SP_END-$ ;; length of state section
  1106. DB TILDE_SPACE ;; State ID
  1107. DW ANY_KB ;; Keyboard Type
  1108. DB 07EH,0 ;; error character = standalone accent
  1109. ;;
  1110. DW COM_TI_SP_T1_END-$ ;; Size of xlat table
  1111. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1112. DB 1 ;; number of scans
  1113. DB 57,07EH ;; STANDALONE TILDE
  1114. COM_TI_SP_T1_END: ;;
  1115. ;;
  1116. DW 0 ;; Size of xlat table - null table
  1117. ;;
  1118. COM_TI_SP_END: ;; length of state section
  1119. ;;
  1120. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1121. DW 0 ;; Last State
  1122. COMMON_XLAT_END: ;;
  1123. ;;
  1124. ;;
  1125. ;;
  1126. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1127. ;;***************************************
  1128. ;; ET Specific Translate Section for 775
  1129. ;;***************************************
  1130. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1131. ;;
  1132. PUBLIC ET_775_XLAT ;;
  1133. ET_775_XLAT: ;;
  1134. ;;
  1135. DW CP775_XLAT_END-$ ;; length of section
  1136. DW 775 ;;
  1137. ;;
  1138. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1139. ;; CODE PAGE: 775
  1140. ;; STATE: Non-Alpha Upper Case
  1141. ;; KEYBOARD TYPES: G, P12
  1142. ;; TABLE TYPE: Translate
  1143. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1144. ;;
  1145. DW CP775_NA_UP_END-$ ;; length of state section
  1146. DB NON_ALPHA_UPPER ;; State ID
  1147. DW G_KB+P12_KB ;; Keyboard Type
  1148. DB -1,-1 ;; Buffer entry for error character
  1149. ;;
  1150. DW CP775_NA_UP_T1_END-$ ;; Size of xlat table
  1151. DB STANDARD_TABLE ;; xlat options:
  1152. DB 1 ;; number of entries
  1153. DB 5,09fH ;; International Currency Symb
  1154. CP775_NA_UP_T1_END: ;;
  1155. ;;
  1156. DW 0 ;; Size of xlat table - null table
  1157. ;;
  1158. CP775_NA_UP_END: ;;
  1159. ;;
  1160. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1161. ;; CODE PAGE: 775
  1162. ;; STATE: Non-Alpha Lower Case
  1163. ;; KEYBOARD TYPES: G, P12
  1164. ;; TABLE TYPE: Translate
  1165. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1166. ;;
  1167. ; DW CP775_NA_K1_LO_END-$ ;; length of state section
  1168. ; DB NON_ALPHA_LOWER ;; State ID
  1169. ; DW G_KB+P12_KB ;; Keyboard Type
  1170. ; DB -1,-1 ;; Buffer entry for error character
  1171. ;;
  1172. ; DW CP775_NA_LO_K1_T1_END-$ ;; Size of xlat table
  1173. ; DB STANDARD_TABLE ;; xlat options:
  1174. ; DB 0 ;; number of entries
  1175. ; DB 41,015H ;; SECTION Symb
  1176. ;CP775_NA_LO_K1_T1_END: ;;
  1177. ;;
  1178. ; DW 0 ;; Size of xlat table - null table
  1179. ;;
  1180. ;CP775_NA_K1_LO_END: ;;
  1181. ;;
  1182. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1183. ;; CODE PAGE: 775
  1184. ;; STATE: THIRD_SHIFT
  1185. ;; KEYBOARD TYPES: ALL
  1186. ;; TABLE TYPE: Translate
  1187. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1188. ;;
  1189. DW CP775_THIRD_END-$ ;; length of state section
  1190. DB THIRD_SHIFT ;; State ID
  1191. DW ANY_KB ;; Keyboard Type
  1192. DB -1,-1 ;; Buffer entry for error character
  1193. ;;
  1194. DW CP775_THIRD_T1_END-$ ;; Size of xlat table
  1195. DB STANDARD_TABLE ;; xlat options:
  1196. DB 2 ;; number of entries
  1197. DB 01fH,0d5H ;; s-caron
  1198. DB 02cH,0d8H ;; z-caron
  1199. CP775_THIRD_T1_END: ;;
  1200. ;;
  1201. DW 0 ;; Size of xlat table - null table
  1202. ;;
  1203. CP775_THIRD_END: ;;
  1204. ;;
  1205. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1206. ;; CODE PAGE: 775
  1207. ;; STATE: Fourth Shift (ALTERNATE+SHIFT)
  1208. ;; KEYBOARD TYPES: ALL
  1209. ;; TABLE TYPE: Translate
  1210. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1211. ;;
  1212. DW CP775_FOURTH_END-$ ;; length of state section
  1213. DB FOURTH_SHIFT ;; State ID
  1214. DW ANY_KB ;; Keyboard Type
  1215. DB -1,-1 ;; Buffer entry for error character
  1216. ;;
  1217. DW CP775_FOURTH_T1_END-$ ;; Size of xlat table
  1218. DB STANDARD_TABLE ;; xlat options:
  1219. DB 2 ;; number of entries
  1220. DB 01fH,0beH ;; S-caron
  1221. DB 02cH,0cfH ;; Z-caron
  1222. CP775_FOURTH_T1_END: ;;
  1223. ;;
  1224. DW 0 ;; Size of xlat table - null table
  1225. ;;
  1226. CP775_FOURTH_END: ;;
  1227. ;;
  1228. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1229. ;; CODE PAGE: 775
  1230. ;; STATE: Grave Lower Case
  1231. ;; KEYBOARD TYPES: All
  1232. ;; TABLE TYPE: Translate
  1233. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1234. ;;
  1235. DW CP775_GR_LO_END-$ ;; length of state section
  1236. DB GRAVE_LOWER ;; State ID
  1237. DW ANY_KB ;; Keyboard Type
  1238. DB 060H,0 ;; error character = standalone accent
  1239. ;;
  1240. DW CP775_GR_LO_T1_END-$ ;; Size of xlat table
  1241. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1242. DB 4 ;; number of scans
  1243. DB 012H,089H ;; e-macron
  1244. DB 016H,0d7H ;; u-macron
  1245. DB 018H,093H ;; o-macron
  1246. DB 01eH,083H ;; a-macron
  1247. CP775_GR_LO_T1_END: ;;
  1248. ;;
  1249. DW 0 ;; Size of xlat table - null table
  1250. ;;
  1251. CP775_GR_LO_END: ;;
  1252. ;;
  1253. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1254. ;; CODE PAGE: 775
  1255. ;; STATE: Grave Upper Case
  1256. ;; KEYBOARD TYPES: All
  1257. ;; TABLE TYPE: Translate
  1258. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1259. ;;
  1260. DW CP775_GR_UP_END-$ ;; length of state section
  1261. DB GRAVE_UPPER ;; State ID
  1262. DW ANY_KB ;; Keyboard Type
  1263. DB 060H,0 ;; error character = standalone accent
  1264. ;;
  1265. DW CP775_GR_UP_T1_END-$ ;; Size of xlat table
  1266. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1267. DB 4 ;; number of scans
  1268. DB 012H,0edH ;; E-macron
  1269. DB 016H,0c7H ;; U-macron
  1270. DB 018H,0e2H ;; O-macron
  1271. DB 01eH,0a0H ;; A-macron
  1272. CP775_GR_UP_T1_END: ;;
  1273. ;;
  1274. DW 0 ;; Size of xlat table - null table
  1275. ;;
  1276. CP775_GR_UP_END: ;;
  1277. ;;
  1278. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1279. ;; CODE PAGE: 775
  1280. ;; STATE: Acute Lower Case
  1281. ;; KEYBOARD TYPES: All
  1282. ;; TABLE TYPE: Translate
  1283. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1284. ;;
  1285. DW CP775_AC_LO_END-$ ;; length of state section
  1286. DB ACUTE_LOWER ;; State ID
  1287. DW ANY_KB ;; Keyboard Type
  1288. DB 39,0 ;; error character = standalone accent
  1289. ;;
  1290. DW CP775_AC_LO_T1_END-$ ;; Size of xlat table
  1291. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1292. DB 6 ;; number of scans
  1293. DB 18,082H ;; e-acute
  1294. DB 24,0a2H ;; o-acute
  1295. DB 031H,0e7H ;; n-acute
  1296. DB 02eH,087H ;; c-acute
  1297. DB 01fH,098H ;; s-acute
  1298. DB 02cH,0a5H ;; z-acute
  1299. CP775_AC_LO_T1_END: ;;
  1300. ;;
  1301. DW 0 ;; Size of xlat table - null table
  1302. ;;
  1303. CP775_AC_LO_END: ;;
  1304. ;;
  1305. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1306. ;; CODE PAGE: 775
  1307. ;; STATE: Acute Upper Case
  1308. ;; KEYBOARD TYPES: All
  1309. ;; TABLE TYPE: Translate
  1310. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1311. ;;
  1312. DW CP775_AC_UP_END-$ ;; length of state section
  1313. DB ACUTE_UPPER ;; State ID
  1314. DW ANY_KB ;; Keyboard Type
  1315. DB 39,0 ;; error character = standalone accent
  1316. ;;
  1317. DW CP775_AC_UP_T1_END-$ ;; Size of xlat table
  1318. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1319. DB 6 ;; number of scans
  1320. DB 18,090H ;; E-acute
  1321. DB 24,0e0H ;; O-acute
  1322. DB 031H,0e3H ;; N-acute
  1323. DB 02eH,080H ;; C-acute
  1324. DB 01fH,097H ;; S-acute
  1325. DB 02cH,08dH ;; Z-acute
  1326. CP775_AC_UP_T1_END: ;;
  1327. ;;
  1328. DW 0 ;; Size of xlat table - null table
  1329. ;;
  1330. CP775_AC_UP_END: ;;
  1331. ;;
  1332. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1333. ;; CODE PAGE: 775
  1334. ;; STATE: Acute Space Bar
  1335. ;; KEYBOARD TYPES: All
  1336. ;; TABLE TYPE: Translate
  1337. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1338. ;;
  1339. DW CP775_AC_SP_END-$ ;; length of state section
  1340. DB ACUTE_SPACE ;; State ID
  1341. DW ANY_KB ;; Keyboard Type
  1342. DB 39,0 ;; error character = standalone accent
  1343. ;;
  1344. DW CP775_AC_SP_T1_END-$ ;; Size of xlat table
  1345. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1346. DB 1 ;; number of scans
  1347. DB 57,39 ;; scan code,ASCII - SPACE
  1348. CP775_AC_SP_T1_END: ;;
  1349. ;;
  1350. DW 0 ;; Size of xlat table - null table
  1351. ;;
  1352. CP775_AC_SP_END: ;;
  1353. ;;
  1354. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1355. ;; CODE PAGE: 775
  1356. ;; STATE: Circumflex Lower Case
  1357. ;; KEYBOARD TYPES: All
  1358. ;; TABLE TYPE: Translate
  1359. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1360. ;;
  1361. DW CP775_CI_LO_END-$ ;; length of state section
  1362. DB CIRCUMFLEX_LOWER ;; State ID
  1363. DW ANY_KB ;; Keyboard Type
  1364. DB 05eH,0 ;; error character = standalone accent
  1365. ;;
  1366. DW CP775_CI_LO_T1_END-$ ;; Size of xlat table
  1367. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1368. DB 8 ;; number of scans
  1369. DB 012H,0d2H ;; e-ogonek
  1370. DB 016H,0d6H ;; u-ogonek
  1371. DB 017H,0d4H ;; i-ogonek
  1372. DB 01eH,0d0H ;; a-ogonek
  1373. DB 022H,085H ;; g-Cedilla
  1374. DB 025H,0e9H ;; k-Cedilla
  1375. DB 026H,0ebH ;; l-Cedilla
  1376. DB 031H,0ecH ;; n-Cedilla
  1377. CP775_CI_LO_T1_END: ;;
  1378. ;;
  1379. DW 0 ;; Size of xlat table - null table
  1380. ;;
  1381. CP775_CI_LO_END: ;;
  1382. ;;
  1383. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1384. ;; CODE PAGE: 775
  1385. ;; STATE: Circumflex Upper Case
  1386. ;; KEYBOARD TYPES: All
  1387. ;; TABLE TYPE: Translate
  1388. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1389. ;;
  1390. DW CP775_CI_UP_END-$ ;; length of state section
  1391. DB CIRCUMFLEX_UPPER ;; State ID
  1392. DW ANY_KB ;; Keyboard Type
  1393. DB 05eH,0 ;; error character = standalone accent
  1394. ;;
  1395. DW CP775_CI_UP_T1_END-$ ;; Size of xlat table
  1396. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1397. DB 8 ;; number of scans
  1398. DB 012H,0b7H ;; E-ogonek
  1399. DB 016H,0c6H ;; U-ogonek
  1400. DB 017H,0bdH ;; I-ogonek
  1401. DB 01eH,0b5H ;; A-ogonek
  1402. DB 022H,095H ;; G-Cedilla
  1403. DB 025H,0e8H ;; K-Cedilla
  1404. DB 026H,0eaH ;; L-Cedilla
  1405. DB 031H,0eeH ;; N-Cedilla
  1406. CP775_CI_UP_T1_END: ;;
  1407. ;;
  1408. DW 0 ;; Size of xlat table - null table
  1409. ;;
  1410. CP775_CI_UP_END: ;;
  1411. ;;
  1412. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1413. ;; CODE PAGE: CP775
  1414. ;; STATE: Caron Lower Case
  1415. ;; KEYBOARD TYPES: All
  1416. ;; TABLE TYPE: Translate
  1417. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1418. ;;
  1419. DW CP775_DI_LO_END-$ ;; length of state section
  1420. DB CARON_LOWER ;; State ID
  1421. DW ANY_KB ;; Keyboard Type
  1422. DB 05eH,0 ;; error character = standalone accent
  1423. ;;
  1424. DW CP775_DI_LO_T1_END-$ ;; Size of xlat table
  1425. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1426. DB 3 ;; number of scans
  1427. DB 01fH,0d5H ;; s-caron
  1428. DB 02eH,0d1H ;; c-caron
  1429. DB 02cH,0d8H ;; z-caron
  1430. CP775_DI_LO_T1_END: ;;
  1431. ;;
  1432. DW 0 ;; Size of xlat table - null table
  1433. ;;
  1434. CP775_DI_LO_END: ;; length of state section
  1435. ;;
  1436. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1437. ;; CODE PAGE: CP775
  1438. ;; STATE: Caron Upper Case
  1439. ;; KEYBOARD TYPES: All
  1440. ;; TABLE TYPE: Translate
  1441. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1442. ;;
  1443. DW CP775_DI_UP_END-$ ;; length of state section
  1444. DB CARON_UPPER ;; State ID
  1445. DW ANY_KB ;; Keyboard Type
  1446. DB 05eH,0 ;; error character = standalone accent
  1447. ;;
  1448. DW CP775_DI_UP_T1_END-$ ;; Size of xlat table
  1449. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1450. DB 3 ;; number of scans
  1451. DB 01fH,0beH ;; S-caron
  1452. DB 02eH,0b6H ;; C-caron
  1453. DB 02cH,0cfH ;; Z-caron
  1454. CP775_DI_UP_T1_END: ;;
  1455. ;;
  1456. DW 0 ;; Size of xlat table - null table
  1457. ;;
  1458. CP775_DI_UP_END: ;; length of state section
  1459. ;;
  1460. ;;
  1461. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1462. ;; CODE PAGE: 775
  1463. ;; STATE: Caron Space Bar
  1464. ;; KEYBOARD TYPES: All
  1465. ;; TABLE TYPE: Translate
  1466. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1467. ; ;;
  1468. DW CP775_DI_SP_END-$ ;; length of state section
  1469. DB CARON_SPACE ;; State ID
  1470. DW ANY_KB ;; Keyboard Type
  1471. DB 05eH,0 ;; error character = standalone accent
  1472. ;;
  1473. DW CP775_DI_SP_T1_END-$ ;; Size of xlat table
  1474. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1475. DB 1 ;; number of scans
  1476. DB 57,05eH ;; error character = standalone accent
  1477. CP775_DI_SP_T1_END: ;;
  1478. ;;
  1479. DW 0 ;; Size of xlat table - null table
  1480. CP775_DI_SP_END: ;; length of state section
  1481. ;;
  1482. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1483. ;;
  1484. DW 0 ;; LAST STATE
  1485. ;;
  1486. CP775_XLAT_END: ;;
  1487. ;;
  1488. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1489. ;;***************************************
  1490. ;; ET Specific Translate Section for 850
  1491. ;;***************************************
  1492. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1493. ;;
  1494. PUBLIC ET_850_XLAT ;;
  1495. ET_850_XLAT: ;;
  1496. ;;
  1497. DW CP850_XLAT_END-$ ;; length of section
  1498. DW 850 ;;
  1499. ;;
  1500. ;;
  1501. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1502. ;; CODE PAGE: 850
  1503. ;; STATE: Numeric Pad - Divide Sign
  1504. ;; KEYBOARD TYPES: G, P12
  1505. ;; TABLE TYPE: Translate
  1506. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1507. ; ;;
  1508. ; DW CP850_DIVID_END-$ ;; length of state section
  1509. ; DB DIVIDE_SIGN ;; State ID
  1510. ; DW G_KB+P12_KB ;; Keyboard Type
  1511. ; DB -1,-1 ;; error character = standalone accent
  1512. ; ;;
  1513. ; DW CP850_DIVID_T1_END-$ ;; Size of xlat table
  1514. ; DB TYPE_2_TAB ;; xlat options:
  1515. ; DB 0 ;; number of scans
  1516. ; DB 0E0H,0F6H,0E0H ;; DIVIDE SIGN omitted sv/su
  1517. ; DB 53,0F6H,0E0H ;; has decidied to stick with U.S.
  1518. ; DB 0E0H,09eH,0E0H ;; standards in order to use BASIC
  1519. ; DB 55,09eH,0E0H ;;
  1520. ;CP850_DIVID_T1_END: ;;
  1521. ; ;;
  1522. ; DW 0 ;; Size of xlat table - null table
  1523. ; ;;
  1524. ;CP850_DIVID_END: ;;
  1525. ; ;;
  1526. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1527. ;; CODE PAGE: 850
  1528. ;; STATE: Numeric Key Pad - Multiplication
  1529. ;; KEYBOARD TYPES: G, P12
  1530. ;; TABLE TYPE: Translate
  1531. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1532. ; ;;
  1533. ; DW CP850_PAD_K1_END-$ ;; length of state section
  1534. ; DB NUMERIC_PAD ;; State ID
  1535. ; DW G_KB+P12_KB ;; Keyboard Type
  1536. ; DB -1,-1 ;; Buffer entry for error character
  1537. ; ;;
  1538. ; DW CP850_PAD_K1_T1_END-$ ;; Size of xlat table
  1539. ; DB STANDARD_TABLE ;; xlat options:
  1540. ; DB 0 ;; number of entries
  1541. ; DB 55,09eH (moved *** CNS ****) ;; MULTIPLICATION SIGN
  1542. ;CP850_PAD_K1_T1_END: ;;
  1543. ; ;;
  1544. ; DW 0 ;; Size of xlat table - null table
  1545. ; ;;
  1546. ;CP850_PAD_K1_END: ;;
  1547. ; ;;
  1548. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1549. ;; CODE PAGE: 850
  1550. ;; STATE: Non-Alpha Upper Case
  1551. ;; KEYBOARD TYPES: G, P12
  1552. ;; TABLE TYPE: Translate
  1553. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1554. ;;
  1555. DW CP850_NA_UP_END-$ ;; length of state section
  1556. DB NON_ALPHA_UPPER ;; State ID
  1557. DW G_KB+P12_KB ;; Keyboard Type *** CNS 12/18
  1558. DB -1,-1 ;; Buffer entry for error character
  1559. ;;
  1560. DW CP850_NA_UP_T1_END-$ ;; Size of xlat table
  1561. DB STANDARD_TABLE ;; xlat options:
  1562. DB 1 ;; number of entries
  1563. DB 5,0CFH ;; International Currency Symb
  1564. CP850_NA_UP_T1_END: ;;
  1565. ;;
  1566. DW 0 ;; Size of xlat table - null table
  1567. ;;
  1568. CP850_NA_UP_END: ;;
  1569. ;;
  1570. ;;
  1571. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1572. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1573. ;; CODE PAGE: 850
  1574. ;; STATE: Non-Alpha Lower Case
  1575. ;; KEYBOARD TYPES: G, P12
  1576. ;; TABLE TYPE: Translate
  1577. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1578. ; ;;
  1579. ; DW CP850_NA_K1_LO_END-$ ;; length of state section
  1580. ; DB NON_ALPHA_LOWER ;; State ID
  1581. ; DW G_KB+P12_KB ;; Keyboard Type
  1582. ; DB -1,-1 ;; Buffer entry for error character
  1583. ; ;;
  1584. ; DW CP850_NA_LO_K1_T1_END-$ ;; Size of xlat table
  1585. ; DB STANDARD_TABLE ;; xlat options:
  1586. ; DB 0 ;; number of entries
  1587. ; DB 41,0F5H ;; SECTION Symb
  1588. ;CP850_NA_LO_K1_T1_END: ;;
  1589. ; ;;
  1590. ; DW 0 ;; Size of xlat table - null table
  1591. ; ;;
  1592. ;CP850_NA_K1_LO_END: ;;
  1593. ; ;;
  1594. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1595. ;; CODE PAGE: 850
  1596. ;; STATE: Acute Lower Case
  1597. ;; KEYBOARD TYPES: All
  1598. ;; TABLE TYPE: Translate
  1599. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1600. ;;
  1601. DW CP850_AC_LO_END-$ ;; length of state section
  1602. DB ACUTE_LOWER ;; State ID
  1603. DW ANY_KB ;; Keyboard Type
  1604. DB 239,0 ;; error character = standalone accent
  1605. ;;
  1606. DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
  1607. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1608. DB 6 ;; number of entries
  1609. DB 18,082H ;; e acute
  1610. DB 21,0ecH ;; y acute
  1611. DB 22,0a3H ;; u acute
  1612. DB 23,0a1H ;; i acute
  1613. DB 24,0a2H ;; o acute
  1614. DB 30,0a0H ;; a acute
  1615. CP850_AC_LO_T1_END: ;;
  1616. ;;
  1617. DW 0 ;; Size of xlat table - null table
  1618. ;;
  1619. CP850_AC_LO_END: ;;
  1620. ;;
  1621. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1622. ;; CODE PAGE: 850
  1623. ;; STATE: Acute Upper Case
  1624. ;; KEYBOARD TYPES: All
  1625. ;; TABLE TYPE: Translate
  1626. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1627. ;;
  1628. DW CP850_AC_UP_END-$ ;; length of state section
  1629. DB ACUTE_UPPER ;; State ID
  1630. DW ANY_KB ;; Keyboard Type
  1631. DB 239,0 ;; error character = standalone accent
  1632. ;;
  1633. DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
  1634. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1635. DB 6 ;; number of entries
  1636. DB 18,090H ;; E acute
  1637. DB 21,0EDH ;; Y acute
  1638. DB 22,0E9H ;; U acute
  1639. DB 23,0D6H ;; I acute
  1640. DB 24,0E0H ;; O acute
  1641. DB 30,0B5H ;; A acute
  1642. CP850_AC_UP_T1_END: ;;
  1643. ;;
  1644. DW 0 ;; Size of xlat table - null table
  1645. ;;
  1646. CP850_AC_UP_END: ;;
  1647. ;;
  1648. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1649. ;; CODE PAGE: 850
  1650. ;; STATE: Acute Space Bar
  1651. ;; KEYBOARD TYPES: All
  1652. ;; TABLE TYPE: Translate
  1653. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1654. ;;
  1655. DW CP850_AC_SP_END-$ ;; length of state section
  1656. DB ACUTE_SPACE ;; State ID
  1657. DW ANY_KB ;; Keyboard Type
  1658. DB 239,0 ;; error character = standalone accent
  1659. ;;
  1660. DW CP850_AC_SP_T1_END-$ ;; Size of xlat table
  1661. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1662. DB 1 ;; number of scans
  1663. DB 57,239 ;; scan code,ASCII - SPACE
  1664. CP850_AC_SP_T1_END: ;;
  1665. ;;
  1666. DW 0 ;; Size of xlat table - null table
  1667. ;;
  1668. CP850_AC_SP_END: ;;
  1669. ;;
  1670. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1671. ;; CODE PAGE: 850
  1672. ;; STATE: Grave Lower
  1673. ;; KEYBOARD TYPES: All
  1674. ;; TABLE TYPE: Translate
  1675. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1676. ;;
  1677. DW CP850_GR_LO_END-$ ;; length of state section
  1678. DB GRAVE_LOWER ;; State ID
  1679. DW ANY_KB ;; Keyboard Type
  1680. DB 96,0 ;; error character = standalone accent
  1681. ;;
  1682. DW CP850_GR_LO_T1_END-$ ;; Size of xlat table
  1683. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1684. DB 5 ;; number of scans
  1685. DB 012H,08aH ;; e-grave
  1686. DB 016H,097H ;; u-grave
  1687. DB 017H,08dH ;; i-grave
  1688. DB 018H,095H ;; o-grave
  1689. DB 01fH,085H ;; a-grave
  1690. CP850_GR_LO_T1_END: ;;
  1691. ;;
  1692. DW 0 ;; Size of xlat table - null table
  1693. ;;
  1694. CP850_GR_LO_END: ;; length of state section
  1695. ;;
  1696. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1697. ;; CODE PAGE: 850
  1698. ;; STATE: Grave Upper
  1699. ;; KEYBOARD TYPES: All
  1700. ;; TABLE TYPE: Translate
  1701. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1702. ;;
  1703. DW CP850_GR_UP_END-$ ;; length of state section
  1704. DB GRAVE_UPPER ;; State ID
  1705. DW ANY_KB ;; Keyboard Type
  1706. DB 96,0 ;; error character = standalone accent
  1707. ;;
  1708. DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
  1709. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1710. DB 5 ;; number of scans
  1711. DB 012H,0d4H ;; e-grave
  1712. DB 016H,0ebH ;; u-grave
  1713. DB 017H,0deH ;; i-grave
  1714. DB 018H,0e3H ;; o-grave
  1715. DB 01fH,0b7H ;; a-grave
  1716. CP850_GR_UP_T1_END: ;;
  1717. ;;
  1718. DW 0 ;; Size of xlat table - null table
  1719. ;;
  1720. CP850_GR_UP_END: ;; length of state section
  1721. ;;
  1722. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1723. ;; CODE PAGE: 850
  1724. ;; STATE: Tilde Lower
  1725. ;; KEYBOARD TYPES: All
  1726. ;; TABLE TYPE: Translate
  1727. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1728. ;;
  1729. DW CP850_TI_LO_END-$ ;; length of state section
  1730. DB TILDE_LOWER ;; State ID
  1731. DW ANY_KB ;; Keyboard Type
  1732. DB 07EH,0 ;; error character = standalone accent
  1733. ;;
  1734. DW CP850_TI_LO_T1_END-$ ;; Size of xlat table
  1735. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1736. DB 3 ;; number of scans
  1737. DB 24,0E4H ;; scan code,ASCII - o tilde
  1738. DB 30,0C6H ;; scan code,ASCII - a tilde
  1739. DB 031H,0a4H ;; scan code,ASCII - n tilde
  1740. CP850_TI_LO_T1_END: ;;
  1741. ;;
  1742. DW 0 ;;
  1743. ;;
  1744. CP850_TI_LO_END: ;;
  1745. ;;
  1746. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1747. ;;; CODE PAGE: 850
  1748. ;;; STATE: Tilde Upper Case
  1749. ;;; KEYBOARD TYPES: All
  1750. ;;; TABLE TYPE: Translate
  1751. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1752. ;;
  1753. DW CP850_TI_UP_END-$ ;; length of state section
  1754. DB TILDE_UPPER ;; State ID
  1755. DW ANY_KB ;; Keyboard Type
  1756. DB 07EH,0 ;; error character = standalone accent
  1757. ;;
  1758. DW CP850_TI_UP_T1_END-$ ;; Size of xlat table
  1759. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1760. DB 3 ;; number of scans
  1761. DB 24,0E5H ;; scan code,ASCII - o tilde
  1762. DB 30,0C7H ;; scan code,ASCII - a tilde
  1763. DB 031H,0a5H ;; scan code,ASCII - n tilde
  1764. CP850_TI_UP_T1_END: ;;
  1765. ;;
  1766. DW 0 ;; Size of xlat table - null table
  1767. ;;
  1768. CP850_TI_UP_END: ;; length of state section
  1769. ;;
  1770. ;;
  1771. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1772. ;; CODE PAGE: 850
  1773. ;; STATE: Circumflex Lower
  1774. ;; KEYBOARD TYPES: All
  1775. ;; TABLE TYPE: Translate
  1776. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1777. ;;
  1778. DW CP850_CI_LO_END-$ ;; length of state section
  1779. DB CIRCUMFLEX_LOWER ;; State ID
  1780. DW ANY_KB ;; Keyboard Type
  1781. DB 94,0 ;; error character = standalone accent
  1782. ;;
  1783. DW CP850_CI_LO_T1_END-$ ;; Size of xlat table
  1784. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1785. DB 5 ;; number of scans
  1786. DB 18,088H ;; e circumflex
  1787. DB 22,096H ;; u circumflex
  1788. DB 23,08cH ;; i circumflex
  1789. DB 24,093H ;; o circumflex
  1790. DB 30,083H ;; a circumflex
  1791. CP850_CI_LO_T1_END: ;;
  1792. ;;
  1793. DW 0 ;; Size of xlat table - null table
  1794. ;;
  1795. CP850_CI_LO_END: ;; length of state section
  1796. ;;
  1797. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1798. ;; CODE PAGE: 850
  1799. ;; STATE: Circumflex Upper
  1800. ;; KEYBOARD TYPES: All
  1801. ;; TABLE TYPE: Translate
  1802. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1803. ;;
  1804. DW CP850_CI_UP_END-$ ;; length of state section
  1805. DB CIRCUMFLEX_UPPER ;; State ID
  1806. DW ANY_KB ;; Keyboard Type
  1807. DB 94,0 ;; error character = standalone accent
  1808. ;;
  1809. DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
  1810. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1811. DB 5 ;; number of scans
  1812. DB 18,0D2H ;; E circumflex
  1813. DB 22,0EAH ;; U circumflex
  1814. DB 23,0D7H ;; I circumflex
  1815. DB 24,0E2H ;; O circumflex
  1816. DB 30,0B6H ;; A circumflex
  1817. CP850_CI_UP_T1_END: ;;
  1818. ;;
  1819. DW 0 ;; Size of xlat table - null table
  1820. ;;
  1821. CP850_CI_UP_END: ;; length of state section
  1822. ;;
  1823. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1824. ;;
  1825. DW 0 ;; LAST STATE
  1826. ;;
  1827. CP850_XLAT_END: ;;
  1828. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1829. ;;
  1830. CODE ENDS ;;
  1831. END ;;
  1832.