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:>>>514,168>562,120>526,24>490,24>50,700> |
531 | I_END:>>>514,168>562,120>526,24>490,24>50,700> |