Subversion Repositories Kolibri OS

Rev

Rev 5452 | Rev 8088 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5452 Rev 5872
Line 1... Line -...
1
;------------------------------------------------------------------------------	
-
 
2
align 4
-
 
3
load_ini:
-
 
4
	mov	[point2],16h
-
 
Line 5... Line -...
5
 
-
 
6
	mcall	70,get_ini
-
 
7
 
1
load_ini:
8
	mov	al,[inicont]
-
 
9
	sub	al,30h
-
 
10
	mov	[firini],al
2
	mov	[point2],32h
11
	mov	[point2],32h
-
 
12
 
3
	mcall	70,get_ini
13
	mcall	70,get_ini
-
 
14
 
4
	mov	al,[inicont]
15
	mov	al,[inicont]
5
	sub	al,30h
16
	sub	al,30h
6
	mov	[lngcrc1],al
17
	mov	[lngcrc1],al
-
 
Line -... Line 7...
-
 
7
 
18
	mov	[point2],42h
8
	mov	[point2],42h
19
 
-
 
20
	mcall	70,get_ini
9
	mcall	70,get_ini
21
 
10
	mov	al,[inicont]
22
	mov	al,[inicont]
11
	sub	al,30h
23
	sub	al,30h
-
 
Line -... Line 12...
-
 
12
	mov	[lngcrc3],al
24
	mov	[lngcrc2],al
13
 
25
	mov	[point2],52h
-
 
26
 
14
	mov	[point2],52h
27
	mcall  70,get_ini
15
	mcall  70,get_ini
28
 
16
	mov	al,[inicont]
29
	mov	al,[inicont]
-
 
Line -... Line 17...
-
 
17
	sub	al,30h
30
	sub	al,30h
18
	mov	[lngcrc2],al
31
	mov	[lngcrc3],al
-
 
32
	mov	[point2],06eh
19
 
33
 
20
	mov	[point2],06eh
34
	mcall	70,get_ini
21
	mcall	70,get_ini
35
 
-
 
Line -... Line 22...
-
 
22
	mov	al,[inicont]
36
	mov	al,[inicont]
23
	sub	al,30h
37
	sub	al,30h
-
 
38
	mov	[altlng1],al
24
	mov	[altlng1],al
39
	mov	[point2],07eh
25
 
40
 
26
	mov	[point2],07eh
41
	mcall	70,get_ini
-
 
Line -... Line 27...
-
 
27
	mcall	70,get_ini
42
 
28
	mov	al,[inicont]
43
	mov	al,[inicont]
-
 
44
	sub	al,30h
29
	sub	al,30h
45
	mov	[altlng2],al
30
	mov	[altlng2],al
46
	mov	[point2],08eh
31
 
47
 
-
 
Line -... Line 32...
-
 
32
	mov	[point2],08eh
48
	mcall	70,get_ini
33
	mcall	70,get_ini
49
 
-
 
50
	mov	al,[inicont]
34
	mov	al,[inicont]
51
	sub	al,30h
35
	sub	al,30h
52
	mov	[altlng3],al
36
	mov	[altlng3],al
53
	mov	[point2],09eh
-
 
Line -... Line 37...
-
 
37
 
54
 
38
	mov	[point2],09eh
55
	mcall	70,get_ini
-
 
56
 
39
	mcall	70,get_ini
57
	mov	al,[inicont]
40
	mov	al,[inicont]
58
	sub	al,30h
41
	sub	al,30h
59
	mov	[altlng4],al
-
 
Line -... Line 42...
-
 
42
	mov	[altlng4],al
60
	mov	[point2],0aeh
43
 
61
 
-
 
62
	mcall	70,get_ini
44
	mov	[point2],0aeh
63
 
45
	mcall	70,get_ini
64
	mov	al,[inicont]
46
	mov	al,[inicont]
65
	sub	al,30h
-
 
Line -... Line 47...
-
 
47
	sub	al,30h
66
	mov	[altlng5],al
48
	mov	[altlng5],al
67
	mov	[point2],0beh
-
 
68
 
49
 
69
	mcall	70,get_ini
50
	mov	[point2],0beh
70
 
51
	mcall	70,get_ini
71
	mov	al,[inicont]
-
 
Line -... Line 52...
-
 
52
	mov	al,[inicont]
72
	sub	al,30h
53
	sub	al,30h
73
	mov	[altlng6],al
-
 
74
	mov	[point2],0ceh
54
	mov	[altlng6],al
75
 
55
 
76
	mcall	70,get_ini
56
	mov	[point2],0ceh
77
 
-
 
Line -... Line 57...
-
 
57
	mcall	70,get_ini
78
	mov	al,[inicont]
58
	mov	al,[inicont]
79
	sub	al,30h
-
 
80
	mov	[altlng7],al
59
	sub	al,30h
81
	mov	[point2],0deh
60
	mov	[altlng7],al
82
 
61
 
83
	mcall	70,get_ini
-
 
Line -... Line 62...
-
 
62
	mov	[point2],0deh
84
 
63
	mcall	70,get_ini
85
	mov	al,[inicont]
64
	mov	al,[inicont]
86
	sub	al,30h
65
	sub	al,30h
87
	mov	[altlng8],al
66
	mov	[altlng8],al
88
	mov	[point2],0eeh
67
 
89
 
68
	mov	[point2],0eeh
90
	mcall	70,get_ini
69
	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
-
 
105
fir_lng:
-
 
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
70
	mov	al,[inicont]
114
 
71
	sub	al,30h
115
	inc	ecx
-
 
116
	mcall	21,,,current_keymap_shift
-
 
117
 
72
	mov	[altlng9],al
118
	inc	ecx
73
 
119
	mcall	21,,,current_keymap_alt
-
 
120
 
74
	mov	[point2],16h
121
	movzx	edx,[firini]
-
 
122
	mcall	21,,9
-
 
123
	ret
75
	mcall	70,get_ini
124
;------------------------------------------------------------------------------	
-
 
125
align 4
-
 
126
karu:
-
 
127
	mov	[draw_flag_certainly],1
-
 
128
 
76
	xor	eax,eax
129
	add	[key_r2],1
-
 
130
	cmp	[key_r2],3
77
	mov	al,[inicont]
131
	jb	.altes
-
 
132
 
-
 
133
	mov	[key_r2],0
-
 
134
;--------------------------------------
-
 
135
align 4
-
 
136
.altes:
-
 
137
	cmp	[key_r2],0
78
	sub	al,31h
138
	je	.klt_1
79
	jns	applyKeymap
139
 
-
 
140
	cmp	[key_r2],1
80
	ret
141
	je	.klt_2
-
 
142
 
-
 
143
	cmp	[key_r2],2
-
 
144
	je	.klt_3
-
 
145
 
-
 
146
	jmp	still
-
 
147
;--------------------------------------
81
;-------------------------------
148
align 4
82
karu:
149
.klt_1:
-
 
150
	mov	al,[lngcrc1]
-
 
151
	sub	al,1
-
 
152
	mov	[key_r],al
-
 
153
	jmp	alted
-
 
154
;--------------------------------------
-
 
155
align 4
-
 
156
.klt_2:
-
 
157
	mov	al,[lngcrc2]
83
	mov	[draw_flag_certainly],1
158
	sub	al,1
84
	dec	[key_r2]
159
	mov	[key_r],al
-
 
160
	jmp	alted
-
 
161
;--------------------------------------
-
 
162
align 4
-
 
163
.klt_3:
-
 
164
	mov	al,[lngcrc3]
-
 
165
	sub	al,1
-
 
166
	mov	[key_r],al
-
 
167
	jmp	alted
-
 
168
;------------------------------------------------------------------------------	
-
 
169
align 4
-
 
170
alter:
-
 
171
	mov	[draw_flag_certainly],1
-
 
172
 
-
 
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
 
85
	jns	@f
188
	cmp	[key_r],5
86
	mov	[key_r2],2
189
	je	.alt_6
-
 
190
 
-
 
191
	cmp	[key_r],6
-
 
192
	je	.alt_7
-
 
193
;--------------------------------------
87
@@:
194
align 4
-
 
195
.alt_1:
88
	xor	eax,eax
196
	mov	al,[altlng1]
-
 
197
	cmp	al,0
-
 
198
	je	.exit
-
 
199
 
-
 
200
	sub	al,1
-
 
201
	mov	[key_r],al
-
 
202
	jmp	alted
-
 
203
;--------------------------------------
-
 
204
align 4
-
 
205
.alt_2:
89
	mov	al, [key_r2]
206
	mov	al,[altlng2]
-
 
207
	cmp	al,0
-
 
208
	je	.exit
90
	mov	al, [lngcrc1+eax]
209
 
-
 
210
	sub	al,1
-
 
211
	mov	[key_r],al
-
 
212
	jmp	alted
-
 
213
;--------------------------------------
-
 
214
align 4
91
	dec	eax
215
.alt_3:
-
 
216
	mov	al,[altlng3]
-
 
217
	cmp	al,0
-
 
218
	je	.exit
-
 
219
 
92
	js	karu
220
	sub	al,1
-
 
221
	mov	[key_r],al
-
 
222
	jmp	alted
-
 
223
;--------------------------------------
-
 
224
align 4
-
 
225
.alt_4:
-
 
226
	mov	al,[altlng4]
-
 
227
	cmp	al,0
93
	jmp	applyKeymap
228
	je	.exit
-
 
229
 
-
 
230
	sub	al,1
-
 
231
	mov	[key_r],al
-
 
232
	jmp	alted
-
 
233
;--------------------------------------
-
 
234
align 4
-
 
235
.alt_5:
-
 
236
	mov	al,[altlng5]
-
 
237
	cmp	al,0
94
;-------------------------------
238
	je	.exit
-
 
239
 
-
 
240
	sub	al,1
-
 
241
	mov	[key_r],al
-
 
242
	jmp	alted
-
 
243
;--------------------------------------
95
alter:
244
align 4
-
 
245
.alt_6:
-
 
246
	mov	al,[altlng6]
-
 
247
	cmp	al,0
-
 
248
	je	.exit
96
	mov	[draw_flag_certainly],1
249
 
-
 
250
	sub	al,1
-
 
251
	mov	[key_r],al
-
 
252
	jmp	alted
-
 
253
;--------------------------------------
-
 
254
align 4
-
 
255
.alt_7:
-
 
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
-
 
265
.exit:
-
 
266
	ret
-
 
267
;------------------------------------------------------------------------------	
-
 
268
align 4
-
 
269
alted:
-
 
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
-
 
294
alt_1:
-
 
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
-
 
307
alt_2:
-
 
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
-
 
320
alt_3:
-
 
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
-
 
333
alt_4:
-
 
334
	mov	[point],1152	;384	; russian
-
 
335
	mcall	70,get_key
97
	xor	eax,eax
336
 
-
 
337
	mcall	21,2,1,current_keymap
98
	mov	al, [key_r]
338
 
-
 
339
	inc	ecx
99
	mov	al, [altlng1+eax]
340
	mcall	21,,,current_keymap_shift
100
	dec	eax
341
	
-
 
342
	mcall	21,,9,4	; 4 - russian
101
	js	@f
343
	ret
102
applyKeymap:
344
;------------------------------------------------------------------------------	
-
 
345
align 4
-
 
346
alt_5:
103
	cmp	al, 9
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
104
	jnc	@f
356
	mcall	21,,,current_keymap_alt
105
	push	eax
357
 
106
	shl	eax,7
358
	mcall	21,,9,5	; 5 - french
-
 
359
	ret
107
	lea	eax,[eax*2+eax]
360
;------------------------------------------------------------------------------	
108
	mov	[point],eax
361
align 4
109
	mcall	70,get_key
362
alt_6:
110
	mcall	21,2,1,current_keymap
363
	mov	[point],1920	; estonian
111
	inc	ecx
364
	mcall	70,get_key
112
	mcall	21,,,current_keymap_shift
Line -... Line 113...
-
 
113
	inc	ecx
-
 
114
	mcall	21,,,current_keymap_alt
-
 
115
	pop	edx
-
 
116
	inc	edx
-
 
117
	mcall	21,,9
-
 
118
@@:
365
 
119
	ret
Line -... Line 120...
-
 
120
;---------------------------------------------------------------
-
 
121
align 4
366
	mcall	21,2,1,current_keymap
122
current_keymap		rb 128
-
 
123
current_keymap_shift	rb 128
-
 
124
current_keymap_alt	rb 128
367
 
125
 
-
 
126
get_ini:
Line 368... Line -...
368
	inc	ecx
-
 
369
	mcall	21,,,current_keymap_shift
-
 
370
	
-
 
371
	mcall	21,,9,6	; 6 - estonian
-
 
372
	ret
-
 
373
;------------------------------------------------------------------------------	
-
 
374
align 4
-
 
375
alt_7:
-
 
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
 
127
	dd 0
384
	mcall	21,,9,7 ; 7 - ukrainian
128
point2	dd 0
385
	ret
-
 
386
;------------------------------------------------------------------------------	
129
	dd 0
387
align 4
-
 
388
current_keymap:
130
	dd 1
389
	rb 128
131
	dd inicont
390
;------------------------------------------------------------------------------	
132
	db '/rd/1/settings/lang.ini',0
391
align 4
133
 
392
current_keymap_shift:
134
get_key:
Line 411... Line 153...
411
altlng5		db 0
153
altlng6		db 0
412
altlng6		db 0
154
altlng7		db 0
413
altlng7		db 0
155
altlng8		db 0
414
altlng8		db 0
156
altlng9		db 0
415
altlng9		db 0
157
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
;------------------------------------------------------------------------------
-
 
436
key_file: db	  '/rd/1/settings/keymap.key',0
-
 
437
ini_file: db	  '/rd/1/settings/lang.ini',0
-
 
438
158