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 |