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