diff options
Diffstat (limited to 'v4.0/src/DEV/KEYBOARD/KDF.ASM')
| -rw-r--r-- | v4.0/src/DEV/KEYBOARD/KDF.ASM | 393 |
1 files changed, 393 insertions, 0 deletions
diff --git a/v4.0/src/DEV/KEYBOARD/KDF.ASM b/v4.0/src/DEV/KEYBOARD/KDF.ASM new file mode 100644 index 0000000..3073dc8 --- /dev/null +++ b/v4.0/src/DEV/KEYBOARD/KDF.ASM | |||
| @@ -0,0 +1,393 @@ | |||
| 1 | |||
| 2 | |||
| 3 | PAGE ,132 | ||
| 4 | TITLE DOS - Keyboard Definition File | ||
| 5 | |||
| 6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 7 | ;; DOS - - NLS Support - Keyboard Definition File | ||
| 8 | ;; (c) Copyright 1988 Microsoft | ||
| 9 | ;; | ||
| 10 | ;; This the file header and table pointers ONLY. | ||
| 11 | ;; The actual tables are contained in seperate source files. | ||
| 12 | ;; These are: | ||
| 13 | ;; KDFSP.ASM - Spanish | ||
| 14 | ;; KDFPO.ASM - Portuguese | ||
| 15 | ;; KDFGR.ASM - German | ||
| 16 | ;; KDFIT.ASM - Italian | ||
| 17 | ;; KDFFR.ASM - French | ||
| 18 | ;; KDFSG.ASM - Swiss German | ||
| 19 | ;; KDFSF.ASM - Swiss French | ||
| 20 | ;; KDFDK.ASM - Danish | ||
| 21 | ;; KDFUK.ASM - English | ||
| 22 | ;; KDFBE.ASM - Belgium | ||
| 23 | ;; KDFNL.ASM - Netherlands | ||
| 24 | ;; KDFNO.ASM - Norway | ||
| 25 | ;; KDFLA.ASM - Latin American | ||
| 26 | ;; KDFSV.ASM - SWEDEN | ||
| 27 | ;; KDFSU.ASM - Finland | ||
| 28 | ;; Dummy US - US | ||
| 29 | ;; Linkage Instructions: | ||
| 30 | ;; The following instructions are contained in KDFLINK.BAT: | ||
| 31 | ;; | ||
| 32 | ;; LINK KDF+KDFSP+KDFGE+KDFFR+KDFIT+KDFPO+KDFUK+KDFSG+KDFDK+KDFEOF; | ||
| 33 | ;; EXE2BIN KDF.EXE KEYBOARD.SYS | ||
| 34 | ;; | ||
| 35 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 36 | ;; | ||
| 37 | ;; | ||
| 38 | CODE SEGMENT PUBLIC 'CODE' ;; | ||
| 39 | ASSUME CS:CODE,DS:CODE ;; | ||
| 40 | ;; | ||
| 41 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 42 | ;;*************************************** | ||
| 43 | ;; File Header | ||
| 44 | ;;*************************************** | ||
| 45 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 46 | ;; | ||
| 47 | DB 0FFh,'KEYB ' ;; signature | ||
| 48 | DB 8 DUP(0) ;; reserved | ||
| 49 | DW 650 ;; maximum size of Common Xlat Sect | ||
| 50 | DW 350 ;; max size of Specific Xlat Sect | ||
| 51 | DW 400 ;; max size of State Logic | ||
| 52 | DD 0 ;; reserved | ||
| 53 | DW 17 ;; number of languages | ||
| 54 | DB 'SP' | ||
| 55 | DW OFFSET SP_LANG_ENT,0 | ||
| 56 | DB 'PO' | ||
| 57 | DW OFFSET PO_LANG_ENT,0 | ||
| 58 | DB 'FR' | ||
| 59 | DW OFFSET FR_LANG_ENT,0 | ||
| 60 | DB 'DK' | ||
| 61 | DW OFFSET DK_LANG_ENT,0 | ||
| 62 | DB 'SG' | ||
| 63 | DW OFFSET SG_LANG_ENT,0 | ||
| 64 | DB 'GR' | ||
| 65 | DW OFFSET GE_LANG_ENT,0 | ||
| 66 | DB 'IT' | ||
| 67 | DW OFFSET IT_LANG_ENT,0 | ||
| 68 | DB 'UK' | ||
| 69 | DW OFFSET UK_LANG_ENT,0 | ||
| 70 | DB 'SF' | ||
| 71 | DW OFFSET SF_LANG_ENT,0 | ||
| 72 | DB 'BE' | ||
| 73 | DW OFFSET BE_LANG_ENT,0 | ||
| 74 | DB 'NL' | ||
| 75 | DW OFFSET NL_LANG_ENT,0 | ||
| 76 | DB 'NO' | ||
| 77 | DW OFFSET NO_LANG_ENT,0 | ||
| 78 | DB 'CF' | ||
| 79 | DW OFFSET CF_LANG_ENT,0 | ||
| 80 | DB 'SV' | ||
| 81 | DW OFFSET SV_LANG_ENT,0 | ||
| 82 | DB 'SU' | ||
| 83 | DW OFFSET SV_LANG_ENT,0 | ||
| 84 | DB 'LA' | ||
| 85 | DW OFFSET LA_LANG_ENT,0 | ||
| 86 | DB 'US' | ||
| 87 | DW OFFSET DUMMY_ENT,0 | ||
| 88 | ; | ||
| 89 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 90 | ;;*************************************** | ||
| 91 | ;; Language Entries | ||
| 92 | ;;*************************************** | ||
| 93 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 94 | ;; | ||
| 95 | EXTRN SP_LOGIC:NEAR ;; | ||
| 96 | EXTRN SP_437_XLAT:NEAR ;; | ||
| 97 | EXTRN SP_850_XLAT:NEAR ;; | ||
| 98 | ;; | ||
| 99 | SP_LANG_ENT: ;; language entry for SPANISH | ||
| 100 | DB 'SP' ;; | ||
| 101 | DW 0 ;; reserved | ||
| 102 | DW OFFSET SP_LOGIC,0 ;; pointer to LANG kb table | ||
| 103 | DW 2 ;; number of code pages | ||
| 104 | DW 437 ;; code page | ||
| 105 | DW OFFSET SP_437_XLAT,0 ;; table pointer | ||
| 106 | DW 850 ;; code page | ||
| 107 | DW OFFSET SP_850_XLAT,0 ;; table pointer | ||
| 108 | ;; | ||
| 109 | ;**************************************************************************** | ||
| 110 | EXTRN PO_LOGIC:NEAR ;; | ||
| 111 | EXTRN PO_860_XLAT:NEAR ;; | ||
| 112 | EXTRN PO_850_XLAT:NEAR ;; | ||
| 113 | ;; | ||
| 114 | PO_LANG_ENT: ;; language entry for POTUGAL | ||
| 115 | DB 'PO' ;; | ||
| 116 | DW 0 ;; reserved | ||
| 117 | DW OFFSET PO_LOGIC,0 ;; pointer to LANG kb table | ||
| 118 | DW 2 ;; number of code pages | ||
| 119 | DW 860 ;; code page | ||
| 120 | DW OFFSET PO_860_XLAT,0 ;; table pointer | ||
| 121 | DW 850 ;; code page | ||
| 122 | DW OFFSET PO_850_XLAT,0 ;; table pointer | ||
| 123 | ;; | ||
| 124 | ;***************************************************************************** | ||
| 125 | EXTRN FR_LOGIC:NEAR ;; | ||
| 126 | EXTRN FR_437_XLAT:NEAR ;; | ||
| 127 | EXTRN FR_850_XLAT:NEAR ;; | ||
| 128 | ;; | ||
| 129 | FR_LANG_ENT: ;; language entry for POTUGAL | ||
| 130 | DB 'FR' ;; | ||
| 131 | DW 0 ;; reserved | ||
| 132 | DW OFFSET FR_LOGIC,0 ;; pointer to LANG kb table | ||
| 133 | DW 2 ;; number of code pages | ||
| 134 | DW 437 ;; code page | ||
| 135 | DW OFFSET FR_437_XLAT,0 ;; table pointer | ||
| 136 | DW 850 ;; code page | ||
| 137 | DW OFFSET FR_850_XLAT,0 ;; table pointer | ||
| 138 | ;; | ||
| 139 | ;***************************************************************************** | ||
| 140 | EXTRN DK_LOGIC:NEAR ;; | ||
| 141 | EXTRN DK_865_XLAT:NEAR ;; | ||
| 142 | EXTRN DK_850_XLAT:NEAR ;; | ||
| 143 | ;; | ||
| 144 | DK_LANG_ENT: ;; language entry for POTUGAL | ||
| 145 | DB 'DK' ;; | ||
| 146 | DW 0 ;; reserved | ||
| 147 | DW OFFSET DK_LOGIC,0 ;; pointer to LANG kb table | ||
| 148 | DW 2 ;; number of code pages | ||
| 149 | DW 865 ;; code page | ||
| 150 | DW OFFSET DK_865_XLAT,0 ;; table pointer | ||
| 151 | DW 850 ;; code page | ||
| 152 | DW OFFSET DK_850_XLAT,0 ;; table pointer | ||
| 153 | ;; | ||
| 154 | ;***************************************************************************** | ||
| 155 | EXTRN SG_LOGIC:NEAR ;; | ||
| 156 | EXTRN SG_437_XLAT:NEAR ;; | ||
| 157 | EXTRN SG_850_XLAT:NEAR ;; | ||
| 158 | ;; | ||
| 159 | SG_LANG_ENT: ;; language entry for POTUGAL | ||
| 160 | DB 'SG' ;; | ||
| 161 | DW 0 ;; reserved | ||
| 162 | DW OFFSET SG_LOGIC,0 ;; pointer to LANG kb table | ||
| 163 | DW 2 ;; number of code pages | ||
| 164 | DW 437 ;; code page | ||
| 165 | DW OFFSET SG_437_XLAT,0 ;; table pointer | ||
| 166 | DW 850 ;; code page | ||
| 167 | DW OFFSET SG_850_XLAT,0 ;; table pointer | ||
| 168 | ;; | ||
| 169 | ;***************************************************************************** | ||
| 170 | EXTRN SF_LOGIC:NEAR ;; | ||
| 171 | EXTRN SF_437_XLAT:NEAR ;; | ||
| 172 | EXTRN SF_850_XLAT:NEAR ;; | ||
| 173 | ;; | ||
| 174 | SF_LANG_ENT: ;; language entry for SWISS FRENCH | ||
| 175 | DB 'SF' ;; | ||
| 176 | DW 0 ;; reserved | ||
| 177 | DW OFFSET SF_LOGIC,0 ;; pointer to LANG kb table | ||
| 178 | DW 2 ;; number of code pages | ||
| 179 | DW 437 ;; code page | ||
| 180 | DW OFFSET SF_437_XLAT,0 ;; table pointer | ||
| 181 | DW 850 ;; code page | ||
| 182 | DW OFFSET SF_850_XLAT,0 ;; table pointer | ||
| 183 | ;; | ||
| 184 | ;***************************************************************************** | ||
| 185 | EXTRN GE_LOGIC:NEAR ;; | ||
| 186 | EXTRN GE_437_XLAT:NEAR ;; | ||
| 187 | EXTRN GE_850_XLAT:NEAR ;; | ||
| 188 | ;; | ||
| 189 | GE_LANG_ENT: ;; language entry for POTUGAL | ||
| 190 | DB 'GR' ;; | ||
| 191 | DW 0 ;; reserved | ||
| 192 | DW OFFSET GE_LOGIC,0 ;; pointer to LANG kb table | ||
| 193 | DW 2 ;; number of code pages | ||
| 194 | DW 437 ;; code page | ||
| 195 | DW OFFSET GE_437_XLAT,0 ;; table pointer | ||
| 196 | DW 850 ;; code page | ||
| 197 | DW OFFSET GE_850_XLAT,0 ;; table pointer | ||
| 198 | ;; | ||
| 199 | ;***************************************************************************** | ||
| 200 | EXTRN IT_LOGIC:NEAR ;; | ||
| 201 | EXTRN IT_437_XLAT:NEAR ;; | ||
| 202 | EXTRN IT_850_XLAT:NEAR ;; | ||
| 203 | ;; | ||
| 204 | IT_LANG_ENT: ;; language entry for POTUGAL | ||
| 205 | DB 'IT' ;; | ||
| 206 | DW 0 ;; reserved | ||
| 207 | DW OFFSET IT_LOGIC,0 ;; pointer to LANG kb table | ||
| 208 | DW 2 ;; number of code pages | ||
| 209 | DW 437 ;; code page | ||
| 210 | DW OFFSET IT_437_XLAT,0 ;; table pointer | ||
| 211 | DW 850 ;; code page | ||
| 212 | DW OFFSET IT_850_XLAT,0 ;; table pointer | ||
| 213 | ;; | ||
| 214 | ;***************************************************************************** | ||
| 215 | EXTRN UK_LOGIC:FAR ;; | ||
| 216 | EXTRN UK_437_XLAT:FAR ;; | ||
| 217 | EXTRN UK_850_XLAT:FAR ;; | ||
| 218 | ;; | ||
| 219 | UK_LANG_ENT: ;; language entry for POTUGAL | ||
| 220 | DB 'UK' ;; | ||
| 221 | DW 0 ;; reserved | ||
| 222 | DW OFFSET UK_LOGIC,0 ;; pointer to LANG kb table | ||
| 223 | DW 2 ;; number of code pages | ||
| 224 | DW 437 ;; code page | ||
| 225 | DW OFFSET UK_437_XLAT,0 ;; table pointer | ||
| 226 | DW 850 ;; code page | ||
| 227 | DW OFFSET UK_850_XLAT,0 ;; table pointer | ||
| 228 | ;; | ||
| 229 | ;***************************************************************************** | ||
| 230 | EXTRN BE_LOGIC:NEAR ;; | ||
| 231 | EXTRN BE_437_XLAT:NEAR ;; | ||
| 232 | EXTRN BE_850_XLAT:NEAR ;; | ||
| 233 | ;; | ||
| 234 | BE_LANG_ENT: ;; language entry for POTUGAL | ||
| 235 | DB 'BE' ;; | ||
| 236 | DW 0 ;; reserved | ||
| 237 | DW OFFSET BE_LOGIC,0 ;; pointer to LANG kb table | ||
| 238 | DW 2 ;; number of code pages | ||
| 239 | DW 437 ;; code page | ||
| 240 | DW OFFSET BE_437_XLAT,0 ;; table pointer | ||
| 241 | DW 850 ;; code page | ||
| 242 | DW OFFSET BE_850_XLAT,0 ;; table pointer | ||
| 243 | ;; | ||
| 244 | ;***************************************************************************** | ||
| 245 | ;***************************************************************************** | ||
| 246 | EXTRN NL_LOGIC:NEAR ;; | ||
| 247 | EXTRN NL_437_XLAT:NEAR ;; | ||
| 248 | EXTRN NL_850_XLAT:NEAR ;; | ||
| 249 | ;; | ||
| 250 | NL_LANG_ENT: ;; language entry for NETHERLANDS | ||
| 251 | DB 'NL' ;; | ||
| 252 | DW 0 ;; reserved | ||
| 253 | DW OFFSET NL_LOGIC,0 ;; pointer to LANG kb table | ||
| 254 | DW 2 ;; number of code pages | ||
| 255 | DW 437 ;; code page | ||
| 256 | DW OFFSET NL_437_XLAT,0 ;; table pointer | ||
| 257 | DW 850 ;; code page | ||
| 258 | DW OFFSET NL_850_XLAT,0 ;; table pointer | ||
| 259 | ;; | ||
| 260 | ;***************************************************************************** | ||
| 261 | ;***************************************************************************** | ||
| 262 | EXTRN NO_LOGIC:NEAR ;; | ||
| 263 | EXTRN NO_865_XLAT:NEAR ;; | ||
| 264 | EXTRN NO_850_XLAT:NEAR ;; | ||
| 265 | ;; | ||
| 266 | NO_LANG_ENT: ;; language entry for NORWAY | ||
| 267 | DB 'NO' ;; | ||
| 268 | DW 0 ;; reserved | ||
| 269 | DW OFFSET NO_LOGIC,0 ;; pointer to LANG kb table | ||
| 270 | DW 2 ;; number of code pages | ||
| 271 | DW 865 ;; code page | ||
| 272 | DW OFFSET NO_865_XLAT,0 ;; table pointer | ||
| 273 | DW 850 ;; code page | ||
| 274 | DW OFFSET NO_850_XLAT,0 ;; table pointer | ||
| 275 | ;; | ||
| 276 | ;***************************************************************************** | ||
| 277 | ;***************************************************************************** | ||
| 278 | EXTRN SV_LOGIC:NEAR ;; | ||
| 279 | EXTRN SV_437_XLAT:NEAR ;; | ||
| 280 | EXTRN SV_850_XLAT:NEAR ;; | ||
| 281 | ;; | ||
| 282 | SV_LANG_ENT: ;; language entry for SWEDEN | ||
| 283 | DB 'SV' ;; | ||
| 284 | DW 0 ;; reserved | ||
| 285 | DW OFFSET SV_LOGIC,0 ;; pointer to LANG kb table | ||
| 286 | DW 2 ;; number of code pages | ||
| 287 | DW 437 ;; code page | ||
| 288 | DW OFFSET SV_437_XLAT,0 ;; table pointer | ||
| 289 | DW 850 ;; code page | ||
| 290 | DW OFFSET SV_850_XLAT,0 ;; table pointer | ||
| 291 | ;; | ||
| 292 | ;***************************************************************************** | ||
| 293 | ;***************************************************************************** | ||
| 294 | ; EXTRN SU_LOGIC:NEAR ;; | ||
| 295 | ; EXTRN SU_437_XLAT:NEAR ;; | ||
| 296 | ; EXTRN SU_850_XLAT:NEAR ;; | ||
| 297 | ; ;; | ||
| 298 | ; SU_LANG_ENT: ;; language entry for FINLAND | ||
| 299 | ; DB 'SU' ;; | ||
| 300 | ; DW 0 ;; reserved | ||
| 301 | ; DW OFFSET SU_LOGIC,0 ;; pointer to LANG kb table | ||
| 302 | ; DW 2 ;; number of code pages | ||
| 303 | ; DW 437 ;; code page | ||
| 304 | ; DW OFFSET SU_437_XLAT,0 ;; table pointer | ||
| 305 | ; DW 850 ;; code page | ||
| 306 | ; DW OFFSET SU_850_XLAT,0 ;; table pointer | ||
| 307 | ; ;; | ||
| 308 | ;***************************************************************************** | ||
| 309 | ;***************************************************************************** | ||
| 310 | EXTRN CF_LOGIC:NEAR ;; | ||
| 311 | EXTRN CF_863_XLAT:NEAR ;; | ||
| 312 | EXTRN CF_850_XLAT:NEAR ;; | ||
| 313 | ;; | ||
| 314 | CF_LANG_ENT: ;; language entry for Canadian-French | ||
| 315 | DB 'CF' ;; | ||
| 316 | DW 0 ;; reserved | ||
| 317 | DW OFFSET CF_LOGIC,0 ;; pointer to LANG kb table | ||
| 318 | DW 2 ;; number of code pages | ||
| 319 | DW 863 ;; code page | ||
| 320 | DW OFFSET CF_863_XLAT,0 ;; table pointer | ||
| 321 | DW 850 ;; code page | ||
| 322 | DW OFFSET CF_850_XLAT,0 ;; table pointer | ||
| 323 | ;; | ||
| 324 | ;***************************************************************************** | ||
| 325 | EXTRN LA_LOGIC:NEAR ;; | ||
| 326 | EXTRN LA_850_XLAT:NEAR ;; | ||
| 327 | EXTRN LA_437_XLAT:NEAR ;; | ||
| 328 | ;; | ||
| 329 | LA_LANG_ENT: ;; language entry for Canadian-French | ||
| 330 | DB 'LA' ;; | ||
| 331 | DW 0 ;; reserved | ||
| 332 | DW OFFSET LA_LOGIC,0 ;; pointer to LANG kb table | ||
| 333 | DW 2 ;; number of code pages | ||
| 334 | DW 850 ;; code page | ||
| 335 | DW OFFSET LA_850_XLAT,0 ;; table pointer | ||
| 336 | DW 437 ;; code page | ||
| 337 | DW OFFSET LA_437_XLAT,0 ;; table pointer | ||
| 338 | ;; | ||
| 339 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 340 | ;; | ||
| 341 | DUMMY_ENT: ;; language entry | ||
| 342 | DB 'XX' ;; | ||
| 343 | DW 0 ;; reserved | ||
| 344 | DW OFFSET DUMMY_LOGIC,0 ;; pointer to LANG kb table | ||
| 345 | DW 5 ;; number of code pages | ||
| 346 | DW 437 ;; code page | ||
| 347 | DW OFFSET DUMMY_XLAT_437,0 ;; table pointer | ||
| 348 | DW 850 ;; code page | ||
| 349 | DW OFFSET DUMMY_XLAT_850,0 ;; table pointer | ||
| 350 | DW 860 ;; code page | ||
| 351 | DW OFFSET DUMMY_XLAT_860,0 ;; table pointer | ||
| 352 | DW 863 ;; code page | ||
| 353 | DW OFFSET DUMMY_XLAT_863,0 ;; table pointer | ||
| 354 | DW 865 ;; code page | ||
| 355 | DW OFFSET DUMMY_XLAT_865,0 ;; table pointer | ||
| 356 | ;; | ||
| 357 | DUMMY_LOGIC: ;; | ||
| 358 | DW LOGIC_END-$ ;; length | ||
| 359 | DW 0 ;; special features | ||
| 360 | DB 92H,0,0 ;; EXIT_STATE_LOGIC_COMMAND | ||
| 361 | LOGIC_END: ;; | ||
| 362 | ;; | ||
| 363 | DUMMY_XLAT_437: ;; | ||
| 364 | DW 6 ;; length of section | ||
| 365 | DW 437 ;; code page | ||
| 366 | DW 0 ;; LAST STATE | ||
| 367 | ;; | ||
| 368 | DUMMY_XLAT_850: ;; | ||
| 369 | DW 6 ;; length of section | ||
| 370 | DW 850 ;; code page | ||
| 371 | DW 0 ;; LAST STATE | ||
| 372 | ;; | ||
| 373 | DUMMY_XLAT_860: ;; | ||
| 374 | DW 6 ;; length of section | ||
| 375 | DW 860 ;; code page | ||
| 376 | DW 0 ;; LAST STATE | ||
| 377 | ;; | ||
| 378 | DUMMY_XLAT_865: ;; | ||
| 379 | DW 6 ;; length of section | ||
| 380 | DW 865 ;; code page | ||
| 381 | DW 0 ;; LAST STATE | ||
| 382 | ;; | ||
| 383 | DUMMY_XLAT_863: ;; | ||
| 384 | DW 6 ;; length of section | ||
| 385 | DW 863 ;; code page | ||
| 386 | DW 0 ;; LAST STATE | ||
| 387 | ;; | ||
| 388 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 389 | ;***************************************************************************** | ||
| 390 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 391 | ;; | ||
| 392 | CODE ENDS ;; | ||
| 393 | END ;; | ||