Subversion Repositories Kolibri OS

Rev

Rev 2619 | 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:
2619 mario79 127
	mov	[draw_flag_certainly],1
128
 
2532 mario79 129
	add	[key_r2],1
130
	cmp	[key_r2],3
131
	jb	.altes
132
 
133
	mov	[key_r2],0
134
;--------------------------------------
135
align 4
870 barsuk 136
.altes:
2532 mario79 137
	cmp	[key_r2],0
138
	je	.klt_1
139
 
140
	cmp	[key_r2],1
141
	je	.klt_2
142
 
143
	cmp	[key_r2],2
144
	je	.klt_3
145
 
146
	jmp	still
147
;--------------------------------------
148
align 4
870 barsuk 149
.klt_1:
2532 mario79 150
	mov	al,[lngcrc1]
151
	sub	al,1
152
	mov	[key_r],al
153
	jmp	alted
154
;--------------------------------------
155
align 4
870 barsuk 156
.klt_2:
2532 mario79 157
	mov	al,[lngcrc2]
158
	sub	al,1
159
	mov	[key_r],al
160
	jmp	alted
161
;--------------------------------------
162
align 4
870 barsuk 163
.klt_3:
2532 mario79 164
	mov	al,[lngcrc3]
165
	sub	al,1
166
	mov	[key_r],al
167
	jmp	alted
168
;------------------------------------------------------------------------------
169
align 4
870 barsuk 170
alter:
2619 mario79 171
	mov	[draw_flag_certainly],1
172
 
2532 mario79 173
	cmp	[key_r],0
174
	je	.alt_1
175
 
176
	cmp	[key_r],1
177
	je	.alt_2
178
 
179
	cmp	[key_r],2
180
	je	.alt_3
181
 
182
	cmp	[key_r],3
183
	je	.alt_4
184
 
185
	cmp	[key_r],4
186
	je	.alt_5
187
 
188
	cmp	[key_r],5
189
	je	.alt_6
190
 
191
	cmp	[key_r],6
192
	je	.alt_7
193
;--------------------------------------
194
align 4
870 barsuk 195
.alt_1:
2532 mario79 196
	mov	al,[altlng1]
197
	cmp	al,0
198
	je	.exit
870 barsuk 199
 
2532 mario79 200
	sub	al,1
201
	mov	[key_r],al
202
	jmp	alted
203
;--------------------------------------
204
align 4
870 barsuk 205
.alt_2:
2532 mario79 206
	mov	al,[altlng2]
207
	cmp	al,0
208
	je	.exit
209
 
210
	sub	al,1
211
	mov	[key_r],al
212
	jmp	alted
213
;--------------------------------------
214
align 4
870 barsuk 215
.alt_3:
2532 mario79 216
	mov	al,[altlng3]
217
	cmp	al,0
218
	je	.exit
219
 
220
	sub	al,1
221
	mov	[key_r],al
222
	jmp	alted
223
;--------------------------------------
224
align 4
870 barsuk 225
.alt_4:
2532 mario79 226
	mov	al,[altlng4]
227
	cmp	al,0
228
	je	.exit
229
 
230
	sub	al,1
231
	mov	[key_r],al
232
	jmp	alted
233
;--------------------------------------
234
align 4
870 barsuk 235
.alt_5:
2532 mario79 236
	mov	al,[altlng5]
237
	cmp	al,0
238
	je	.exit
239
 
240
	sub	al,1
241
	mov	[key_r],al
242
	jmp	alted
243
;--------------------------------------
244
align 4
870 barsuk 245
.alt_6:
2532 mario79 246
	mov	al,[altlng6]
247
	cmp	al,0
248
	je	.exit
249
 
250
	sub	al,1
251
	mov	[key_r],al
252
	jmp	alted
253
;--------------------------------------
254
align 4
870 barsuk 255
.alt_7:
2532 mario79 256
	mov	al,[altlng7]
257
	cmp	al,0
258
	je	.exit
259
 
260
	sub	al,1
261
	mov	[key_r],al
262
	jmp	alted
263
;--------------------------------------
264
align 4
870 barsuk 265
.exit:
2532 mario79 266
	ret
267
;------------------------------------------------------------------------------
268
align 4
870 barsuk 269
alted:
2532 mario79 270
	cmp	[key_r],0
271
	je	alt_1
272
 
273
	cmp	[key_r],1
274
	je	alt_2
275
 
276
	cmp	[key_r],2
277
	je	alt_3
278
 
279
	cmp	[key_r],3
280
	je	alt_4
281
 
282
	cmp	[key_r],4
283
	je	alt_5
284
 
285
	cmp	[key_r],5
286
	je	alt_6
287
 
288
	cmp	[key_r],6
289
	je	alt_7
290
 
291
	ret
292
;------------------------------------------------------------------------------
293
align 4
870 barsuk 294
alt_1:
2532 mario79 295
	mov	[point],0	; english
296
	mcall	70,get_key
297
 
298
	mcall	21,2,1,current_keymap
299
 
300
	inc	ecx
301
	mcall	21,,,current_keymap_shift
302
 
303
	mcall	21,,9,1	; 1 - english
304
	ret
305
;------------------------------------------------------------------------------
306
align 4
870 barsuk 307
alt_2:
2532 mario79 308
	mov	[point],384	;1536	; finnish
309
	mcall	70,get_key
310
 
311
	mcall	21,2,1,current_keymap
312
 
313
	inc	ecx
314
	mcall	21,,,current_keymap_shift
315
 
316
	mcall	21,,9,2	; 2 - finnish
317
	ret
318
;------------------------------------------------------------------------------
319
align 4
870 barsuk 320
alt_3:
2532 mario79 321
	mov	[point],768	; german
322
	mcall	70,get_key
323
 
324
	mcall	21,2,1,current_keymap
325
 
326
	inc	ecx
327
	mcall	21,,,current_keymap_shift
328
 
329
	mcall	21,,9,3	; 3 - german
330
	ret
331
;------------------------------------------------------------------------------
332
align 4
870 barsuk 333
alt_4:
2532 mario79 334
	mov	[point],1152	;384	; russian
335
	mcall	70,get_key
336
 
337
	mcall	21,2,1,current_keymap
338
 
339
	inc	ecx
340
	mcall	21,,,current_keymap_shift
341
 
342
	mcall	21,,9,4	; 4 - russian
343
	ret
344
;------------------------------------------------------------------------------
345
align 4
870 barsuk 346
alt_5:
2532 mario79 347
	mov	[point],1536	;1152	;french
348
	mcall	70,get_key
349
 
350
	mcall	21,2,1,current_keymap
351
 
352
	inc	ecx
353
	mcall	21,,,current_keymap_shift
354
 
355
	inc	ecx
356
	mcall	21,,,current_keymap_alt
357
 
358
	mcall	21,,9,5	; 5 - french
359
	ret
360
;------------------------------------------------------------------------------
361
align 4
870 barsuk 362
alt_6:
2532 mario79 363
	mov	[point],1920	; estonian
364
	mcall	70,get_key
365
 
366
	mcall	21,2,1,current_keymap
367
 
368
	inc	ecx
369
	mcall	21,,,current_keymap_shift
370
 
371
	mcall	21,,9,6	; 6 - estonian
372
	ret
373
;------------------------------------------------------------------------------
374
align 4
870 barsuk 375
alt_7:
2532 mario79 376
	mov	[point],2304	; ukrainian
377
	mcall	70,get_key
378
 
379
	mcall	21,2,1,current_keymap
380
 
381
	inc	ecx
382
	mcall	21,,,current_keymap_shift
383
 
384
	mcall	21,,9,7 ; 7 - ukrainian
385
	ret
386
;------------------------------------------------------------------------------
387
align 4
2479 mario79 388
current_keymap:
2532 mario79 389
	rb 128
390
;------------------------------------------------------------------------------
391
align 4
2479 mario79 392
current_keymap_shift:
2532 mario79 393
	rb 128
394
;------------------------------------------------------------------------------
395
align 4
2479 mario79 396
current_keymap_alt:
2532 mario79 397
	rb 128
398
;------------------------------------------------------------------------------
399
key_r		db 0
400
key_r2		db 0
401
key_r3		db 0
402
inicont		db 0
403
firini		db 0
404
lngcrc1		db 0
405
lngcrc2		db 0
406
lngcrc3		db 0
407
altlng1		db 0
408
altlng2		db 0
409
altlng3		db 0
410
altlng4		db 0
411
altlng5		db 0
412
altlng6		db 0
413
altlng7		db 0
414
altlng8		db 0
415
altlng9		db 0
416
altlng0		db 0
417
;------------------------------------------------------------------------------
418
align 4
419
get_key:	dd 0
420
point		dd 0
421
		dd 0
422
		dd 384
423
		dd current_keymap
424
		db 0
425
		dd key_file
426
;------------------------------------------------------------------------------
427
align 4
428
get_ini:	dd 0
429
point2		dd 0
430
		dd 0
431
		dd 1
432
		dd inicont
433
		db 0
434
		dd ini_file
435
;------------------------------------------------------------------------------
4093 mario79 436
key_file: db	  '/rd/1/settings/keymap.key',0
437
ini_file: db	  '/rd/1/settings/lang.ini',0