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