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.

1836 lines
64 KiB

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