Subversion Repositories Kolibri OS

Rev

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
;-------------------------------------------------------------------------------