Subversion Repositories Kolibri OS

Rev

Rev 2479 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2532 mario79 1
;------------------------------------------------------------------------------
2
align 4
870 barsuk 3
load_ini:
2532 mario79 4
	mov	[point2],16h
870 barsuk 5
 
2532 mario79 6
	mcall	70,get_ini
7
 
8
	mov	al,[inicont]
9
	sub	al,30h
10
	mov	[firini],al
11
	mov	[point2],32h
12
 
13
	mcall	70,get_ini
14
 
15
	mov	al,[inicont]
16
	sub	al,30h
17
	mov	[lngcrc1],al
18
	mov	[point2],42h
19
 
20
	mcall	70,get_ini
21
 
22
	mov	al,[inicont]
23
	sub	al,30h
24
	mov	[lngcrc2],al
25
	mov	[point2],52h
26
 
27
	mcall  70,get_ini
28
 
29
	mov	al,[inicont]
30
	sub	al,30h
31
	mov	[lngcrc3],al
32
	mov	[point2],06eh
33
 
34
	mcall	70,get_ini
35
 
36
	mov	al,[inicont]
37
	sub	al,30h
38
	mov	[altlng1],al
39
	mov	[point2],07eh
40
 
41
	mcall	70,get_ini
42
 
43
	mov	al,[inicont]
44
	sub	al,30h
45
	mov	[altlng2],al
46
	mov	[point2],08eh
47
 
48
	mcall	70,get_ini
49
 
50
	mov	al,[inicont]
51
	sub	al,30h
52
	mov	[altlng3],al
53
	mov	[point2],09eh
54
 
55
	mcall	70,get_ini
56
 
57
	mov	al,[inicont]
58
	sub	al,30h
59
	mov	[altlng4],al
60
	mov	[point2],0aeh
61
 
62
	mcall	70,get_ini
63
 
64
	mov	al,[inicont]
65
	sub	al,30h
66
	mov	[altlng5],al
67
	mov	[point2],0beh
68
 
69
	mcall	70,get_ini
70
 
71
	mov	al,[inicont]
72
	sub	al,30h
73
	mov	[altlng6],al
74
	mov	[point2],0ceh
75
 
76
	mcall	70,get_ini
77
 
78
	mov	al,[inicont]
79
	sub	al,30h
80
	mov	[altlng7],al
81
	mov	[point2],0deh
82
 
83
	mcall	70,get_ini
84
 
85
	mov	al,[inicont]
86
	sub	al,30h
87
	mov	[altlng8],al
88
	mov	[point2],0eeh
89
 
90
	mcall	70,get_ini
91
 
92
	mov	al,[inicont]
93
	sub	al,30h
94
	mov	[altlng9],al
95
	mov	[point2],0feh
96
 
97
	mcall	70,get_ini
98
 
99
	mov	al,[inicont]
100
	sub	al,30h
101
	mov	[altlng0],al
102
	ret
103
;------------------------------------------------------------------------------
104
align 4
870 barsuk 105
fir_lng:
2532 mario79 106
	mov	al,[firini]
107
	sub	al,1
108
	mov	dx,384
109
	mul	dx
110
	mov	[point],eax
111
	mcall	70,get_key
112
 
113
	mcall	21,2,1,current_keymap
114
 
115
	inc	ecx
116
	mcall	21,,,current_keymap_shift
117
 
118
	inc	ecx
119
	mcall	21,,,current_keymap_alt
120
 
121
	movzx	edx,[firini]
122
	mcall	21,,9
123
	ret
124
;------------------------------------------------------------------------------
125
align 4
870 barsuk 126
karu:
2532 mario79 127
	add	[key_r2],1
128
	cmp	[key_r2],3
129
	jb	.altes
130
 
131
	mov	[key_r2],0
132
;--------------------------------------
133
align 4
870 barsuk 134
.altes:
2532 mario79 135
	cmp	[key_r2],0
136
	je	.klt_1
137
 
138
	cmp	[key_r2],1
139
	je	.klt_2
140
 
141
	cmp	[key_r2],2
142
	je	.klt_3
143
 
144
	jmp	still
145
;--------------------------------------
146
align 4
870 barsuk 147
.klt_1:
2532 mario79 148
	mov	al,[lngcrc1]
149
	sub	al,1
150
	mov	[key_r],al
151
	jmp	alted
152
;--------------------------------------
153
align 4
870 barsuk 154
.klt_2:
2532 mario79 155
	mov	al,[lngcrc2]
156
	sub	al,1
157
	mov	[key_r],al
158
	jmp	alted
159
;--------------------------------------
160
align 4
870 barsuk 161
.klt_3:
2532 mario79 162
	mov	al,[lngcrc3]
163
	sub	al,1
164
	mov	[key_r],al
165
	jmp	alted
166
;------------------------------------------------------------------------------
167
align 4
870 barsuk 168
alter:
2532 mario79 169
	cmp	[key_r],0
170
	je	.alt_1
171
 
172
	cmp	[key_r],1
173
	je	.alt_2
174
 
175
	cmp	[key_r],2
176
	je	.alt_3
177
 
178
	cmp	[key_r],3
179
	je	.alt_4
180
 
181
	cmp	[key_r],4
182
	je	.alt_5
183
 
184
	cmp	[key_r],5
185
	je	.alt_6
186
 
187
	cmp	[key_r],6
188
	je	.alt_7
189
;--------------------------------------
190
align 4
870 barsuk 191
.alt_1:
2532 mario79 192
	mov	al,[altlng1]
193
	cmp	al,0
194
	je	.exit
870 barsuk 195
 
2532 mario79 196
	sub	al,1
197
	mov	[key_r],al
198
	jmp	alted
199
;--------------------------------------
200
align 4
870 barsuk 201
.alt_2:
2532 mario79 202
	mov	al,[altlng2]
203
	cmp	al,0
204
	je	.exit
205
 
206
	sub	al,1
207
	mov	[key_r],al
208
	jmp	alted
209
;--------------------------------------
210
align 4
870 barsuk 211
.alt_3:
2532 mario79 212
	mov	al,[altlng3]
213
	cmp	al,0
214
	je	.exit
215
 
216
	sub	al,1
217
	mov	[key_r],al
218
	jmp	alted
219
;--------------------------------------
220
align 4
870 barsuk 221
.alt_4:
2532 mario79 222
	mov	al,[altlng4]
223
	cmp	al,0
224
	je	.exit
225
 
226
	sub	al,1
227
	mov	[key_r],al
228
	jmp	alted
229
;--------------------------------------
230
align 4
870 barsuk 231
.alt_5:
2532 mario79 232
	mov	al,[altlng5]
233
	cmp	al,0
234
	je	.exit
235
 
236
	sub	al,1
237
	mov	[key_r],al
238
	jmp	alted
239
;--------------------------------------
240
align 4
870 barsuk 241
.alt_6:
2532 mario79 242
	mov	al,[altlng6]
243
	cmp	al,0
244
	je	.exit
245
 
246
	sub	al,1
247
	mov	[key_r],al
248
	jmp	alted
249
;--------------------------------------
250
align 4
870 barsuk 251
.alt_7:
2532 mario79 252
	mov	al,[altlng7]
253
	cmp	al,0
254
	je	.exit
255
 
256
	sub	al,1
257
	mov	[key_r],al
258
	jmp	alted
259
;--------------------------------------
260
align 4
870 barsuk 261
.exit:
2532 mario79 262
	ret
263
;------------------------------------------------------------------------------
264
align 4
870 barsuk 265
alted:
2532 mario79 266
	cmp	[key_r],0
267
	je	alt_1
268
 
269
	cmp	[key_r],1
270
	je	alt_2
271
 
272
	cmp	[key_r],2
273
	je	alt_3
274
 
275
	cmp	[key_r],3
276
	je	alt_4
277
 
278
	cmp	[key_r],4
279
	je	alt_5
280
 
281
	cmp	[key_r],5
282
	je	alt_6
283
 
284
	cmp	[key_r],6
285
	je	alt_7
286
 
287
	ret
288
;------------------------------------------------------------------------------
289
align 4
870 barsuk 290
alt_1:
2532 mario79 291
	mov	[point],0	; english
292
	mcall	70,get_key
293
 
294
	mcall	21,2,1,current_keymap
295
 
296
	inc	ecx
297
	mcall	21,,,current_keymap_shift
298
 
299
	mcall	21,,9,1	; 1 - english
300
	ret
301
;------------------------------------------------------------------------------
302
align 4
870 barsuk 303
alt_2:
2532 mario79 304
	mov	[point],384	;1536	; finnish
305
	mcall	70,get_key
306
 
307
	mcall	21,2,1,current_keymap
308
 
309
	inc	ecx
310
	mcall	21,,,current_keymap_shift
311
 
312
	mcall	21,,9,2	; 2 - finnish
313
	ret
314
;------------------------------------------------------------------------------
315
align 4
870 barsuk 316
alt_3:
2532 mario79 317
	mov	[point],768	; german
318
	mcall	70,get_key
319
 
320
	mcall	21,2,1,current_keymap
321
 
322
	inc	ecx
323
	mcall	21,,,current_keymap_shift
324
 
325
	mcall	21,,9,3	; 3 - german
326
	ret
327
;------------------------------------------------------------------------------
328
align 4
870 barsuk 329
alt_4:
2532 mario79 330
	mov	[point],1152	;384	; russian
331
	mcall	70,get_key
332
 
333
	mcall	21,2,1,current_keymap
334
 
335
	inc	ecx
336
	mcall	21,,,current_keymap_shift
337
 
338
	mcall	21,,9,4	; 4 - russian
339
	ret
340
;------------------------------------------------------------------------------
341
align 4
870 barsuk 342
alt_5:
2532 mario79 343
	mov	[point],1536	;1152	;french
344
	mcall	70,get_key
345
 
346
	mcall	21,2,1,current_keymap
347
 
348
	inc	ecx
349
	mcall	21,,,current_keymap_shift
350
 
351
	inc	ecx
352
	mcall	21,,,current_keymap_alt
353
 
354
	mcall	21,,9,5	; 5 - french
355
	ret
356
;------------------------------------------------------------------------------
357
align 4
870 barsuk 358
alt_6:
2532 mario79 359
	mov	[point],1920	; estonian
360
	mcall	70,get_key
361
 
362
	mcall	21,2,1,current_keymap
363
 
364
	inc	ecx
365
	mcall	21,,,current_keymap_shift
366
 
367
	mcall	21,,9,6	; 6 - estonian
368
	ret
369
;------------------------------------------------------------------------------
370
align 4
870 barsuk 371
alt_7:
2532 mario79 372
	mov	[point],2304	; ukrainian
373
	mcall	70,get_key
374
 
375
	mcall	21,2,1,current_keymap
376
 
377
	inc	ecx
378
	mcall	21,,,current_keymap_shift
379
 
380
	mcall	21,,9,7 ; 7 - ukrainian
381
	ret
382
;------------------------------------------------------------------------------
383
align 4
2479 mario79 384
current_keymap:
2532 mario79 385
	rb 128
386
;------------------------------------------------------------------------------
387
align 4
2479 mario79 388
current_keymap_shift:
2532 mario79 389
	rb 128
390
;------------------------------------------------------------------------------
391
align 4
2479 mario79 392
current_keymap_alt:
2532 mario79 393
	rb 128
394
;------------------------------------------------------------------------------
395
key_r		db 0
396
key_r2		db 0
397
key_r3		db 0
398
inicont		db 0
399
firini		db 0
400
lngcrc1		db 0
401
lngcrc2		db 0
402
lngcrc3		db 0
403
altlng1		db 0
404
altlng2		db 0
405
altlng3		db 0
406
altlng4		db 0
407
altlng5		db 0
408
altlng6		db 0
409
altlng7		db 0
410
altlng8		db 0
411
altlng9		db 0
412
altlng0		db 0
413
;------------------------------------------------------------------------------
414
align 4
415
get_key:	dd 0
416
point		dd 0
417
		dd 0
418
		dd 384
419
		dd current_keymap
420
		db 0
421
		dd key_file
422
;------------------------------------------------------------------------------
423
align 4
424
get_ini:	dd 0
425
point2		dd 0
426
		dd 0
427
		dd 1
428
		dd inicont
429
		db 0
430
		dd ini_file
431
;------------------------------------------------------------------------------
870 barsuk 432
key_file: db	  '/rd/1/keymap.key',0
433
ini_file: db	  '/rd/1/lang.ini',0