Rev 5632 | Rev 5854 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5849 | pathoswith | 1 | ;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; SYSTEM SETTINGS ;; |
||
3 | ;;;;;;;;;;;;;;;;;;;;;;; |
||
4 | |||
3221 | hidnplayr | 5 | format binary as "" |
5849 | pathoswith | 6 | use32 |
7 | org 0 |
||
31 | halyavin | 8 | |
5849 | pathoswith | 9 | db 'MENUET01' |
10 | dd 1 |
||
11 | dd START |
||
12 | dd IM_END |
||
13 | dd I_END |
||
14 | dd stack_area |
||
15 | dd boot_param |
||
16 | dd 0 |
||
3221 | hidnplayr | 17 | |
4825 | gtament | 18 | include '../../../macros.inc' |
5849 | pathoswith | 19 | ;--------------------------------------------------------------- |
2299 | hidnplayr | 20 | set_language_and_exit: |
4825 | gtament | 21 | mcall 26,2,9 |
22 | cmp eax,1 |
||
23 | je russian |
||
24 | xor eax,eax |
||
5849 | pathoswith | 25 | @@: |
4825 | gtament | 26 | mov [keyboard],eax |
27 | call _keyboard |
||
28 | jmp close |
||
2299 | hidnplayr | 29 | russian: |
4825 | gtament | 30 | mov eax,3 |
5849 | pathoswith | 31 | jmp @b |
32 | ;--------------------------------------------------------------- |
||
2299 | hidnplayr | 33 | set_syslanguage_and_exit: |
4825 | gtament | 34 | mcall 26,5 |
35 | cmp eax,6 |
||
5849 | pathoswith | 36 | jne @f |
4825 | gtament | 37 | xor eax,eax |
5849 | pathoswith | 38 | @@: |
4825 | gtament | 39 | inc eax |
40 | mov [syslang],eax |
||
41 | call _syslang |
||
42 | jmp close |
||
5849 | pathoswith | 43 | ;--------------------------------------------------------------- |
44 | apply_all_and_exit: |
||
45 | mov byte[fileinfo],0 |
||
46 | mcall 70,fileinfo |
||
47 | call apply_all |
||
48 | jmp close |
||
49 | ;--------------------------------------------------------------- |
||
50 | apply_all: |
||
51 | call fontApply |
||
52 | call _syslang |
||
53 | call _lba_read |
||
54 | call _pci_acc |
||
55 | call _speaker_mute |
||
56 | call _keyboard |
||
57 | ret |
||
58 | ;--------------------------------------------------------------- |
||
59 | _syslang: |
||
60 | mcall 21,5,[syslang] |
||
61 | jmp loadtxt |
||
62 | ;--------------------------------------------------------------- |
||
63 | _lba_read: |
||
64 | mcall 21,11,[lba_read] |
||
65 | ret |
||
66 | ;--------------------------------------------------------------- |
||
67 | _pci_acc: |
||
68 | mcall 21,12,[pci_acc] |
||
69 | ret |
||
70 | ;--------------------------------------------------------------- |
||
71 | fontApply: |
||
72 | mcall 48,10,[fontSmoothing] |
||
73 | ret |
||
74 | ;--------------------------------------------------------------- |
||
75 | _speaker_mute: |
||
4825 | gtament | 76 | mcall 18,8,1 |
5849 | pathoswith | 77 | cmp [speaker_mute],eax |
78 | je @f |
||
79 | inc ecx |
||
80 | mcall 18 |
||
81 | @@: |
||
4825 | gtament | 82 | ret |
5849 | pathoswith | 83 | ;--------------------------------------------------------------- |
84 | _keyboard: |
||
85 | mov ebp,[keyboard] |
||
86 | mov edx,[ebp*4+keymapTab] |
||
87 | mcall 21,2,1 |
||
88 | inc ecx |
||
89 | mov edx,[ebp*4+shiftKeymapTab] |
||
90 | mcall 21 |
||
91 | inc ecx |
||
92 | mov edx,[ebp*4+altKeymapTab] |
||
93 | mcall 21 |
||
94 | mov edx,ebp |
||
95 | inc edx |
||
96 | mov cl, 9 |
||
97 | mcall 21 |
||
98 | ret |
||
99 | ;--------------------------------------------------------------- |
||
31 | halyavin | 100 | START: |
4825 | gtament | 101 | mov eax,boot_param |
102 | cmp [eax],dword 'SLAN' |
||
103 | je set_syslanguage_and_exit |
||
31 | halyavin | 104 | |
4825 | gtament | 105 | cmp [eax],dword 'LANG' |
106 | je set_language_and_exit |
||
31 | halyavin | 107 | |
4825 | gtament | 108 | cmp [eax],dword 'BOOT' |
109 | je apply_all_and_exit |
||
5849 | pathoswith | 110 | ; get current settings |
111 | mcall 26,2,9 |
||
4825 | gtament | 112 | dec eax |
113 | mov [keyboard],eax |
||
5849 | pathoswith | 114 | |
115 | mcall 26,5 |
||
4825 | gtament | 116 | mov [syslang],eax |
127 | mario79 | 117 | |
5849 | pathoswith | 118 | mcall 26,11 |
119 | mov [lba_read],eax |
||
4825 | gtament | 120 | |
5849 | pathoswith | 121 | mcall 26,12 |
122 | mov [pci_acc],eax |
||
4825 | gtament | 123 | |
5849 | pathoswith | 124 | mcall 18,8,1 |
125 | mov [speaker_mute],eax |
||
31 | halyavin | 126 | |
5849 | pathoswith | 127 | mcall 48,9 |
128 | mov [fontSmoothing],eax |
||
31 | halyavin | 129 | |
5849 | pathoswith | 130 | call loadtxt |
4825 | gtament | 131 | |
5849 | pathoswith | 132 | draw_infotext: |
133 | mov eax,[syslang] |
||
134 | mov edi,[text] |
||
135 | lea esi,[eax*8+langs-8] |
||
136 | add edi,28 |
||
137 | movsd |
||
138 | movsd |
||
31 | halyavin | 139 | |
5849 | pathoswith | 140 | mov eax,[keyboard] |
141 | add edi,LLL-8 |
||
142 | lea esi,[eax*8+langs] |
||
143 | movsd |
||
144 | movsd |
||
145 | add edi,LLL-8 |
||
31 | halyavin | 146 | |
5849 | pathoswith | 147 | mov eax,[lba_read] |
148 | call onoff |
||
149 | mov [edi],ebx |
||
4825 | gtament | 150 | |
5849 | pathoswith | 151 | mov eax,[pci_acc] |
152 | call onoff |
||
153 | mov [edi+LLL],ebx |
||
31 | halyavin | 154 | |
5849 | pathoswith | 155 | mov eax,[speaker_mute] |
156 | call onoff |
||
157 | mov [edi+LLL*2],ebx |
||
4825 | gtament | 158 | |
5849 | pathoswith | 159 | mov ebx,'SUBP' |
160 | mov ecx,'IXEL' |
||
161 | cmp [fontSmoothing],2 |
||
162 | jz @f |
||
163 | mov eax,[fontSmoothing] |
||
164 | call onoff |
||
165 | mov ecx,' ' |
||
166 | @@: |
||
167 | mov [edi+LLL*3],ebx |
||
168 | mov [edi+LLL*3+4],ecx |
||
4825 | gtament | 169 | |
5849 | pathoswith | 170 | draw_window: |
171 | mcall 12,1 |
||
172 | mov ecx,50*65536+32*(4+stringsAmount) |
||
173 | mcall 0,<50,700>,,0xB4111199,0,title |
||
174 | ; Main buttons |
||
175 | mov eax,8 |
||
176 | mov ecx,6*65536+26 |
||
177 | mov edx,4 |
||
178 | mov esi,0x5580c0 |
||
179 | mov ebp,stringsAmount |
||
180 | @@: |
||
181 | mcall ,<490,24> |
||
4825 | gtament | 182 | inc edx |
5849 | pathoswith | 183 | mcall ,<526,24> |
4825 | gtament | 184 | inc edx |
5849 | pathoswith | 185 | mcall ,<562,120> |
186 | inc edx |
||
187 | add ecx,32*65536 |
||
188 | dec ebp |
||
189 | jnz @b |
||
190 | ; APPLY ALL |
||
191 | add ecx,32*65536 |
||
192 | mcall ,<514,168>,,3,0x005588dd |
||
193 | ; SAVE ALL |
||
194 | add ecx,32*65536 |
||
4825 | gtament | 195 | dec edx |
196 | mcall |
||
5849 | pathoswith | 197 | ; text |
4825 | gtament | 198 | mov eax,4 |
5849 | pathoswith | 199 | mov ebx,6*65536+11 |
200 | mov ecx,1ffffffh |
||
201 | mov edx,[text] |
||
4825 | gtament | 202 | mov esi,LLL |
5849 | pathoswith | 203 | mov ebp,stringsAmount |
2478 | mario79 | 204 | newline: |
4825 | gtament | 205 | mcall |
5849 | pathoswith | 206 | add ebx,32 |
4825 | gtament | 207 | add edx,esi |
208 | dec ebp |
||
209 | jnz newline |
||
31 | halyavin | 210 | |
5849 | pathoswith | 211 | mov ebp,2 |
212 | add ebx,32 |
||
2478 | mario79 | 213 | @@: |
4825 | gtament | 214 | mcall |
5849 | pathoswith | 215 | add ebx,32 |
4825 | gtament | 216 | add edx,esi |
217 | dec ebp |
||
218 | jnz @b |
||
5849 | pathoswith | 219 | |
220 | mcall 12,2 |
||
221 | |||
222 | still: |
||
223 | mcall 10 |
||
224 | cmp eax,1 |
||
225 | jz draw_window |
||
226 | |||
227 | cmp eax,2 |
||
228 | jz key |
||
229 | |||
230 | cmp eax,3 |
||
231 | jz button |
||
232 | |||
233 | jmp still |
||
234 | ;--------------------------------------------------------------- |
||
235 | key: |
||
236 | mcall 2 |
||
237 | jmp still |
||
238 | ;--------------------------------------------------------------- |
||
239 | button: |
||
240 | mcall 17 |
||
241 | shr eax,8 |
||
242 | call dword[eax*4+buttonTab-4] |
||
243 | jmp draw_infotext |
||
244 | close: |
||
245 | pop eax |
||
246 | mcall -1 |
||
247 | saveAll: |
||
248 | mov byte[fileinfo],2 |
||
249 | mcall 70,fileinfo |
||
4825 | gtament | 250 | ret |
5849 | pathoswith | 251 | language1: |
252 | dec [syslang] |
||
253 | jnz @f |
||
254 | mov [syslang],6 |
||
255 | ret |
||
256 | language2: |
||
257 | inc [syslang] |
||
258 | cmp [syslang],7 |
||
259 | jnz @f |
||
260 | mov [syslang],1 |
||
261 | ret |
||
262 | layout1: |
||
263 | dec [keyboard] |
||
264 | jns @f |
||
265 | mov [keyboard],7 |
||
266 | ret |
||
267 | layout2: |
||
268 | inc [keyboard] |
||
269 | cmp [keyboard],8 |
||
270 | jnz @f |
||
271 | mov [keyboard],0 |
||
272 | ret |
||
273 | LBA1: |
||
274 | btr [lba_read],0 |
||
275 | ret |
||
276 | LBA2: |
||
277 | bts [lba_read],0 |
||
278 | ret |
||
279 | PCI1: |
||
280 | btr [pci_acc],0 |
||
281 | ret |
||
282 | PCI2: |
||
283 | bts [pci_acc],0 |
||
284 | ret |
||
285 | SPEAKER1: |
||
286 | btr [speaker_mute],0 |
||
287 | ret |
||
288 | SPEAKER2: |
||
289 | bts [speaker_mute],0 |
||
290 | ret |
||
291 | font1: |
||
292 | cmp [fontSmoothing],0 |
||
293 | jz @f |
||
294 | dec [fontSmoothing] |
||
295 | ret |
||
296 | font2: |
||
297 | cmp [fontSmoothing],2 |
||
298 | jz @f |
||
299 | inc [fontSmoothing] |
||
300 | @@: |
||
301 | ret |
||
302 | ;--------------------------------------------------------------- |
||
303 | loadtxt: |
||
304 | cmp [syslang],4 |
||
305 | jne @f |
||
306 | mov [text],textrus |
||
307 | ret |
||
308 | @@: |
||
309 | cmp [syslang],6 |
||
310 | jne @f |
||
311 | mov [text],textet |
||
312 | ret |
||
313 | @@: |
||
314 | mov [text],texteng |
||
315 | ret |
||
316 | ;--------------------------------------------------------------- |
||
31 | halyavin | 317 | onoff: |
4825 | gtament | 318 | cmp [syslang],4 |
319 | jne norus1 |
||
320 | mov ebx,'ДА ' |
||
321 | cmp eax,1 |
||
322 | je exitsub |
||
323 | mov ebx,'НЕТ ' |
||
324 | ret |
||
3927 | kaitz | 325 | norus1: |
4825 | gtament | 326 | cmp [syslang],6 |
327 | jne noet1 |
||
328 | mov ebx,'SEES' |
||
329 | cmp eax,1 |
||
330 | je exitsub |
||
331 | mov ebx,'V─L.' |
||
332 | ret |
||
3927 | kaitz | 333 | noet1: |
4825 | gtament | 334 | mov ebx,'ON ' |
335 | cmp eax,1 |
||
336 | je exitsub |
||
337 | mov ebx,'OFF ' |
||
2478 | mario79 | 338 | exitsub: |
4825 | gtament | 339 | ret |
5849 | pathoswith | 340 | ;--------------------------------------------------------------- |
341 | align 4 |
||
342 | buttonTab: ; button handler pointers: -,+,apply |
||
343 | dd close |
||
344 | dd saveAll |
||
345 | dd apply_all |
||
346 | dd language1 |
||
347 | dd language2 |
||
348 | dd _syslang |
||
349 | dd layout1 |
||
350 | dd layout2 |
||
351 | dd _keyboard |
||
352 | dd LBA1 |
||
353 | dd LBA2 |
||
354 | dd _lba_read |
||
355 | dd PCI1 |
||
356 | dd PCI2 |
||
357 | dd _pci_acc |
||
358 | dd SPEAKER1 |
||
359 | dd SPEAKER2 |
||
360 | dd _speaker_mute |
||
361 | dd font1 |
||
362 | dd font2 |
||
363 | dd fontApply |
||
364 | keymapTab: |
||
365 | dd en_keymap |
||
366 | dd fi_keymap |
||
367 | dd ge_keymap |
||
368 | dd ru_keymap |
||
369 | dd fr_keymap |
||
370 | dd et_keymap |
||
371 | dd be_keymap |
||
372 | dd it_keymap |
||
373 | shiftKeymapTab: |
||
374 | dd en_keymap_shift |
||
375 | dd fi_keymap_shift |
||
376 | dd ge_keymap_shift |
||
377 | dd ru_keymap_shift |
||
378 | dd fr_keymap_shift |
||
379 | dd et_keymap_shift |
||
380 | dd be_keymap_shift |
||
381 | dd it_keymap_shift |
||
382 | altKeymapTab: |
||
383 | dd alt_general |
||
384 | dd alt_general |
||
385 | dd alt_general |
||
386 | dd alt_general |
||
387 | dd fr_keymap_alt_gr |
||
388 | dd alt_general |
||
389 | dd be_keymap_alt_gr |
||
390 | dd it_keymap_alt_gr |
||
31 | halyavin | 391 | |
5849 | pathoswith | 392 | setup.dat: ; file structure |
393 | syslang dd 0 |
||
394 | keyboard dd 0 |
||
395 | lba_read dd 0 |
||
396 | pci_acc dd 0 |
||
397 | speaker_mute dd 0 |
||
398 | fontSmoothing dd 0 |
||
399 | |||
400 | fileinfo: |
||
401 | dd 0 |
||
402 | dd 0 |
||
403 | dd 0 |
||
404 | dd 4*6 |
||
405 | dd setup.dat |
||
406 | db '/SYS/SETTINGS/SETUP.DAT',0 |
||
407 | |||
408 | title db 'System settings',0 |
||
409 | hex db '0123456789ABCDEF' |
||
410 | |||
411 | LLL = 56 |
||
412 | stringsAmount = 6 |
||
413 | |||
414 | align 4 |
||
415 | text dd 0 |
||
416 | langs: |
||
417 | db 'ENGLISH FINNISH GERMAN RUSSIAN FRENCH ESTONIANBELGIAN ITALIAN ' |
||
418 | |||
31 | halyavin | 419 | textrus: |
5849 | pathoswith | 420 | db 'Язык системы : < > Применить' |
421 | db 'Раскладка клавиатуры : < > Применить' |
||
422 | db 'Включить LBA : - + Применить' |
||
423 | db 'Доступ к шине PCI : - + Применить' |
||
424 | db 'Выключить SPEAKER : - + Применить' |
||
425 | db 'Сглаживание шрифтов : - + Применить' |
||
4825 | gtament | 426 | |
5849 | pathoswith | 427 | db 'ВНИМАНИЕ: Применить все' |
428 | db 'НЕ ЗАБУДЬТЕ СОХРАНИТЬ НАСТРОЙКИ Сохранить все' |
||
429 | |||
31 | halyavin | 430 | texteng: |
5849 | pathoswith | 431 | db 'System language : < > Apply ' |
432 | db 'Keyboard layout : < > Apply ' |
||
433 | db 'LBA read enabled : - + Apply ' |
||
434 | db 'PCI access for appl. : - + Apply ' |
||
435 | db 'SPEAKER disabled : - + Apply ' |
||
436 | db 'Font smoothing : - + Apply ' |
||
31 | halyavin | 437 | |
5849 | pathoswith | 438 | db 'NOTE: Apply all ' |
439 | db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI Save all ' |
||
440 | |||
3927 | kaitz | 441 | textet: |
5849 | pathoswith | 442 | db 'S№steemi keel : < > Kinnita ' |
443 | db 'Klaviatuuri paigutus : < > Kinnita ' |
||
444 | db 'LBA lugemine lubatud : - + Kinnita ' |
||
445 | db 'PCI juurdepффs programm. : - + Kinnita ' |
||
446 | db 'SPEAKER disabled : - + Kinnita ' |
||
447 | db 'Font smoothing : - + Kinnita ' |
||
31 | halyavin | 448 | |
5849 | pathoswith | 449 | db 'M─RKUS: Kinnita kїik ' |
450 | db 'SALVESTA SEADED ENNE KOLIBRIST V─LJUMIST Salvesta kїik' |
||
451 | |||
2299 | hidnplayr | 452 | include 'keymaps.inc' |
2478 | mario79 | 453 | IM_END: |
2639 | mario79 | 454 | boot_param: |
4825 | gtament | 455 | rb 1024 |
2478 | mario79 | 456 | stack_area: |
5849 | pathoswith | 457 | I_END:>>>>>>514,168>562,120>526,24>490,24>50,700> |