Rev 3671 | Rev 4097 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3671 | Rev 3927 | ||
---|---|---|---|
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; DEVICE SETUP ;; |
3 | ;; DEVICE SETUP ;; |
4 | ;; ;; |
4 | ;; ;; |
5 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
5 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ; version: 1.15 |
6 | ; version: 1.15 |
7 | ; last update: 20/04/2012 |
7 | ; last update: 20/04/2012 |
8 | ; changed by: Marat Zakiyanov aka Mario79, aka Mario |
8 | ; changed by: Marat Zakiyanov aka Mario79, aka Mario |
9 | ; changes: Add the flag of speaker mute. |
9 | ; changes: Add the flag of speaker mute. |
10 | ; Correcting setup.dat |
10 | ; Correcting setup.dat |
11 | ;--------------------------------------------------------------------- |
11 | ;--------------------------------------------------------------------- |
12 | ; version: 1.14 |
12 | ; version: 1.14 |
13 | ; last update: 20/03/2012 |
13 | ; last update: 20/03/2012 |
14 | ; changed by: Marat Zakiyanov aka Mario79, aka Mario |
14 | ; changed by: Marat Zakiyanov aka Mario79, aka Mario |
15 | ; changes: optimisations and code refactoring |
15 | ; changes: optimisations and code refactoring |
16 | ;--------------------------------------------------------------------- |
16 | ;--------------------------------------------------------------------- |
17 | ; Authors: Ville - original version |
17 | ; Authors: Ville - original version |
18 | ; A. Ivushkin - autostart (w launcher) |
18 | ; A. Ivushkin - autostart (w launcher) |
19 | ; M. Lisovin - added many feauters (apply all, save all, set time...) |
19 | ; M. Lisovin - added many feauters (apply all, save all, set time...) |
20 | ; I. Poddubny - fixed russian keymap |
20 | ; I. Poddubny - fixed russian keymap |
21 | ;14/08/06 Mario79 - added regulation of mouse features |
21 | ;14/08/06 Mario79 - added regulation of mouse features |
22 | ;------------------------------------------------------------------------------- |
22 | ;------------------------------------------------------------------------------- |
23 | format binary as "" |
23 | format binary as "" |
24 | 24 | ||
25 | use32 |
25 | use32 |
26 | org 0x0 |
26 | org 0x0 |
27 | 27 | ||
28 | db 'MENUET01' ; 8 byte identifier |
28 | db 'MENUET01' ; 8 byte identifier |
29 | dd 0x01 ; header version |
29 | dd 0x01 ; header version |
30 | dd START ; pointer to program start |
30 | dd START ; pointer to program start |
31 | dd IM_END ; size of image |
31 | dd IM_END ; size of image |
32 | dd I_END ; reguired amount of memory |
32 | dd I_END ; reguired amount of memory |
33 | dd stack_area ; stack pointer (esp) |
33 | dd stack_area ; stack pointer (esp) |
34 | dd boot_param ; boot parameters |
34 | dd boot_param ; boot parameters |
35 | dd 0x0 ; path |
35 | dd 0x0 ; path |
36 | ;------------------------------------------------------------------------------- |
36 | ;------------------------------------------------------------------------------- |
37 | include '..\..\..\macros.inc' |
37 | include '..\..\..\macros.inc' |
38 | ;------------------------------------------------------------------------------- |
38 | ;------------------------------------------------------------------------------- |
39 | LLL equ (56+3) |
39 | LLL equ (56+3) |
40 | BBB equ 25 |
40 | BBB equ 25 |
41 | ;------------------------------------------------------------------------------- |
41 | ;------------------------------------------------------------------------------- |
42 | apply_all: |
42 | apply_all: |
43 | call _pci_acc ;12 |
43 | call _pci_acc ;12 |
44 | call _syslang ;5 |
44 | call _syslang ;5 |
45 | call _keyboard ;2 |
45 | call _keyboard ;2 |
46 | call _mouse_speed |
46 | call _mouse_speed |
47 | call _mouse_delay |
47 | call _mouse_delay |
48 | call _speaker_mute |
48 | call _speaker_mute |
49 | ret |
49 | ret |
50 | ;------------------------------------------------------------------------------- |
50 | ;------------------------------------------------------------------------------- |
51 | apply_all_and_exit: |
51 | apply_all_and_exit: |
52 | mcall 70,read_fileinfo |
52 | mcall 70,read_fileinfo |
53 | call apply_all |
53 | call apply_all |
54 | jmp close |
54 | jmp close |
55 | ;------------------------------------------------------------------------------- |
55 | ;------------------------------------------------------------------------------- |
56 | set_language_and_exit: |
56 | set_language_and_exit: |
57 | mcall 26,2,9 |
57 | mcall 26,2,9 |
58 | cmp eax,1 |
58 | cmp eax,1 |
59 | je russian |
59 | je russian |
60 | 60 | ||
61 | xor eax,eax |
61 | xor eax,eax |
62 | ;-------------------------------------- |
62 | ;-------------------------------------- |
63 | set_lang_now: |
63 | set_lang_now: |
64 | mov [keyboard],eax |
64 | mov [keyboard],eax |
65 | call _keyboard |
65 | call _keyboard |
66 | jmp close |
66 | jmp close |
67 | ;-------------------------------------- |
67 | ;-------------------------------------- |
68 | russian: |
68 | russian: |
69 | mov eax,3 |
69 | mov eax,3 |
70 | jmp set_lang_now |
70 | jmp set_lang_now |
71 | ;------------------------------------------------------------------------------- |
71 | ;------------------------------------------------------------------------------- |
72 | set_syslanguage_and_exit: |
72 | set_syslanguage_and_exit: |
73 | mcall 26,5 |
73 | mcall 26,5 |
74 | cmp eax,6 |
74 | cmp eax,6 |
75 | jne temp |
75 | jne temp |
76 | xor eax,eax |
76 | xor eax,eax |
77 | ;-------------------------------------- |
77 | ;-------------------------------------- |
78 | temp: |
78 | temp: |
79 | inc eax |
79 | inc eax |
80 | mov [syslang],eax |
80 | mov [syslang],eax |
81 | call _syslang |
81 | call _syslang |
82 | jmp close |
82 | jmp close |
83 | ;------------------------------------------------------------------------------- |
83 | ;------------------------------------------------------------------------------- |
84 | get_setup_values: |
84 | get_setup_values: |
85 | mcall 26,2,9 |
85 | mcall 26,2,9 |
86 | dec eax |
86 | dec eax |
87 | mov [keyboard],eax |
87 | mov [keyboard],eax |
88 | 88 | ||
89 | mcall 26,5 |
89 | mcall 26,5 |
90 | mov [syslang],eax |
90 | mov [syslang],eax |
91 | 91 | ||
92 | mcall 26,11 |
92 | mcall 26,11 |
93 | mov [lba_read],eax |
93 | mov [lba_read],eax |
94 | 94 | ||
95 | mcall 26,12 |
95 | mcall 26,12 |
96 | mov [pci_acc],eax |
96 | mov [pci_acc],eax |
97 | 97 | ||
98 | mcall 18,19,0 |
98 | mcall 18,19,0 |
99 | mov [mouse_speed],eax |
99 | mov [mouse_speed],eax |
100 | 100 | ||
101 | mcall 18,19,2 |
101 | mcall 18,19,2 |
102 | mov [mouse_delay],eax |
102 | mov [mouse_delay],eax |
103 | 103 | ||
104 | mcall 18,8,1 |
104 | mcall 18,8,1 |
105 | mov [speaker_mute],eax |
105 | mov [speaker_mute],eax |
106 | ret |
106 | ret |
107 | ;------------------------------------------------------------------------------- |
107 | ;------------------------------------------------------------------------------- |
108 | START: |
108 | START: |
109 | mov eax,boot_param |
109 | mov eax,boot_param |
110 | cmp [eax],dword 'SLAN' |
110 | cmp [eax],dword 'SLAN' |
111 | je set_syslanguage_and_exit |
111 | je set_syslanguage_and_exit |
112 | 112 | ||
113 | cmp [eax],dword 'LANG' |
113 | cmp [eax],dword 'LANG' |
114 | je set_language_and_exit |
114 | je set_language_and_exit |
115 | 115 | ||
116 | cmp [eax],dword 'BOOT' |
116 | cmp [eax],dword 'BOOT' |
117 | je apply_all_and_exit |
117 | je apply_all_and_exit |
118 | 118 | ||
119 | call get_setup_values |
119 | call get_setup_values |
120 | call loadtxt |
120 | call loadtxt |
121 | call draw_infotext |
121 | call draw_infotext |
122 | ;------------------------------------------------------------------------------- |
122 | ;------------------------------------------------------------------------------- |
123 | red: |
123 | red: |
124 | call draw_window |
124 | call draw_window |
125 | ;------------------------------------------------------------------------------- |
125 | ;------------------------------------------------------------------------------- |
126 | still: |
126 | still: |
127 | sysevent: |
127 | sysevent: |
128 | mcall 23,8 ; wait here for event with timeout |
128 | mcall 23,8 ; wait here for event with timeout |
129 | cmp eax,1 |
129 | cmp eax,1 |
130 | jz red |
130 | jz red |
131 | 131 | ||
132 | cmp eax,2 |
132 | cmp eax,2 |
133 | jz key |
133 | jz key |
134 | 134 | ||
135 | cmp eax,3 |
135 | cmp eax,3 |
136 | jz button |
136 | jz button |
137 | 137 | ||
138 | jmp still |
138 | jmp still |
139 | ;------------------------------------------------------------------------------- |
139 | ;------------------------------------------------------------------------------- |
140 | key: |
140 | key: |
141 | mcall 2 |
141 | mcall 2 |
142 | jmp still |
142 | jmp still |
143 | ;------------------------------------------------------------------------------- |
143 | ;------------------------------------------------------------------------------- |
144 | button: |
144 | button: |
145 | mcall 17 |
145 | mcall 17 |
146 | cmp ah,99 |
146 | cmp ah,99 |
147 | jne nosaveall |
147 | jne nosaveall |
148 | mcall 70,save_fileinfo |
148 | mcall 70,save_fileinfo |
149 | jmp still |
149 | jmp still |
150 | ;-------------------------------------- |
150 | ;-------------------------------------- |
151 | nosaveall: |
151 | nosaveall: |
152 | cmp ah,100 |
152 | cmp ah,100 |
153 | jne no_apply_all |
153 | jne no_apply_all |
154 | call apply_all |
154 | call apply_all |
155 | jmp still |
155 | jmp still |
156 | ;-------------------------------------- |
156 | ;-------------------------------------- |
157 | no_apply_all: |
157 | no_apply_all: |
158 | cmp ah,1 ; CLOSE APPLICATION |
158 | cmp ah,1 ; CLOSE APPLICATION |
159 | jne no_close |
159 | jne no_close |
160 | ;-------------------------------------- |
160 | ;-------------------------------------- |
161 | close: |
161 | close: |
162 | or eax,-1 |
162 | or eax,-1 |
163 | mcall |
163 | mcall |
164 | ;-------------------------------------- |
164 | ;-------------------------------------- |
165 | no_close: |
165 | no_close: |
166 | cmp ah,4 ; SET KEYBOARD |
166 | cmp ah,4 ; SET KEYBOARD |
167 | jnz nokm |
167 | jnz nokm |
168 | mov eax,[keyboard] |
168 | mov eax,[keyboard] |
169 | test eax,eax |
169 | test eax,eax |
170 | je downuplbl |
170 | je downuplbl |
171 | dec eax |
171 | dec eax |
172 | jmp nodownup |
172 | jmp nodownup |
173 | ;-------------------------------------- |
173 | ;-------------------------------------- |
174 | downuplbl: |
174 | downuplbl: |
175 | mov eax,7 |
175 | mov eax,7 |
176 | ;-------------------------------------- |
176 | ;-------------------------------------- |
177 | nodownup: |
177 | nodownup: |
178 | mov [keyboard],eax |
178 | mov [keyboard],eax |
179 | call draw_infotext |
179 | call draw_infotext |
180 | ;-------------------------------------- |
180 | ;-------------------------------------- |
181 | nokm: |
181 | nokm: |
182 | cmp ah,5 |
182 | cmp ah,5 |
183 | jnz nokp |
183 | jnz nokp |
184 | mov eax,[keyboard] |
184 | mov eax,[keyboard] |
185 | cmp eax,7 |
185 | cmp eax,7 |
186 | je updownlbl |
186 | je updownlbl |
187 | inc eax |
187 | inc eax |
188 | jmp noupdown |
188 | jmp noupdown |
189 | ;-------------------------------------- |
189 | ;-------------------------------------- |
190 | updownlbl: |
190 | updownlbl: |
191 | xor eax,eax |
191 | xor eax,eax |
192 | ;-------------------------------------- |
192 | ;-------------------------------------- |
193 | noupdown: |
193 | noupdown: |
194 | mov [keyboard],eax |
194 | mov [keyboard],eax |
195 | call draw_infotext |
195 | call draw_infotext |
196 | ;-------------------------------------- |
196 | ;-------------------------------------- |
197 | nokp: |
197 | nokp: |
198 | cmp ah,92 ; SET LBA READ |
198 | cmp ah,92 ; SET LBA READ |
199 | jne no_lba_d |
199 | jne no_lba_d |
200 | ;-------------------------------------- |
200 | ;-------------------------------------- |
201 | slbal: |
201 | slbal: |
202 | btc [lba_read],0 |
202 | btc [lba_read],0 |
203 | call draw_infotext |
203 | call draw_infotext |
204 | jmp still |
204 | jmp still |
205 | ;-------------------------------------- |
205 | ;-------------------------------------- |
206 | no_lba_d: |
206 | no_lba_d: |
207 | cmp ah,93 |
207 | cmp ah,93 |
208 | jne no_lba_i |
208 | jne no_lba_i |
209 | jmp slbal |
209 | jmp slbal |
210 | ;-------------------------------------- |
210 | ;-------------------------------------- |
211 | no_lba_i: |
211 | no_lba_i: |
212 | cmp ah,91 |
212 | cmp ah,91 |
213 | jne no_set_lba_read |
213 | jne no_set_lba_read |
214 | call _lba_read |
214 | call _lba_read |
215 | jmp still |
215 | jmp still |
216 | ;-------------------------------------- |
216 | ;-------------------------------------- |
217 | no_set_lba_read: |
217 | no_set_lba_read: |
218 | cmp ah,102 ; SET PCI ACCESS |
218 | cmp ah,102 ; SET PCI ACCESS |
219 | jne no_pci_d |
219 | jne no_pci_d |
220 | ;-------------------------------------- |
220 | ;-------------------------------------- |
221 | pcip: |
221 | pcip: |
222 | btc [pci_acc],0 |
222 | btc [pci_acc],0 |
223 | call draw_infotext |
223 | call draw_infotext |
224 | jmp still |
224 | jmp still |
225 | ;-------------------------------------- |
225 | ;-------------------------------------- |
226 | no_pci_d: |
226 | no_pci_d: |
227 | cmp ah,103 |
227 | cmp ah,103 |
228 | jne no_pci_i |
228 | jne no_pci_i |
229 | jmp pcip |
229 | jmp pcip |
230 | ;-------------------------------------- |
230 | ;-------------------------------------- |
231 | no_pci_i: |
231 | no_pci_i: |
232 | cmp ah,101 |
232 | cmp ah,101 |
233 | jne no_set_pci_acc |
233 | jne no_set_pci_acc |
234 | call _pci_acc |
234 | call _pci_acc |
235 | jmp still |
235 | jmp still |
236 | ;-------------------------------------- |
236 | ;-------------------------------------- |
237 | no_set_pci_acc: |
237 | no_set_pci_acc: |
238 | cmp ah,42 ; SET SYSTEM LANGUAGE BASE |
238 | cmp ah,42 ; SET SYSTEM LANGUAGE BASE |
239 | jnz nosysm |
239 | jnz nosysm |
240 | mov eax,[syslang] |
240 | mov eax,[syslang] |
241 | dec eax |
241 | dec eax |
242 | jz still |
242 | jz still |
243 | mov [syslang],eax |
243 | mov [syslang],eax |
244 | call draw_infotext |
244 | call draw_infotext |
245 | ;-------------------------------------- |
245 | ;-------------------------------------- |
246 | nosysm: |
246 | nosysm: |
247 | cmp ah,43 |
247 | cmp ah,43 |
248 | jnz nosysp |
248 | jnz nosysp |
249 | mov eax,[syslang] |
249 | mov eax,[syslang] |
250 | cmp eax,6 |
250 | cmp eax,6 |
251 | je nosysp |
251 | je nosysp |
252 | inc eax |
252 | inc eax |
253 | mov [syslang],eax |
253 | mov [syslang],eax |
254 | call draw_infotext |
254 | call draw_infotext |
255 | ;-------------------------------------- |
255 | ;-------------------------------------- |
256 | nosysp: |
256 | nosysp: |
257 | cmp ah,41 |
257 | cmp ah,41 |
258 | jnz nosyss |
258 | jnz nosyss |
259 | call _syslang |
259 | call _syslang |
260 | call cleantxt |
260 | call cleantxt |
261 | call loadtxt |
261 | call loadtxt |
262 | call draw_window |
262 | call draw_window |
263 | ;-------------------------------------- |
263 | ;-------------------------------------- |
264 | nosyss: |
264 | nosyss: |
265 | cmp ah,132 ; SET MOUSE SPEED |
265 | cmp ah,132 ; SET MOUSE SPEED |
266 | jnz .nominus |
266 | jnz .nominus |
267 | mov eax,[mouse_speed] |
267 | mov eax,[mouse_speed] |
268 | sub eax,2 |
268 | sub eax,2 |
269 | cmp eax,9 |
269 | cmp eax,9 |
270 | jb @f |
270 | jb @f |
271 | mov eax,8 |
271 | mov eax,8 |
272 | ;-------------------------------------- |
272 | ;-------------------------------------- |
273 | @@: |
273 | @@: |
274 | inc eax |
274 | inc eax |
275 | mov [mouse_speed],eax |
275 | mov [mouse_speed],eax |
276 | call draw_infotext |
276 | call draw_infotext |
277 | ;-------------------------------------- |
277 | ;-------------------------------------- |
278 | .nominus: |
278 | .nominus: |
279 | cmp ah,133 |
279 | cmp ah,133 |
280 | jnz .noplus |
280 | jnz .noplus |
281 | mov eax,[mouse_speed] |
281 | mov eax,[mouse_speed] |
282 | cmp eax,9 |
282 | cmp eax,9 |
283 | jb @f |
283 | jb @f |
284 | mov eax,0 |
284 | mov eax,0 |
285 | ;-------------------------------------- |
285 | ;-------------------------------------- |
286 | @@: |
286 | @@: |
287 | inc eax |
287 | inc eax |
288 | mov [mouse_speed],eax |
288 | mov [mouse_speed],eax |
289 | call draw_infotext |
289 | call draw_infotext |
290 | ;-------------------------------------- |
290 | ;-------------------------------------- |
291 | .noplus: |
291 | .noplus: |
292 | cmp ah,131 |
292 | cmp ah,131 |
293 | jnz .noapply |
293 | jnz .noapply |
294 | call _mouse_speed |
294 | call _mouse_speed |
295 | ;-------------------------------------- |
295 | ;-------------------------------------- |
296 | .noapply: |
296 | .noapply: |
297 | mousedelay: |
297 | mousedelay: |
298 | cmp ah,142 ; SET MOUSE DELAY |
298 | cmp ah,142 ; SET MOUSE DELAY |
299 | jnz .nominus |
299 | jnz .nominus |
300 | mov eax,[mouse_delay] |
300 | mov eax,[mouse_delay] |
301 | sub eax,2 |
301 | sub eax,2 |
302 | cmp eax,0xfff |
302 | cmp eax,0xfff |
303 | jb @f |
303 | jb @f |
304 | mov eax,0xffe |
304 | mov eax,0xffe |
305 | ;-------------------------------------- |
305 | ;-------------------------------------- |
306 | @@: |
306 | @@: |
307 | inc eax |
307 | inc eax |
308 | mov [mouse_delay],eax |
308 | mov [mouse_delay],eax |
309 | call draw_infotext |
309 | call draw_infotext |
310 | ;-------------------------------------- |
310 | ;-------------------------------------- |
311 | .nominus: |
311 | .nominus: |
312 | cmp ah,143 |
312 | cmp ah,143 |
313 | jnz .noplus |
313 | jnz .noplus |
314 | mov eax,[mouse_delay] |
314 | mov eax,[mouse_delay] |
315 | cmp eax,0xfff |
315 | cmp eax,0xfff |
316 | jb @f |
316 | jb @f |
317 | mov eax,0 |
317 | mov eax,0 |
318 | ;-------------------------------------- |
318 | ;-------------------------------------- |
319 | @@: |
319 | @@: |
320 | inc eax |
320 | inc eax |
321 | mov [mouse_delay],eax |
321 | mov [mouse_delay],eax |
322 | call draw_infotext |
322 | call draw_infotext |
323 | ;-------------------------------------- |
323 | ;-------------------------------------- |
324 | .noplus: |
324 | .noplus: |
325 | cmp ah,141 |
325 | cmp ah,141 |
326 | jnz speakermute |
326 | jnz speakermute |
327 | call _mouse_delay |
327 | call _mouse_delay |
328 | ;-------------------------------------- |
328 | ;-------------------------------------- |
329 | speakermute: |
329 | speakermute: |
330 | cmp ah,152 ; SET SPEAKER |
330 | cmp ah,152 ; SET SPEAKER |
331 | jne no_speaker_d |
331 | jne no_speaker_d |
332 | ;-------------------------------------- |
332 | ;-------------------------------------- |
333 | speaker_p: |
333 | speaker_p: |
334 | btc [speaker_mute],0 |
334 | btc [speaker_mute],0 |
335 | call draw_infotext |
335 | call draw_infotext |
336 | jmp still |
336 | jmp still |
337 | ;-------------------------------------- |
337 | ;-------------------------------------- |
338 | no_speaker_d: |
338 | no_speaker_d: |
339 | cmp ah,153 |
339 | cmp ah,153 |
340 | jne no_speaker_i |
340 | jne no_speaker_i |
341 | jmp speaker_p |
341 | jmp speaker_p |
342 | ;-------------------------------------- |
342 | ;-------------------------------------- |
343 | no_speaker_i: |
343 | no_speaker_i: |
344 | cmp ah,151 |
344 | cmp ah,151 |
345 | jne .noapply |
345 | jne .noapply |
346 | call _speaker_mute |
346 | call _speaker_mute |
347 | jmp still |
347 | jmp still |
348 | ;-------------------------------------- |
348 | ;-------------------------------------- |
349 | .noapply: |
349 | .noapply: |
350 | cmp ah,3 ; SET KEYMAP |
350 | cmp ah,3 ; SET KEYMAP |
351 | jne still |
351 | jne still |
352 | call _keyboard |
352 | call _keyboard |
353 | jmp still |
353 | jmp still |
354 | ;------------------------------------------------------------------------------- |
354 | ;------------------------------------------------------------------------------- |
355 | _keyboard: |
355 | _keyboard: |
356 | cmp [keyboard],0 ; english |
356 | cmp [keyboard],0 ; english |
357 | jnz nosetkeyle |
357 | jnz nosetkeyle |
358 | 358 | ||
359 | mcall 21,2,1,en_keymap |
359 | mcall 21,2,1,en_keymap |
360 | 360 | ||
361 | inc ecx |
361 | inc ecx |
362 | mcall 21,,,en_keymap_shift |
362 | mcall 21,,,en_keymap_shift |
363 | 363 | ||
364 | mcall 21,,9,1 |
364 | mcall 21,,9,1 |
365 | call alt_gen |
365 | call alt_gen |
366 | ;-------------------------------------- |
366 | ;-------------------------------------- |
367 | nosetkeyle: |
367 | nosetkeyle: |
368 | cmp [keyboard],1 ; finnish |
368 | cmp [keyboard],1 ; finnish |
369 | jnz nosetkeylfi |
369 | jnz nosetkeylfi |
370 | 370 | ||
371 | mcall 21,2,1,fi_keymap |
371 | mcall 21,2,1,fi_keymap |
372 | 372 | ||
373 | inc ecx |
373 | inc ecx |
374 | mcall 21,,,fi_keymap_shift |
374 | mcall 21,,,fi_keymap_shift |
375 | 375 | ||
376 | mcall 21,,9,2 |
376 | mcall 21,,9,2 |
377 | call alt_gen |
377 | call alt_gen |
378 | ;-------------------------------------- |
378 | ;-------------------------------------- |
379 | nosetkeylfi: |
379 | nosetkeylfi: |
380 | cmp [keyboard],2 ; german |
380 | cmp [keyboard],2 ; german |
381 | jnz nosetkeylge |
381 | jnz nosetkeylge |
382 | 382 | ||
383 | mcall 21,2,1,ge_keymap |
383 | mcall 21,2,1,ge_keymap |
384 | 384 | ||
385 | inc ecx |
385 | inc ecx |
386 | mcall 21,,,ge_keymap_shift |
386 | mcall 21,,,ge_keymap_shift |
387 | 387 | ||
388 | mcall 21,,9,3 |
388 | mcall 21,,9,3 |
389 | call alt_gen |
389 | call alt_gen |
390 | ;-------------------------------------- |
390 | ;-------------------------------------- |
391 | nosetkeylge: |
391 | nosetkeylge: |
392 | cmp [keyboard],3 ; russian |
392 | cmp [keyboard],3 ; russian |
393 | jnz nosetkeylru |
393 | jnz nosetkeylru |
394 | 394 | ||
395 | mcall 21,2,1,ru_keymap |
395 | mcall 21,2,1,ru_keymap |
396 | 396 | ||
397 | inc ecx |
397 | inc ecx |
398 | mcall 21,,,ru_keymap_shift |
398 | mcall 21,,,ru_keymap_shift |
399 | 399 | ||
400 | mcall 21,,9,4 |
400 | mcall 21,,9,4 |
401 | call alt_gen |
401 | call alt_gen |
402 | ;-------------------------------------- |
402 | ;-------------------------------------- |
403 | nosetkeylru: |
403 | nosetkeylru: |
404 | cmp [keyboard],4 ;french |
404 | cmp [keyboard],4 ;french |
405 | jnz nosetkeylfr |
405 | jnz nosetkeylfr |
406 | 406 | ||
407 | mcall 21,2,1,fr_keymap |
407 | mcall 21,2,1,fr_keymap |
408 | 408 | ||
409 | inc ecx |
409 | inc ecx |
410 | mcall 21,,,fr_keymap_shift |
410 | mcall 21,,,fr_keymap_shift |
411 | 411 | ||
412 | inc ecx |
412 | inc ecx |
413 | mcall 21,,,fr_keymap_alt_gr |
413 | mcall 21,,,fr_keymap_alt_gr |
414 | 414 | ||
415 | mcall 21,,9,5 |
415 | mcall 21,,9,5 |
416 | ;-------------------------------------- |
416 | ;-------------------------------------- |
417 | nosetkeylfr: |
417 | nosetkeylfr: |
418 | cmp [keyboard],5 ; estonian |
418 | cmp [keyboard],5 ; estonian |
419 | jnz nosetkeylet |
419 | jnz nosetkeylet |
420 | 420 | ||
421 | mcall 21,2,1,et_keymap |
421 | mcall 21,2,1,et_keymap |
422 | 422 | ||
423 | inc ecx |
423 | inc ecx |
424 | mcall 21,,,et_keymap_shift |
424 | mcall 21,,,et_keymap_shift |
425 | 425 | ||
426 | mcall 21,,9,6 |
426 | mcall 21,,9,6 |
427 | call alt_gen |
427 | call alt_gen |
428 | ;-------------------------------------- |
428 | ;-------------------------------------- |
429 | nosetkeylet: |
429 | nosetkeylet: |
430 | cmp [keyboard],6 ;belgian |
430 | cmp [keyboard],6 ;belgian |
431 | jnz nosetkeylit |
431 | jnz nosetkeylit |
432 | 432 | ||
433 | mcall 21,2,1,be_keymap |
433 | mcall 21,2,1,be_keymap |
434 | 434 | ||
435 | inc ecx |
435 | inc ecx |
436 | mcall 21,,,be_keymap_shift |
436 | mcall 21,,,be_keymap_shift |
437 | 437 | ||
438 | inc ecx |
438 | inc ecx |
439 | mcall 21,,,be_keymap_alt_gr |
439 | mcall 21,,,be_keymap_alt_gr |
440 | 440 | ||
441 | mcall 21,,9,7 |
441 | mcall 21,,9,7 |
442 | ;-------------------------------------- |
442 | ;-------------------------------------- |
443 | nosetkeylit: |
443 | nosetkeylit: |
444 | cmp [keyboard],7 ;italian |
444 | cmp [keyboard],7 ;italian |
445 | jnz nosetkeylbe |
445 | jnz nosetkeylbe |
446 | 446 | ||
447 | mcall 21,2,1,it_keymap |
447 | mcall 21,2,1,it_keymap |
448 | 448 | ||
449 | inc ecx |
449 | inc ecx |
450 | mcall 21,,,it_keymap_shift |
450 | mcall 21,,,it_keymap_shift |
451 | 451 | ||
452 | inc ecx |
452 | inc ecx |
453 | mcall 21,,,it_keymap_alt_gr |
453 | mcall 21,,,it_keymap_alt_gr |
454 | 454 | ||
455 | mcall 21,,9,8 |
455 | mcall 21,,9,8 |
456 | ;-------------------------------------- |
456 | ;-------------------------------------- |
457 | 457 | ||
458 | nosetkeylbe: |
458 | nosetkeylbe: |
459 | ret |
459 | ret |
460 | ;------------------------------------------------------------------------------- |
460 | ;------------------------------------------------------------------------------- |
461 | alt_gen: |
461 | alt_gen: |
462 | mcall 21,,3,alt_general |
462 | mcall 21,,3,alt_general |
463 | ret |
463 | ret |
464 | ;------------------------------------------------------------------------------- |
464 | ;------------------------------------------------------------------------------- |
465 | draw_buttons: |
465 | draw_buttons: |
466 | pusha |
466 | pusha |
467 | shl ecx,16 |
467 | shl ecx,16 |
468 | add ecx,12 |
468 | add ecx,12 |
469 | mcall 8,<(350-57),(46+BBB)> |
469 | mcall 8,<(350-57),(46+BBB)> |
470 | 470 | ||
471 | inc edx |
471 | inc edx |
472 | mcall ,<(350-85),9> |
472 | mcall ,<(350-85),9> |
473 | 473 | ||
474 | inc edx |
474 | inc edx |
475 | mcall ,<(350-73),9> |
475 | mcall ,<(350-73),9> |
476 | 476 | ||
477 | popa |
477 | popa |
478 | ret |
478 | ret |
479 | ;------------------------------------------------------------------------------- |
479 | ;------------------------------------------------------------------------------- |
480 | ; ******************************************** |
480 | ; ******************************************** |
481 | ; ******* WINDOW DEFINITIONS AND DRAW ******* |
481 | ; ******* WINDOW DEFINITIONS AND DRAW ******* |
482 | ; ******************************************** |
482 | ; ******************************************** |
483 | draw_window: |
483 | draw_window: |
484 | pusha |
484 | pusha |
485 | mcall 12,1 |
485 | mcall 12,1 |
486 | 486 | ||
487 | xor eax,eax ; DRAW WINDOW |
487 | xor eax,eax ; DRAW WINDOW |
488 | xor esi,esi |
488 | xor esi,esi |
489 | mcall ,<40,(355+BBB)>,<40,(12*16)>,0xB4111199,,title |
489 | mcall ,<40,(355+BBB)>,<40,(12*16)>,0xB4111199,,title |
490 | 490 | ||
491 | mcall 9,procinfo,-1 |
491 | mcall 9,procinfo,-1 |
492 | 492 | ||
493 | mov eax,[ebx+70] ;status of window |
493 | mov eax,[ebx+70] ;status of window |
494 | test eax,100b |
494 | test eax,100b |
495 | jne .end |
495 | jne .end |
496 | 496 | ||
497 | mcall 8,<(350-85),100>,<(5+16*8),12>,100,0x005588dd ; APPLY ALL |
497 | mcall 8,<(350-85),100>,<(5+16*8),12>,100,0x005588dd ; APPLY ALL |
498 | 498 | ||
499 | add ecx,16*65536 ; SAVE ALL |
499 | add ecx,16*65536 ; SAVE ALL |
500 | dec edx |
500 | dec edx |
501 | mcall |
501 | mcall |
502 | 502 | ||
503 | mov esi,0x5580c0 |
503 | mov esi,0x5580c0 |
504 | 504 | ||
505 | mov edx,41 |
505 | mov edx,41 |
506 | mov ecx,5+0*8 |
506 | mov ecx,5+0*8 |
507 | call draw_buttons |
507 | call draw_buttons |
508 | 508 | ||
509 | mov edx,3 |
509 | mov edx,3 |
510 | mov ecx,5+2*8 |
510 | mov ecx,5+2*8 |
511 | call draw_buttons |
511 | call draw_buttons |
512 | 512 | ||
513 | mov edx,91 |
513 | mov edx,91 |
514 | mov ecx,5+4*8 |
514 | mov ecx,5+4*8 |
515 | call draw_buttons |
515 | call draw_buttons |
516 | 516 | ||
517 | mov edx,101 |
517 | mov edx,101 |
518 | mov ecx,5+6*8 |
518 | mov ecx,5+6*8 |
519 | call draw_buttons |
519 | call draw_buttons |
520 | 520 | ||
521 | mov edx,131 |
521 | mov edx,131 |
522 | mov ecx,5+8*8 |
522 | mov ecx,5+8*8 |
523 | call draw_buttons |
523 | call draw_buttons |
524 | 524 | ||
525 | mov edx,141 |
525 | mov edx,141 |
526 | mov ecx,5+10*8 |
526 | mov ecx,5+10*8 |
527 | call draw_buttons |
527 | call draw_buttons |
528 | 528 | ||
529 | mov edx,151 |
529 | mov edx,151 |
530 | mov ecx,5+12*8 |
530 | mov ecx,5+12*8 |
531 | call draw_buttons |
531 | call draw_buttons |
532 | 532 | ||
533 | call draw_infotext |
533 | call draw_infotext |
534 | .end: |
534 | .end: |
535 | mcall 12,2 |
535 | mcall 12,2 |
536 | popa |
536 | popa |
537 | ret |
537 | ret |
538 | ;------------------------------------------------------------------------------- |
538 | ;------------------------------------------------------------------------------- |
539 | draw_infotext: |
539 | draw_infotext: |
540 | pusha |
540 | pusha |
541 | mov eax,[keyboard] ; KEYBOARD |
541 | mov eax,[keyboard] ; KEYBOARD |
542 | test eax,eax |
542 | test eax,eax |
543 | jnz noen |
543 | jnz noen |
544 | mov [text00+LLL*1+28],dword 'ENGL' |
544 | mov [text00+LLL*1+28],dword 'ENGL' |
545 | mov [text00+LLL*1+32],dword 'ISH ' |
545 | mov [text00+LLL*1+32],dword 'ISH ' |
546 | ;-------------------------------------- |
546 | ;-------------------------------------- |
547 | noen: |
547 | noen: |
548 | cmp eax,1 |
548 | cmp eax,1 |
549 | jnz nofi |
549 | jnz nofi |
550 | mov [text00+LLL*1+28],dword 'FINN' |
550 | mov [text00+LLL*1+28],dword 'FINN' |
551 | mov [text00+LLL*1+32],dword 'ISH ' |
551 | mov [text00+LLL*1+32],dword 'ISH ' |
552 | ;-------------------------------------- |
552 | ;-------------------------------------- |
553 | nofi: |
553 | nofi: |
554 | cmp eax,2 |
554 | cmp eax,2 |
555 | jnz noge |
555 | jnz noge |
556 | mov [text00+LLL*1+28],dword 'GERM' |
556 | mov [text00+LLL*1+28],dword 'GERM' |
557 | mov [text00+LLL*1+32],dword 'AN ' |
557 | mov [text00+LLL*1+32],dword 'AN ' |
558 | ;-------------------------------------- |
558 | ;-------------------------------------- |
559 | noge: |
559 | noge: |
560 | cmp eax,3 |
560 | cmp eax,3 |
561 | jnz nogr |
561 | jnz nogr |
562 | mov [text00+LLL*1+28],dword 'RUSS' |
562 | mov [text00+LLL*1+28],dword 'RUSS' |
563 | mov [text00+LLL*1+32],dword 'IAN ' |
563 | mov [text00+LLL*1+32],dword 'IAN ' |
564 | ;-------------------------------------- |
564 | ;-------------------------------------- |
565 | nogr: |
565 | nogr: |
566 | cmp eax,4 |
566 | cmp eax,4 |
567 | jnz nofr |
567 | jnz nofr |
568 | mov [text00+LLL*1+28],dword 'FREN' |
568 | mov [text00+LLL*1+28],dword 'FREN' |
569 | mov [text00+LLL*1+32],dword 'CH ' |
569 | mov [text00+LLL*1+32],dword 'CH ' |
570 | ;-------------------------------------- |
570 | ;-------------------------------------- |
571 | nofr: |
571 | nofr: |
572 | cmp eax,5 |
572 | cmp eax,5 |
573 | jnz noet |
573 | jnz noet |
574 | mov [text00+LLL*1+28],dword 'ESTO' |
574 | mov [text00+LLL*1+28],dword 'EEST' |
575 | mov [text00+LLL*1+32],dword 'NIAN' |
575 | mov [text00+LLL*1+32],dword 'I ' |
576 | ;-------------------------------------- |
576 | ;-------------------------------------- |
577 | noet: |
577 | noet: |
578 | cmp eax,6 |
578 | cmp eax,6 |
579 | jnz nobe |
579 | jnz nobe |
580 | mov [text00+LLL*1+28],dword 'BELG' |
580 | mov [text00+LLL*1+28],dword 'BELG' |
581 | mov [text00+LLL*1+32],dword 'IAN ' |
581 | mov [text00+LLL*1+32],dword 'IAN ' |
582 | ;-------------------------------------- |
582 | ;-------------------------------------- |
583 | nobe: |
583 | nobe: |
584 | cmp eax,7 |
584 | cmp eax,7 |
585 | jnz noit |
585 | jnz noit |
586 | mov [text00+LLL*1+28],dword 'ITAL' |
586 | mov [text00+LLL*1+28],dword 'ITAL' |
587 | mov [text00+LLL*1+32],dword 'IAN' |
587 | mov [text00+LLL*1+32],dword 'IAN' |
588 | ;-------------------------------------- |
588 | ;-------------------------------------- |
589 | noit: |
589 | noit: |
590 | mov eax,[syslang] ; SYSTEM LANGUAGE |
590 | mov eax,[syslang] ; SYSTEM LANGUAGE |
591 | dec eax |
591 | dec eax |
592 | test eax,eax |
592 | test eax,eax |
593 | jnz noen5 |
593 | jnz noen5 |
594 | mov [text00+LLL*0+28],dword 'ENGL' |
594 | mov [text00+LLL*0+28],dword 'ENGL' |
595 | mov [text00+LLL*0+32],dword 'ISH ' |
595 | mov [text00+LLL*0+32],dword 'ISH ' |
596 | ;-------------------------------------- |
596 | ;-------------------------------------- |
597 | noen5: |
597 | noen5: |
598 | cmp eax,1 |
598 | cmp eax,1 |
599 | jnz nofi5 |
599 | jnz nofi5 |
600 | mov [text00+LLL*0+28],dword 'FINN' |
600 | mov [text00+LLL*0+28],dword 'FINN' |
601 | mov [text00+LLL*0+32],dword 'ISH ' |
601 | mov [text00+LLL*0+32],dword 'ISH ' |
602 | ;-------------------------------------- |
602 | ;-------------------------------------- |
603 | nofi5: |
603 | nofi5: |
604 | cmp eax,2 |
604 | cmp eax,2 |
605 | jnz noge5 |
605 | jnz noge5 |
606 | mov [text00+LLL*0+28],dword 'GERM' |
606 | mov [text00+LLL*0+28],dword 'GERM' |
607 | mov [text00+LLL*0+32],dword 'AN ' |
607 | mov [text00+LLL*0+32],dword 'AN ' |
608 | ;-------------------------------------- |
608 | ;-------------------------------------- |
609 | noge5: |
609 | noge5: |
610 | cmp eax,3 |
610 | cmp eax,3 |
611 | jnz nogr5 |
611 | jnz nogr5 |
612 | mov [text00+LLL*0+28],dword 'RUSS' |
612 | mov [text00+LLL*0+28],dword 'RUSS' |
613 | mov [text00+LLL*0+32],dword 'IAN ' |
613 | mov [text00+LLL*0+32],dword 'IAN ' |
614 | ;-------------------------------------- |
614 | ;-------------------------------------- |
615 | nogr5: |
615 | nogr5: |
616 | cmp eax,4 |
616 | cmp eax,4 |
617 | jne nofr5 |
617 | jne nofr5 |
618 | mov [text00+LLL*0+28],dword 'FREN' |
618 | mov [text00+LLL*0+28],dword 'FREN' |
619 | mov [text00+LLL*0+32],dword 'CH ' |
619 | mov [text00+LLL*0+32],dword 'CH ' |
620 | ;-------------------------------------- |
620 | ;-------------------------------------- |
621 | nofr5: |
621 | nofr5: |
622 | cmp eax,5 |
622 | cmp eax,5 |
623 | jne noet5 |
623 | jne noet5 |
624 | mov [text00+LLL*0+28],dword 'ESTO' |
624 | mov [text00+LLL*0+28],dword 'EEST' |
625 | mov [text00+LLL*0+32],dword 'NIAN' |
625 | mov [text00+LLL*0+32],dword 'I ' |
626 | ;-------------------------------------- |
626 | ;-------------------------------------- |
627 | noet5: |
627 | noet5: |
628 | mov eax,[lba_read] |
628 | mov eax,[lba_read] |
629 | call onoff ; LBA READ |
629 | call onoff ; LBA READ |
630 | mov [text00+LLL*2+28],ebx |
630 | mov [text00+LLL*2+28],ebx |
631 | 631 | ||
632 | mov eax,[pci_acc] |
632 | mov eax,[pci_acc] |
633 | call onoff ; PCI ACCESS |
633 | call onoff ; PCI ACCESS |
634 | mov [text00+LLL*3+28],ebx |
634 | mov [text00+LLL*3+28],ebx |
635 | 635 | ||
636 | mov eax,[speaker_mute] |
636 | mov eax,[speaker_mute] |
637 | call onoff ; SPEAKER |
637 | call onoff ; SPEAKER |
638 | mov [text00+LLL*6+28],ebx |
638 | mov [text00+LLL*6+28],ebx |
639 | 639 | ||
640 | mov eax,[mouse_speed] ; MOUSE SPEED |
640 | mov eax,[mouse_speed] ; MOUSE SPEED |
641 | add al,48 |
641 | add al,48 |
642 | mov [text00+LLL*4+28],al |
642 | mov [text00+LLL*4+28],al |
643 | 643 | ||
644 | mov eax,[mouse_delay] |
644 | mov eax,[mouse_delay] |
645 | mov esi,text00+LLL*5+32 |
645 | mov esi,text00+LLL*5+32 |
646 | call hexconvert ; MOUSE DELAY |
646 | call hexconvert ; MOUSE DELAY |
647 | call text_out |
647 | call text_out |
648 | 648 | ||
649 | popa |
649 | popa |
650 | ret |
650 | ret |
651 | ;------------------------------------------------------------------------------- |
651 | ;------------------------------------------------------------------------------- |
652 | text_out: |
652 | text_out: |
653 | mcall 13,<165,85>,<0,(14*8)>,0x80111199 ;0x80111199-19 |
653 | mcall 13,<165,85>,<0,(14*8)>,0x80111199 ;0x80111199-19 |
654 | 654 | ||
655 | mov edx,text00 |
655 | mov edx,text00 |
656 | mov ebx,3*65536+7 |
656 | mov ebx,3*65536+7 |
657 | mov eax,4 |
657 | mov eax,4 |
658 | mov ecx,0xffffff |
658 | mov ecx,0xffffff |
659 | mov esi,LLL |
659 | mov esi,LLL |
660 | mov ebp,text1_strings |
660 | mov ebp,text1_strings |
661 | ;-------------------------------------- |
661 | ;-------------------------------------- |
662 | newline: |
662 | newline: |
663 | mcall |
663 | mcall |
664 | add ebx,8+8 |
664 | add ebx,8+8 |
665 | add edx,esi |
665 | add edx,esi |
666 | dec ebp |
666 | dec ebp |
667 | jnz newline |
667 | jnz newline |
668 | 668 | ||
669 | mov ebp,text2_strings |
669 | mov ebp,text2_strings |
670 | add ebx,8+8 |
670 | add ebx,8+8 |
671 | ;-------------------------------------- |
671 | ;-------------------------------------- |
672 | @@: |
672 | @@: |
673 | mcall |
673 | mcall |
674 | add ebx,8+8 |
674 | add ebx,8+8 |
675 | add edx,esi |
675 | add edx,esi |
676 | dec ebp |
676 | dec ebp |
677 | jnz @b |
677 | jnz @b |
678 | ret |
678 | ret |
679 | ;------------------------------------------------------------------------------- |
679 | ;------------------------------------------------------------------------------- |
680 | hexconvert: ;converting dec to hex in ascii |
680 | hexconvert: ;converting dec to hex in ascii |
681 | xor ebx,ebx |
681 | xor ebx,ebx |
682 | mov bl,al |
682 | mov bl,al |
683 | and bl,15 |
683 | and bl,15 |
684 | add ebx,hex |
684 | add ebx,hex |
685 | mov cl,[ebx] |
685 | mov cl,[ebx] |
686 | mov [esi],cl |
686 | mov [esi],cl |
687 | shr eax,4 |
687 | shr eax,4 |
688 | xor ebx,ebx |
688 | xor ebx,ebx |
689 | mov bl,al |
689 | mov bl,al |
690 | and bl,15 |
690 | and bl,15 |
691 | add ebx,hex |
691 | add ebx,hex |
692 | mov cl,[ebx] |
692 | mov cl,[ebx] |
693 | dec esi |
693 | dec esi |
694 | mov [esi],cl |
694 | mov [esi],cl |
695 | shr eax,4 |
695 | shr eax,4 |
696 | xor ebx,ebx |
696 | xor ebx,ebx |
697 | mov bl,al |
697 | mov bl,al |
698 | and bl,15 |
698 | and bl,15 |
699 | add ebx,hex |
699 | add ebx,hex |
700 | mov cl,[ebx] |
700 | mov cl,[ebx] |
701 | dec esi |
701 | dec esi |
702 | mov [esi],cl |
702 | mov [esi],cl |
703 | ret |
703 | ret |
704 | ;------------------------------------------------------------------------------- |
704 | ;------------------------------------------------------------------------------- |
705 | onoff: |
705 | onoff: |
706 | cmp [syslang],4 |
706 | cmp [syslang],4 |
707 | jne norus1 |
707 | jne norus1 |
708 | mov ebx,' ' |
708 | mov ebx,' ' |
709 | cmp eax,1 |
709 | cmp eax,1 |
710 | je exitsub |
710 | je exitsub |
711 | mov ebx,' ' |
711 | mov ebx,' ' |
712 | ret |
712 | ret |
713 | ;-------------------------------------- |
- | |
714 | norus1: |
713 | norus1: |
- | 714 | cmp [syslang],6 |
|
- | 715 | jne noet1 |
|
- | 716 | mov ebx,'SEES' |
|
- | 717 | cmp eax,1 |
|
- | 718 | je exitsub |
|
- | 719 | mov ebx,'VÄL.' |
|
- | 720 | ret |
|
- | 721 | ;-------------------------------------- |
|
- | 722 | noet1: |
|
715 | mov ebx,'ON ' |
723 | mov ebx,'ON ' |
716 | cmp eax,1 |
724 | cmp eax,1 |
717 | je exitsub |
725 | je exitsub |
718 | mov ebx,'OFF ' |
726 | mov ebx,'OFF ' |
719 | ;-------------------------------------- |
727 | ;-------------------------------------- |
720 | exitsub: |
728 | exitsub: |
721 | ret |
729 | ret |
722 | ;------------------------------------------------------------------------------- |
730 | ;------------------------------------------------------------------------------- |
723 | _lba_read: |
731 | _lba_read: |
724 | mcall 21,11,[lba_read] |
732 | mcall 21,11,[lba_read] |
725 | ret |
733 | ret |
726 | ;------------------------------------------------------------------------------- |
734 | ;------------------------------------------------------------------------------- |
727 | _pci_acc: |
735 | _pci_acc: |
728 | mcall 21,12,[pci_acc] |
736 | mcall 21,12,[pci_acc] |
729 | ret |
737 | ret |
730 | ;------------------------------------------------------------------------------- |
738 | ;------------------------------------------------------------------------------- |
731 | _syslang: |
739 | _syslang: |
732 | mcall 21,5,[syslang] |
740 | mcall 21,5,[syslang] |
733 | ret |
741 | ret |
734 | ;------------------------------------------------------------------------------- |
742 | ;------------------------------------------------------------------------------- |
735 | _mouse_speed: |
743 | _mouse_speed: |
736 | mcall 18,19,1,[mouse_speed] |
744 | mcall 18,19,1,[mouse_speed] |
737 | ret |
745 | ret |
738 | ;------------------------------------------------------------------------------- |
746 | ;------------------------------------------------------------------------------- |
739 | _mouse_delay: |
747 | _mouse_delay: |
740 | mcall 18,19,3,[mouse_delay] |
748 | mcall 18,19,3,[mouse_delay] |
741 | ret |
749 | ret |
742 | ;------------------------------------------------------------------------------- |
750 | ;------------------------------------------------------------------------------- |
743 | _speaker_mute: |
751 | _speaker_mute: |
744 | mcall 18,8,1 |
752 | mcall 18,8,1 |
745 | cmp [speaker_mute],eax |
753 | cmp [speaker_mute],eax |
746 | je @f |
754 | je @f |
747 | inc ecx |
755 | inc ecx |
748 | mcall 18 |
756 | mcall 18 |
749 | ;-------------------------------------- |
757 | ;-------------------------------------- |
750 | @@: |
758 | @@: |
751 | ret |
759 | ret |
752 | ;------------------------------------------------------------------------------- |
760 | ;------------------------------------------------------------------------------- |
753 | loadtxt: |
761 | loadtxt: |
754 | mov edi,text00 |
762 | mov edi,text00 |
755 | mov ecx,LLL*(text1_strings + text2_strings)/4+1 |
763 | mov ecx,LLL*(text1_strings + text2_strings)/4+1 |
756 | cmp [syslang],4 |
764 | cmp [syslang],4 |
757 | jne norus |
765 | jne loadet |
758 | 766 | ||
759 | mov esi,textrus |
767 | mov esi,textrus |
760 | jmp sload |
768 | jmp sload |
- | 769 | loadet: |
|
- | 770 | mov edi,text00 |
|
- | 771 | mov ecx,LLL*(text1_strings + text2_strings)/4+1 |
|
- | 772 | cmp [syslang],6 |
|
- | 773 | jne norus |
|
- | 774 | mov esi,textet |
|
- | 775 | jmp sload |
|
761 | ;-------------------------------------- |
776 | ;-------------------------------------- |
762 | norus: |
777 | norus: |
763 | mov esi,texteng |
778 | mov esi,texteng |
764 | ;-------------------------------------- |
779 | ;-------------------------------------- |
765 | sload: |
780 | sload: |
766 | rep movsd |
781 | rep movsd |
767 | ret |
782 | ret |
768 | ;------------------------------------------------------------------------------- |
783 | ;------------------------------------------------------------------------------- |
769 | cleantxt: |
784 | cleantxt: |
770 | xor eax,eax |
785 | xor eax,eax |
771 | mov ecx,LLL*(text1_strings + text2_strings)/4 |
786 | mov ecx,LLL*(text1_strings + text2_strings)/4 |
772 | cld |
787 | cld |
773 | mov edi,text00 |
788 | mov edi,text00 |
774 | rep stosd |
789 | rep stosd |
775 | mov [text00+1711],byte 'x' |
790 | mov [text00+1711],byte 'x' |
776 | ret |
791 | ret |
777 | ;------------------------------------------------------------------------------- |
792 | ;------------------------------------------------------------------------------- |
778 | ; DATA AREA |
793 | ; DATA AREA |
779 | count: db 0x0 |
794 | count: db 0x0 |
780 | blinkpar: dd 0x0 |
795 | blinkpar: dd 0x0 |
781 | time: dw 0x0 |
796 | time: dw 0x0 |
782 | date: dd 0x0 |
797 | date: dd 0x0 |
783 | ;------------------------------------------------------------------------------- |
798 | ;------------------------------------------------------------------------------- |
784 | textrus: |
799 | textrus: |
785 | db '§ëª á¨á⥬ë : ENGLISH - + ਬ¥¨âì' |
800 | db '§ëª á¨á⥬ë : ENGLISH - + ਬ¥¨âì' |
786 | db ' ᪫ ¤ª ª« ¢¨ âãàë : ENGLISH - + ਬ¥¨âì' |
801 | db ' ᪫ ¤ª ª« ¢¨ âãàë : ENGLISH - + ਬ¥¨âì' |
787 | db 'ª«îç¨âì LBA : OFF - + ਬ¥¨âì' |
802 | db 'ª«îç¨âì LBA : OFF - + ਬ¥¨âì' |
788 | db '®áâ㯠ª 訥 PCI : OFF - + ਬ¥¨âì' |
803 | db '®áâ㯠ª 訥 PCI : OFF - + ਬ¥¨âì' |
789 | db 'ª®à®áâì ªãàá®à ¬ëè¨ : 1 - + ਬ¥¨âì' |
804 | db 'ª®à®áâì ªãàá®à ¬ëè¨ : 1 - + ਬ¥¨âì' |
790 | db ' ¤¥à¦ª ãáª®à¥¨ï ¬ëè¨ : 0x00a - + ਬ¥¨âì' |
805 | db ' ¤¥à¦ª ãáª®à¥¨ï ¬ëè¨ : 0x00a - + ਬ¥¨âì' |
791 | db '몫îç¨âì SPEAKER : OFF - + ਬ¥¨âì' |
806 | db '몫îç¨âì SPEAKER : OFF - + ਬ¥¨âì' |
792 | 807 | ||
793 | db ' : ਬ¥¨âì ¢á¥ ' |
808 | db ' : ਬ¥¨âì ¢á¥ ' |
794 | db ' ®åà ¨âì ¢á¥ ' |
809 | db ' ®åà ¨âì ¢á¥ ' |
795 | ;------------------------------------------------------------------------------- |
810 | ;------------------------------------------------------------------------------- |
796 | texteng: |
811 | texteng: |
797 | db 'System language : ENGLISH - + Apply ' |
812 | db 'System language : ENGLISH - + Apply ' |
798 | db 'Keyboard layout : ENGLISH - + Apply ' |
813 | db 'Keyboard layout : ENGLISH - + Apply ' |
799 | db 'LBA read enabled : OFF - + Apply ' |
814 | db 'LBA read enabled : OFF - + Apply ' |
800 | db 'PCI access for appl. : OFF - + Apply ' |
815 | db 'PCI access for appl. : OFF - + Apply ' |
801 | db 'Mouse pointer speed : 1 - + Apply ' |
816 | db 'Mouse pointer speed : 1 - + Apply ' |
802 | db 'Mouse pointer delay : 0x00a - + Apply ' |
817 | db 'Mouse pointer delay : 0x00a - + Apply ' |
803 | db 'SPEAKER disabled : OFF - + Apply ' |
818 | db 'SPEAKER disabled : OFF - + Apply ' |
804 | text1_strings = 7 |
819 | text1_strings = 7 |
805 | 820 | ||
806 | db 'NOTE: Apply all ' |
821 | db 'NOTE: Apply all ' |
807 | db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI Save all ' |
822 | db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI Save all ' |
- | 823 | textet: |
|
- | 824 | db 'Süsteemi keel : ENGLISH - + Kinnita ' |
|
- | 825 | db 'Klaviatuuri paigutus : ENGLISH - + Kinnita ' |
|
- | 826 | db 'LBA lugemine lubatud : VÄL. - + Kinnita ' |
|
- | 827 | db 'PCI juurdepääs programm. : VÄL. - + Kinnita ' |
|
- | 828 | db 'Hiire kursori kiirus : 1 - + Kinnita ' |
|
- | 829 | db 'Hiire kursori viide : 0x00a - + Kinnita ' |
|
- | 830 | db 'SPEAKER disabled : VÄL. - + Kinnita ' |
|
- | 831 | db 'MÄRKUS: Kinnita kõik' |
|
- | 832 | db 'SALVESTA SEADED ENNE KOLIBRIST VÄLJUMIST Salvesta kõik' |
|
808 | text2_strings = 2 |
833 | text2_strings = 3 |
809 | ;------------------------------------------------------------------------------- |
834 | ;------------------------------------------------------------------------------- |
810 | title db 'System setup',0 |
835 | title db 'System setup',0 |
811 | 836 | ||
812 | hex db '0123456789ABCDEF' |
837 | hex db '0123456789ABCDEF' |
813 | ;------------------------------------------------------------------------------- |
838 | ;------------------------------------------------------------------------------- |
814 | include 'keymaps.inc' |
839 | include 'keymaps.inc' |
815 | ;------------------------------------------------------------------------------- |
840 | ;------------------------------------------------------------------------------- |
816 | read_fileinfo: |
841 | read_fileinfo: |
817 | dd 0 |
842 | dd 0 |
818 | dd 0 |
843 | dd 0 |
819 | dd 0 |
844 | dd 0 |
820 | dd 28 |
845 | dd 28 |
821 | dd keyboard |
846 | dd keyboard |
822 | db 0 |
847 | db 0 |
823 | dd file_name |
848 | dd file_name |
824 | ;------------------------------------------------------------------------------- |
849 | ;------------------------------------------------------------------------------- |
825 | save_fileinfo: |
850 | save_fileinfo: |
826 | dd 2 |
851 | dd 2 |
827 | dd 0 |
852 | dd 0 |
828 | dd 0 |
853 | dd 0 |
829 | dd 28 |
854 | dd 28 |
830 | dd keyboard |
855 | dd keyboard |
831 | file_name: db '/sys/setup.dat',0 |
856 | file_name: db '/sys/setup.dat',0 |
832 | ;------------------------------------------------------------------------------- |
857 | ;------------------------------------------------------------------------------- |
833 | keyboard dd 0x0 |
858 | keyboard dd 0x0 |
834 | syslang dd 0x4 ; 4 - rus |
859 | syslang dd 0x4 ; 4 - rus |
835 | lba_read dd 0x1 |
860 | lba_read dd 0x1 |
836 | pci_acc dd 0x1 |
861 | pci_acc dd 0x1 |
837 | mouse_speed dd 0x2 |
862 | mouse_speed dd 0x2 |
838 | mouse_delay dd 0xa |
863 | mouse_delay dd 0xa |
839 | speaker_mute dd 0 ; 0 - enable, 1 - disable |
864 | speaker_mute dd 0 ; 0 - enable, 1 - disable |
840 | ;----------------------------------------------------------------------------- |
865 | ;----------------------------------------------------------------------------- |
841 | IM_END: |
866 | IM_END: |
842 | ;----------------------------------------------------------------------------- |
867 | ;----------------------------------------------------------------------------- |
843 | align 4 |
868 | align 4 |
844 | text00: |
869 | text00: |
845 | rb LLL*(text1_strings + text2_strings)+4 |
870 | rb LLL*(text1_strings + text2_strings)+4 |
846 | ;----------------------------------------------------------------------------- |
871 | ;----------------------------------------------------------------------------- |
847 | align 4 |
872 | align 4 |
848 | boot_param: |
873 | boot_param: |
849 | procinfo: |
874 | procinfo: |
850 | rb 1024 |
875 | rb 1024 |
851 | ;----------------------------------------------------------------------------- |
876 | ;----------------------------------------------------------------------------- |
852 | align 4 |
877 | align 4 |
853 | rb 0x1000 |
878 | rb 0x1000 |
854 | stack_area: |
879 | stack_area: |
855 | ;----------------------------------------------------------------------------- |
880 | ;----------------------------------------------------------------------------- |
856 | I_END: |
881 | I_END: |
857 | ;-------------------------------------------------------------------------------0,(14*8)>165,85>(5+16*8),12>(350-85),100>40,(12*16)>40,(355+BBB)>(350-73),9>(350-85),9>(350-57),(46+BBB)> |
882 | ;-------------------------------------------------------------------------------0,(14*8)>165,85>(5+16*8),12>(350-85),100>40,(12*16)>40,(355+BBB)>(350-73),9>(350-85),9>(350-57),(46+BBB)> |