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