Subversion Repositories Kolibri OS

Rev

Rev 5875 | Rev 5924 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5875 Rev 5919
1
;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;
2
;;  SYSTEM SETTINGS  ;;
2
;;  SYSTEM SETTINGS  ;;
3
;;;;;;;;;;;;;;;;;;;;;;;
3
;;;;;;;;;;;;;;;;;;;;;;;
4
 
4
 
5
format binary as ""
5
format binary as ""
6
use32
6
use32
7
org 0
7
org 0
8
 
8
 
9
db 'MENUET01'
9
db 'MENUET01'
10
dd 1
10
dd 1
11
dd START
11
dd START
12
dd IM_END
12
dd IM_END
13
dd I_END
13
dd I_END
14
dd stack_area
14
dd stack_area
15
dd param
15
dd param
16
dd 0
16
dd 0
17
 
17
 
18
include '../../../proc32.inc'
18
include '../../../proc32.inc'
19
include '../../../macros.inc'
19
include '../../../macros.inc'
20
include '../../../dll.inc'
20
include '../../../dll.inc'
21
;---------------------------------------------------------------
21
;---------------------------------------------------------------
22
BootSettings:
22
BootSettings:
23
; Set system language
23
; Set system language
24
	mov	word[param],0
24
	mov	word[param],0
25
	invoke	ini.get_str, sz_ini, sz_system, sz_language, param, 2, 0
25
	invoke	ini.get_str, sz_ini, sz_system, sz_language, param, 2, 0
26
	mov	ax, [param]
26
	mov	ax, [param]
27
	or	ax, 0x2020	; convert to lowercase
27
	or	ax, 0x2020	; convert to lowercase
28
	mov	ecx,8
28
	mov	ecx,8
29
	mov	edi,langMarks
29
	mov	edi,langMarks
30
	repnz scasw
30
	repnz scasw
31
	jnz	@f
31
	jnz	@f
32
	neg	ecx
32
	neg	ecx
33
	add	ecx,8
33
	add	ecx,8
34
	mcall	21,5
34
	mcall	21,5
35
@@:
35
@@:
36
 
36
 
37
; Set font smoothing
37
; Set font smoothing
38
	mov	dword[param],0
38
	mov	dword[param],0
39
	invoke	ini.get_str, sz_ini, sz_system, sz_fontSmooth, param, 4, 0
39
	invoke	ini.get_str, sz_ini, sz_system, sz_fontSmooth, param, 4, 0
40
	xor	ecx,ecx
40
	xor	ecx,ecx
41
	mov	eax,[param]
41
	mov	eax,[param]
42
	or	eax,0x20202020
42
	or	eax,0x20202020
43
	cmp	eax,'off '
43
	cmp	eax,'off '
44
	jz	@f
44
	jz	@f
45
	inc	ecx
45
	inc	ecx
46
	cmp	eax,'on  '
46
	cmp	eax,'on  '
47
	jz	@f
47
	jz	@f
48
	cmp	eax,'sbp '
48
	cmp	eax,'sbp '
49
	jnz	.skipFont
49
	jnz	.skipFont
50
	inc	ecx
50
	inc	ecx
51
@@:
51
@@:
52
	mcall	48,10
52
	mcall	48,10
53
.skipFont:
53
.skipFont:
54
 
54
 
55
; Enable/disable system speaker
55
; Enable/disable system speaker
56
	mov	dword[param],0
56
	mov	dword[param],0
57
	invoke	ini.get_str, sz_ini, sz_system, sz_speaker, param, 4, 0
57
	invoke	ini.get_str, sz_ini, sz_system, sz_speaker, param, 4, 0
58
	mov	eax,[param]
58
	mov	eax,[param]
59
	or	eax,0x20202020
59
	or	eax,0x20202020
60
	cmp	eax,'off '
60
	cmp	eax,'off '
61
	jz	@f
61
	jz	@f
62
	cmp	eax,'on  '
62
	cmp	eax,'on  '
63
	jnz	.skipSpeaker
63
	jnz	.skipSpeaker
64
	inc	[speaker_mute]
64
	inc	[speaker_mute]
65
@@:
65
@@:
66
	call	_speaker_mute
66
	call	_speaker_mute
67
.skipSpeaker:
67
.skipSpeaker:
68
 
68
 
69
; Set font size
69
; Set font size
70
	invoke	ini.get_int, sz_ini, sz_system, sz_fontSize, 9
70
	invoke	ini.get_int, sz_ini, sz_system, sz_fontSize, 9
71
	mov	ecx,eax
71
	mov	ecx,eax
72
	mcall	48,12
72
	mcall	48,12
73
 
73
 
74
; Set mouse speed
74
; Set mouse speed
75
	invoke	ini.get_int, sz_ini, sz_mouse, sz_speed, 1
75
	invoke	ini.get_int, sz_ini, sz_mouse, sz_speed, 1
76
	mov	edx,eax
76
	mov	edx,eax
77
	mcall	18,19,1
77
	mcall	18,19,1
78
 
78
 
79
; Set mouse delay
79
; Set mouse delay
80
	invoke	ini.get_int, sz_ini, sz_mouse, sz_delay, 1
80
	invoke	ini.get_int, sz_ini, sz_mouse, sz_delay, 1
81
	mov	edx,eax
81
	mov	edx,eax
82
	mcall	18,19,3
82
	mcall	18,19,3
83
 
83
 
84
; Enable/disable LBA access for applications
84
; Enable/disable LBA access for applications
85
	mov	dword[param],0
85
	mov	dword[param],0
86
	invoke	ini.get_str, sz_ini, sz_low_level, sz_lba, param, 4, 0
86
	invoke	ini.get_str, sz_ini, sz_low_level, sz_lba, param, 4, 0
87
	xor	ecx,ecx
87
	xor	ecx,ecx
88
	mov	eax,[param]
88
	mov	eax,[param]
89
	or	eax,0x20202020
89
	or	eax,0x20202020
90
	cmp	eax,'off '
90
	cmp	eax,'off '
91
	jz	@f
91
	jz	@f
92
	cmp	eax,'on  '
92
	cmp	eax,'on  '
93
	jnz	.skipLBA
93
	jnz	.skipLBA
94
	inc	ecx
94
	inc	ecx
95
@@:
95
@@:
96
	mcall	21,11
96
	mcall	21,11
97
.skipLBA:
97
.skipLBA:
98
 
98
 
99
; Enable/disable PCI access for applications
99
; Enable/disable PCI access for applications
100
	mov	dword[param],0
100
	mov	dword[param],0
101
	invoke	ini.get_str, sz_ini, sz_low_level, sz_pci, param, 4, 0
101
	invoke	ini.get_str, sz_ini, sz_low_level, sz_pci, param, 4, 0
102
	xor	ecx,ecx
102
	xor	ecx,ecx
103
	mov	eax,[param]
103
	mov	eax,[param]
104
	or	eax,0x20202020
104
	or	eax,0x20202020
105
	cmp	eax,'off '
105
	cmp	eax,'off '
106
	jz	@f
106
	jz	@f
107
	cmp	eax,'on  '
107
	cmp	eax,'on  '
108
	jnz	close
108
	jnz	close
109
	inc	ecx
109
	inc	ecx
110
@@:
110
@@:
111
	mcall	21,12
111
	mcall	21,12
112
	jmp	close
112
	jmp	close
113
;---------------------------------------------------------------
113
;---------------------------------------------------------------
114
START:
114
START:
115
	mcall	68,11
115
	mcall	68,11
116
	stdcall dll.Load, @IMPORT
116
	stdcall dll.Load, @IMPORT
117
	push	eax
117
	push	eax
118
	test	eax,eax
118
	test	eax,eax
119
	jnz	close
119
	jnz	close
120
 
120
 
121
	cmp	[param],dword 'BOOT'
121
	cmp	[param],dword 'BOOT'
122
	jz	BootSettings
122
	jz	BootSettings
123
	pop	eax
123
	pop	eax
124
 
124
 
125
; get current settings
125
; get current settings
126
	mcall	26,5
126
	mcall	26,5
127
	dec	eax
127
	dec	eax
128
	mov	[syslang],eax
128
	mov	[syslang],eax
129
 
129
 
130
	mcall	26,11
130
	mcall	26,11
131
	mov	[lba_read],eax
131
	mov	[lba_read],eax
132
 
132
 
133
	mcall	26,12
133
	mcall	26,12
134
	mov	[pci_acc],eax
134
	mov	[pci_acc],eax
135
 
135
 
136
	mcall	18,8,1
136
	mcall	18,8,1
137
	mov	[speaker_mute],eax
137
	mov	[speaker_mute],eax
138
 
138
 
139
	mcall	48,9
139
	mcall	48,9
140
	mov	[fontSmoothing],eax
140
	mov	[fontSmoothing],eax
141
 
141
 
142
	mcall	48,11
142
	mcall	48,11
143
	mov	[fontSize],eax
143
	mov	[fontSize],eax
144
 
144
 
145
	call	loadtxt
145
	call	loadtxt
146
 
146
 
147
draw_infotext:
147
draw_infotext:
148
	mov	eax,[syslang]
148
	mov	eax,[syslang]
149
	mov	edi,[text]
149
	mov	edi,[text]
150
	lea	esi,[eax*8+langs]
150
	lea	esi,[eax*8+langs]
151
	add	edi,28
151
	add	edi,28
152
	movsd
152
	movsd
153
	movsd
153
	movsd
154
	add	edi,LLL-8
154
	add	edi,LLL-8
155
 
155
 
156
	mov	eax,[lba_read]
156
	mov	eax,[lba_read]
157
	call	onoff
157
	call	onoff
158
	mov	[edi],ebx
158
	mov	[edi],ebx
159
 
159
 
160
	mov	eax,[pci_acc]
160
	mov	eax,[pci_acc]
161
	call	onoff
161
	call	onoff
162
	mov	[edi+LLL],ebx
162
	mov	[edi+LLL],ebx
163
 
163
 
164
	mov	eax,[speaker_mute]
164
	mov	eax,[speaker_mute]
165
	call	onoff
165
	call	onoff
166
	mov	[edi+LLL*2],ebx
166
	mov	[edi+LLL*2],ebx
167
 
167
 
168
	mov	ebx,'SUBP'
168
	mov	ebx,'SUBP'
169
	mov	ecx,'IXEL'
169
	mov	ecx,'IXEL'
170
	cmp	[fontSmoothing],2
170
	cmp	[fontSmoothing],2
171
	jz	@f
171
	jz	@f
172
	mov	eax,[fontSmoothing]
172
	mov	eax,[fontSmoothing]
173
	call	onoff
173
	call	onoff
174
	mov	ecx,'    '
174
	mov	ecx,'    '
175
@@:
175
@@:
176
	mov	[edi+LLL*3],ebx
176
	mov	[edi+LLL*3],ebx
177
	mov	[edi+LLL*3+4],ecx
177
	mov	[edi+LLL*3+4],ecx
178
 
178
 
179
	mov	eax,[fontSize]
179
	mov	eax,[fontSize]
180
	mov	bl, 10
180
	mov	bl, 10
181
	div	bl
181
	div	bl
182
	add	ax, '00'
182
	add	ax, '00'
183
	mov	[edi+LLL*4],ax
183
	mov	[edi+LLL*4],ax
184
 
184
 
185
draw_window:
185
draw_window:
186
	mcall	12,1
186
	mcall	12,1
-
 
187
	mcall	18,14
187
	mov	ecx,50*65536+32*(4+stringsAmount)
188
	mov	ecx,50*65536+32*(4+stringsAmount)
188
	mcall	0,<50,700>,,0xB4111199,0,title
189
	mcall	0,<50,700>,,0xB4111199,0,title
189
; Main buttons
190
; Main buttons
190
	mov	eax,8
191
	mov	eax,8
191
	mov	ecx,6*65536+26
192
	mov	ecx,6*65536+26
192
	mov	edx,4
193
	mov	edx,4
193
	mov	esi,0x5580c0
194
	mov	esi,0x5580c0
194
	mov	ebp,stringsAmount
195
	mov	ebp,stringsAmount
195
@@:
196
@@:
196
	mcall	,<490,24>
197
	mcall	,<490,24>
197
	inc	edx
198
	inc	edx
198
	mcall	,<526,24>
199
	mcall	,<526,24>
199
	inc	edx
200
	inc	edx
200
	mcall	,<562,120>
201
	mcall	,<562,120>
201
	inc	edx
202
	inc	edx
202
	add	ecx,32*65536
203
	add	ecx,32*65536
203
	dec	ebp
204
	dec	ebp
204
	jnz	@b
205
	jnz	@b
205
; APPLY ALL
206
; APPLY ALL
206
	add	ecx,32*65536
207
	add	ecx,32*65536
207
	mcall	,<514,168>,,3,0x005588dd
208
	mcall	,<514,168>,,3,0x005588dd
208
; SAVE ALL
209
; SAVE ALL
209
	add	ecx,32*65536
210
	add	ecx,32*65536
210
	dec	edx
211
	dec	edx
211
	mcall
212
	mcall
212
; text
213
; text
213
	mov	eax,4
214
	mov	eax,4
214
	mov	ebx,6*65536+11
215
	mov	ebx,6*65536+11
215
	mov	ecx,1ffffffh
216
	mov	ecx,1ffffffh
216
	mov	edx,[text]
217
	mov	edx,[text]
217
	mov	esi,LLL
218
	mov	esi,LLL
218
	mov	ebp,stringsAmount
219
	mov	ebp,stringsAmount
219
newline:
220
newline:
220
	mcall
221
	mcall
221
	add	ebx,32
222
	add	ebx,32
222
	add	edx,esi
223
	add	edx,esi
223
	dec	ebp
224
	dec	ebp
224
	jnz	newline
225
	jnz	newline
225
 
226
 
226
	mov	ebp,2
227
	mov	ebp,2
227
	add	ebx,32
228
	add	ebx,32
228
@@:
229
@@:
229
	mcall
230
	mcall
230
	add	ebx,32
231
	add	ebx,32
231
	add	edx,esi
232
	add	edx,esi
232
	dec	ebp
233
	dec	ebp
233
	jnz	@b
234
	jnz	@b
234
 
235
 
235
	mcall	12,2
236
	mcall	12,2
236
 
237
 
237
still:
238
still:
238
	mcall	10
239
	mcall	10
239
	cmp	eax,1
240
	cmp	eax,1
240
	jz	draw_window
241
	jz	draw_window
241
 
242
 
242
	cmp	eax,2
243
	cmp	eax,2
243
	jz	key
244
	jz	key
244
 
245
 
245
	cmp	eax,3
246
	cmp	eax,3
246
	jz	button
247
	jz	button
247
 
248
 
248
	jmp	still
249
	jmp	still
249
;---------------------------------------------------------------
250
;---------------------------------------------------------------
250
key:
251
key:
251
	mcall	2
252
	mcall	2
252
	jmp	still
253
	jmp	still
253
;---------------------------------------------------------------
254
;---------------------------------------------------------------
254
button:
255
button:
255
	mcall	17
256
	mcall	17
256
	shr	eax,8
257
	shr	eax,8
257
	call	dword[eax*4+buttonTab-4]
258
	call	dword[eax*4+buttonTab-4]
258
	jmp	draw_infotext
259
	jmp	draw_infotext
259
close:
260
close:
260
	pop	eax
261
	pop	eax
261
	mcall	-1
262
	mcall	-1
262
language1:
263
language1:
263
	dec	[syslang]
264
	dec	[syslang]
264
	jns	@f
265
	jns	@f
265
	mov	[syslang],7
266
	mov	[syslang],7
266
	jmp	@f
267
	jmp	@f
267
language2:
268
language2:
268
	inc	[syslang]
269
	inc	[syslang]
269
	cmp	[syslang],8
270
	cmp	[syslang],8
270
	jc	@f
271
	jc	@f
271
	mov	[syslang],0
272
	mov	[syslang],0
272
@@:
273
@@:
273
	jmp	loadtxt
274
	jmp	loadtxt
274
LBA1:
275
LBA1:
275
	btr	[lba_read],0
276
	btr	[lba_read],0
276
	ret
277
	ret
277
LBA2:
278
LBA2:
278
	bts	[lba_read],0
279
	bts	[lba_read],0
279
	ret
280
	ret
280
PCI1:
281
PCI1:
281
	btr	[pci_acc],0
282
	btr	[pci_acc],0
282
	ret
283
	ret
283
PCI2:
284
PCI2:
284
	bts	[pci_acc],0
285
	bts	[pci_acc],0
285
	ret
286
	ret
286
SPEAKER1:
287
SPEAKER1:
287
	btr	[speaker_mute],0
288
	btr	[speaker_mute],0
288
	ret
289
	ret
289
SPEAKER2:
290
SPEAKER2:
290
	bts	[speaker_mute],0
291
	bts	[speaker_mute],0
291
	ret
292
	ret
292
font1:
293
font1:
293
	cmp	[fontSmoothing],0
294
	cmp	[fontSmoothing],0
294
	jz	@f
295
	jz	@f
295
	dec	[fontSmoothing]
296
	dec	[fontSmoothing]
296
	ret
297
	ret
297
font2:
298
font2:
298
	cmp	[fontSmoothing],2
299
	cmp	[fontSmoothing],2
299
	jz	@f
300
	jz	@f
300
	inc	[fontSmoothing]
301
	inc	[fontSmoothing]
301
	ret
302
	ret
302
fontSize1:
303
fontSize1:
303
	cmp	[fontSize],10
304
	cmp	[fontSize],10
304
	jc	@f
305
	jc	@f
305
	dec	[fontSize]
306
	dec	[fontSize]
306
@@:
307
@@:
307
	ret
308
	ret
308
fontSize2:
309
fontSize2:
309
	inc	[fontSize]
310
	inc	[fontSize]
310
	ret
311
	ret
311
apply_all:
312
apply_all:
312
	call	_lba_read
313
	call	_lba_read
313
	call	_pci_acc
314
	call	_pci_acc
314
	call	_speaker_mute
315
	call	_speaker_mute
315
	call	fontApply
316
	call	fontApply
316
	call	fontSizeApply
317
	call	fontSizeApply
317
_syslang:
318
_syslang:
318
	mov	ecx,[syslang]
319
	mov	ecx,[syslang]
319
	inc	ecx
320
	inc	ecx
320
	mcall	21,5
321
	mcall	21,5
321
	ret
322
	ret
322
_lba_read:
323
_lba_read:
323
	mcall	21,11,[lba_read]
324
	mcall	21,11,[lba_read]
324
	ret
325
	ret
325
_pci_acc:
326
_pci_acc:
326
	mcall	21,12,[pci_acc]
327
	mcall	21,12,[pci_acc]
327
	ret
328
	ret
328
fontApply:
329
fontApply:
329
	mcall	48,10,[fontSmoothing]
330
	mcall	48,10,[fontSmoothing]
330
	ret
331
	ret
331
fontSizeApply:
332
fontSizeApply:
332
	mcall	48,12,[fontSize]
333
	mcall	48,12,[fontSize]
333
	ret
334
	ret
334
_speaker_mute:
335
_speaker_mute:
335
	mcall	18,8,1
336
	mcall	18,8,1
336
	cmp	[speaker_mute],eax
337
	cmp	[speaker_mute],eax
337
	jz	@f
338
	jz	@f
338
	inc	ecx
339
	inc	ecx
339
	mcall	18
340
	mcall	18
340
@@:
341
@@:
341
	ret
342
	ret
342
;---------------------------------------------------------------
343
;---------------------------------------------------------------
343
loadtxt:
344
loadtxt:
344
	cmp	[syslang],3
345
	cmp	[syslang],3
345
	jz	.ru
346
	jz	.ru
346
	cmp	[syslang],5
347
	cmp	[syslang],5
347
	jz	.et
348
	jz	.et
348
	mov	[text],texteng
349
	mov	[text],texteng
349
	ret
350
	ret
350
.ru:
351
.ru:
351
	mov	[text],textrus
352
	mov	[text],textrus
352
	ret
353
	ret
353
.et:
354
.et:
354
	mov	[text],textet
355
	mov	[text],textet
355
	ret
356
	ret
356
;---------------------------------------------------------------
357
;---------------------------------------------------------------
357
onoff:
358
onoff:
358
	cmp	[syslang],3
359
	cmp	[syslang],3
359
	jz	.ru
360
	jz	.ru
360
	cmp	[syslang],5
361
	cmp	[syslang],5
361
	jz	.et
362
	jz	.et
362
	mov	ebx,'OFF '
363
	mov	ebx,'OFF '
363
	test	eax,eax
364
	test	eax,eax
364
	jz	@f
365
	jz	@f
365
	mov	ebx,'ON  '
366
	mov	ebx,'ON  '
366
	ret
367
	ret
367
.ru:
368
.ru:
368
	mov	ebx,'…’ '
369
	mov	ebx,'…’ '
369
	test	eax,eax
370
	test	eax,eax
370
	jz	@f
371
	jz	@f
371
	mov	ebx,'„€  '
372
	mov	ebx,'„€  '
372
	ret
373
	ret
373
.et:
374
.et:
374
	mov	ebx,'VÄL.'
375
	mov	ebx,'VÄL.'
375
	test	eax,eax
376
	test	eax,eax
376
	jz	@f
377
	jz	@f
377
	mov	ebx,'SEES'
378
	mov	ebx,'SEES'
378
@@:
379
@@:
379
	ret
380
	ret
380
;---------------------------------------------------------------
381
;---------------------------------------------------------------
381
saveAll:
382
saveAll:
382
; system language
383
; system language
383
	mov	eax,[syslang]
384
	mov	eax,[syslang]
384
	mov	ax, [eax*2+langMarks]
385
	mov	ax, [eax*2+langMarks]
385
	mov	[param],eax
386
	mov	[param],eax
386
	invoke	ini.set_str, sz_ini, sz_system, sz_language, param, 2
387
	invoke	ini.set_str, sz_ini, sz_system, sz_language, param, 2
387
 
388
 
388
; font size
389
; font size
389
	invoke	ini.set_int, sz_ini, sz_system, sz_fontSize, [fontSize]
390
	invoke	ini.set_int, sz_ini, sz_system, sz_fontSize, [fontSize]
390
 
391
 
391
; font smoothing
392
; font smoothing
392
	mov	dword[param],'off'
393
	mov	dword[param],'off'
393
	cmp	[fontSmoothing],0
394
	cmp	[fontSmoothing],0
394
	jz	@f
395
	jz	@f
395
	mov	dword[param],'on '
396
	mov	dword[param],'on '
396
	cmp	[fontSmoothing],1
397
	cmp	[fontSmoothing],1
397
	jz	@f
398
	jz	@f
398
	mov	dword[param],'sbp'
399
	mov	dword[param],'sbp'
399
@@:
400
@@:
400
	invoke	ini.set_str, sz_ini, sz_system, sz_fontSmooth, param, 3
401
	invoke	ini.set_str, sz_ini, sz_system, sz_fontSmooth, param, 3
401
 
402
 
402
; system speaker
403
; system speaker
403
	mov	dword[param],'off'
404
	mov	dword[param],'off'
404
	cmp	[speaker_mute],0
405
	cmp	[speaker_mute],0
405
	jz	@f
406
	jz	@f
406
	mov	dword[param],'on '
407
	mov	dword[param],'on '
407
@@:
408
@@:
408
	invoke	ini.set_str, sz_ini, sz_system, sz_speaker, param, 3
409
	invoke	ini.set_str, sz_ini, sz_system, sz_speaker, param, 3
409
 
410
 
410
; LBA access for applications
411
; LBA access for applications
411
	mov	dword[param],'off'
412
	mov	dword[param],'off'
412
	cmp	[lba_read],0
413
	cmp	[lba_read],0
413
	jz	@f
414
	jz	@f
414
	mov	dword[param],'on '
415
	mov	dword[param],'on '
415
@@:
416
@@:
416
	invoke	ini.set_str, sz_ini, sz_low_level, sz_lba, param, 3
417
	invoke	ini.set_str, sz_ini, sz_low_level, sz_lba, param, 3
417
 
418
 
418
; PCI access for applications
419
; PCI access for applications
419
	mov	dword[param],'off'
420
	mov	dword[param],'off'
420
	cmp	[pci_acc],0
421
	cmp	[pci_acc],0
421
	jz	@f
422
	jz	@f
422
	mov	dword[param],'on '
423
	mov	dword[param],'on '
423
@@:
424
@@:
424
	invoke	ini.set_str, sz_ini, sz_low_level, sz_pci, param, 3
425
	invoke	ini.set_str, sz_ini, sz_low_level, sz_pci, param, 3
425
	ret
426
	ret
426
;---------------------------------------------------------------
427
;---------------------------------------------------------------
427
align 4
428
align 4
428
buttonTab:	; button handler pointers: -,+,apply
429
buttonTab:	; button handler pointers: -,+,apply
429
	dd close
430
	dd close
430
	dd saveAll
431
	dd saveAll
431
	dd apply_all
432
	dd apply_all
432
	dd language1
433
	dd language1
433
	dd language2
434
	dd language2
434
	dd _syslang
435
	dd _syslang
435
	dd LBA1
436
	dd LBA1
436
	dd LBA2
437
	dd LBA2
437
	dd _lba_read
438
	dd _lba_read
438
	dd PCI1
439
	dd PCI1
439
	dd PCI2
440
	dd PCI2
440
	dd _pci_acc
441
	dd _pci_acc
441
	dd SPEAKER1
442
	dd SPEAKER1
442
	dd SPEAKER2
443
	dd SPEAKER2
443
	dd _speaker_mute
444
	dd _speaker_mute
444
	dd font1
445
	dd font1
445
	dd font2
446
	dd font2
446
	dd fontApply
447
	dd fontApply
447
	dd fontSize1
448
	dd fontSize1
448
	dd fontSize2
449
	dd fontSize2
449
	dd fontSizeApply
450
	dd fontSizeApply
450
 
451
 
451
syslang 	dd 0
452
syslang 	dd 0
452
lba_read	dd 0
453
lba_read	dd 0
453
pci_acc 	dd 0
454
pci_acc 	dd 0
454
speaker_mute	dd 0
455
speaker_mute	dd 0
455
fontSmoothing	dd 0
456
fontSmoothing	dd 0
456
fontSize	dd 0
457
fontSize	dd 0
457
 
458
 
458
@IMPORT:
459
@IMPORT:
459
library libini, 'libini.obj'
460
library libini, 'libini.obj'
460
import	libini, \
461
import	libini, \
461
	ini.get_str, 'ini_get_str',\
462
	ini.get_str, 'ini_get_str',\
462
	ini.get_int, 'ini_get_int',\
463
	ini.get_int, 'ini_get_int',\
463
	ini.set_str, 'ini_set_str',\
464
	ini.set_str, 'ini_set_str',\
464
	ini.set_int, 'ini_set_int'
465
	ini.set_int, 'ini_set_int'
465
 
466
 
466
title	db "System settings",0
467
title	db "System settings",0
467
sz_ini	db "/sys/settings/system.ini",0
468
sz_ini	db "/sys/settings/system.ini",0
468
 
469
 
469
sz_system	db "system",0
470
sz_system	db "system",0
470
sz_language	db "language",0
471
sz_language	db "language",0
471
sz_fontSize	db "font height",0
472
sz_fontSize	db "font height",0
472
sz_fontSmooth	db "font smoothing",0
473
sz_fontSmooth	db "font smoothing",0
473
sz_speaker	db "speaker mute",0
474
sz_speaker	db "speaker mute",0
474
 
475
 
475
sz_mouse	db "mouse",0
476
sz_mouse	db "mouse",0
476
sz_speed	db "speed",0
477
sz_speed	db "speed",0
477
sz_delay	db "delay",0
478
sz_delay	db "delay",0
478
 
479
 
479
sz_low_level	db "low-level",0
480
sz_low_level	db "low-level",0
480
sz_lba		db "LBA",0
481
sz_lba		db "LBA",0
481
sz_pci		db "PCI",0
482
sz_pci		db "PCI",0
482
 
483
 
483
LLL = 56
484
LLL = 56
484
stringsAmount = 6
485
stringsAmount = 6
485
 
486
 
486
align 4
487
align 4
487
text	dd 0
488
text	dd 0
488
langs:
489
langs:
489
db 'ENGLISH FINNISH GERMAN  RUSSIAN FRENCH  ESTONIANSPANISH ITALIAN '
490
db 'ENGLISH FINNISH GERMAN  RUSSIAN FRENCH  ESTONIANSPANISH ITALIAN '
490
langMarks:
491
langMarks:
491
db	'enfiderufretspit'
492
db	'enfiderufretspit'
492
 
493
 
493
textrus:
494
textrus:
494
db 'Ÿ§ëª á¨áâ¥¬ë              :              <  >  à¨¬¥­¨âì'
495
db 'Ÿ§ëª á¨áâ¥¬ë              :              <  >  à¨¬¥­¨âì'
495
db '‚ª«îç¨âì LBA              :              -  +  à¨¬¥­¨âì'
496
db '‚ª«îç¨âì LBA              :              -  +  à¨¬¥­¨âì'
496
db '„®áâ㯠ª 設¥ PCI         :              -  +  à¨¬¥­¨âì'
497
db '„®áâ㯠ª 設¥ PCI         :              -  +  à¨¬¥­¨âì'
497
db '‚몫îç¨âì SPEAKER         :              -  +  à¨¬¥­¨âì'
498
db '‚몫îç¨âì SPEAKER         :              -  +  à¨¬¥­¨âì'
498
db '‘£« ¦¨¢ ­¨¥ èà¨ä⮢       :              -  +  à¨¬¥­¨âì'
499
db '‘£« ¦¨¢ ­¨¥ èà¨ä⮢       :              -  +  à¨¬¥­¨âì'
499
db '‚ëá®â  èà¨ä⮢            :              -  +  à¨¬¥­¨âì'
500
db '‚ëá®â  èà¨ä⮢            :              -  +  à¨¬¥­¨âì'
500
 
501
 
501
db '‚ˆŒ€ˆ…:                                  à¨¬¥­¨âì ¢á¥'
502
db '‚ˆŒ€ˆ…:                                  à¨¬¥­¨âì ¢á¥'
502
db '… ‡€“„œ’… ‘Ž•€ˆ’œ €‘’Ž‰Šˆ            ‘®åà ­¨âì ¢á¥'
503
db '… ‡€“„œ’… ‘Ž•€ˆ’œ €‘’Ž‰Šˆ            ‘®åà ­¨âì ¢á¥'
503
 
504
 
504
texteng:
505
texteng:
505
db 'System language           :              <  >    Apply  '
506
db 'System language           :              <  >    Apply  '
506
db 'Allow LBA access          :              -  +    Apply  '
507
db 'Allow LBA access          :              -  +    Apply  '
507
db 'Allow PCI access          :              -  +    Apply  '
508
db 'Allow PCI access          :              -  +    Apply  '
508
db 'Disable SPEAKER           :              -  +    Apply  '
509
db 'Disable SPEAKER           :              -  +    Apply  '
509
db 'Font smoothing            :              -  +    Apply  '
510
db 'Font smoothing            :              -  +    Apply  '
510
db 'Font height               :              -  +    Apply  '
511
db 'Font height               :              -  +    Apply  '
511
 
512
 
512
db 'NOTE:                                        Apply all  '
513
db 'NOTE:                                        Apply all  '
513
db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI    Save all   '
514
db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI    Save all   '
514
 
515
 
515
textet:
516
textet:
516
db 'Süsteemi keel             :              <  >   Kinnita '
517
db 'Süsteemi keel             :              <  >   Kinnita '
517
db 'LBA lugemine lubatud      :              -  +   Kinnita '
518
db 'LBA lugemine lubatud      :              -  +   Kinnita '
518
db 'PCI juurdepääs programm.  :              -  +   Kinnita '
519
db 'PCI juurdepääs programm.  :              -  +   Kinnita '
519
db 'Disable SPEAKER           :              -  +   Kinnita '
520
db 'Disable SPEAKER           :              -  +   Kinnita '
520
db 'Font smoothing            :              -  +   Kinnita '
521
db 'Font smoothing            :              -  +   Kinnita '
521
db 'Font height               :              -  +   Kinnita '
522
db 'Font height               :              -  +   Kinnita '
522
 
523
 
523
db 'MÄRKUS:                                    Kinnita kõik '
524
db 'MÄRKUS:                                    Kinnita kõik '
524
db 'SALVESTA SEADED ENNE KOLIBRIST VÄLJUMIST   Salvesta kõik'
525
db 'SALVESTA SEADED ENNE KOLIBRIST VÄLJUMIST   Salvesta kõik'
525
 
526
 
526
IM_END:
527
IM_END:
527
param:
528
param:
528
	rb 1024
529
	rb 1024
529
stack_area:
530
stack_area:
530
I_END:
531
I_END: