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.

518 lines
25 KiB

  1. ;CODE to be deleted has a double ;; followed by actual asm code....****
  2. ;; LATEST CHANGE ALT & CTL
  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 Japanese.
  10. ;;
  11. ;; Linkage Instructions:
  12. ;; Refer to KDF.ASM.
  13. ;;
  14. ;; Author: Shuzo Kusuda - IBM Japan, Yamato Lab. - Feb. 1990
  15. ;;
  16. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. ;;
  18. INCLUDE KEYBSHAR.INC ;;
  19. ;M000 INCLUDE POSTEQU.SRC ;;
  20. include postequ.inc ; M000 -- our inc file reflects the
  21. ; ; necessary changes as M024
  22. INCLUDE KEYBMAC.INC ;;
  23. ;;
  24. PUBLIC JP_LOGIC ;;
  25. PUBLIC JP_COMMON_XLAT ;;
  26. PUBLIC JP_932_XLAT ;;
  27. PUBLIC JP_437_XLAT ;;
  28. ;;
  29. CODE SEGMENT PUBLIC 'CODE' ;;
  30. ASSUME CS:CODE,DS:CODE ;;
  31. ;;
  32. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  33. ;; Standard translate table options are a liner search table
  34. ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  35. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  36. ;;
  37. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  38. ;;
  39. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  40. ;;***************************************
  41. ;; JP State Logic
  42. ;;***************************************
  43. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  44. ;;
  45. ;;
  46. JP_LOGIC: ;;
  47. ;;
  48. DW LOGIC_END-$ ;; length
  49. ;;
  50. DW 0 ;; special features
  51. ;;
  52. ;; COMMANDS START HERE
  53. ;;
  54. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  55. ;; DBCS \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
  56. ;;
  57. ;;
  58. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  59. ;;
  60. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  61. ;; OPTIONS: If we find a scan match in
  62. ;; an XLATT or SET_FLAG operation then
  63. ;; exit from INT 9.
  64. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  65. ;;
  66. OPTION EXIT_IF_FOUND ;;
  67. ;;
  68. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  69. ;; OPTIONS: If we find a scan match in
  70. ;; an XLATT or SET_FLAG operation then
  71. ;; exit from INT 9.
  72. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  73. ;;
  74. IFF EITHER_ALT, NOT ;; ;JP900807
  75. ANDF EITHER_CTL, NOT ;; ;JP900807
  76. IFF LC_E0 ;; Avoid accidentally translating
  77. XLATT NUMERIC_PAD ;; the key of the numeric ;JP900807
  78. EXIT_STATE_LOGIC ;;
  79. ENDIFF ;;
  80. ENDIFF ;; ;JP900807
  81. ;;
  82. ;JP900727 IFF EITHER_CTL,NOT ;;
  83. ;JP900727 IFF EITHER_ALT ;; ALT - case
  84. ;JP900727 XLATT ALT_CASE ;;
  85. ;JP900727 ENDIFF ;;
  86. ;JP900727 ELSEF ;;
  87. IFF EITHER_ALT ;; ;JP900727
  88. XLATT ALT_CASE ;; ALT case ;JP900727
  89. ENDIFF ;; ;JP900727
  90. IFF EITHER_CTL ;; ;JP900727
  91. IFF EITHER_ALT,NOT ;;
  92. XLATT CTRL_CASE ;; CTRL case
  93. ENDIFF ;;
  94. ENDIFF ;;
  95. ;;
  96. IFF EITHER_ALT,NOT ;; Lower and upper case. Alphabetic
  97. ANDF EITHER_CTL,NOT ;; keys are affected by CAPS LOCK.
  98. IFF EITHER_SHIFT ;; Numeric keys are not.
  99. ;JP900807 IFF NUM_STATE,NOT ;;
  100. ;JP900807 XLATT NUMERIC_PAD ;;
  101. ;JP900807 ENDIFF ;;
  102. XLATT NON_ALPHA_UPPER ;;
  103. IFF CAPS_STATE ;;
  104. XLATT ALPHA_LOWER ;;
  105. ELSEF ;;
  106. XLATT ALPHA_UPPER ;;
  107. ENDIFF ;;
  108. ELSEF ;;
  109. ;JP900807 IFF NUM_STATE ;;
  110. ;JP900807 XLATT NUMERIC_PAD ;;
  111. ;JP900807 ENDIFF ;;
  112. XLATT NON_ALPHA_LOWER ;;
  113. IFF CAPS_STATE ;;
  114. XLATT ALPHA_UPPER ;;
  115. ELSEF ;;
  116. XLATT ALPHA_LOWER ;;
  117. ENDIFF ;;
  118. ENDIFF ;;
  119. ENDIFF ;;
  120. ;;
  121. EXIT_STATE_LOGIC ;;
  122. ;;
  123. LOGIC_END: ;;
  124. ;;
  125. ;;
  126. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  127. ;;***************************************
  128. ;; JP Common Translate Section
  129. ;; This section contains translations for the lower 128 characters
  130. ;; only since these will never change from code page to code page.
  131. ;; In addition the dead key "Set Flag" tables are here since the
  132. ;; dead keys are on the same keytops for all code pages.
  133. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  134. ;;
  135. ;
  136. ; Hardware Scan Codes
  137. ;
  138. HW_SC_0 equ 0bh ;JP9007
  139. HW_SC_HAT equ 0dh ;JP9007
  140. HW_SC_BACK_SLASH_NEW equ 73h
  141. HW_SC_BACK_SLASH equ 73h
  142. HW_SC_YEN_NEW equ 7dh
  143. HW_SC_YEN_OLD equ 2bh
  144. HW_SC_CONV equ 79h
  145. HW_SC_NO_CONV equ 7bh
  146. HW_SC_HALF_FULL_NEW equ 29h
  147. HW_SC_HALF_FULL_OLD equ 77h
  148. HW_SC_HIRAGANA equ 70h ; new G only
  149. HW_SC_KATAKANA equ 70h ; old G only
  150. HW_SC_KATAKANA_A equ 70h ; old A only
  151. HW_SC_KANJI_OLD_A equ 68h
  152. HW_SC_TANGO_TOHROKU_A equ 67h ;JP9009
  153. HW_SC_PAD_COMMA equ 33h ;JP900807
  154. ;JP9009 PSEUDO_SC_HIRAGANA equ 7dh
  155. PSEUDO_SC_ALPHANUMERIC equ 7eh
  156. PSEUDO_SC_HIRAGANA equ 71h ;NTVDM
  157. HW_SC_TORIKESHI equ 55h ;JP9009
  158. HW_SC_PA1 equ 5ah ;JP9009
  159. HW_SC_CSR_BLINK equ 5bh ;JP9009
  160. HW_SC_INTERRUPT equ 5ch ;JP9009
  161. HW_SC_UF1 equ 5dh ;JP9009
  162. HW_SC_PA2 equ 5eh ;JP9009
  163. HW_SC_UF2 equ 63h ;JP9009
  164. HW_SC_UF3 equ 64h ;JP9009
  165. HW_SC_UF4 equ 65h ;JP9009
  166. HW_SC_ATTENTION equ 66h ;JP9009
  167. HW_SC_SIZE_CONV equ 69h ;JP9009
  168. HW_SC_MESSAGE equ 6ah ;JP9009
  169. HW_SC_COPY equ 6bh ;JP9009
  170. HW_SC_SHUHRYOH equ 6ch ;JP9009
  171. HW_SC_ERASE_EOF equ 6dh ;JP9009
  172. HW_SC_CLEAR equ 76h ;JP9009
  173. ;
  174. ; Type of converted scan code
  175. ;
  176. PSEUDO_CODE equ 00h
  177. EXTENDED_CODE equ 0f0h
  178. EXTENDED_CODE_E0 equ 0e0h ;JP900807
  179. ;
  180. ; Extended code list
  181. ;
  182. EXT_HALF_FULL equ 0afh
  183. EXT_HALF_FULL_UPPER equ 0b0h
  184. EXT_HALF_FULL_CTRL equ 0b1h
  185. EXT_KANJI equ 0b2h
  186. EXT_ALPHA_NUMERIC equ 0b3h
  187. EXT_ALPHA_NUMERIC_CTRL equ 0b4h
  188. EXT_KANJI_NO equ 0b5h
  189. EXT_HIRAGANA equ 0b6h
  190. EXT_KATAKANA equ 0b7h
  191. EXT_HIRAGANA_CTRL equ 0b8h
  192. EXT_ROMAJI equ 0b9h
  193. EXT_HALF_FULL_ALT equ 0bah
  194. EXT_ALPHA_NUMERIC_ALT equ 0bbh
  195. EXT_HIRAGANA_UPPER equ 0bch
  196. EXT_KATAKANA_CTRL equ 0bdh
  197. EXT_KANJI_UPPER equ 0beh
  198. EXT_KANJI_CTRL equ 0bfh
  199. EXT_KATAKANA_SHIFT_A equ 0c0h ;JP9009
  200. EXT_KATAKANA_ALT_A equ 0c1h ;JP9009
  201. EXT_TANGO_A equ 0c2h ;JP9009
  202. EXT_TANGO_SHIFT_A equ 0c3h ;JP9009
  203. EXT_TANGO_CTRL_A equ 0c4h ;JP9009
  204. EXT_TANGO_ALT_A equ 0c5h ;JP9009
  205. EXT_NO_CONV_1 equ 0abh
  206. EXT_NO_CONV_2 equ 0ach
  207. EXT_NO_CONV_3 equ 0adh
  208. EXT_NO_CONV_4 equ 0aeh
  209. EXT_CONV_1 equ 0a7h
  210. EXT_CONV_2 equ 0a8h
  211. EXT_CONV_3 equ 0a9h
  212. EXT_CONV_4 equ 0aah
  213. JP_COMMON_XLAT: ;;
  214. ;;
  215. DW COMMON_XLAT_END-$ ;; length of section
  216. DW -1 ;; code page
  217. ;;
  218. ;;
  219. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  220. ;; CODE PAGE: Common ;SK900807
  221. ;; STATE: Numeric Pad Case ;SK900807
  222. ;; KEYBOARD TYPES: New & Old DBCS keyboard ;SK900807
  223. ;; TABLE TYPE: Translate ;SK900807
  224. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;SK900807
  225. ;; ;SK900807
  226. DW COM_PAD_K1_END-$ ;; length of state section ;SK900807
  227. DB NUMERIC_PAD ;; State ID ;SK900807
  228. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  229. DB -1,-1 ;; Buffer entry for error char ;SK900807
  230. ;; ;SK900807
  231. DW COM_PAD_K1_T1_END-$ ;; Size of xlat table ;SK900807
  232. DB TYPE_2_TAB ;; xlat options: ;SK900807
  233. DB 1 ;; number of entries ;SK900807
  234. db HW_SC_PAD_COMMA, ',', EXTENDED_CODE_E0 ;SK900807
  235. COM_PAD_K1_T1_END: ;; ;SK900807
  236. DW 0 ;; Size of xlat table - null ;SK900807
  237. COM_PAD_K1_END: ;; table ;SK900807
  238. ;; ;SK900807
  239. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  240. ;; CODE PAGE: Common
  241. ;; STATE: Alt Case
  242. ;; KEYBOARD TYPES: Old DBCS keyboard
  243. ;; TABLE TYPE: Translate
  244. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  245. ;;
  246. DW COM_ALT_K2_END-$ ;; length of state section
  247. DB ALT_CASE ;; State ID
  248. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  249. DB -1,-1 ;; Buffer entry for error character
  250. ;;
  251. DW COM_ALT_K2_T2_END-$ ;; Size of xlat table
  252. DB TYPE_2_TAB ;; xlat options:
  253. DB 10 ;; number of entries ;JP9009
  254. db HW_SC_BACK_SLASH, -1, HW_SC_BACK_SLASH
  255. db HW_SC_YEN_OLD, -1, HW_SC_YEN_OLD
  256. db PSEUDO_SC_HIRAGANA, EXTENDED_CODE, EXT_ROMAJI
  257. db PSEUDO_SC_ALPHANUMERIC, EXTENDED_CODE, EXT_ALPHA_NUMERIC_ALT
  258. db HW_SC_KATAKANA, EXTENDED_CODE, EXT_KANJI_NO ;SK9006
  259. db HW_SC_HALF_FULL_OLD, EXTENDED_CODE, EXT_HALF_FULL_ALT ;SK9006
  260. db HW_SC_CONV, EXTENDED_CODE, EXT_CONV_4
  261. db HW_SC_NO_CONV, EXTENDED_CODE, EXT_NO_CONV_4
  262. db HW_SC_KANJI_OLD_A, EXTENDED_CODE, EXT_KANJI_NO ;JP9009
  263. ; The followings are for A-keyboard emulation. ;JP9009
  264. db HW_SC_TANGO_TOHROKU_A, EXTENDED_CODE, EXT_TANGO_ALT_A ;JP9009
  265. COM_ALT_K2_T2_END: ;;
  266. ;;
  267. DW 0 ;; Size of xlat table - null table
  268. ;;
  269. COM_ALT_K2_END: ;;
  270. ;;
  271. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  272. ;; CODE PAGE: Common
  273. ;; STATE: Ctrl Case
  274. ;; KEYBOARD TYPES: Old DBCS keyboard
  275. ;; TABLE TYPE: Translate
  276. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  277. ;;
  278. DW COM_CTRL_K2_END-$ ;; length of state section
  279. DB CTRL_CASE ;; State ID
  280. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  281. DB -1,-1 ;; Buffer entry for error character
  282. ;;
  283. DW COM_CTRL_K2_T2_END-$ ;; Size of xlat table
  284. DB TYPE_2_TAB ;; xlat options:
  285. DB 12 ;; number of entries ;JP9009
  286. db 1ah, 1bh, 1ah ; CTRL+'[' = ESC
  287. db 1bh, 1dh, 1bh ; CTRL+']' = GS
  288. db 29h, -1, 29h ; throw away !!! ('@')
  289. db HW_SC_BACK_SLASH, 1ch, HW_SC_BACK_SLASH; CTRL+'\' = FS
  290. db PSEUDO_SC_HIRAGANA, EXTENDED_CODE, EXT_HIRAGANA_CTRL
  291. db PSEUDO_SC_ALPHANUMERIC, EXTENDED_CODE, EXT_ALPHA_NUMERIC_CTRL
  292. db HW_SC_KATAKANA, EXTENDED_CODE, EXT_KATAKANA_CTRL ;SK9006
  293. db HW_SC_HALF_FULL_OLD, EXTENDED_CODE, EXT_HALF_FULL_CTRL ;SK9006
  294. db HW_SC_CONV, EXTENDED_CODE, EXT_CONV_3
  295. db HW_SC_NO_CONV, EXTENDED_CODE, EXT_NO_CONV_3
  296. db HW_SC_KANJI_OLD_A, EXTENDED_CODE, EXT_KANJI_CTRL ;JP9009
  297. ; The followings are for A-keyboard emulation. ;JP9009
  298. db HW_SC_TANGO_TOHROKU_A, EXTENDED_CODE, EXT_TANGO_CTRL_A ;JP9009
  299. COM_CTRL_K2_T2_END: ;;
  300. ;;
  301. DW 0 ;; Size of xlat table - null table
  302. ;;
  303. COM_CTRL_K2_END: ;;
  304. ;;
  305. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  306. ;; CODE PAGE: Common
  307. ;; STATE: Non-Alpha Lower Case
  308. ;; KEYBOARD TYPES: Old DBCS keyboard
  309. ;; TABLE TYPE: Translate
  310. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  311. ;;
  312. DW COM_NA_LO_K2_END-$ ;; length of state section
  313. DB NON_ALPHA_LOWER ;; State ID
  314. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  315. DB -1,-1 ;; Buffer entry for error character
  316. ;;
  317. DW COM_NA_LO_T2_K2_END-$ ;; Size of xlat table
  318. DB TYPE_2_TAB ;; xlat options:
  319. DB 14 ;; number of entries ;JP9009
  320. db 0dh, '^' , 0dh
  321. db 1ah, '[' , 1ah
  322. db 1bh, ']' , 1bh
  323. db 28h, ':' , 28h
  324. db 29h, '@' , 29h
  325. db HW_SC_BACK_SLASH, '\', HW_SC_BACK_SLASH
  326. db PSEUDO_SC_HIRAGANA, EXTENDED_CODE, EXT_HIRAGANA
  327. db PSEUDO_SC_ALPHANUMERIC, EXTENDED_CODE, EXT_ALPHA_NUMERIC
  328. db HW_SC_KATAKANA, EXTENDED_CODE, EXT_KATAKANA ;SK9006
  329. db HW_SC_HALF_FULL_OLD, EXTENDED_CODE, EXT_HALF_FULL ;SK9006
  330. db HW_SC_CONV, EXTENDED_CODE, EXT_CONV_1
  331. db HW_SC_NO_CONV, EXTENDED_CODE, EXT_NO_CONV_1
  332. db HW_SC_KANJI_OLD_A, EXTENDED_CODE, EXT_KANJI ;JP9009
  333. ; The followings are for A-keyboard emulation. ;JP9009
  334. db HW_SC_TANGO_TOHROKU_A, EXTENDED_CODE, EXT_TANGO_A ;JP9009
  335. COM_NA_LO_T2_K2_END: ;;
  336. ;;
  337. DW 0 ;; Size of xlat table - null table
  338. COM_NA_LO_K2_END: ;;
  339. ;;
  340. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  341. ;; CODE PAGE: Common
  342. ;; STATE: Non-Alpha Upper Case
  343. ;; KEYBOARD TYPES: Old DBCS keyboard
  344. ;; TABLE TYPE: Translate
  345. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  346. ;;
  347. DW COM_NA_UP_K2_END-$ ;; length of state section
  348. DB NON_ALPHA_UPPER ;; State ID
  349. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  350. DB -1,-1 ;; Buffer entry for error character
  351. ;;
  352. DW COM_NA_UP_T2_K2_END-$ ;; Size of xlat table
  353. DB TYPE_2_TAB ;; xlat options:
  354. DB 21 ;; number of entries ;JP9009
  355. db 03h, '"', 03h
  356. db 07h, '&', 07h
  357. db 08h, "'", 08h
  358. db 09h, '(', 09h
  359. db 0ah, ')', 0ah
  360. db HW_SC_0, EXTENDED_CODE , 0bh ; only for KKC ;SK9007
  361. db 0ch, '=', 0ch
  362. db HW_SC_HAT, '~', 0dh ;SK9007
  363. db 1ah, '{', 1ah
  364. db 1bh, '}', 1bh
  365. db 27h, '+', 27h
  366. db 28h, '*', 28h
  367. db 29h, '`', 29h
  368. db HW_SC_BACK_SLASH, '_', HW_SC_BACK_SLASH
  369. db PSEUDO_SC_HIRAGANA, EXTENDED_CODE, EXT_HIRAGANA_UPPER
  370. db HW_SC_KATAKANA, EXTENDED_CODE, EXT_KANJI ;SK9006
  371. db HW_SC_HALF_FULL_OLD, EXTENDED_CODE, EXT_HALF_FULL_UPPER ;SK9006
  372. db HW_SC_CONV, EXTENDED_CODE, EXT_CONV_2
  373. db HW_SC_NO_CONV, EXTENDED_CODE, EXT_NO_CONV_2
  374. db HW_SC_KANJI_OLD_A, EXTENDED_CODE, EXT_KANJI_UPPER ;JP9009
  375. ; The followings are for A-keyboard emulation. ;JP9009
  376. db HW_SC_TANGO_TOHROKU_A, EXTENDED_CODE, EXT_TANGO_SHIFT_A ;JP9009
  377. COM_NA_UP_T2_K2_END: ;;
  378. ;;
  379. DW 0 ;; Size of xlat table - null table
  380. COM_NA_UP_K2_END: ;;
  381. ;;
  382. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  383. DW 0 ;; LAST STATE
  384. COMMON_XLAT_END: ;;
  385. ;;
  386. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  387. ;; ;;
  388. ;; JP Specific Translate Section for ;;
  389. ;; Code Page 932. ;;
  390. ;; It is completely covered by the ;;
  391. ;; common table. ;;
  392. ;; ;;
  393. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  394. ;;
  395. JP_932_XLAT: ;;
  396. ;;
  397. DW CP932_XLAT_END - $ ;;
  398. DW 932 ;;
  399. ;;
  400. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  401. DW 0 ;;
  402. CP932_XLAT_END: ;;
  403. ;;
  404. ;;
  405. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  406. ;; ;;
  407. ;; JP Specific Translate Section for ;;
  408. ;; Code Page 437. ;;
  409. ;; It is completely covered by the ;;
  410. ;; common table. ;;
  411. ;; ;;
  412. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  413. ;;
  414. JP_437_XLAT: ;;
  415. ;;
  416. DW CP437_XLAT_END - $ ;;
  417. DW 437 ;;
  418. ;;
  419. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  420. ;; CODE PAGE: 437
  421. ;; STATE: Alt Case
  422. ;; KEYBOARD TYPES: Old DBCS keyboard
  423. ;; TABLE TYPE: Translate
  424. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  425. DW CP437_ALT_K2_END - $ ;; length of state section
  426. DB ALT_CASE ;; State ID
  427. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  428. DB -1, -1 ;; Buffer entry for error character
  429. DW CP437_ALT_K2_T2_END - $ ;; Size of xlat table
  430. DB STANDARD_TABLE ;; xlat options:
  431. DB 4 ;; number of entries
  432. db HW_SC_CONV, ' '
  433. db HW_SC_NO_CONV, ' '
  434. db HW_SC_HALF_FULL_OLD, -1
  435. db HW_SC_KATAKANA, ' '
  436. CP437_ALT_K2_T2_END: ;;
  437. DW 0 ;;
  438. CP437_ALT_K2_END: ;;
  439. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  440. ;; CODE PAGE: 437
  441. ;; STATE: Ctrl Case
  442. ;; KEYBOARD TYPES: Old DBCS keyboard
  443. ;; TABLE TYPE: Translate
  444. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  445. DW CP437_CTRL_K2_END - $ ;; length of state section
  446. DB CTRL_CASE ;; State ID
  447. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  448. DB -1, -1 ;; Buffer entry for error character
  449. DW CP437_CTRL_K2_T2_END - $ ;; Size of xlat table
  450. DB STANDARD_TABLE ;; xlat options:
  451. DB 4 ;; number of entries
  452. db HW_SC_CONV, ' '
  453. db HW_SC_NO_CONV, ' '
  454. db HW_SC_HALF_FULL_OLD, -1
  455. db HW_SC_KATAKANA, ' '
  456. CP437_CTRL_K2_T2_END: ;;
  457. DW 0 ;;
  458. CP437_CTRL_K2_END: ;;
  459. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  460. ;; CODE PAGE: 437
  461. ;; STATE: Non-Alpha Lower Case
  462. ;; KEYBOARD TYPES: Old DBCS keyboard
  463. ;; TABLE TYPE: Translate
  464. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  465. DW CP437_NA_LO_K2_END - $ ;; length of state section
  466. DB NON_ALPHA_LOWER ;; State ID
  467. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  468. DB -1, -1 ;; Buffer entry for error character
  469. DW CP437_NA_LO_K2_T2_END - $ ;; Size of xlat table
  470. DB STANDARD_TABLE ;; xlat options:
  471. DB 4 ;; number of entries
  472. db HW_SC_CONV, ' '
  473. db HW_SC_NO_CONV, ' '
  474. db HW_SC_HALF_FULL_OLD, -1
  475. db HW_SC_KATAKANA, ' '
  476. CP437_NA_LO_K2_T2_END: ;;
  477. DW 0 ;;
  478. CP437_NA_LO_K2_END: ;;
  479. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  480. ;; CODE PAGE: 437
  481. ;; STATE: Non-Alpha Upper Case
  482. ;; KEYBOARD TYPES: Old DBCS keyboard
  483. ;; TABLE TYPE: Translate
  484. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  485. DW CP437_NA_UP_K2_END - $ ;; length of state section
  486. DB NON_ALPHA_UPPER ;; State ID
  487. DW G_KB + P_KB + DBCS_OLD_KB ;; Keyboard Type ;SK900807
  488. DB -1, -1 ;; Buffer entry for error character
  489. DW CP437_NA_UP_K2_T2_END - $ ;; Size of xlat table
  490. DB STANDARD_TABLE ;; xlat options:
  491. DB 6 ;; number of entries ;SK9007
  492. db HW_SC_0, '~' ;SK9007
  493. db HW_SC_HAT, -1 ;SK9007
  494. db HW_SC_CONV, ' '
  495. db HW_SC_NO_CONV, ' '
  496. db HW_SC_HALF_FULL_OLD, -1
  497. db HW_SC_KATAKANA, ' '
  498. CP437_NA_UP_K2_T2_END: ;;
  499. DW 0 ;;
  500. CP437_NA_UP_K2_END: ;;
  501. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  502. DW 0 ;;
  503. CP437_XLAT_END: ;;
  504. ;;
  505. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  506. CODE ENDS ;;
  507. END ;;