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