Subversion Repositories Kolibri OS

Rev

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: