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.

1410 lines
47 KiB

  1. PAGE ,132
  2. TITLE PC DOS 3.3 Keyboard Definition File
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;; PC DOS 3.3 - NLS Support - Keyboard Defintion File
  5. ;; (c) Copyright IBM Corp 1986,1987
  6. ;;
  7. ;; This file contains the keyboard tables for Turkey
  8. ;;
  9. ;; Linkage Instructions:
  10. ;; Refer to KDF.ASM.
  11. ;;
  12. ;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986
  13. ;; modded : DTF 18-Sep-86
  14. ;; Corrected and Updated - Yucel Egecioglu - 6/4/87
  15. ;; Corrected and Modified - MJS 12/6/87
  16. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. ;;
  18. INCLUDE KEYBSHAR.INC ;;
  19. INCLUDE POSTEQU.INC ;;
  20. INCLUDE KEYBMAC.INC ;;
  21. ;;
  22. PUBLIC TR_LOGIC ;;
  23. PUBLIC TR_850_XLAT ;;
  24. PUBLIC TR_857_XLAT ;;
  25. ;;
  26. CODE SEGMENT PUBLIC 'CODE' ;;
  27. ASSUME CS:CODE,DS:CODE ;;
  28. ;;
  29. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  30. ;; Standard translate table options are a linear search table
  31. ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  32. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  33. ;;
  34. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  35. ;;
  36. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  37. ;; TR State Logic
  38. ;;***************************************
  39. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  40. ;;
  41. TR_LOGIC:
  42. DW LOGIC_END-$ ;; length
  43. ;;
  44. DW 0 ;; special features
  45. ;;
  46. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
  47. ;; OPTIONS: If we find a scan match in
  48. ;; an XLATT or SET_FLAG operation then
  49. ;; exit from INT 9.
  50. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  51. ;;
  52. OPTION EXIT_IF_FOUND ;;
  53. ;;
  54. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  55. ;; Dead key definitions must come before
  56. ;; dead key translations to handle
  57. ;; dead key + dead key.
  58. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  59. IFKBD G_KB+P12_KB ;; ONLY VALID FOR ENHANCED KB
  60. ;;
  61. IFF EITHER_CTL,NOT ;;
  62. IFF EITHER_ALT,NOT ;;
  63. IFF EITHER_SHIFT ;;
  64. SET_FLAG DEAD_UPPER ;;
  65. ELSEF ;;
  66. SET_FLAG DEAD_LOWER ;;
  67. ENDIFF ;;
  68. ELSEF ;;
  69. IFF R_ALT_SHIFT ;;
  70. ANDF EITHER_SHIFT,NOT ;;
  71. SET_FLAG DEAD_THIRD ;;
  72. ENDIFF ;;
  73. ENDIFF ;;
  74. ENDIFF ;;
  75. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  76. ;IFKBD P12_KB+G_KB ;;
  77. ; IFF EITHER_ALT,NOT ;;
  78. ; ANDF EITHER_CTL,NOT ;;
  79. ; IFF EITHER_SHIFT ;;
  80. ; SET_FLAG DEAD_UPPER ;;
  81. ; ELSEF ;;
  82. ; SET_FLAG DEAD_LOWER ;;
  83. ; ENDIFF ;;
  84. ; ENDIFF ;;
  85. ;IFF EITHER_SHIFT,NOT ;;
  86. ; IFKBD XT_KB+AT_KB+JR_KB ;;
  87. ; IFF EITHER_CTL ;;
  88. ; ANDF ALT_SHIFT ;;
  89. ; SET_FLAG DEAD_THIRD ;;
  90. ; ENDIFF ;;
  91. ; ELSEF ;;
  92. ; IFF EITHER_CTL,NOT ;;
  93. ; ANDF ALT_SHIFT,NOT ;;
  94. ; ANDF R_ALT_SHIFT ;;
  95. ; SET_FLAG DEAD_THIRD ;;
  96. ; ENDIFF ;;
  97. ; ENDIFF ;;
  98. ;ENDIFF ;;
  99. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  100. ;; ACUTE ACCENT TRANSLATIONS
  101. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  102. ;;
  103. ACUTE_PROC: ;;
  104. ;;
  105. IFF ACUTE,NOT ;;
  106. GOTO DIARESIS_PROC ;;
  107. ENDIFF ;;
  108. ;;
  109. RESET_NLS ;;
  110. IFF R_ALT_SHIFT,NOT ;;
  111. XLATT ACUTE_SPACE ;;
  112. ENDIFF ;;
  113. IFF EITHER_CTL,NOT ;;
  114. ANDF EITHER_ALT,NOT ;;
  115. IFF EITHER_SHIFT ;;
  116. IFF CAPS_STATE ;;
  117. XLATT ACUTE_LOWER ;;
  118. ELSEF ;;
  119. XLATT ACUTE_UPPER ;;
  120. ENDIFF ;;
  121. ELSEF ;;
  122. IFF CAPS_STATE ;;
  123. XLATT ACUTE_UPPER ;;
  124. ELSEF ;;
  125. XLATT ACUTE_LOWER ;;
  126. ENDIFF ;;
  127. ENDIFF ;;
  128. ENDIFF ;;
  129. ;;
  130. INVALID_ACUTE: ;;
  131. PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
  132. BEEP ;; failed or we are ina bad shift state.
  133. GOTO NON_DEAD ;; Either is invalid so BEEP and fall
  134. ;; through to generate the second char.
  135. ;; Note that the dead key flag will be
  136. ;; reset before we get here.
  137. ;;
  138. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  139. ;; DIARESIS ACCENT TRANSLATIONS
  140. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  141. ;;
  142. DIARESIS_PROC: ;;
  143. ;;
  144. IFF DIARESIS,NOT ;;
  145. GOTO GRAVE_PROC ;;
  146. ENDIFF ;;
  147. ;;
  148. RESET_NLS ;;
  149. IFF R_ALT_SHIFT,NOT ;;
  150. XLATT DIARESIS_SPACE ;; exist for 850 so beep for
  151. ENDIFF ;;
  152. IFF EITHER_CTL,NOT ;;
  153. ANDF EITHER_ALT,NOT ;;
  154. IFF EITHER_SHIFT ;;
  155. IFF CAPS_STATE ;;
  156. XLATT DIARESIS_LOWER ;;
  157. ELSEF ;;
  158. XLATT DIARESIS_UPPER ;;
  159. ENDIFF ;;
  160. ELSEF ;;
  161. IFF CAPS_STATE ;;
  162. XLATT DIARESIS_UPPER ;;
  163. ELSEF ;;
  164. XLATT DIARESIS_LOWER ;;
  165. ENDIFF ;;
  166. ENDIFF ;;
  167. ENDIFF ;;
  168. ;;
  169. INVALID_DIARESIS: ;;
  170. PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent
  171. BEEP ;; Invalid dead key combo.
  172. GOTO NON_DEAD ;;
  173. ;;
  174. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  175. ;; GRAVE ACCENT TRANSLATIONS
  176. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  177. ;;
  178. GRAVE_PROC: ;;
  179. ;;
  180. IFF GRAVE,NOT ;;
  181. GOTO TILDE_PROC ;;
  182. ENDIFF ;;
  183. ;;
  184. RESET_NLS ;;
  185. IFF R_ALT_SHIFT,NOT ;;
  186. XLATT GRAVE_SPACE ;;
  187. ENDIFF ;;
  188. IFF EITHER_CTL,NOT ;;
  189. ANDF EITHER_ALT,NOT ;;
  190. IFF EITHER_SHIFT ;;
  191. IFF CAPS_STATE ;;
  192. XLATT GRAVE_LOWER ;;
  193. ELSEF ;;
  194. XLATT GRAVE_UPPER ;;
  195. ENDIFF ;;
  196. ELSEF ;;
  197. IFF CAPS_STATE,NOT ;;
  198. XLATT GRAVE_LOWER ;;
  199. ELSEF ;;
  200. XLATT GRAVE_UPPER ;;
  201. ENDIFF ;;
  202. ENDIFF ;;
  203. ENDIFF ;;
  204. ;;
  205. INVALID_GRAVE: ;;
  206. PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
  207. BEEP ;; Invalid dead key combo.
  208. GOTO NON_DEAD ;;
  209. ;;
  210. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  211. ;; TILDE ACCENT TRANSLATIONS
  212. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  213. TILDE_PROC: ;;
  214. ;;
  215. IFF TILDE,NOT ;;
  216. GOTO CIRCUMFLEX_PROC ;;
  217. ENDIFF ;;
  218. ;;
  219. RESET_NLS ;;
  220. IFF R_ALT_SHIFT,NOT ;;
  221. XLATT TILDE_SPACE ;;
  222. ENDIFF ;;
  223. IFF EITHER_CTL,NOT ;;
  224. ANDF EITHER_ALT,NOT ;;
  225. IFF EITHER_SHIFT ;;
  226. IFF CAPS_STATE ;;
  227. XLATT TILDE_LOWER ;;
  228. ELSEF ;;
  229. XLATT TILDE_UPPER ;;
  230. ENDIFF ;;
  231. ELSEF ;;
  232. IFF CAPS_STATE ;;
  233. XLATT TILDE_UPPER ;;
  234. ELSEF ;;
  235. XLATT TILDE_LOWER ;;
  236. ENDIFF ;;
  237. ENDIFF ;;
  238. ENDIFF ;;
  239. ;;
  240. INVALID_TILDE: ;;
  241. PUT_ERROR_CHAR TILDE_LOWER ;; standalone accent
  242. BEEP ;; Invalid dead key combo.
  243. GOTO NON_DEAD ;;
  244. ;;
  245. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  246. ;; CIRCUMFLEX ACCENT TRANSLATIONS
  247. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  248. ;;
  249. CIRCUMFLEX_PROC: ;;
  250. ;;
  251. IFF CIRCUMFLEX,NOT ;;
  252. GOTO NON_DEAD ;;
  253. ENDIFF ;;
  254. ;;
  255. RESET_NLS ;;
  256. IFF R_ALT_SHIFT,NOT ;;
  257. XLATT CIRCUMFLEX_SPACE ;;
  258. ENDIFF ;;
  259. IFF EITHER_CTL,NOT ;;
  260. ANDF EITHER_ALT,NOT ;;
  261. IFF EITHER_SHIFT ;;
  262. IFF CAPS_STATE ;;
  263. XLATT CIRCUMFLEX_LOWER ;;
  264. ELSEF ;;
  265. XLATT CIRCUMFLEX_UPPER ;;
  266. ENDIFF ;;
  267. ELSEF ;;
  268. IFF CAPS_STATE,NOT ;;
  269. XLATT CIRCUMFLEX_LOWER ;;
  270. ELSEF ;;
  271. XLATT CIRCUMFLEX_UPPER ;;
  272. ENDIFF ;;
  273. ENDIFF ;;
  274. ENDIFF ;;
  275. ;;
  276. INVALID_CIRCUMFLEX: ;;
  277. PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
  278. BEEP ;; Invalid dead key combo.
  279. GOTO NON_DEAD ;;
  280. ;;
  281. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  282. ;; Upper, lower and third shifts
  283. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  284. ;;
  285. NON_DEAD: ;;
  286. ;;
  287. IFKBD G_KB ;; Avoid accidentally translating
  288. ANDF LC_E0 ;; the "/" on the numeric pad of the
  289. EXIT_STATE_LOGIC ;; G keyboard
  290. ENDIFF ;;
  291. IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
  292. ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
  293. IFF EITHER_SHIFT ;; Numeric keys are not.
  294. ;;***BD ADDED FOR NUMERIC PAD
  295. IFF NUM_STATE,NOT ;;
  296. XLATT NUMERIC_PAD ;;
  297. ENDIFF ;;
  298. ;;***BD END OF ADDITION
  299. XLATT NON_ALPHA_UPPER ;;
  300. IFF CAPS_STATE ;;
  301. XLATT ALPHA_LOWER ;;
  302. ELSEF ;;
  303. XLATT ALPHA_UPPER ;;
  304. ENDIFF ;;
  305. ELSEF ;;
  306. ;;***BD ADDED FOR NUMERIC PAD
  307. IFF NUM_STATE ;;
  308. XLATT NUMERIC_PAD ;;
  309. ENDIFF ;;
  310. ;;***BD END OF ADDITION
  311. XLATT NON_ALPHA_LOWER ;;
  312. IFF CAPS_STATE ;;
  313. XLATT ALPHA_UPPER ;;
  314. ELSEF ;;
  315. XLATT ALPHA_LOWER ;;
  316. ENDIFF ;;
  317. ENDIFF ;;
  318. ELSEF ;;
  319. IFF EITHER_SHIFT,NOT ;;
  320. IFKBD XT_KB+AT_KB+JR_KB ;;
  321. IFF EITHER_CTL ;;
  322. ANDF ALT_SHIFT ;;
  323. XLATT THIRD_SHIFT ;;
  324. ENDIFF ;;
  325. ELSEF ;;
  326. IFF EITHER_CTL,NOT ;;
  327. ANDF R_ALT_SHIFT ;;
  328. XLATT THIRD_SHIFT ;;
  329. ENDIFF ;;
  330. ENDIFF ;;
  331. ENDIFF ;;
  332. ENDIFF ;;
  333. ;**************************************;;
  334. IFF EITHER_SHIFT,NOT ;;
  335. IFF EITHER_CTL ;;
  336. ANDF ALT_SHIFT ;;
  337. IFF R_ALT_SHIFT,NOT ;;
  338. XLATT ALT_CASE ;;
  339. ENDIFF ;;
  340. ENDIFF ;;
  341. ENDIFF ;;
  342. ;**************************************;;
  343. IFF EITHER_CTL,NOT ;;
  344. IFF ALT_SHIFT ;; ALT - case
  345. ANDF R_ALT_SHIFT,NOT ;;
  346. XLATT ALT_CASE ;;
  347. ENDIFF ;;
  348. ELSEF ;;
  349. IFF EITHER_ALT,NOT ;; CTRL - case
  350. XLATT CTRL_CASE ;;
  351. ENDIFF ;;
  352. ENDIFF ;;
  353. IFF EITHER_CTL ;;
  354. ANDF ALT_SHIFT ;;
  355. ANDF R_ALT_SHIFT,NOT ;;
  356. XLATT ALT_CASE ;;
  357. ENDIFF ;;
  358. ENDIFF ;;
  359. ;;
  360. EXIT_STATE_LOGIC ;;
  361. ;;
  362. LOGIC_END: ;;
  363. ;;
  364. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  365. ;; TR Common Translate Section
  366. ;; This section contains translations for the lower 128 characters
  367. ;; only since these will never change from code page to code page.
  368. ;; In addition the dead key "Set Flag" tables are here since the
  369. ;; dead keys are on the same keytops for all code pages.
  370. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  371. ;;
  372. PUBLIC TR_COMMON_XLAT ;;
  373. TR_COMMON_XLAT: ;;
  374. ;;
  375. DW COMMON_XLAT_END-$ ;; length of section
  376. DW -1 ;; code page
  377. ;;
  378. ;;
  379. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  380. ;; CODE PAGE: Common
  381. ;; STATE: Upper Shift Dead Key
  382. ;; KEYBOARD TYPES: G
  383. ;; TABLE TYPE: Flag Table
  384. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  385. ;;
  386. DW COM_TR_UP_END-$ ;; length of state section
  387. DB DEAD_UPPER ;; State ID
  388. DW G_KB ;; Keyboard Type
  389. DB -1,-1 ;; Buffer entry for error character
  390. ;; Set Flag Table
  391. DW 1 ;; number of entries
  392. DB 4 ;; scan code
  393. FLAG CIRCUMFLEX ;;
  394. ;;
  395. COM_TR_UP_END: ;;
  396. ;;
  397. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  398. ;; CODE PAGE: Common
  399. ;; STATE: Third Shift Dead Key
  400. ;; KEYBOARD TYPES: G
  401. ;; TABLE TYPE: Flag Table
  402. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  403. ;;
  404. DW COM_TR_TH_END-$ ;; length of state section
  405. DB DEAD_THIRD ;; State ID
  406. DW G_KB ;; Keyboard Type
  407. DB -1,-1 ;; Buffer entry for error character
  408. ;; Set Flag Table
  409. DW 4 ;; number of entries
  410. DB 26 ;; scan code
  411. FLAG DIARESIS ;; flag bit to set
  412. DB 27 ;;
  413. FLAG TILDE ;;
  414. DB 39 ;; (could be 40!)
  415. FLAG ACUTE ;;
  416. DB 43 ;; scan code
  417. FLAG GRAVE ;; flag bit to set
  418. ;;
  419. COM_TR_TH_END: ;;
  420. ;;
  421. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  422. ;; CODE PAGE: Common
  423. ;; STATE: Numeric Key Pad
  424. ;; KEYBOARD TYPES: G
  425. ;; TABLE TYPE: Translate
  426. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  427. ;;
  428. DW COM_PAD_K1_END-$ ;; length of state section
  429. DB NUMERIC_PAD ;; State ID
  430. DW G_KB ;; Keyboard Type
  431. DB -1,-1 ;; Buffer entry for error character
  432. ;;
  433. DW COM_PAD_K1_T1_END-$ ;; Size of xlat table
  434. DB STANDARD_TABLE ;; xlat options:
  435. DB 1 ;; number of entries
  436. DB 83,',' ;; decimal seperator = ,
  437. COM_PAD_K1_T1_END: ;;
  438. ;;
  439. DW 0 ;; Size of xlat table - null table
  440. ;;
  441. COM_PAD_K1_END: ;;
  442. ;;
  443. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  444. ;;******************************
  445. ;;***BD - ADDED FOR ALT CASE
  446. ;;******************************
  447. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  448. ;; CODE PAGE: Common
  449. ;; STATE: Alt Case
  450. ;; KEYBOARD TYPES: G
  451. ;; TABLE TYPE: Translate
  452. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  453. ;;
  454. DW COM_ALT_K1_END-$ ;; length of state section
  455. DB ALT_CASE ;; State ID
  456. DW G_KB ;; Keyboard Type
  457. DB -1,-1 ;; Buffer entry for error character
  458. ;;
  459. DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
  460. DB TYPE_2_TAB ;; xlat options:
  461. DB 2 ;; number of entries
  462. ; DB 07,00,35H ;;
  463. DB 12,0,2BH ;;
  464. DB 13,0,082H ;; 53 changed to 13 - YE
  465. COM_ALT_K1_T1_END: ;;
  466. ;;
  467. DW 0 ;; Size of xlat table - null table
  468. ;;
  469. COM_ALT_K1_END: ;;
  470. ;;
  471. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  472. ;; CODE PAGE: Common
  473. ;; STATE: Ctrl Case
  474. ;; KEYBOARD TYPES: G
  475. ;; TABLE TYPE: Translate
  476. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  477. ;;
  478. DW COM_CTRL_K2_END-$ ;; length of state section
  479. DB CTRL_CASE ;; State ID
  480. DW G_KB ;; Keyboard Type
  481. DB -1,-1 ;; Buffer entry for error character
  482. ;;
  483. DW COM_CTRL_K2_T1_END-$ ;; Size of xlat table
  484. DB TYPE_2_TAB ;; xlat options:
  485. DB 6 ;; number of entries
  486. DB 09,1BH,09 ;; [
  487. DB 10,1DH,10 ;; ]
  488. DB 1AH,-1,-1 ;; " " [
  489. DB 1BH,-1,-1 ;; " " ]
  490. DB 12,01CH,2BH ;; backslash
  491. DB 13,01FH,0CH ;; MOVE HYPHEN
  492. COM_CTRL_K2_T1_END: ;;
  493. ;;
  494. DW 0 ;; Size of xlat table - null table
  495. ;;
  496. COM_CTRL_K2_END: ;;
  497. ;;
  498. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  499. ;; CODE PAGE: Common
  500. ;; STATE: Alpha Lower Case
  501. ;; KEYBOARD TYPES: G
  502. ;; TABLE TYPE: Translate
  503. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  504. ; ;;
  505. DW COM_AL_LO_END-$ ;; length of state section
  506. DB ALPHA_LOWER ;; State ID
  507. DW G_KB ;; Keyboard Type
  508. DB -1,-1 ;; Buffer entry for error character
  509. ; ;;
  510. DW COM_AL_LO_T1_END-$ ;; Size of xlat table
  511. DB STANDARD_TABLE ;; xlat options:
  512. DB 4 ;;
  513. ; DB 16,'q' ;;
  514. ; DB 17,'w' ;;
  515. ; DB 18,'e' ;;
  516. ; DB 19,'r' ;;
  517. ; DB 20,'t' ;;
  518. ; DB 21,'y' ;;
  519. ; DB 22,'u' ;;
  520. ;; DB 23,BELL ;; i "dotless" Turkish National DO NOT USE see 850
  521. ; DB 24,'o' ;;
  522. ; DB 25,'p' ;;
  523. ;; DB 26,BELL ;; g "breve" Turkish National DO NOT USE see 850
  524. DB 27,'�' ;;
  525. ; DB 30,'a' ;;
  526. ; DB 31,'s' ;;
  527. ; DB 32,'d' ;;
  528. ; DB 33,'f' ;;
  529. ; DB 34,'g' ;;
  530. ; DB 35,'h' ;;
  531. ; DB 36,'j' ;;
  532. ; DB 37,'k' ;;
  533. ; DB 38,'l' ;;
  534. ;; DB 39,BELL ;; s "cedilla" Turkish National DO NOT USE see 850
  535. DB 40,'i' ;; i "dot" Turkish National
  536. ; DB 44,'z' ;;
  537. ; DB 45,'x' ;;
  538. ; DB 46,'c' ;;
  539. ; DB 47,'v' ;;
  540. ; DB 48,'b' ;;
  541. ; DB 49,'n' ;;
  542. ; DB 50,'m' ;;
  543. DB 51,'�' ;;
  544. DB 52,'�' ;;
  545. COM_AL_LO_T1_END: ;;
  546. ; ;;
  547. DW 0 ;; Size of xlat table - null table
  548. ; ;;
  549. COM_AL_LO_END: ;;
  550. ; ;;
  551. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  552. ;; CODE PAGE: Common
  553. ;; STATE: Alpha Upper Case
  554. ;; KEYBOARD TYPES: G
  555. ;; TABLE TYPE: Translate
  556. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  557. ; ;;
  558. DW COM_AL_UP_END-$ ;; length of state section
  559. DB ALPHA_UPPER ;; State ID
  560. DW G_KB ;; Keyboard Type
  561. DB -1,-1 ;; Buffer entry for error character
  562. ; ;;
  563. DW COM_AL_UP_T1_END-$ ;; Size of xlat table
  564. DB STANDARD_TABLE ;; xlat options:
  565. DB 3 ;;
  566. ; DB 16,'Q' ;;
  567. ; DB 17,'W' ;;
  568. ; DB 18,'E' ;;
  569. ; DB 19,'R' ;;
  570. ; DB 20,'T' ;;
  571. ; DB 21,'Y' ;;
  572. ; DB 22,'U' ;;
  573. ; DB 23,'I' ;;
  574. ; DB 24,'O' ;;
  575. ; DB 25,'P' ;;
  576. ;; DB 26,BELL ;; G "breve" Turkish National DO NOT USE see 850
  577. DB 27,'�' ;;
  578. ; DB 30,'A' ;;
  579. ; DB 31,'S' ;;
  580. ; DB 32,'D' ;;
  581. ; DB 33,'F' ;;
  582. ; DB 34,'G' ;;
  583. ; DB 35,'H' ;;
  584. ; DB 36,'J' ;;
  585. ; DB 37,'K' ;;
  586. ; DB 38,'L' ;;
  587. ;; DB 39,BELL ;; S "cedilla" Turkish National DO NOT USE see 850
  588. ;; DB 40,BELL ;; I "dot" Turkish National DO NOT USE se 850
  589. ; DB 44,'Z' ;;
  590. ; DB 45,'X' ;;
  591. ; DB 46,'C' ;;
  592. ; DB 47,'V' ;;
  593. ; DB 48,'B' ;;
  594. ; DB 49,'N' ;;
  595. ; DB 50,'M' ;;
  596. DB 51,'�' ;;
  597. DB 52,'�' ;;
  598. COM_AL_UP_T1_END: ;;
  599. ; ;;
  600. DW 0 ;; Size of xlat table - null table
  601. ; ;;
  602. COM_AL_UP_END: ;;
  603. ; ;;
  604. ; ;;
  605. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  606. ;; CODE PAGE: Common
  607. ;; STATE: Non-Alpha Lower Case
  608. ;; KEYBOARD TYPES: G
  609. ;; TABLE TYPE: Translate
  610. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  611. ;;
  612. DW COM_NA_LO_K1_END-$ ;; length of state section
  613. DB NON_ALPHA_LOWER ;; State ID
  614. DW G_KB ;; Keyboard Type
  615. DB -1,-1 ;; Buffer entry for error character
  616. ;;
  617. DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
  618. DB STANDARD_TABLE ;; xlat options:
  619. DB 6 ;; number of entries
  620. DB 12,"*" ;;
  621. DB 13,"-" ;;
  622. DB 43,"," ;;
  623. DB 41,22H ;;
  624. DB 53,"." ;;
  625. DB 86,"<" ;;
  626. ;;
  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 Upper Case
  636. ;; KEYBOARD TYPES: G
  637. ;; TABLE TYPE: Translate
  638. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  639. ;;
  640. DW COM_NA_UP_K1_END-$ ;; length of state section
  641. DB NON_ALPHA_UPPER ;; State ID
  642. DW G_KB ;; Keyboard Type
  643. DB -1,-1 ;; Buffer entry for error character
  644. ;;
  645. DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
  646. DB STANDARD_TABLE ;; xlat options:
  647. DB 15 ;;
  648. DB 2,"!" ;;
  649. DB 3,"'" ;; Should ^ be here? MJS
  650. DB 5,'+' ;;
  651. DB 6,'%' ;;
  652. DB 7,'&' ;;
  653. DB 8,'/' ;;
  654. DB 9,'(' ;;
  655. DB 10,')' ;;
  656. DB 11,'=' ;;
  657. DB 12,'?' ;;
  658. DB 13,'_' ;;
  659. DB 41,082H ;;
  660. DB 43,';' ;;
  661. DB 53,':' ;;
  662. DB 86,'>' ;;
  663. ;;
  664. COM_NA_UP_K1_T1_END: ;;
  665. ;;
  666. DW 0 ;; Size of xlat table - null table
  667. ;;
  668. COM_NA_UP_K1_END: ;;
  669. ;;
  670. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  671. ;; CODE PAGE: Common
  672. ;; STATE: Third Shift
  673. ;; KEYBOARD TYPES: G
  674. ;; TABLE TYPE: Translate
  675. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  676. ;;
  677. DW COM_THIRD_END-$ ;; length of state section
  678. DB THIRD_SHIFT ;; State ID
  679. DW G_KB ;; Keyboard Type FERRARI
  680. DB -1,-1 ;; Buffer entry for error character
  681. ;;
  682. DW COM_THIRD_T1_END-$ ;; Size of xlat table
  683. DB STANDARD_TABLE ;; xlat options:
  684. DB 12 ;; number of entries
  685. DB 3,09CH ;; UK Pound Sign
  686. DB 4,'#' ;; Number Sign
  687. DB 5,'$' ;; US Dollar Sign
  688. DB 6,0ABH ;; One Half Sign
  689. DB 8,'{' ;; Left Brace
  690. DB 9,'[' ;; Left Bracket
  691. DB 10,']' ;; Right Bracket
  692. DB 11,'}' ;; Right Brace
  693. DB 12,'\' ;; Backslash
  694. DB 16,'@' ;; At Sign
  695. DB 31,0E1H ;; SHARP S
  696. DB 86,'|' ;; Unbroken Bar
  697. ;;
  698. COM_THIRD_T1_END: ;;
  699. ;;
  700. DW 0 ;; Last xlat table
  701. COM_THIRD_END: ;;
  702. ;;
  703. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  704. ;; CODE PAGE: Common
  705. ;; STATE: Grave Lower
  706. ;; KEYBOARD TYPES: G
  707. ;; TABLE TYPE: Translate
  708. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  709. ;;
  710. DW COM_GR_LO_END-$ ;; length of state section
  711. DB GRAVE_LOWER ;; State ID
  712. DW G_KB ;; Keyboard Type
  713. DB 96,0 ;; error character = standalone accent
  714. ;;
  715. DW COM_GR_LO_T1_END-$ ;; Size of xlat table
  716. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  717. DB 5 ;; number of scans
  718. DB 18,'�' ;; scan code,ASCII - e
  719. DB 22,'�' ;; scan code,ASCII - u
  720. DB 40,'�' ;; scan code,ASCII - i
  721. DB 24,'�' ;; scan code,ASCII - o
  722. DB 30,'�' ;; scan code,ASCII - a
  723. ;;
  724. COM_GR_LO_T1_END: ;;
  725. ;;
  726. DW 0 ;; Size of xlat table - null table
  727. ;;
  728. COM_GR_LO_END: ;; length of state section
  729. ;;
  730. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  731. ;; CODE PAGE: Common
  732. ;; STATE: Grave Space Bar
  733. ;; KEYBOARD TYPES: G
  734. ;; TABLE TYPE: Translate
  735. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  736. ;;
  737. DW COM_GR_SP_END-$ ;; length of state section
  738. DB GRAVE_SPACE ;; State ID
  739. DW G_KB ;; Keyboard Type
  740. DB 96,0 ;; error character = standalone accent
  741. ;;
  742. DW COM_GR_SP_T1_END-$ ;; Size of xlat table
  743. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  744. DB 1 ;; number of scans
  745. DB 57,060H ;; STANDALONE GRAVE
  746. COM_GR_SP_T1_END: ;;
  747. ;;
  748. DW 0 ;; Size of xlat table - null table
  749. ;;
  750. COM_GR_SP_END: ;; length of state section
  751. ;;
  752. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  753. ;; CODE PAGE: Common
  754. ;; STATE: Circumflex Lower
  755. ;; KEYBOARD TYPES: G-KB
  756. ;; TABLE TYPE: Translate
  757. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  758. ;;
  759. DW COM_CI_LO_END-$ ;; length of state section
  760. DB CIRCUMFLEX_LOWER ;; State ID
  761. DW G_KB ;; Keyboard Type
  762. DB 94,0 ;; error character = standalone accent
  763. ;;
  764. DW COM_CI_LO_T1_END-$ ;; Size of xlat table
  765. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  766. DB 5 ;; number of scans
  767. DB 18,'�' ;; scan code,ASCII - e
  768. DB 22,'�' ;; scan code,ASCII - u
  769. DB 40,'�' ;; scan code,ASCII - i
  770. DB 24,'�' ;; scan code,ASCII - o
  771. DB 30,'�' ;; scan code,ASCII - a
  772. COM_CI_LO_T1_END: ;;
  773. ;;
  774. DW 0 ;;
  775. ;;
  776. COM_CI_LO_END: ;;
  777. ;;
  778. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  779. ;; CODE PAGE: Common
  780. ;; STATE: Circumflex Space Bar
  781. ;; KEYBOARD TYPES: G
  782. ;; TABLE TYPE: Translate
  783. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  784. ;;
  785. DW COM_CI_SP_END-$ ;; length of state section
  786. DB CIRCUMFLEX_SPACE ;; State ID
  787. DW G_KB ;; Keyboard Type
  788. DB 94,0 ;; error character = standalone accent
  789. ;;
  790. DW COM_CI_SP_T1_END-$ ;; Size of xlat table
  791. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  792. DB 1 ;; number of scans
  793. DB 57,94 ;; STANDALONE CIRCUMFLEX
  794. COM_CI_SP_T1_END: ;;
  795. ;;
  796. DW 0 ;; Size of xlat table - null table
  797. ;;
  798. COM_CI_SP_END: ;; length of state section
  799. ;;
  800. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  801. ;; CODE PAGE: Common
  802. ;; STATE: Tilde Lower
  803. ;; KEYBOARD TYPES: G
  804. ;; TABLE TYPE: Translate
  805. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  806. ;;
  807. DW COM_TI_LO_END-$ ;; length of state section
  808. DB TILDE_LOWER ;; State ID
  809. DW G_KB ;; Keyboard Type
  810. DB 07EH,0 ;; error character = standalone accent
  811. ;;
  812. DW COM_TI_LO_T1_END-$ ;; Size of xlat table
  813. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  814. DB 1 ;; number of scans
  815. DB 49,0A4H ;; scan code,ASCII - �
  816. COM_TI_LO_T1_END: ;;
  817. ;;
  818. DW 0 ;;
  819. ;;
  820. COM_TI_LO_END: ;;
  821. ;;
  822. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  823. ;;; CODE PAGE: Common
  824. ;;; STATE: Tilde Upper Case
  825. ;;; KEYBOARD TYPES: G
  826. ;;; TABLE TYPE: Translate
  827. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  828. ;;
  829. DW COM_TI_UP_END-$ ;; length of state section
  830. DB TILDE_UPPER ;; State ID
  831. DW G_KB ;; Keyboard Type
  832. DB 07EH,0 ;; error character = standalone accent
  833. ;;
  834. DW COM_TI_UP_T1_END-$ ;; Size of xlat table
  835. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  836. DB 1 ;; number of scans
  837. DB 49,0A5H ;; scan code,ASCII - �
  838. COM_TI_UP_T1_END: ;;
  839. ;;
  840. DW 0 ;; Size of xlat table - null table
  841. ;;
  842. COM_TI_UP_END: ;; length of state section
  843. ;;
  844. ;;
  845. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  846. ;; CODE PAGE: Common
  847. ;; STATE: Tilde Space Bar
  848. ;; KEYBOARD TYPES: G
  849. ;; TABLE TYPE: Translate
  850. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  851. ;;
  852. DW COM_TI_SP_END-$ ;; length of state section
  853. DB TILDE_SPACE ;; State ID
  854. DW G_KB ;; Keyboard Type
  855. DB 07EH,0 ;; error character = standalone accent
  856. ;;
  857. DW COM_TI_SP_T1_END-$ ;; Size of xlat table
  858. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  859. DB 1 ;; number of scans
  860. DB 57,07EH ;; STANDALONE TILDE
  861. COM_TI_SP_T1_END: ;;
  862. ;;
  863. DW 0 ;; Size of xlat table - null table
  864. ;;
  865. COM_TI_SP_END: ;; length of state section
  866. ;;
  867. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  868. ;; CODE PAGE: Common
  869. ;; STATE: Acute Lower Case
  870. ;; KEYBOARD TYPES:G
  871. ;; TABLE TYPE: Translate
  872. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  873. ;;
  874. DW COM_AC_LO_END-$ ;; length of state section
  875. DB ACUTE_LOWER ;; State ID
  876. DW G_KB ;; Keyboard Type
  877. DB 0EFH,0 ;; error character = standalone accent
  878. ;;
  879. DW COM_AC_LO_T1_END-$ ;; Size of xlat table
  880. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  881. DB 5 ;; number of scans
  882. DB 18,'�' ;; scan code,ASCII - e
  883. DB 22,'�' ;; scan code,ASCII - u
  884. DB 40,'�' ;; scan code,ASCII - i
  885. DB 24,'�' ;; scan code,ASCII - o
  886. DB 30,'�' ;; scan code,ASCII - a
  887. COM_AC_LO_T1_END: ;;
  888. ;;
  889. DW 0 ;; Size of xlat table - null table
  890. ;;
  891. COM_AC_LO_END: ;;
  892. ;;
  893. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  894. ;; CODE PAGE: Common
  895. ;; STATE: Acute Upper Case
  896. ;; KEYBOARD TYPES:G
  897. ;; TABLE TYPE: Translate
  898. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  899. ;;
  900. DW COM_AC_UP_END-$ ;; length of state section
  901. DB ACUTE_UPPER ;; State ID
  902. DW G_KB ;; Keyboard Type
  903. DB 0EFH,0 ;; error character = standalone accent
  904. ;;
  905. DW COM_AC_UP_T1_END-$ ;; Size of xlat table
  906. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  907. DB 1 ;; number of scans
  908. DB 18,090H ;; E acute
  909. COM_AC_UP_T1_END: ;;
  910. ;;
  911. DW 0 ;; Size of xlat table - null table
  912. ;;
  913. COM_AC_UP_END: ;;
  914. ;;
  915. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  916. ;; CODE PAGE: Common
  917. ;; STATE: Diaresis Lower
  918. ;; KEYBOARD TYPES: G
  919. ;; TABLE TYPE: Translate
  920. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  921. ;;
  922. DW COM_DI_LO_END-$ ;; length of state section
  923. DB DIARESIS_LOWER ;; State ID
  924. DW G_KB ;; Keyboard Type
  925. DB 0F9H,0 ;; error character = standalone accent
  926. ;;
  927. DW COM_DI_LO_T1_END-$ ;; Size of xlat table
  928. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  929. DB 3 ;; number of scans
  930. DB 30,084H ;; a diaeresis
  931. DB 18,089H ;; e "
  932. ; DB 23,08BH ;; i diaeresis - with dotless i
  933. DB 40,08BH ;; i "
  934. COM_DI_LO_T1_END: ;;
  935. ;;
  936. DW 0 ;; Size of xlat table - null table
  937. ;;
  938. COM_DI_LO_END: ;; length of state section
  939. ;;
  940. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  941. ;; CODE PAGE: Common
  942. ;; STATE: Diaresis Upper
  943. ;; KEYBOARD TYPES: G
  944. ;; TABLE TYPE: Translate
  945. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  946. ;;
  947. DW COM_DI_UP_END-$ ;; length of state section
  948. DB DIARESIS_UPPER ;; State ID
  949. DW G_KB ;; Keyboard Type
  950. DB 0F9H,0 ;; error character = standalone accent
  951. ;;
  952. DW COM_DI_UP_T1_END-$ ;; Size of xlat table
  953. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  954. DB 1 ;; number of scans
  955. DB 30,08EH ;; A diaeresis
  956. COM_DI_UP_T1_END: ;;
  957. ;;
  958. DW 0 ;; Size of xlat table - null table
  959. ;;
  960. COM_DI_UP_END: ;; length of state section
  961. ;;
  962. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  963. ;;
  964. ;;
  965. DW 0 ;; Last State
  966. COMMON_XLAT_END: ;;
  967. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  968. ;;SPECIFIC TURKEY 850 XLATES
  969. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  970. PUBLIC TR_850_XLAT ;;
  971. TR_850_XLAT: ;;
  972. ;;
  973. DW CP850_XLAT_END-$ ;;
  974. DW 850 ;;
  975. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  976. ;; CODE PAGE: CP 850
  977. ;; STATE: Alpha Lower Case
  978. ;; KEYBOARD TYPES: G
  979. ;; TABLE TYPE: Translate
  980. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  981. ;;
  982. DW CP850_AL_LO_END-$ ;; length of state section
  983. DB ALPHA_LOWER ;; State ID
  984. DW G_KB ;; Keyboard Type
  985. DB 0,0 ;; Buffer entry for error character
  986. ;;
  987. DW CP850_AL_LO_T1_END-$ ;; Size of xlat table
  988. DB STANDARD_TABLE ;; xlat options:
  989. DB 3 ;;
  990. DB 23,-1 ;; dotless i - NO OPERATION BELL!
  991. DB 26,-1 ;; g-breve
  992. DB 39,-1 ;; s-cedilla
  993. CP850_AL_LO_T1_END: ;;
  994. ;;
  995. DW 0 ;; Size of xlat table - null table
  996. ;;
  997. CP850_AL_LO_END: ;;
  998. ;;
  999. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1000. ;; CODE PAGE: CP850
  1001. ;; STATE: Alpha Upper Case
  1002. ;; KEYBOARD TYPES: G
  1003. ;; TABLE TYPE: Translate
  1004. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1005. ;;
  1006. DW CP850_AL_UP_END-$ ;; length of state section
  1007. DB ALPHA_UPPER ;; State ID
  1008. DW G_KB ;; Keyboard Type
  1009. DB 0,0 ;; Buffer entry for error character
  1010. ;;
  1011. DW CP850_AL_UP_T1_END-$ ;; Size of xlat table
  1012. DB STANDARD_TABLE ;; xlat options:
  1013. DB 3 ;;
  1014. DB 26,-1 ;; G-breve NO OP WITH BELL!
  1015. DB 39,-1 ;; S-cedilla "
  1016. DB 40,-1 ;; I-overdot "
  1017. CP850_AL_UP_T1_END: ;;
  1018. ;;
  1019. DW 0 ;; Size of xlat table - null table
  1020. ;;
  1021. CP850_AL_UP_END: ;;
  1022. ;;
  1023. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1024. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1025. DW 0 ;;
  1026. CP850_XLAT_END: ;;
  1027. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1028. ;;TURKEY SPECIFIC 857 XLATES
  1029. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1030. PUBLIC TR_857_XLAT ;;
  1031. TR_857_XLAT: ;;
  1032. ;;
  1033. DW CP_857_XLAT_END-$ ;; length of section
  1034. DW 857 ;; code page
  1035. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1036. ;; CODE PAGE: CP857
  1037. ;; STATE: Alpha Lower Case
  1038. ;; KEYBOARD TYPES:G
  1039. ;; TABLE TYPE: Translate
  1040. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1041. ;;
  1042. DW CP857_AL_LO_END-$ ;; length of state section
  1043. DB ALPHA_LOWER ;; State ID
  1044. DW G_KB ;; Keyboard Type
  1045. DB -1,-1 ;; Buffer entry for error character
  1046. ;;
  1047. DW CP857_AL_LO_T1_END-$ ;; Size of xlat table
  1048. DB STANDARD_TABLE ;; xlat options:
  1049. DB 3 ;;
  1050. DB 23,08DH ;; dotless i
  1051. DB 26,0A7H ;; g-breve
  1052. DB 39,09FH ;; s-cedilla
  1053. CP857_AL_LO_T1_END: ;;
  1054. ;;
  1055. DW 0 ;; Size of xlat table - null table
  1056. ;;
  1057. CP857_AL_LO_END: ;;
  1058. ;;
  1059. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1060. ;; CODE PAGE: CP857
  1061. ;; STATE: Alpha Upper Case
  1062. ;; KEYBOARD TYPES:G
  1063. ;; TABLE TYPE: Translate
  1064. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1065. ;;
  1066. DW CP857_AL_UP_END-$ ;; length of state section
  1067. DB ALPHA_UPPER ;; State ID
  1068. DW G_KB ;; Keyboard Type
  1069. DB -1,-1 ;; Buffer entry for error character
  1070. ;;
  1071. DW CP857_AL_UP_T1_END-$ ;; Size of xlat table
  1072. DB STANDARD_TABLE ;; xlat options:
  1073. DB 3 ;;
  1074. DB 26,0A6H ;; G-breve
  1075. DB 39,09EH ;; S-cedilla
  1076. DB 40,098H ;; I-overdot
  1077. CP857_AL_UP_T1_END: ;;
  1078. ;;
  1079. DW 0 ;; Size of xlat table - null table
  1080. ;;
  1081. CP857_AL_UP_END: ;;
  1082. ;;
  1083. ;;
  1084. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1085. ;; CODE PAGE: CP857
  1086. ;; STATE: Grave Lower
  1087. ;; KEYBOARD TYPES: G
  1088. ;; TABLE TYPE: Translate
  1089. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1090. ;;
  1091. DW CP857_GR_LO_END-$ ;; length of state section
  1092. DB GRAVE_LOWER ;; State ID
  1093. DW G_KB ;; Keyboard Type
  1094. DB 96,0 ;; error character = standalone accent
  1095. ;;
  1096. DW CP857_GR_LO_T1_END-$ ;; Size of xlat table
  1097. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1098. DB 6 ;; number of scans
  1099. DB 18,08AH ;; E grave
  1100. DB 22,097H ;; U grave
  1101. DB 23,0ECh ;; scan code,ASCII - dotless i
  1102. DB 24,095H ;; O grave
  1103. DB 30,085H ;; A grave
  1104. DB 40,0ECh ;; scan code,ASCII - dotted i
  1105. CP857_GR_LO_T1_END: ;;
  1106. ;;
  1107. DW 0 ;; Size of xlat table - null table
  1108. ;;
  1109. CP857_GR_LO_END: ;; length of state section
  1110. ;;
  1111. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1112. ;; CODE PAGE: 857
  1113. ;; STATE: Grave Upper
  1114. ;; KEYBOARD TYPES:G
  1115. ;; TABLE TYPE: Translate
  1116. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1117. ;;
  1118. DW CP857_GR_UP_END-$ ;; length of state section
  1119. DB GRAVE_UPPER ;; State ID
  1120. DW G_KB ;; Keyboard Type
  1121. DB 96,0 ;; error character = standalone accent
  1122. ;;
  1123. DW CP857_GR_UP_T1_END-$ ;; Size of xlat table
  1124. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1125. DB 6 ;; number of scans
  1126. DB 18,0D4H ;; E grave
  1127. DB 22,0EBH ;; U grave
  1128. DB 23,0DEH ;; I grave - dotless I
  1129. DB 40,0DEH ;; I grave - with dot I
  1130. DB 24,0E3H ;; O grave
  1131. DB 30,0B7H ;; A grave
  1132. CP857_GR_UP_T1_END: ;;
  1133. ;;
  1134. DW 0 ;; Size of xlat table - null table
  1135. ;;
  1136. CP857_GR_UP_END: ;; length of state section
  1137. ;;
  1138. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1139. ;; CODE PAGE: CP857
  1140. ;; STATE: Circumflex Lower
  1141. ;; KEYBOARD TYPES: G
  1142. ;; TABLE TYPE: Translate
  1143. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1144. ;;
  1145. DW CP857_CI_LO_END-$ ;; length of state section
  1146. DB CIRCUMFLEX_LOWER ;; State ID
  1147. DW G_KB ;; Keyboard Type
  1148. DB 94,0 ;; error character = standalone accent
  1149. ;;
  1150. DW CP857_CI_LO_T1_END-$ ;; Size of xlat table
  1151. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1152. DB 2 ;; number of scans
  1153. DB 23,08CH ;; scan code,ASCII - dotless i
  1154. DB 40,08CH ;; acan code,ASCII - dotted i
  1155. CP857_CI_LO_T1_END: ;;
  1156. ;;
  1157. DW 0 ;;
  1158. ;;
  1159. CP857_CI_LO_END: ;;
  1160. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1161. ;; CODE PAGE: 857
  1162. ;; STATE: Circumflex Upper
  1163. ;; KEYBOARD TYPES: G
  1164. ;; TABLE TYPE: Translate
  1165. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1166. ;;
  1167. DW CP857_CI_UP_END-$ ;; length of state section
  1168. DB CIRCUMFLEX_UPPER ;; State ID
  1169. DW G_KB ;; Keyboard Type
  1170. DB 94,0 ;; error character = standalone accent
  1171. ;;
  1172. DW CP857_CI_UP_T1_END-$ ;; Size of xlat table
  1173. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1174. DB 6 ;; number of scans
  1175. DB 30,0B6H ;; A circumflex
  1176. DB 18,0D2H ;; E circumflex
  1177. DB 24,0E2H ;; O circumflex
  1178. DB 23,0D7H ;; I "
  1179. DB 40,0D7H ;; I " - with dot I
  1180. DB 22,0EAH ;; U "
  1181. CP857_CI_UP_T1_END: ;;
  1182. ;;
  1183. DW 0 ;; Size of xlat table - null table
  1184. ;;
  1185. CP857_CI_UP_END: ;; length of state section
  1186. ;;
  1187. ;;
  1188. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1189. ;; CODE PAGE: 857
  1190. ;; STATE: Tilde Lower
  1191. ;; KEYBOARD TYPES: G
  1192. ;; TABLE TYPE: Translate
  1193. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1194. ;;
  1195. DW CP857_TI_LO_END-$ ;; length of state section
  1196. DB TILDE_LOWER ;; State ID
  1197. DW G_KB ;; Keyboard Type
  1198. DB 07EH,0 ;; error character = standalone accent
  1199. ;;
  1200. DW CP857_TI_LO_T1_END-$ ;; Size of xlat table
  1201. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1202. DB 3 ;; number of scans
  1203. DB 49,0A4H ;; scan code,ASCII - �
  1204. DB 24,0E4h ;; o tilde
  1205. DB 30,0C6h ;; a tilde
  1206. CP857_TI_LO_T1_END: ;;
  1207. ;;
  1208. DW 0 ;;
  1209. ;;
  1210. CP857_TI_LO_END: ;;
  1211. ;;
  1212. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1213. ;;; CODE PAGE: Common
  1214. ;;; STATE: Tilde Upper Case
  1215. ;;; KEYBOARD TYPES: G
  1216. ;;; TABLE TYPE: Translate
  1217. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1218. ;;
  1219. DW CP857_TI_UP_END-$ ;; length of state section
  1220. DB TILDE_UPPER ;; State ID
  1221. DW G_KB ;; Keyboard Type
  1222. DB 07EH,0 ;; error character = standalone accent
  1223. ;;
  1224. DW CP857_TI_UP_T1_END-$ ;; Size of xlat table
  1225. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1226. DB 3 ;; number of scans
  1227. DB 49,0A5H ;; scan code,ASCII - �
  1228. DB 24,0E5h ;; O tilde
  1229. DB 30,0C7h ;; A tilde
  1230. CP857_TI_UP_T1_END: ;;
  1231. ;;
  1232. DW 0 ;; Size of xlat table - null table
  1233. ;;
  1234. CP857_TI_UP_END: ;; length of state section
  1235. ;;
  1236. ;;
  1237. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1238. ;; CODE PAGE: CP857
  1239. ;; STATE: Tilde Space Bar
  1240. ;; KEYBOARD TYPES: G
  1241. ;; TABLE TYPE: Translate
  1242. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1243. ;;
  1244. ; DW CP857_TI_SP_END-$ ;; length of state section
  1245. ; DB TILDE_SPACE ;; State ID
  1246. ; DW G_KB ;; Keyboard Type
  1247. ; DB 07EH,0 ;; error character = standalone accent
  1248. ; ;;
  1249. ; DW CP857_TI_SP_T1_END-$ ;; Size of xlat table
  1250. ; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1251. ; DB 1 ;; number of scans
  1252. ; DB 57,07EH ;; STANDALONE TILDE
  1253. ;CP857_TI_SP_T1_END: ;;
  1254. ; ;;
  1255. ; DW 0 ;; Size of xlat table - null table
  1256. ; ;;
  1257. ;CP857_TI_SP_END: ;; length of state section
  1258. ; ;;
  1259. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1260. ;; CODE PAGE: 857
  1261. ;; STATE: Acute Lower Case
  1262. ;; KEYBOARD TYPES:G
  1263. ;; TABLE TYPE: Translate
  1264. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1265. ;;
  1266. DW CP857_AC_LO_END-$ ;; length of state section
  1267. DB ACUTE_LOWER ;; State ID
  1268. DW G_KB ;; Keyboard Type
  1269. DB 0EFH,0 ;; error character = standalone accent
  1270. ;;
  1271. DW CP857_AC_LO_T1_END-$ ;; Size of xlat table
  1272. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1273. DB 1 ;; number of scans
  1274. DB 23,'�' ;; scan code,ASCII - dotless i
  1275. CP857_AC_LO_T1_END: ;;
  1276. ;;
  1277. DW 0 ;; Size of xlat table - null table
  1278. ;;
  1279. CP857_AC_LO_END: ;;
  1280. ;;
  1281. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1282. ;; CODE PAGE: 857
  1283. ;; STATE: Acute Upper Case
  1284. ;; KEYBOARD TYPES:G
  1285. ;; TABLE TYPE: Translate
  1286. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1287. ;;
  1288. DW CP857_AC_UP_END-$ ;; length of state section
  1289. DB ACUTE_UPPER ;; State ID
  1290. DW G_KB ;; Keyboard Type
  1291. DB 0EFH,0 ;; error character = standalone accent
  1292. ;;
  1293. DW CP857_AC_UP_T1_END-$ ;; Size of xlat table
  1294. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1295. DB 5 ;; number of scans
  1296. DB 22,0E9H ;; U acute
  1297. DB 23,0D6H ;; I acute
  1298. DB 40,0D6H ;; I acute - with dot I
  1299. DB 24,0E0H ;; O acute
  1300. DB 30,0B5H ;; A acute
  1301. CP857_AC_UP_T1_END: ;;
  1302. ;;
  1303. DW 0 ;; Size of xlat table - null table
  1304. ;;
  1305. CP857_AC_UP_END: ;;
  1306. ;;
  1307. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1308. ;; CODE PAGE: CP857
  1309. ;; STATE: Acute Space Bar
  1310. ;; KEYBOARD TYPES: G
  1311. ;; TABLE TYPE: Translate
  1312. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; *****
  1313. ;;
  1314. DW CP857_AC_SP_END-$ ;; length of state section
  1315. DB ACUTE_SPACE ;; State ID
  1316. DW G_KB ;; Keyboard Type
  1317. DB 0EFH,0 ;; error character = standalone accent
  1318. ;;
  1319. DW CP857_AC_SP_T1_END-$ ;; Size of xlat table
  1320. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1321. DB 1 ;; number of scans
  1322. DB 57,0EFH ;; STANDALONE ACUTE
  1323. CP857_AC_SP_T1_END: ;;
  1324. ;;
  1325. DW 0 ;; Size of xlat table - null table
  1326. ;;
  1327. CP857_AC_SP_END: ;; length of state section
  1328. ;;
  1329. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1330. ;; CODE PAGE: 857
  1331. ;; STATE: Diaresis Lower
  1332. ;; KEYBOARD TYPES: G
  1333. ;; TABLE TYPE: Translate
  1334. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1335. ;;
  1336. DW CP857_DI_LO_END-$ ;; length of state section
  1337. DB DIARESIS_LOWER ;; State ID
  1338. DW G_KB ;; Keyboard Type
  1339. DB 0F9H,0 ;; error character = standalone accent
  1340. ;;
  1341. DW CP857_DI_LO_T1_END-$ ;; Size of xlat table
  1342. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1343. DB 2 ;; number of scans
  1344. DB 23,08BH ;; i diaeresis - with dotless i
  1345. DB 40,08BH ;; i diaeresis - with dotted i
  1346. CP857_DI_LO_T1_END: ;;
  1347. ;;
  1348. DW 0 ;; Size of xlat table - null table
  1349. ;;
  1350. CP857_DI_LO_END: ;; length of state section
  1351. ;;
  1352. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1353. ;; CODE PAGE: 857
  1354. ;; STATE: Diaresis Upper
  1355. ;; KEYBOARD TYPES: G
  1356. ;; TABLE TYPE: Translate
  1357. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1358. ;;
  1359. DW CP857_DI_UP_END-$ ;; length of state section
  1360. DB DIARESIS_UPPER ;; State ID
  1361. DW G_KB ;; Keyboard Type
  1362. DB 0F9H,0 ;; error character = standalone accent
  1363. ;;
  1364. DW CP857_DI_UP_T1_END-$ ;; Size of xlat table
  1365. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1366. DB 3 ;; number of scans
  1367. DB 18,0D3H ;; E "
  1368. DB 23,0D8H ;; I "
  1369. DB 40,0D8H ;; I diaeresis with dot I
  1370. CP857_DI_UP_T1_END: ;;
  1371. ;;
  1372. DW 0 ;; Size of xlat table - null table
  1373. ;;
  1374. CP857_DI_UP_END: ;; length of state section
  1375. ;;
  1376. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1377. ;; CODE PAGE: 857
  1378. ;; STATE: Diaresis Space Bar
  1379. ;; KEYBOARD TYPES: G
  1380. ;; TABLE TYPE: Translate
  1381. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1382. ;;
  1383. DW CP857_DI_SP_END-$ ;; length of state section
  1384. DB DIARESIS_SPACE ;; State ID
  1385. DW G_KB ;; Keyboard Type
  1386. DB 0F9H,0 ;; error character = standalone accent
  1387. ;;
  1388. DW CP857_DI_SP_T1_END-$ ;; Size of xlat table
  1389. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1390. DB 1 ;; number of scans
  1391. DB 57,0F9H ;; scan code,ASCII - SPACE
  1392. CP857_DI_SP_T1_END: ;;
  1393. ;;
  1394. DW 0 ;; Size of xlat table - null table
  1395. ;;
  1396. CP857_DI_SP_END: ;;
  1397. ;;
  1398. ;;
  1399. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1400. DW 0 ;; LAST STATE
  1401. ;;
  1402. CP_857_XLAT_END: ;;
  1403. ;;
  1404. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1405. ;;
  1406. CODE ENDS ;;
  1407. END ;;