summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/KEYBOARD/KDF.ASM
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/DEV/KEYBOARD/KDF.ASM
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/DEV/KEYBOARD/KDF.ASM')
-rw-r--r--v4.0/src/DEV/KEYBOARD/KDF.ASM393
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 ;;
38CODE SEGMENT PUBLIC 'CODE' ;;
39 ASSUME CS:CODE,DS:CODE ;;
40 ;;
41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
42;;***************************************
43;; File Header
44;;***************************************
45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
46 ;;
47DB 0FFh,'KEYB ' ;; signature
48DB 8 DUP(0) ;; reserved
49DW 650 ;; maximum size of Common Xlat Sect
50DW 350 ;; max size of Specific Xlat Sect
51DW 400 ;; max size of State Logic
52DD 0 ;; reserved
53DW 17 ;; number of languages
54DB 'SP'
55DW OFFSET SP_LANG_ENT,0
56DB 'PO'
57DW OFFSET PO_LANG_ENT,0
58DB 'FR'
59DW OFFSET FR_LANG_ENT,0
60DB 'DK'
61DW OFFSET DK_LANG_ENT,0
62DB 'SG'
63DW OFFSET SG_LANG_ENT,0
64DB 'GR'
65DW OFFSET GE_LANG_ENT,0
66DB 'IT'
67DW OFFSET IT_LANG_ENT,0
68DB 'UK'
69DW OFFSET UK_LANG_ENT,0
70DB 'SF'
71DW OFFSET SF_LANG_ENT,0
72DB 'BE'
73DW OFFSET BE_LANG_ENT,0
74DB 'NL'
75DW OFFSET NL_LANG_ENT,0
76DB 'NO'
77DW OFFSET NO_LANG_ENT,0
78DB 'CF'
79DW OFFSET CF_LANG_ENT,0
80DB 'SV'
81DW OFFSET SV_LANG_ENT,0
82DB 'SU'
83DW OFFSET SV_LANG_ENT,0
84DB 'LA'
85DW OFFSET LA_LANG_ENT,0
86DB 'US'
87DW 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 ;;
99SP_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 ;;
114PO_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 ;;
159SG_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 ;;
174SF_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 ;;
189GE_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 ;;
234BE_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 ;;
341DUMMY_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 ;;
357DUMMY_LOGIC: ;;
358 DW LOGIC_END-$ ;; length
359 DW 0 ;; special features
360 DB 92H,0,0 ;; EXIT_STATE_LOGIC_COMMAND
361LOGIC_END: ;;
362 ;;
363DUMMY_XLAT_437: ;;
364 DW 6 ;; length of section
365 DW 437 ;; code page
366 DW 0 ;; LAST STATE
367 ;;
368DUMMY_XLAT_850: ;;
369 DW 6 ;; length of section
370 DW 850 ;; code page
371 DW 0 ;; LAST STATE
372 ;;
373DUMMY_XLAT_860: ;;
374 DW 6 ;; length of section
375 DW 860 ;; code page
376 DW 0 ;; LAST STATE
377 ;;
378DUMMY_XLAT_865: ;;
379 DW 6 ;; length of section
380 DW 865 ;; code page
381 DW 0 ;; LAST STATE
382 ;;
383DUMMY_XLAT_863: ;;
384 DW 6 ;; length of section
385 DW 863 ;; code page
386 DW 0 ;; LAST STATE
387 ;;
388;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
389;*****************************************************************************
390;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
391 ;;
392CODE ENDS ;;
393 END ;;