]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/DEV/KEYBOARD/KDF.ASM

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / DEV / KEYBOARD / KDF.ASM
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 ;;