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.

799 lines
26 KiB

  1. ; * IBM CONFIDENTIAL * Jan 9 1990 *
  2. PAGE ,132
  3. TITLE PC DOS 3.3 Keyboard Definition File
  4. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  5. ;; PC DOS 3.3 - NLS Support - Keyboard Defintion File
  6. ;; (c) Copyright IBM Corp 198?,...
  7. ;;
  8. ;; This file contains the keyboard tables for Spanish.
  9. ;;
  10. ;; Linkage Instructions:
  11. ;; Refer to KDF.ASM.
  12. ;;
  13. ;;
  14. ;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986
  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  16. ;;
  17. INCLUDE KEYBSHAR.INC ;;
  18. INCLUDE POSTEQU.INC ;;
  19. INCLUDE KEYBMAC.INC ;;
  20. ;;
  21. PUBLIC IT2_LOGIC ;;
  22. PUBLIC IT2_437_XLAT ;;
  23. PUBLIC IT2_850_XLAT ;;
  24. ;;
  25. CODE SEGMENT PUBLIC 'CODE' ;;
  26. ASSUME CS:CODE,DS:CODE ;;
  27. ;;
  28. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  29. ;; Standard translate table options are a liner search table
  30. ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  31. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  32. ;;
  33. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  34. ;;
  35. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  36. ;;***************************************
  37. ;; IT State Logic
  38. ;;***************************************
  39. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  40. ;;
  41. ;;
  42. IT2_LOGIC:
  43. DW LOGIC_END-$ ;; length
  44. ;;
  45. DW 0 ;; special features
  46. ;;
  47. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
  48. ;;
  49. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  50. ;; OPTIONS: If we find a scan match in
  51. ;; an XLATT or SET_FLAG operation then
  52. ;; exit from INT 9.
  53. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  54. ;;
  55. OPTION EXIT_IF_FOUND ;;
  56. ;;
  57. ;;
  58. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  59. ;; Dead key definitions must come before
  60. ;; dead key translations to handle
  61. ;; dead key + dead key.
  62. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  63. ;;
  64. IFF EITHER_ALT,NOT ;;
  65. ANDF EITHER_CTL,NOT ;;
  66. IFF EITHER_SHIFT ;;
  67. SET_FLAG DEAD_UPPER ;;
  68. ELSEF ;;
  69. SET_FLAG DEAD_LOWER ;;
  70. ENDIFF ;;
  71. ENDIFF ;;
  72. ;;
  73. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  74. ;; ACUTE ACCENT TRANSLATIONS
  75. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  76. ;;
  77. ACUTE_PROC: ;;
  78. ;;
  79. IFF ACUTE,NOT ;;
  80. GOTO DIARESIS_PROC ;;
  81. ENDIFF ;;
  82. ;;
  83. RESET_NLS ;;
  84. IFF R_ALT_SHIFT,NOT ;;
  85. XLATT ACUTE_SPACE ;;
  86. ENDIFF ;;
  87. IFF EITHER_CTL,NOT ;;
  88. ANDF EITHER_ALT,NOT ;;
  89. IFF EITHER_SHIFT ;;
  90. IFF CAPS_STATE ;;
  91. XLATT ACUTE_LOWER ;;
  92. ELSEF ;;
  93. XLATT ACUTE_UPPER ;;
  94. ENDIFF ;;
  95. ELSEF ;;
  96. IFF CAPS_STATE ;;
  97. XLATT ACUTE_UPPER ;;
  98. ELSEF ;;
  99. XLATT ACUTE_LOWER ;;
  100. ENDIFF ;;
  101. ENDIFF ;;
  102. ENDIFF ;;
  103. ;;
  104. INVALID_ACUTE: ;;
  105. PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
  106. BEEP ;; failed or we are ina bad shift state.
  107. GOTO NON_DEAD ;; Either is invalid so BEEP and fall
  108. ;; through to generate the second char.
  109. ;; Note that the dead key flag will be
  110. ;; reset before we get here.
  111. ;;
  112. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  113. ;; DIARESIS ACCENT TRANSLATIONS
  114. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  115. ;;
  116. DIARESIS_PROC: ;;
  117. ;;
  118. IFF DIARESIS,NOT ;;
  119. GOTO GRAVE_PROC ;;
  120. ENDIFF ;;
  121. ;;
  122. RESET_NLS ;;
  123. IFF R_ALT_SHIFT,NOT ;;
  124. XLATT DIARESIS_SPACE ;; exist for 437 so beep for
  125. ENDIFF ;;
  126. IFF EITHER_CTL,NOT ;;
  127. ANDF EITHER_ALT,NOT ;;
  128. IFF EITHER_SHIFT ;;
  129. IFF CAPS_STATE ;;
  130. XLATT DIARESIS_LOWER ;;
  131. ELSEF ;;
  132. XLATT DIARESIS_UPPER ;;
  133. ENDIFF ;;
  134. ELSEF ;;
  135. IFF CAPS_STATE ;;
  136. XLATT DIARESIS_UPPER ;;
  137. ELSEF ;;
  138. XLATT DIARESIS_LOWER ;;
  139. ENDIFF ;;
  140. ENDIFF ;;
  141. ENDIFF ;;
  142. ;;
  143. INVALID_DIARESIS: ;;
  144. PUT_ERROR_CHAR DIARESIS_SPACE ;; standalone accent
  145. BEEP ;; Invalid dead key combo.
  146. GOTO NON_DEAD ;;
  147. ;;
  148. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  149. ;; GRAVE ACCENT TRANSLATIONS
  150. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  151. ;;
  152. GRAVE_PROC: ;;
  153. ;;
  154. IFF GRAVE,NOT ;;
  155. GOTO CIRCUMFLEX_PROC ;;
  156. ENDIFF ;;
  157. ;;
  158. RESET_NLS ;;
  159. IFF R_ALT_SHIFT,NOT ;;
  160. XLATT GRAVE_SPACE ;;
  161. ENDIFF ;;
  162. IFF EITHER_CTL,NOT ;;
  163. ANDF EITHER_ALT,NOT ;;
  164. IFF EITHER_SHIFT ;;
  165. IFF CAPS_STATE ;;
  166. XLATT GRAVE_LOWER ;;
  167. ELSEF ;;
  168. XLATT GRAVE_UPPER ;;
  169. ENDIFF ;;
  170. ELSEF ;;
  171. IFF CAPS_STATE,NOT ;;
  172. XLATT GRAVE_LOWER ;;
  173. ELSEF ;;
  174. XLATT GRAVE_UPPER ;;
  175. ENDIFF ;;
  176. ENDIFF ;;
  177. ENDIFF ;;
  178. ;;
  179. INVALID_GRAVE: ;;
  180. PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
  181. BEEP ;; Invalid dead key combo.
  182. GOTO NON_DEAD ;;
  183. ;;
  184. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  185. ;; CIRCUMFLEX ACCENT TRANSLATIONS
  186. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  187. ;;
  188. CIRCUMFLEX_PROC: ;;
  189. ;;
  190. IFF CIRCUMFLEX,NOT ;;
  191. GOTO NON_DEAD ;;
  192. ENDIFF ;;
  193. ;;
  194. RESET_NLS ;;
  195. IFF R_ALT_SHIFT,NOT ;;
  196. XLATT CIRCUMFLEX_SPACE ;;
  197. ENDIFF ;;
  198. IFF EITHER_CTL,NOT ;;
  199. ANDF EITHER_ALT,NOT ;;
  200. IFF EITHER_SHIFT ;;
  201. IFF CAPS_STATE ;;
  202. XLATT CIRCUMFLEX_LOWER ;;
  203. ELSEF ;;
  204. XLATT CIRCUMFLEX_UPPER ;;
  205. ENDIFF ;;
  206. ELSEF ;;
  207. IFF CAPS_STATE,NOT ;;
  208. XLATT CIRCUMFLEX_LOWER ;;
  209. ELSEF ;;
  210. XLATT CIRCUMFLEX_UPPER ;;
  211. ENDIFF ;;
  212. ENDIFF ;;
  213. ENDIFF ;;
  214. ;;
  215. INVALID_CIRCUMFLEX: ;;
  216. PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
  217. BEEP ;; Invalid dead key combo.
  218. GOTO NON_DEAD ;;
  219. ;;
  220. ;;
  221. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  222. ;; Upper, lower and third shifts
  223. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  224. ;;
  225. NON_DEAD: ;;
  226. ;;
  227. IFKBD G_KB+P12_KB ;; Avoid accidentally translating
  228. ANDF LC_E0 ;; the "/" on the numeric pad of the
  229. EXIT_STATE_LOGIC ;; G keyboard
  230. ENDIFF ;;
  231. ;;***BD ADDED FOR ALT, CTRL CASES ;;
  232. IFF EITHER_CTL,NOT ;;
  233. IFF ALT_SHIFT ;; ALT - case
  234. ANDF R_ALT_SHIFT,NOT ;;
  235. XLATT ALT_CASE ;;
  236. ENDIFF ;;
  237. ELSEF ;;
  238. IFF EITHER_ALT,NOT ;; CTRL - case
  239. XLATT CTRL_CASE ;;
  240. ENDIFF ;;
  241. ENDIFF ;;
  242. ;;***BD END OF ADDITION
  243. ;;
  244. IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
  245. ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
  246. IFF EITHER_SHIFT ;; Numeric keys are not.
  247. ;;***BD ADDED FOR NUMERIC PAD
  248. IFF NUM_STATE,NOT ;;
  249. XLATT NUMERIC_PAD ;;
  250. ENDIFF ;;
  251. ;;***BD END OF ADDITION
  252. XLATT NON_ALPHA_UPPER ;;
  253. IFF CAPS_STATE ;;
  254. XLATT ALPHA_LOWER ;;
  255. ELSEF ;;
  256. XLATT ALPHA_UPPER ;;
  257. ENDIFF ;;
  258. ELSEF ;;
  259. ;;***BD ADDED FOR NUMERIC PAD
  260. IFF NUM_STATE ;;
  261. XLATT NUMERIC_PAD ;;
  262. ENDIFF ;;
  263. ;;***BD END OF ADDITION
  264. XLATT NON_ALPHA_LOWER ;;
  265. IFF CAPS_STATE ;;
  266. XLATT ALPHA_UPPER ;;
  267. ELSEF ;;
  268. XLATT ALPHA_LOWER ;;
  269. ENDIFF ;;
  270. ENDIFF ;;
  271. ELSEF ;;
  272. IFF EITHER_SHIFT,NOT ;;
  273. IFKBD XT_KB+AT_KB ;;
  274. IFF EITHER_CTL ;;
  275. ANDF ALT_SHIFT ;;
  276. XLATT THIRD_SHIFT ;;
  277. ENDIFF ;;
  278. ELSEF ;;
  279. IFF EITHER_CTL,NOT ;;
  280. ANDF R_ALT_SHIFT ;;
  281. XLATT THIRD_SHIFT ;;
  282. ENDIFF ;;
  283. ENDIFF ;;
  284. ENDIFF ;;
  285. ENDIFF ;;
  286. ;;
  287. EXIT_STATE_LOGIC ;;
  288. ;;
  289. LOGIC_END: ;;
  290. ;;
  291. ;;
  292. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  293. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  294. ;;;***************************************
  295. ;; IT Common Translate Section
  296. ;; This section contains translations for the lower 128 characters
  297. ;; only since these will never change from code page to code page.
  298. ;; In addition the dead key "Set Flag" tables are here since the
  299. ;; dead keys are on the same keytops for all code pages.
  300. ;;***************************************
  301. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  302. ;;
  303. PUBLIC IT2_COMMON_XLAT ;;
  304. IT2_COMMON_XLAT: ;;
  305. ;;
  306. DW COMMON_XLAT_END-$ ;; length of section
  307. DW -1 ;; code page
  308. ;;
  309. ;;
  310. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  311. ;;***************************************
  312. ;;***BD - ADDED FOR ALT CASE
  313. ;;******************************
  314. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  315. ;; CODE PAGE: Common
  316. ;; STATE: Alt Case
  317. ;; KEYBOARD TYPES: All
  318. ;; TABLE TYPE: Translate
  319. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  320. ;;
  321. DW COM_ALT_K1_END-$ ;; length of state section
  322. DB ALT_CASE ;; State ID
  323. DW ANY_KB ;; Keyboard Type
  324. DB -1,-1 ;; Buffer entry for error character
  325. ;;
  326. DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
  327. DB TYPE_2_TAB ;; xlat options:
  328. DB 0 ;; 3 number of entries
  329. ;;***BD THIS ENTRY IS A TEST ENTRY
  330. ;; DB 53,225,0 ;; TEST ENTRY
  331. ;; DB 53,0,82H ;; valid alt -
  332. ;; DB 12,-1,-1 ;; invalid alt -
  333. ;; DB 13,-1,-1 ;; invalid alt =
  334. COM_ALT_K1_T1_END: ;;
  335. ;;
  336. DW 0 ;; Size of xlat table - null table
  337. ;;
  338. COM_ALT_K1_END: ;;
  339. ;;
  340. ;;******************************
  341. ;;***BD - ADDED FOR CTRL CASE
  342. ;;******************************
  343. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  344. ;; CODE PAGE: Common
  345. ;; STATE: Ctrl Case
  346. ;; KEYBOARD TYPES: G_KB+P12_KB+AT
  347. ;; TABLE TYPE: Translate
  348. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  349. ;;
  350. DW COM_CTRL_K1_END-$ ;; length of state section
  351. DB CTRL_CASE ;; State ID
  352. DW G_KB+P12_KB+AT_KB ;; Keyboard Type
  353. DB -1,-1 ;; Buffer entry for error character
  354. ;;
  355. DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
  356. DB TYPE_2_TAB ;; xlat options:
  357. DB 2 ;; number of entries
  358. ;;***BD THIS ENTRY IS A TEST ENTRY
  359. ;; DB 53,226,0 ;; TEST ENTRY
  360. DB 43,-1,-1 ;; invalid slash
  361. DB 41,28,41 ;; valid slash
  362. COM_CTRL_K1_T1_END: ;;
  363. ;;
  364. DW 0 ;; Size of xlat table - null table
  365. ;;
  366. COM_CTRL_K1_END: ;;
  367. ;;
  368. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  369. ;; CODE PAGE: Common
  370. ;; STATE: Non-Alpha Lower Case
  371. ;; KEYBOARD TYPES: G_KB+P12_KB
  372. ;; TABLE TYPE: Translate
  373. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  374. ;;
  375. DW COM_NA_LO_K1_END-$ ;; length of state section
  376. DB NON_ALPHA_LOWER ;; State ID
  377. DW G_KB+P12_KB ;; Keyboard Type
  378. DB -1,-1 ;; Buffer entry for error character
  379. ;;
  380. DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
  381. DB STANDARD_TABLE ;; xlat options:
  382. DB 10 ;; number of entries
  383. DB 41,"\" ;; \
  384. DB 12,"'" ;; '
  385. DB 13,141 ;; grave i - �;
  386. DB 27,'+' ;; +
  387. DB 86,'<' ;; <
  388. DB 53,'-' ;; -
  389. DB 39,149 ;; grave o - �
  390. DB 40,133 ;; grave a - �;
  391. DB 43,151 ;; grave u - �;
  392. DB 26,138 ;; grave e - �;
  393. COM_NA_LO_K1_T1_END: ;;
  394. ;;
  395. DW 0 ;; Size of xlat table - null table
  396. ;;
  397. COM_NA_LO_K1_END: ;;
  398. ;;
  399. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  400. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  401. ;; CODE PAGE: Common
  402. ;; STATE: Non-Alpha Lower Case
  403. ;; KEYBOARD TYPES: AT
  404. ;; TABLE TYPE: Translate
  405. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  406. ;;
  407. DW COM_NA_LO_K2_END-$ ;; length of state section
  408. DB NON_ALPHA_LOWER ;; State ID
  409. DW AT_KB ;; Keyboard Type
  410. DB -1,-1 ;; Buffer entry for error character
  411. ;;
  412. DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table
  413. DB STANDARD_TABLE ;; xlat options:
  414. DB 9 ;; number of entries
  415. DB 41,"<" ;; <
  416. DB 12,"'" ;; '
  417. DB 13,141 ;; grave i - �;
  418. DB 27,'+' ;; +
  419. DB 53,'-' ;; -
  420. DB 39,149 ;; grave o - �
  421. DB 40,133 ;; grave a - �;
  422. DB 43,151 ;; grave u - �;
  423. DB 26,138 ;; grave e - �;
  424. COM_NA_LO_K2_T1_END: ;;
  425. ;;
  426. DW 0 ;; Size of xlat table - null table
  427. ;;
  428. COM_NA_LO_K2_END: ;;
  429. ;;
  430. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  431. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  432. ;; CODE PAGE: Common
  433. ;; STATE: Non-Alpha Lower Case
  434. ;; KEYBOARD TYPES: XT +
  435. ;; TABLE TYPE: Translate
  436. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  437. ;;
  438. DW COM_NA_LO_K3_END-$ ;; length of state section
  439. DB NON_ALPHA_LOWER ;; State ID
  440. DW XT_KB ;; Keyboard Type
  441. DB -1,-1 ;; Buffer entry for error character
  442. ;;
  443. DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table
  444. DB STANDARD_TABLE ;; xlat options:
  445. DB 9 ;; number of entries
  446. DB 12,"'" ;; '
  447. DB 13,141 ;; grave i - �;
  448. DB 27,'+' ;; +
  449. DB 43,'<' ;; <
  450. DB 53,'-' ;; -
  451. DB 39,149 ;; grave o - �
  452. DB 40,133 ;; grave a - �;
  453. DB 41,151 ;; grave u - �;
  454. DB 26,138 ;; grave e - �;
  455. COM_NA_LO_K3_T1_END: ;;
  456. ;;
  457. DW 0 ;; Size of xlat table - null table
  458. ;;
  459. COM_NA_LO_K3_END: ;;
  460. ;;
  461. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  462. ;; CODE PAGE: Common
  463. ;; STATE: Non-Alpha Upper Case
  464. ;; KEYBOARD TYPES: G_KB+P12
  465. ;; TABLE TYPE: Translate
  466. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  467. ;;
  468. DW COM_NA_UP_K1_END-$ ;; length of state section
  469. DB NON_ALPHA_UPPER ;; State ID
  470. DW G_KB+P12_KB ;; Keyboard Type
  471. DB -1,-1 ;; Buffer entry for error character
  472. ;;
  473. DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
  474. DB STANDARD_TABLE ;; xlat options:
  475. DB 18 ;; number of entries
  476. DB 41,07CH ;; Solid vertical bar - |
  477. DB 3,'"' ;;
  478. DB 4,'�' ;;
  479. DB 7,'&' ;;
  480. DB 8,'/' ;;
  481. DB 9,'(' ;;
  482. DB 10,')' ;;
  483. DB 11,'=' ;;
  484. DB 12,'?' ;;
  485. DB 13,'^' ;;
  486. DB 26,130 ;; acute e - �;
  487. DB 39,135 ;; c - cedilla - �
  488. DB 27,'*' ;;
  489. DB 40,0F8H ;; � - degree symbol
  490. DB 86,'>' ;;
  491. DB 51,';' ;;
  492. DB 52,':' ;;
  493. DB 53,'_' ;;
  494. ;;
  495. COM_NA_UP_K1_T1_END: ;;
  496. ;;
  497. DW 0 ;; Size of xlat table - null table
  498. ;;
  499. COM_NA_UP_K1_END: ;;
  500. ;;
  501. ;;
  502. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  503. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  504. ;; CODE PAGE: Common
  505. ;; STATE: Non-Alpha Upper Case
  506. ;; KEYBOARD TYPES: AT
  507. ;; TABLE TYPE: Translate
  508. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  509. ;;
  510. DW COM_NA_UP_K2_END-$ ;; length of state section
  511. DB NON_ALPHA_UPPER ;; State ID
  512. DW AT_KB ;; Keyboard Type
  513. DB -1,-1 ;; Buffer entry for error character
  514. ;;
  515. DW COM_NA_UP_K2_T1_END-$ ;; Size of xlat table
  516. DB STANDARD_TABLE ;; xlat options:
  517. DB 18 ;; number of entries
  518. DB 41,'>' ;; >
  519. DB 3,'"' ;;
  520. DB 4,'�' ;;
  521. DB 7,'&' ;;
  522. DB 8,'/' ;;
  523. DB 9,'(' ;;
  524. DB 10,')' ;;
  525. DB 11,'=' ;;
  526. DB 12,'?' ;;
  527. DB 13,'^' ;;
  528. DB 26,130 ;; acute e - �;
  529. DB 39,'@' ;; @ AT sign replaces c - cedilla - �
  530. DB 27,'*' ;;
  531. DB 40,'#' ;; # sign replaces � - degree symbol
  532. DB 86,'>' ;;
  533. DB 51,';' ;;
  534. DB 52,':' ;;
  535. DB 53,'_' ;;
  536. ;;
  537. COM_NA_UP_K2_T1_END: ;;
  538. ;;
  539. DW 0 ;; Size of xlat table - null table
  540. ;;
  541. COM_NA_UP_K2_END: ;;
  542. ;;
  543. ;;
  544. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  545. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  546. ;; CODE PAGE: Common
  547. ;; STATE: Non-Alpha Upper Case
  548. ;; KEYBOARD TYPES: XT +
  549. ;; TABLE TYPE: Translate
  550. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  551. ;;
  552. DW COM_NA_UP_K3_END-$ ;; length of state section
  553. DB NON_ALPHA_UPPER ;; State ID
  554. DW XT_KB ;; Keyboard Type
  555. DB -1,-1 ;; Buffer entry for error character
  556. ;;
  557. DW COM_NA_UP_K3_T1_END-$ ;; Size of xlat table
  558. DB STANDARD_TABLE ;; xlat options:
  559. DB 17 ;; number of entries
  560. DB 3,'"' ;;
  561. DB 4,'�' ;;
  562. DB 7,'&' ;;
  563. DB 8,'/' ;;
  564. DB 9,'(' ;;
  565. DB 10,')' ;;
  566. DB 11,'=' ;;
  567. DB 12,'?' ;;
  568. DB 13,'^' ;;
  569. DB 26,130 ;; acute e - �;
  570. DB 39,'@' ;; @ AT sign replaces c - cedilla - �
  571. DB 27,'*' ;;
  572. DB 40,'#' ;; # sign replaces � - degree symbol
  573. DB 43,'>' ;;
  574. DB 51,';' ;;
  575. DB 52,':' ;;
  576. DB 53,'_' ;;
  577. ;;
  578. COM_NA_UP_K3_T1_END: ;;
  579. ;;
  580. DW 0 ;; Size of xlat table - null table
  581. ;;
  582. COM_NA_UP_K3_END: ;;
  583. ;;
  584. ;;
  585. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  586. ;; CODE PAGE: Common
  587. ;; STATE: Third Shift
  588. ;; KEYBOARD TYPES: G_KB+P12_KB
  589. ;; TABLE TYPE: Translate
  590. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  591. ;;
  592. DW COM_THIRD_K1_END-$ ;; length of state section
  593. DB THIRD_SHIFT ;; State ID
  594. DW G_KB+P12_KB ;; Keyboard Type
  595. DB -1,-1 ;; Buffer entry for error character
  596. ;;
  597. DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table
  598. DB STANDARD_TABLE ;; xlat options:
  599. DB 4 ;; number of entries
  600. DB 26,'[' ;;
  601. DB 27,']' ;;
  602. DB 39,'@' ;;
  603. DB 40,'#' ;;
  604. COM_THIRD_K1_T1_END: ;;
  605. ;;
  606. DW 0 ;; Last xlat table
  607. COM_THIRD_K1_END: ;;
  608. ;;
  609. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  610. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  611. ;; CODE PAGE: Common
  612. ;; STATE: Third Shift
  613. ;; KEYBOARD TYPES: AT
  614. ;; TABLE TYPE: Translate
  615. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  616. ;;
  617. DW COM_THIRD_K2_END-$ ;; length of state section
  618. DB THIRD_SHIFT ;; State ID
  619. DW AT_KB ;; Keyboard Type
  620. DB -1,-1 ;; Buffer entry for error character
  621. ;;
  622. DW COM_THIRD_K2_T1_END-$ ;; Size of xlat table
  623. DB STANDARD_TABLE ;; xlat options:
  624. DB 3 ;; number of entries
  625. DB 41,'\' ;;
  626. DB 26,'[' ;;
  627. DB 27,']' ;;
  628. COM_THIRD_K2_T1_END: ;;
  629. ;;
  630. DW 0 ;; Last xlat table
  631. COM_THIRD_K2_END: ;;
  632. ;;
  633. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  634. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  635. ;; CODE PAGE: Common
  636. ;; STATE: Third Shift
  637. ;; KEYBOARD TYPES: XT +
  638. ;; TABLE TYPE: Translate
  639. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  640. ;;
  641. DW COM_THIRD_K3_END-$ ;; length of state section
  642. DB THIRD_SHIFT ;; State ID
  643. DW XT_KB ;; Keyboard Type
  644. DB -1,-1 ;; Buffer entry for error character
  645. ;;
  646. DW COM_THIRD_K3_T1_END-$ ;; Size of xlat table
  647. DB STANDARD_TABLE ;; xlat options:
  648. DB 3 ;; number of entries
  649. DB 43,'\' ;;
  650. DB 26,'[' ;;
  651. DB 27,']' ;;
  652. COM_THIRD_K3_T1_END: ;;
  653. ;;
  654. DW 0 ;; Last xlat table
  655. COM_THIRD_K3_END: ;;
  656. ;;
  657. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  658. DW 0 ;; Last State
  659. COMMON_XLAT_END: ;;
  660. ;;
  661. ;;
  662. ;;
  663. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  664. ;;***************************************
  665. ;; IT Specific Translate Section for 437
  666. ;; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
  667. ;;***************************************
  668. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  669. ;;
  670. PUBLIC IT2_437_XLAT ;;
  671. IT2_437_XLAT: ;;
  672. ;;
  673. DW CP437_XLAT_END-$ ;; length of section
  674. DW 437 ;;
  675. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  676. ;; CODE PAGE: 437
  677. ;; STATE: Non-Alpha Upper case
  678. ;; KEYBOARD TYPES: G_KB+P12+AT
  679. ;; TABLE TYPE: Translate
  680. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  681. ;;
  682. DW CP437_NA_UP_K1_END-$ ;; length of state section
  683. DB NON_ALPHA_UPPER ;; State ID
  684. DW G_KB+P12_KB+AT_KB ;; Keyboard Type
  685. DB -1,-1 ;; error character = standalone accent
  686. ;;
  687. DW CP437_NA_UP_T1_K1_END-$ ;; Size of xlat table
  688. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  689. DB 1 ;; number of scans
  690. DB 43,015H ;; Section symbol - 
  691. CP437_NA_UP_T1_K1_END: ;;
  692. ;;
  693. DW 0 ;; Size of xlat table - null table
  694. ;;
  695. CP437_NA_UP_K1_END: ;;
  696. ;;
  697. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  698. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  699. ;; CODE PAGE: 437
  700. ;; STATE: Non-Alpha Upper case
  701. ;; KEYBOARD TYPES: XT +
  702. ;; TABLE TYPE: Translate
  703. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  704. ;;
  705. DW CP437_NA_UP_K2_END-$ ;; length of state section
  706. DB NON_ALPHA_UPPER ;; State ID
  707. DW XT_KB ;; Keyboard Type
  708. DB -1,-1 ;; error character = standalone accent
  709. ;;
  710. DW CP437_NA_UP_T1_K2_END-$ ;; Size of xlat table
  711. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  712. DB 1 ;; number of scans
  713. DB 41,015H ;; Section symbol - 
  714. CP437_NA_UP_T1_K2_END: ;;
  715. ;;
  716. DW 0 ;; Size of xlat table - null table
  717. ;;
  718. CP437_NA_UP_K2_END: ;;
  719. ;;
  720. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  721. DW 0 ;; LAST STATE
  722. ;;
  723. CP437_XLAT_END: ;;
  724. ;;
  725. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  726. ;;***************************************
  727. ;; IT Specific Translate Section for 850
  728. ;;***************************************
  729. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  730. ;;
  731. PUBLIC IT2_850_XLAT ;;
  732. IT2_850_XLAT: ;;
  733. ;;
  734. DW CP850_XLAT_END-$ ;; length of section
  735. DW 850 ;;
  736. ;;
  737. ;;
  738. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  739. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  740. ;; CODE PAGE: 850
  741. ;; STATE: Non-Alpha Upper case
  742. ;; KEYBOARD TYPES: G_KB+P12+AT
  743. ;; TABLE TYPE: Translate
  744. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  745. ;;
  746. DW CP850_NA_UP_K1_END-$ ;; length of state section
  747. DB NON_ALPHA_UPPER ;; State ID
  748. DW G_KB+P12_KB+AT_KB ;; Keyboard Type
  749. DB -1,-1 ;; error character = standalone accent
  750. ;;
  751. DW CP850_NA_UP_T1_K1_END-$ ;; Size of xlat table
  752. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  753. DB 1 ;; number of scans
  754. DB 43,0F5H ;; Section symbol - 
  755. CP850_NA_UP_T1_K1_END: ;;
  756. ;;
  757. DW 0 ;; Size of xlat table - null table
  758. ;;
  759. CP850_NA_UP_K1_END: ;;
  760. ;;
  761. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  762. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  763. ;; CODE PAGE: 850
  764. ;; STATE: Non-Alpha Upper case
  765. ;; KEYBOARD TYPES: XT
  766. ;; TABLE TYPE: Translate
  767. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  768. ;;
  769. DW CP850_NA_UP_K2_END-$ ;; length of state section
  770. DB NON_ALPHA_UPPER ;; State ID
  771. DW XT_KB ;; Keyboard Type
  772. DB -1,-1 ;; error character = standalone accent
  773. ;;
  774. DW CP850_NA_UP_T1_K2_END-$ ;; Size of xlat table
  775. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  776. DB 1 ;; number of scans
  777. DB 41,0F5H ;; Section symbol - 
  778. CP850_NA_UP_T1_K2_END: ;;
  779. ;;
  780. DW 0 ;; Size of xlat table - null table
  781. ;;
  782. CP850_NA_UP_K2_END: ;;
  783. ;;
  784. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  785. DW 0 ;; LAST STATE
  786. ;;
  787. CP850_XLAT_END: ;;
  788. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  789. ;;
  790. CODE ENDS ;;
  791. END ;;
  792.