Rev 2319 | Rev 2481 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
31 | halyavin | 1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
||
3 | ;; DEVICE SETUP ;; |
||
4 | ;; ;; |
||
5 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
||
6 | |||
7 | ; Authors: Ville - original version |
||
8 | ; A. Ivushkin - autostart (w launcher) |
||
9 | ; M. Lisovin - added many feauters (apply all, save all, set time...) |
||
10 | ; I. Poddubny - fixed russian keymap |
||
127 | mario79 | 11 | ;14/08/06 Mario79 - added regulation of mouse features |
2478 | mario79 | 12 | ;------------------------------------------------------------------------------- |
13 | use32 |
||
14 | org 0x0 |
||
31 | halyavin | 15 | |
2478 | mario79 | 16 | db 'MENUET01' ; 8 byte identifier |
17 | dd 0x01 ; header version |
||
18 | dd START ; pointer to program start |
||
19 | dd IM_END ; size of image |
||
20 | dd I_END ;0x4000 ; reguired amount of memory |
||
21 | dd stack_area ; stack pointer (esp) |
||
22 | dd I_PARAM ; boot parameters |
||
23 | dd 0x0 ; path |
||
24 | ;------------------------------------------------------------------------------- |
||
25 | include '..\..\..\macros.inc' |
||
26 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 27 | LLL equ (56+3) |
28 | BBB equ 25 |
||
2478 | mario79 | 29 | ;------------------------------------------------------------------------------- |
31 | halyavin | 30 | apply_all: |
2478 | mario79 | 31 | call _pci_acc ;12 |
32 | call _syslang ;5 |
||
33 | call _keyboard ;2 |
||
34 | call _mouse_speed |
||
35 | call _mouse_delay |
||
36 | ret |
||
31 | halyavin | 37 | ;------------------------------------------------------------------------------- |
2299 | hidnplayr | 38 | apply_all_and_exit: |
2478 | mario79 | 39 | mcall 70,read_fileinfo |
2299 | hidnplayr | 40 | call apply_all |
41 | jmp close |
||
2478 | mario79 | 42 | ;------------------------------------------------------------------------------- |
2299 | hidnplayr | 43 | set_language_and_exit: |
2478 | mario79 | 44 | mcall 26,2,9 |
45 | cmp eax,1 |
||
2299 | hidnplayr | 46 | je russian |
31 | halyavin | 47 | |
2299 | hidnplayr | 48 | xor eax,eax |
2478 | mario79 | 49 | ;-------------------------------------- |
2299 | hidnplayr | 50 | set_lang_now: |
2478 | mario79 | 51 | mov [keyboard],eax |
2299 | hidnplayr | 52 | call _keyboard |
53 | jmp close |
||
2478 | mario79 | 54 | ;-------------------------------------- |
2299 | hidnplayr | 55 | russian: |
2478 | mario79 | 56 | mov eax,3 |
2299 | hidnplayr | 57 | jmp set_lang_now |
2478 | mario79 | 58 | ;------------------------------------------------------------------------------- |
2299 | hidnplayr | 59 | set_syslanguage_and_exit: |
2478 | mario79 | 60 | mcall 26,5 |
2299 | hidnplayr | 61 | cmp eax,6 |
62 | jne temp |
||
63 | xor eax,eax |
||
2478 | mario79 | 64 | ;-------------------------------------- |
2299 | hidnplayr | 65 | temp: |
66 | inc eax |
||
2478 | mario79 | 67 | mov [syslang],eax |
2299 | hidnplayr | 68 | call _syslang |
69 | jmp close |
||
2478 | mario79 | 70 | ;------------------------------------------------------------------------------- |
31 | halyavin | 71 | get_setup_values: |
2478 | mario79 | 72 | mcall 26,2,9 |
2299 | hidnplayr | 73 | dec eax |
2478 | mario79 | 74 | mov [keyboard],eax |
2299 | hidnplayr | 75 | |
2478 | mario79 | 76 | mcall 26,5 |
77 | mov [syslang],eax |
||
2299 | hidnplayr | 78 | |
2478 | mario79 | 79 | mcall 26,11 |
80 | mov [lba_read],eax |
||
2299 | hidnplayr | 81 | |
2478 | mario79 | 82 | mcall 26,12 |
83 | mov [pci_acc],eax |
||
2299 | hidnplayr | 84 | |
2478 | mario79 | 85 | mcall 18,19,0 |
86 | mov [mouse_speed],eax |
||
2299 | hidnplayr | 87 | |
2478 | mario79 | 88 | mcall 18,19,2 |
89 | mov [mouse_delay],eax |
||
2299 | hidnplayr | 90 | ret |
2478 | mario79 | 91 | ;------------------------------------------------------------------------------- |
31 | halyavin | 92 | START: |
2478 | mario79 | 93 | cmp [I_PARAM],'SLAN' |
2299 | hidnplayr | 94 | je set_syslanguage_and_exit |
31 | halyavin | 95 | |
2478 | mario79 | 96 | cmp [I_PARAM],'LANG' |
2299 | hidnplayr | 97 | je set_language_and_exit |
31 | halyavin | 98 | |
2478 | mario79 | 99 | cmp [I_PARAM],'BOOT' |
2299 | hidnplayr | 100 | je apply_all_and_exit |
31 | halyavin | 101 | |
2299 | hidnplayr | 102 | call get_setup_values |
103 | call loadtxt |
||
2478 | mario79 | 104 | ;------------------------------------------------------------------------------- |
31 | halyavin | 105 | red: |
2478 | mario79 | 106 | call draw_window |
107 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 108 | still: |
2478 | mario79 | 109 | sysevent: |
110 | mcall 23,8 ; wait here for event with timeout |
||
111 | cmp eax,1 |
||
2299 | hidnplayr | 112 | jz red |
31 | halyavin | 113 | |
2478 | mario79 | 114 | cmp eax,2 |
2299 | hidnplayr | 115 | jz key |
31 | halyavin | 116 | |
2478 | mario79 | 117 | cmp eax,3 |
2299 | hidnplayr | 118 | jz button |
31 | halyavin | 119 | |
2299 | hidnplayr | 120 | jmp still |
2478 | mario79 | 121 | ;------------------------------------------------------------------------------- |
122 | key: |
||
123 | mcall 2 |
||
2299 | hidnplayr | 124 | jmp still |
2478 | mario79 | 125 | ;------------------------------------------------------------------------------- |
126 | button: |
||
127 | mcall 17 |
||
128 | cmp ah,99 |
||
129 | jne nosaveall |
||
130 | mcall 70,save_fileinfo |
||
131 | jmp still |
||
132 | ;-------------------------------------- |
||
31 | halyavin | 133 | nosaveall: |
2478 | mario79 | 134 | cmp ah,100 |
135 | jne no_apply_all |
||
136 | call apply_all |
||
137 | jmp still |
||
138 | ;-------------------------------------- |
||
31 | halyavin | 139 | no_apply_all: |
2478 | mario79 | 140 | cmp ah,1 ; CLOSE APPLICATION |
141 | jne no_close |
||
142 | ;-------------------------------------- |
||
31 | halyavin | 143 | close: |
2478 | mario79 | 144 | or eax,-1 |
145 | mcall |
||
146 | ;-------------------------------------- |
||
147 | no_close: |
||
148 | cmp ah,4 ; SET KEYBOARD |
||
149 | jnz nokm |
||
150 | mov eax,[keyboard] |
||
151 | test eax,eax |
||
152 | je downuplbl |
||
153 | dec eax |
||
154 | jmp nodownup |
||
155 | ;-------------------------------------- |
||
156 | downuplbl: |
||
157 | mov eax,5 |
||
158 | ;-------------------------------------- |
||
159 | nodownup: |
||
160 | mov [keyboard],eax |
||
161 | call draw_infotext |
||
162 | ;-------------------------------------- |
||
163 | nokm: |
||
164 | cmp ah,5 |
||
165 | jnz nokp |
||
166 | mov eax,[keyboard] |
||
167 | cmp eax,5 |
||
168 | je updownlbl |
||
169 | inc eax |
||
170 | jmp noupdown |
||
171 | ;-------------------------------------- |
||
172 | updownlbl: |
||
173 | xor eax,eax |
||
174 | ;-------------------------------------- |
||
175 | noupdown: |
||
176 | mov [keyboard],eax |
||
177 | call draw_infotext |
||
178 | ;-------------------------------------- |
||
179 | nokp: |
||
180 | cmp ah,92 ; SET LBA READ |
||
181 | jne no_lba_d |
||
182 | ;-------------------------------------- |
||
183 | slbal: |
||
184 | btc [lba_read],0 |
||
185 | call draw_infotext |
||
186 | jmp still |
||
187 | ;-------------------------------------- |
||
188 | no_lba_d: |
||
189 | cmp ah,93 |
||
190 | jne no_lba_i |
||
191 | jmp slbal |
||
192 | ;-------------------------------------- |
||
193 | no_lba_i: |
||
194 | cmp ah,91 |
||
195 | jne no_set_lba_read |
||
196 | call _lba_read |
||
197 | jmp still |
||
198 | ;-------------------------------------- |
||
199 | no_set_lba_read: |
||
200 | cmp ah,102 ; SET PCI ACCESS |
||
201 | jne no_pci_d |
||
202 | ;-------------------------------------- |
||
203 | pcip: |
||
204 | btc [pci_acc],0 |
||
205 | call draw_infotext |
||
206 | jmp still |
||
207 | ;-------------------------------------- |
||
208 | no_pci_d: |
||
209 | cmp ah,103 |
||
210 | jne no_pci_i |
||
211 | jmp pcip |
||
212 | ;-------------------------------------- |
||
213 | no_pci_i: |
||
214 | cmp ah,101 |
||
215 | jne no_set_pci_acc |
||
216 | call _pci_acc |
||
217 | jmp still |
||
218 | ;-------------------------------------- |
||
219 | no_set_pci_acc: |
||
220 | cmp ah,42 ; SET SYSTEM LANGUAGE BASE |
||
221 | jnz nosysm |
||
222 | mov eax,[syslang] |
||
223 | dec eax |
||
224 | jz still |
||
225 | mov [syslang],eax |
||
226 | call draw_infotext |
||
227 | ;-------------------------------------- |
||
228 | nosysm: |
||
229 | cmp ah,43 |
||
230 | jnz nosysp |
||
231 | mov eax,[syslang] |
||
232 | cmp eax,6 |
||
233 | je nosysp |
||
234 | inc eax |
||
235 | mov [syslang],eax |
||
236 | call draw_infotext |
||
237 | ;-------------------------------------- |
||
238 | nosysp: |
||
239 | cmp ah,41 |
||
240 | jnz nosyss |
||
241 | call _syslang |
||
242 | call cleantxt |
||
243 | call loadtxt |
||
244 | call draw_window |
||
245 | ;-------------------------------------- |
||
246 | nosyss: |
||
247 | cmp ah,132 ; SET MOUSE SPEED |
||
248 | jnz .nominus |
||
249 | mov eax,[mouse_speed] |
||
250 | sub eax,2 |
||
251 | cmp eax,9 |
||
252 | jb @f |
||
253 | mov eax,8 |
||
254 | ;-------------------------------------- |
||
120 | mario79 | 255 | @@: |
2478 | mario79 | 256 | inc eax |
257 | mov [mouse_speed],eax |
||
258 | call draw_infotext |
||
259 | ;-------------------------------------- |
||
260 | .nominus: |
||
261 | cmp ah,133 |
||
262 | jnz .noplus |
||
263 | mov eax,[mouse_speed] |
||
264 | cmp eax,9 |
||
265 | jb @f |
||
266 | mov eax,0 |
||
267 | ;-------------------------------------- |
||
120 | mario79 | 268 | @@: |
2478 | mario79 | 269 | inc eax |
270 | mov [mouse_speed],eax |
||
271 | call draw_infotext |
||
272 | ;-------------------------------------- |
||
273 | .noplus: |
||
274 | cmp ah,131 |
||
275 | jnz .noapply |
||
276 | call _mouse_speed |
||
277 | ;-------------------------------------- |
||
278 | .noapply: |
||
279 | mousedelay: |
||
280 | cmp ah,142 ; SET MOUSE DELAY |
||
281 | jnz .nominus |
||
282 | mov eax,[mouse_delay] |
||
283 | sub eax,2 |
||
284 | cmp eax,0xfff |
||
285 | jb @f |
||
286 | mov eax,0xffe |
||
287 | ;-------------------------------------- |
||
127 | mario79 | 288 | @@: |
2478 | mario79 | 289 | inc eax |
290 | mov [mouse_delay],eax |
||
291 | call draw_infotext |
||
292 | ;-------------------------------------- |
||
293 | .nominus: |
||
294 | cmp ah,143 |
||
295 | jnz .noplus |
||
296 | mov eax,[mouse_delay] |
||
297 | cmp eax,0xfff |
||
298 | jb @f |
||
299 | mov eax,0 |
||
300 | ;-------------------------------------- |
||
127 | mario79 | 301 | @@: |
2478 | mario79 | 302 | inc eax |
303 | mov [mouse_delay],eax |
||
304 | call draw_infotext |
||
305 | ;-------------------------------------- |
||
306 | .noplus: |
||
307 | cmp ah,141 |
||
308 | jnz .noapply |
||
309 | call _mouse_delay |
||
310 | ;-------------------------------------- |
||
311 | .noapply: |
||
312 | cmp ah,3 ; SET KEYMAP |
||
313 | jne still |
||
314 | call _keyboard |
||
315 | jmp still |
||
316 | ;------------------------------------------------------------------------------- |
||
317 | _keyboard: |
||
318 | cmp [keyboard],0 ; english |
||
319 | jnz nosetkeyle |
||
320 | |||
321 | mcall 21,2,1,en_keymap |
||
322 | |||
323 | inc ecx |
||
324 | mcall 21,,,en_keymap_shift |
||
127 | mario79 | 325 | |
2478 | mario79 | 326 | mcall 21,,9,1 |
327 | call alt_gen |
||
328 | ;-------------------------------------- |
||
329 | nosetkeyle: |
||
330 | cmp [keyboard],1 ; finnish |
||
331 | jnz nosetkeylfi |
||
31 | halyavin | 332 | |
2478 | mario79 | 333 | mcall 21,2,1,fi_keymap |
334 | |||
335 | inc ecx |
||
336 | mcall 21,,,fi_keymap_shift |
||
31 | halyavin | 337 | |
2478 | mario79 | 338 | mcall 21,,9,2 |
339 | call alt_gen |
||
340 | ;-------------------------------------- |
||
341 | nosetkeylfi: |
||
342 | cmp [keyboard],2 ; german |
||
343 | jnz nosetkeylge |
||
31 | halyavin | 344 | |
2478 | mario79 | 345 | mcall 21,2,1,ge_keymap |
346 | |||
347 | inc ecx |
||
348 | mcall 21,,,ge_keymap_shift |
||
31 | halyavin | 349 | |
2478 | mario79 | 350 | mcall 21,,9,3 |
351 | call alt_gen |
||
352 | ;-------------------------------------- |
||
353 | nosetkeylge: |
||
354 | cmp [keyboard],3 ; russian |
||
355 | jnz nosetkeylru |
||
356 | |||
357 | mcall 21,2,1,ru_keymap |
||
358 | |||
359 | inc ecx |
||
360 | mcall 21,,,ru_keymap_shift |
||
31 | halyavin | 361 | |
2478 | mario79 | 362 | mcall 21,,9,4 |
363 | call alt_gen |
||
364 | ;-------------------------------------- |
||
365 | nosetkeylru: |
||
366 | cmp [keyboard],4 ;french |
||
367 | jnz nosetkeylfr |
||
31 | halyavin | 368 | |
2478 | mario79 | 369 | mcall 21,2,1,fr_keymap |
370 | |||
371 | inc ecx |
||
372 | mcall 21,,,fr_keymap_shift |
||
31 | halyavin | 373 | |
2478 | mario79 | 374 | inc ecx |
375 | mcall 21,,,fr_keymap_alt_gr |
||
31 | halyavin | 376 | |
2478 | mario79 | 377 | mcall 21,,9,5 |
378 | ;-------------------------------------- |
||
379 | nosetkeylfr: |
||
380 | cmp [keyboard],5 ; estonian |
||
381 | jnz nosetkeylet |
||
31 | halyavin | 382 | |
2478 | mario79 | 383 | mcall 21,2,1,et_keymap |
384 | |||
385 | inc ecx |
||
386 | mcall 21,,,et_keymap_shift |
||
31 | halyavin | 387 | |
2478 | mario79 | 388 | mcall 21,,9,6 |
389 | call alt_gen |
||
390 | ;-------------------------------------- |
||
391 | nosetkeylet: |
||
392 | ret |
||
393 | ;------------------------------------------------------------------------------- |
||
394 | alt_gen: |
||
395 | mcall 21,,3,alt_general |
||
396 | ret |
||
397 | ;------------------------------------------------------------------------------- |
||
398 | draw_buttons: |
||
399 | pusha |
||
400 | shl ecx,16 |
||
401 | add ecx,12 |
||
402 | mcall 8,<(350-57),(46+BBB)> |
||
31 | halyavin | 403 | |
2478 | mario79 | 404 | inc edx |
405 | mcall ,<(350-85),9> |
||
31 | halyavin | 406 | |
2478 | mario79 | 407 | inc edx |
408 | mcall ,<(350-73),9> |
||
31 | halyavin | 409 | |
2478 | mario79 | 410 | popa |
411 | ret |
||
412 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 413 | ; ******************************************** |
414 | ; ******* WINDOW DEFINITIONS AND DRAW ******* |
||
415 | ; ******************************************** |
||
416 | draw_window: |
||
2478 | mario79 | 417 | pusha |
418 | mcall 12,1 |
||
31 | halyavin | 419 | |
2478 | mario79 | 420 | xor eax,eax ; DRAW WINDOW |
421 | xor esi,esi |
||
422 | mcall ,<40,(355+BBB)>,<40,(12*15)>,0xB4111199,,title |
||
31 | halyavin | 423 | |
2478 | mario79 | 424 | mcall 8,<(350-85),100>,<(5+14*8),12>,100,0x005588dd ; APPLY ALL |
31 | halyavin | 425 | |
2478 | mario79 | 426 | add ecx,16*65536 ; SAVE ALL |
427 | dec edx |
||
428 | mcall |
||
31 | halyavin | 429 | |
2478 | mario79 | 430 | mov esi,0x5580c0 |
31 | halyavin | 431 | |
2478 | mario79 | 432 | mov edx,41 |
433 | mov ecx,5+0*8 |
||
434 | call draw_buttons |
||
31 | halyavin | 435 | |
2478 | mario79 | 436 | mov edx,3 |
437 | mov ecx,5+2*8 |
||
438 | call draw_buttons |
||
31 | halyavin | 439 | |
2478 | mario79 | 440 | mov edx,91 |
441 | mov ecx,5+4*8 |
||
442 | call draw_buttons |
||
31 | halyavin | 443 | |
2478 | mario79 | 444 | mov edx,101 |
445 | mov ecx,5+6*8 |
||
446 | call draw_buttons |
||
31 | halyavin | 447 | |
2478 | mario79 | 448 | mov edx,131 |
449 | mov ecx,5+8*8 |
||
450 | call draw_buttons |
||
31 | halyavin | 451 | |
2478 | mario79 | 452 | mov edx,141 |
453 | mov ecx,5+10*8 |
||
454 | call draw_buttons |
||
120 | mario79 | 455 | |
2478 | mario79 | 456 | call draw_infotext |
127 | mario79 | 457 | |
2478 | mario79 | 458 | mcall 12,2 |
459 | popa |
||
460 | ret |
||
461 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 462 | draw_infotext: |
2478 | mario79 | 463 | pusha |
464 | mov eax,[keyboard] ; KEYBOARD |
||
465 | test eax,eax |
||
466 | jnz noen |
||
467 | mov [text00+LLL*1+28],dword 'ENGL' |
||
468 | mov [text00+LLL*1+32],dword 'ISH ' |
||
469 | ;-------------------------------------- |
||
470 | noen: |
||
471 | cmp eax,1 |
||
472 | jnz nofi |
||
473 | mov [text00+LLL*1+28],dword 'FINN' |
||
474 | mov [text00+LLL*1+32],dword 'ISH ' |
||
475 | ;-------------------------------------- |
||
476 | nofi: |
||
477 | cmp eax,2 |
||
478 | jnz noge |
||
479 | mov [text00+LLL*1+28],dword 'GERM' |
||
480 | mov [text00+LLL*1+32],dword 'AN ' |
||
481 | ;-------------------------------------- |
||
482 | noge: |
||
483 | cmp eax,3 |
||
484 | jnz nogr |
||
485 | mov [text00+LLL*1+28],dword 'RUSS' |
||
486 | mov [text00+LLL*1+32],dword 'IAN ' |
||
487 | ;-------------------------------------- |
||
488 | nogr: |
||
489 | cmp eax,4 |
||
490 | jnz nofr |
||
491 | mov [text00+LLL*1+28],dword 'FREN' |
||
492 | mov [text00+LLL*1+32],dword 'CH ' |
||
493 | ;-------------------------------------- |
||
494 | nofr: |
||
495 | cmp eax,5 |
||
496 | jnz noet |
||
497 | mov [text00+LLL*1+28],dword 'ESTO' |
||
498 | mov [text00+LLL*1+32],dword 'NIAN' |
||
499 | ;-------------------------------------- |
||
500 | noet: |
||
501 | mov eax,[syslang] ; SYSTEM LANGUAGE |
||
502 | dec eax |
||
503 | test eax,eax |
||
504 | jnz noen5 |
||
505 | mov [text00+LLL*0+28],dword 'ENGL' |
||
506 | mov [text00+LLL*0+32],dword 'ISH ' |
||
507 | ;-------------------------------------- |
||
508 | noen5: |
||
509 | cmp eax,1 |
||
510 | jnz nofi5 |
||
511 | mov [text00+LLL*0+28],dword 'FINN' |
||
512 | mov [text00+LLL*0+32],dword 'ISH ' |
||
513 | ;-------------------------------------- |
||
514 | nofi5: |
||
515 | cmp eax,2 |
||
516 | jnz noge5 |
||
517 | mov [text00+LLL*0+28],dword 'GERM' |
||
518 | mov [text00+LLL*0+32],dword 'AN ' |
||
519 | ;-------------------------------------- |
||
520 | noge5: |
||
521 | cmp eax,3 |
||
522 | jnz nogr5 |
||
523 | mov [text00+LLL*0+28],dword 'RUSS' |
||
524 | mov [text00+LLL*0+32],dword 'IAN ' |
||
525 | ;-------------------------------------- |
||
526 | nogr5: |
||
527 | cmp eax,4 |
||
528 | jne nofr5 |
||
529 | mov [text00+LLL*0+28],dword 'FREN' |
||
530 | mov [text00+LLL*0+32],dword 'CH ' |
||
531 | ;-------------------------------------- |
||
532 | nofr5: |
||
533 | cmp eax,5 |
||
534 | jne noet5 |
||
535 | mov [text00+LLL*0+28],dword 'ESTO' |
||
536 | mov [text00+LLL*0+32],dword 'NIAN' |
||
537 | ;-------------------------------------- |
||
538 | noet5: |
||
539 | mov eax,[lba_read] |
||
540 | call onoff ; LBA READ |
||
541 | mov [text00+LLL*2+28],ebx |
||
31 | halyavin | 542 | |
2478 | mario79 | 543 | mov eax,[pci_acc] |
544 | call onoff ; PCI ACCESS |
||
545 | mov [text00+LLL*3+28],ebx |
||
31 | halyavin | 546 | |
2478 | mario79 | 547 | mov eax,[mouse_speed] ; MOUSE SPEED |
548 | add al,48 |
||
549 | mov [text00+LLL*4+28],al |
||
31 | halyavin | 550 | |
2478 | mario79 | 551 | mov eax,[mouse_delay] |
552 | mov esi,text00+LLL*5+32 |
||
553 | call hexconvert ; MOUSE DELAY |
||
554 | call text_out |
||
555 | popa |
||
556 | ret |
||
557 | ;------------------------------------------------------------------------------- |
||
304 | diamond | 558 | text_out: |
2478 | mario79 | 559 | mcall 13,<165,85>,<0,(12*8)>,0x80111199 ;0x80111199-19 |
31 | halyavin | 560 | |
2478 | mario79 | 561 | mov edx,text00 |
562 | mov ebx,3*65536+7 |
||
563 | mov eax,4 |
||
564 | mov ecx,0xffffff |
||
565 | mov esi,LLL |
||
566 | mov ebp,text1_strings |
||
567 | ;-------------------------------------- |
||
568 | newline: |
||
569 | mcall |
||
570 | add ebx,8+8 |
||
571 | add edx,esi |
||
572 | dec ebp |
||
573 | jnz newline |
||
31 | halyavin | 574 | |
2478 | mario79 | 575 | mov ebp,text2_strings |
576 | add ebx,8+8 |
||
577 | ;-------------------------------------- |
||
578 | @@: |
||
579 | mcall |
||
580 | add ebx,8+8 |
||
581 | add edx,esi |
||
582 | dec ebp |
||
583 | jnz @b |
||
584 | ret |
||
585 | ;------------------------------------------------------------------------------- |
||
586 | hexconvert: ;converting dec to hex in ascii |
||
587 | xor ebx,ebx |
||
588 | mov bl,al |
||
589 | and bl,15 |
||
590 | add ebx,hex |
||
591 | mov cl,[ebx] |
||
592 | mov [esi],cl |
||
593 | shr eax,4 |
||
594 | xor ebx,ebx |
||
595 | mov bl,al |
||
596 | and bl,15 |
||
597 | add ebx,hex |
||
598 | mov cl,[ebx] |
||
599 | dec esi |
||
600 | mov [esi],cl |
||
601 | shr eax,4 |
||
602 | xor ebx,ebx |
||
603 | mov bl,al |
||
604 | and bl,15 |
||
605 | add ebx,hex |
||
606 | mov cl,[ebx] |
||
607 | dec esi |
||
608 | mov [esi],cl |
||
609 | ret |
||
610 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 611 | onoff: |
2478 | mario79 | 612 | cmp [syslang],4 |
613 | jne norus1 |
||
614 | mov ebx,'ДА ' |
||
615 | cmp eax,1 |
||
616 | je exitsub |
||
617 | mov ebx,'НЕТ ' |
||
618 | ret |
||
619 | ;-------------------------------------- |
||
620 | norus1: |
||
621 | mov ebx,'ON ' |
||
622 | cmp eax,1 |
||
623 | je exitsub |
||
624 | mov ebx,'OFF ' |
||
625 | ;-------------------------------------- |
||
626 | exitsub: |
||
627 | ret |
||
628 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 629 | _lba_read: |
2478 | mario79 | 630 | mcall 21,11,[lba_read] |
631 | ret |
||
632 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 633 | _pci_acc: |
2478 | mario79 | 634 | mcall 21,12,[pci_acc] |
635 | ret |
||
636 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 637 | _syslang: |
2478 | mario79 | 638 | mcall 21,5,[syslang] |
639 | ret |
||
640 | ;------------------------------------------------------------------------------- |
||
127 | mario79 | 641 | _mouse_speed: |
2478 | mario79 | 642 | mcall 18,19,1,[mouse_speed] |
643 | ret |
||
644 | ;------------------------------------------------------------------------------- |
||
127 | mario79 | 645 | _mouse_delay: |
2478 | mario79 | 646 | mcall 18,19,3,[mouse_delay] |
647 | ret |
||
648 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 649 | loadtxt: |
2478 | mario79 | 650 | mov edi,text00 |
651 | mov ecx,LLL*(text1_strings + text2_strings)/4 |
||
652 | cmp [syslang],4 |
||
653 | jne norus |
||
31 | halyavin | 654 | |
2478 | mario79 | 655 | mov esi,textrus |
656 | jmp sload |
||
657 | ;-------------------------------------- |
||
658 | norus: |
||
659 | mov esi,texteng |
||
660 | ;-------------------------------------- |
||
661 | sload: |
||
662 | rep movsd |
||
663 | ret |
||
664 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 665 | cleantxt: |
2478 | mario79 | 666 | xor eax,eax |
667 | mov ecx,LLL*(text1_strings + text2_strings)/4 |
||
668 | cld |
||
669 | mov edi,text00 |
||
670 | rep stosd |
||
671 | mov [text00+1711],byte 'x' |
||
672 | ret |
||
673 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 674 | ; DATA AREA |
2299 | hidnplayr | 675 | count: db 0x0 |
2478 | mario79 | 676 | blinkpar: dd 0x0 |
677 | time: dw 0x0 |
||
678 | date: dd 0x0 |
||
679 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 680 | textrus: |
2478 | mario79 | 681 | db 'Язык системы : ENGLISH - + Применить' |
682 | db 'Раскладка клавиатуры : ENGLISH - + Применить' |
||
683 | db 'Включить LBA : OFF - + Применить' |
||
684 | db 'Доступ к шине PCI : OFF - + Применить' |
||
685 | db 'Скорость курсора мыши : 1 - + Применить' |
||
686 | db 'Задержка ускорения мыши : 0x00a - + Применить' |
||
687 | |||
688 | db 'ВНИМАНИЕ: Применить все ' |
||
689 | db 'НЕ ЗАБУДЬТЕ СОХРАНИТЬ НАСТРОЙКИ Сохранить все ' |
||
690 | ;------------------------------------------------------------------------------- |
||
31 | halyavin | 691 | texteng: |
2478 | mario79 | 692 | db 'SYSTEM LANGUAGE : ENGLISH - + APPLY ' |
693 | db 'KEYBOARD LAYOUT : ENGLISH - + APPLY ' |
||
694 | db 'LBA READ ENABLED : OFF - + APPLY ' |
||
695 | db 'PCI ACCESS FOR APPL. : OFF - + APPLY ' |
||
696 | db 'Mouse pointer speed : 1 - + APPLY ' |
||
697 | db 'Mouse pointer delay : 0x00a - + APPLY ' |
||
698 | text1_strings = 6 |
||
31 | halyavin | 699 | |
2478 | mario79 | 700 | db 'NOTE: APPLY ALL ' |
701 | db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI SAVE ALL ' |
||
304 | diamond | 702 | text2_strings = 2 |
2478 | mario79 | 703 | ;------------------------------------------------------------------------------- |
704 | title db 'SETUP',0 |
||
31 | halyavin | 705 | |
2478 | mario79 | 706 | hex db '0123456789ABCDEF' |
707 | ;------------------------------------------------------------------------------- |
||
2299 | hidnplayr | 708 | include 'keymaps.inc' |
2478 | mario79 | 709 | ;------------------------------------------------------------------------------- |
120 | mario79 | 710 | read_fileinfo: |
2478 | mario79 | 711 | dd 0 |
712 | dd 0 |
||
713 | dd 0 |
||
714 | dd 48 |
||
715 | dd keyboard |
||
716 | db 0 |
||
717 | dd file_name |
||
718 | ;------------------------------------------------------------------------------- |
||
120 | mario79 | 719 | save_fileinfo: |
2478 | mario79 | 720 | dd 2 |
721 | dd 0 |
||
722 | dd 0 |
||
723 | dd 48 |
||
724 | dd keyboard |
||
725 | file_name: db '/sys/setup.dat',0 |
||
726 | ;------------------------------------------------------------------------------- |
||
727 | I_PARAM dd 0 |
||
2319 | mario79 | 728 | ;----------------------------------------------------------------------------- |
729 | ; Note to SVN revision 2299 - some parameters has not used, |
||
730 | ; but keep the order of the parameter has always needed! |
||
731 | keyboard dd 0x0 |
||
2478 | mario79 | 732 | dd 0 ;midibase - not use, but retained for backward compat. |
733 | dd 0 ;cdbase - not use, but retained for backward compat. |
||
734 | dd 0 ;sb16 - not use, but retained for backward compat. |
||
2319 | mario79 | 735 | syslang dd 0x1 |
2478 | mario79 | 736 | dd 0 ;hdbase - not use, but retained for backward compat. |
737 | dd 0 ;f32p - not use, but retained for backward compat. |
||
738 | dd 0 ;sound_dma - not use, but retained for backward compat. |
||
2319 | mario79 | 739 | lba_read dd 0x1 |
740 | pci_acc dd 0x1 |
||
741 | mouse_speed dd 0x3 |
||
742 | mouse_delay dd 0x10 |
||
743 | ;----------------------------------------------------------------------------- |
||
2478 | mario79 | 744 | IM_END: |
745 | ;----------------------------------------------------------------------------- |
||
746 | align 4 |
||
31 | halyavin | 747 | text00: |
2478 | mario79 | 748 | rb LLL*(text1_strings + text2_strings) |
749 | ;----------------------------------------------------------------------------- |
||
750 | align 4 |
||
751 | rb 0x1000 |
||
752 | stack_area: |
||
753 | ;----------------------------------------------------------------------------- |
||
754 | ;table_area: |
||
31 | halyavin | 755 | I_END: |
2478 | mario79 | 756 | ;-------------------------------------------------------------------------------0,(12*8)>165,85>(5+14*8),12>(350-85),100>40,(12*15)>40,(355+BBB)>(350-73),9>(350-85),9>(350-57),(46+BBB)> |