Rev 3221 | Rev 4097 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3221 | Rev 3671 | ||
---|---|---|---|
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,6 |
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,6 |
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 nosetkeylbe |
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 |
|
- | 442 | ;-------------------------------------- |
|
- | 443 | nosetkeylit: |
|
- | 444 | cmp [keyboard],7 ;italian |
|
- | 445 | jnz nosetkeylbe |
|
- | 446 | ||
- | 447 | mcall 21,2,1,it_keymap |
|
- | 448 | ||
- | 449 | inc ecx |
|
- | 450 | mcall 21,,,it_keymap_shift |
|
- | 451 | ||
- | 452 | inc ecx |
|
- | 453 | mcall 21,,,it_keymap_alt_gr |
|
- | 454 | ||
441 | mcall 21,,9,5 |
455 | mcall 21,,9,8 |
- | 456 | ;-------------------------------------- |
|
442 | ;-------------------------------------- |
457 | |
443 | nosetkeylbe: |
458 | nosetkeylbe: |
444 | ret |
459 | ret |
445 | ;------------------------------------------------------------------------------- |
460 | ;------------------------------------------------------------------------------- |
446 | alt_gen: |
461 | alt_gen: |
447 | mcall 21,,3,alt_general |
462 | mcall 21,,3,alt_general |
448 | ret |
463 | ret |
449 | ;------------------------------------------------------------------------------- |
464 | ;------------------------------------------------------------------------------- |
450 | draw_buttons: |
465 | draw_buttons: |
451 | pusha |
466 | pusha |
452 | shl ecx,16 |
467 | shl ecx,16 |
453 | add ecx,12 |
468 | add ecx,12 |
454 | mcall 8,<(350-57),(46+BBB)> |
469 | mcall 8,<(350-57),(46+BBB)> |
455 | 470 | ||
456 | inc edx |
471 | inc edx |
457 | mcall ,<(350-85),9> |
472 | mcall ,<(350-85),9> |
458 | 473 | ||
459 | inc edx |
474 | inc edx |
460 | mcall ,<(350-73),9> |
475 | mcall ,<(350-73),9> |
461 | 476 | ||
462 | popa |
477 | popa |
463 | ret |
478 | ret |
464 | ;------------------------------------------------------------------------------- |
479 | ;------------------------------------------------------------------------------- |
465 | ; ******************************************** |
480 | ; ******************************************** |
466 | ; ******* WINDOW DEFINITIONS AND DRAW ******* |
481 | ; ******* WINDOW DEFINITIONS AND DRAW ******* |
467 | ; ******************************************** |
482 | ; ******************************************** |
468 | draw_window: |
483 | draw_window: |
469 | pusha |
484 | pusha |
470 | mcall 12,1 |
485 | mcall 12,1 |
471 | 486 | ||
472 | xor eax,eax ; DRAW WINDOW |
487 | xor eax,eax ; DRAW WINDOW |
473 | xor esi,esi |
488 | xor esi,esi |
474 | mcall ,<40,(355+BBB)>,<40,(12*16)>,0xB4111199,,title |
489 | mcall ,<40,(355+BBB)>,<40,(12*16)>,0xB4111199,,title |
475 | 490 | ||
476 | mcall 9,procinfo,-1 |
491 | mcall 9,procinfo,-1 |
477 | 492 | ||
478 | mov eax,[ebx+70] ;status of window |
493 | mov eax,[ebx+70] ;status of window |
479 | test eax,100b |
494 | test eax,100b |
480 | jne .end |
495 | jne .end |
481 | 496 | ||
482 | 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 |
483 | 498 | ||
484 | add ecx,16*65536 ; SAVE ALL |
499 | add ecx,16*65536 ; SAVE ALL |
485 | dec edx |
500 | dec edx |
486 | mcall |
501 | mcall |
487 | 502 | ||
488 | mov esi,0x5580c0 |
503 | mov esi,0x5580c0 |
489 | 504 | ||
490 | mov edx,41 |
505 | mov edx,41 |
491 | mov ecx,5+0*8 |
506 | mov ecx,5+0*8 |
492 | call draw_buttons |
507 | call draw_buttons |
493 | 508 | ||
494 | mov edx,3 |
509 | mov edx,3 |
495 | mov ecx,5+2*8 |
510 | mov ecx,5+2*8 |
496 | call draw_buttons |
511 | call draw_buttons |
497 | 512 | ||
498 | mov edx,91 |
513 | mov edx,91 |
499 | mov ecx,5+4*8 |
514 | mov ecx,5+4*8 |
500 | call draw_buttons |
515 | call draw_buttons |
501 | 516 | ||
502 | mov edx,101 |
517 | mov edx,101 |
503 | mov ecx,5+6*8 |
518 | mov ecx,5+6*8 |
504 | call draw_buttons |
519 | call draw_buttons |
505 | 520 | ||
506 | mov edx,131 |
521 | mov edx,131 |
507 | mov ecx,5+8*8 |
522 | mov ecx,5+8*8 |
508 | call draw_buttons |
523 | call draw_buttons |
509 | 524 | ||
510 | mov edx,141 |
525 | mov edx,141 |
511 | mov ecx,5+10*8 |
526 | mov ecx,5+10*8 |
512 | call draw_buttons |
527 | call draw_buttons |
513 | 528 | ||
514 | mov edx,151 |
529 | mov edx,151 |
515 | mov ecx,5+12*8 |
530 | mov ecx,5+12*8 |
516 | call draw_buttons |
531 | call draw_buttons |
517 | 532 | ||
518 | call draw_infotext |
533 | call draw_infotext |
519 | .end: |
534 | .end: |
520 | mcall 12,2 |
535 | mcall 12,2 |
521 | popa |
536 | popa |
522 | ret |
537 | ret |
523 | ;------------------------------------------------------------------------------- |
538 | ;------------------------------------------------------------------------------- |
524 | draw_infotext: |
539 | draw_infotext: |
525 | pusha |
540 | pusha |
526 | mov eax,[keyboard] ; KEYBOARD |
541 | mov eax,[keyboard] ; KEYBOARD |
527 | test eax,eax |
542 | test eax,eax |
528 | jnz noen |
543 | jnz noen |
529 | mov [text00+LLL*1+28],dword 'ENGL' |
544 | mov [text00+LLL*1+28],dword 'ENGL' |
530 | mov [text00+LLL*1+32],dword 'ISH ' |
545 | mov [text00+LLL*1+32],dword 'ISH ' |
531 | ;-------------------------------------- |
546 | ;-------------------------------------- |
532 | noen: |
547 | noen: |
533 | cmp eax,1 |
548 | cmp eax,1 |
534 | jnz nofi |
549 | jnz nofi |
535 | mov [text00+LLL*1+28],dword 'FINN' |
550 | mov [text00+LLL*1+28],dword 'FINN' |
536 | mov [text00+LLL*1+32],dword 'ISH ' |
551 | mov [text00+LLL*1+32],dword 'ISH ' |
537 | ;-------------------------------------- |
552 | ;-------------------------------------- |
538 | nofi: |
553 | nofi: |
539 | cmp eax,2 |
554 | cmp eax,2 |
540 | jnz noge |
555 | jnz noge |
541 | mov [text00+LLL*1+28],dword 'GERM' |
556 | mov [text00+LLL*1+28],dword 'GERM' |
542 | mov [text00+LLL*1+32],dword 'AN ' |
557 | mov [text00+LLL*1+32],dword 'AN ' |
543 | ;-------------------------------------- |
558 | ;-------------------------------------- |
544 | noge: |
559 | noge: |
545 | cmp eax,3 |
560 | cmp eax,3 |
546 | jnz nogr |
561 | jnz nogr |
547 | mov [text00+LLL*1+28],dword 'RUSS' |
562 | mov [text00+LLL*1+28],dword 'RUSS' |
548 | mov [text00+LLL*1+32],dword 'IAN ' |
563 | mov [text00+LLL*1+32],dword 'IAN ' |
549 | ;-------------------------------------- |
564 | ;-------------------------------------- |
550 | nogr: |
565 | nogr: |
551 | cmp eax,4 |
566 | cmp eax,4 |
552 | jnz nofr |
567 | jnz nofr |
553 | mov [text00+LLL*1+28],dword 'FREN' |
568 | mov [text00+LLL*1+28],dword 'FREN' |
554 | mov [text00+LLL*1+32],dword 'CH ' |
569 | mov [text00+LLL*1+32],dword 'CH ' |
555 | ;-------------------------------------- |
570 | ;-------------------------------------- |
556 | nofr: |
571 | nofr: |
557 | cmp eax,5 |
572 | cmp eax,5 |
558 | jnz noet |
573 | jnz noet |
559 | mov [text00+LLL*1+28],dword 'ESTO' |
574 | mov [text00+LLL*1+28],dword 'ESTO' |
560 | mov [text00+LLL*1+32],dword 'NIAN' |
575 | mov [text00+LLL*1+32],dword 'NIAN' |
561 | ;-------------------------------------- |
576 | ;-------------------------------------- |
562 | noet: |
577 | noet: |
563 | cmp eax,6 |
578 | cmp eax,6 |
564 | jnz nobe |
579 | jnz nobe |
565 | mov [text00+LLL*1+28],dword 'BELG' |
580 | mov [text00+LLL*1+28],dword 'BELG' |
566 | mov [text00+LLL*1+32],dword 'IAN ' |
581 | mov [text00+LLL*1+32],dword 'IAN ' |
567 | ;-------------------------------------- |
582 | ;-------------------------------------- |
568 | nobe: |
583 | nobe: |
- | 584 | cmp eax,7 |
|
- | 585 | jnz noit |
|
- | 586 | mov [text00+LLL*1+28],dword 'ITAL' |
|
- | 587 | mov [text00+LLL*1+32],dword 'IAN' |
|
- | 588 | ;-------------------------------------- |
|
- | 589 | noit: |
|
569 | mov eax,[syslang] ; SYSTEM LANGUAGE |
590 | mov eax,[syslang] ; SYSTEM LANGUAGE |
570 | dec eax |
591 | dec eax |
571 | test eax,eax |
592 | test eax,eax |
572 | jnz noen5 |
593 | jnz noen5 |
573 | mov [text00+LLL*0+28],dword 'ENGL' |
594 | mov [text00+LLL*0+28],dword 'ENGL' |
574 | mov [text00+LLL*0+32],dword 'ISH ' |
595 | mov [text00+LLL*0+32],dword 'ISH ' |
575 | ;-------------------------------------- |
596 | ;-------------------------------------- |
576 | noen5: |
597 | noen5: |
577 | cmp eax,1 |
598 | cmp eax,1 |
578 | jnz nofi5 |
599 | jnz nofi5 |
579 | mov [text00+LLL*0+28],dword 'FINN' |
600 | mov [text00+LLL*0+28],dword 'FINN' |
580 | mov [text00+LLL*0+32],dword 'ISH ' |
601 | mov [text00+LLL*0+32],dword 'ISH ' |
581 | ;-------------------------------------- |
602 | ;-------------------------------------- |
582 | nofi5: |
603 | nofi5: |
583 | cmp eax,2 |
604 | cmp eax,2 |
584 | jnz noge5 |
605 | jnz noge5 |
585 | mov [text00+LLL*0+28],dword 'GERM' |
606 | mov [text00+LLL*0+28],dword 'GERM' |
586 | mov [text00+LLL*0+32],dword 'AN ' |
607 | mov [text00+LLL*0+32],dword 'AN ' |
587 | ;-------------------------------------- |
608 | ;-------------------------------------- |
588 | noge5: |
609 | noge5: |
589 | cmp eax,3 |
610 | cmp eax,3 |
590 | jnz nogr5 |
611 | jnz nogr5 |
591 | mov [text00+LLL*0+28],dword 'RUSS' |
612 | mov [text00+LLL*0+28],dword 'RUSS' |
592 | mov [text00+LLL*0+32],dword 'IAN ' |
613 | mov [text00+LLL*0+32],dword 'IAN ' |
593 | ;-------------------------------------- |
614 | ;-------------------------------------- |
594 | nogr5: |
615 | nogr5: |
595 | cmp eax,4 |
616 | cmp eax,4 |
596 | jne nofr5 |
617 | jne nofr5 |
597 | mov [text00+LLL*0+28],dword 'FREN' |
618 | mov [text00+LLL*0+28],dword 'FREN' |
598 | mov [text00+LLL*0+32],dword 'CH ' |
619 | mov [text00+LLL*0+32],dword 'CH ' |
599 | ;-------------------------------------- |
620 | ;-------------------------------------- |
600 | nofr5: |
621 | nofr5: |
601 | cmp eax,5 |
622 | cmp eax,5 |
602 | jne noet5 |
623 | jne noet5 |
603 | mov [text00+LLL*0+28],dword 'ESTO' |
624 | mov [text00+LLL*0+28],dword 'ESTO' |
604 | mov [text00+LLL*0+32],dword 'NIAN' |
625 | mov [text00+LLL*0+32],dword 'NIAN' |
605 | ;-------------------------------------- |
626 | ;-------------------------------------- |
606 | noet5: |
627 | noet5: |
607 | mov eax,[lba_read] |
628 | mov eax,[lba_read] |
608 | call onoff ; LBA READ |
629 | call onoff ; LBA READ |
609 | mov [text00+LLL*2+28],ebx |
630 | mov [text00+LLL*2+28],ebx |
610 | 631 | ||
611 | mov eax,[pci_acc] |
632 | mov eax,[pci_acc] |
612 | call onoff ; PCI ACCESS |
633 | call onoff ; PCI ACCESS |
613 | mov [text00+LLL*3+28],ebx |
634 | mov [text00+LLL*3+28],ebx |
614 | 635 | ||
615 | mov eax,[speaker_mute] |
636 | mov eax,[speaker_mute] |
616 | call onoff ; SPEAKER |
637 | call onoff ; SPEAKER |
617 | mov [text00+LLL*6+28],ebx |
638 | mov [text00+LLL*6+28],ebx |
618 | 639 | ||
619 | mov eax,[mouse_speed] ; MOUSE SPEED |
640 | mov eax,[mouse_speed] ; MOUSE SPEED |
620 | add al,48 |
641 | add al,48 |
621 | mov [text00+LLL*4+28],al |
642 | mov [text00+LLL*4+28],al |
622 | 643 | ||
623 | mov eax,[mouse_delay] |
644 | mov eax,[mouse_delay] |
624 | mov esi,text00+LLL*5+32 |
645 | mov esi,text00+LLL*5+32 |
625 | call hexconvert ; MOUSE DELAY |
646 | call hexconvert ; MOUSE DELAY |
626 | call text_out |
647 | call text_out |
627 | 648 | ||
628 | popa |
649 | popa |
629 | ret |
650 | ret |
630 | ;------------------------------------------------------------------------------- |
651 | ;------------------------------------------------------------------------------- |
631 | text_out: |
652 | text_out: |
632 | mcall 13,<165,85>,<0,(14*8)>,0x80111199 ;0x80111199-19 |
653 | mcall 13,<165,85>,<0,(14*8)>,0x80111199 ;0x80111199-19 |
633 | 654 | ||
634 | mov edx,text00 |
655 | mov edx,text00 |
635 | mov ebx,3*65536+7 |
656 | mov ebx,3*65536+7 |
636 | mov eax,4 |
657 | mov eax,4 |
637 | mov ecx,0xffffff |
658 | mov ecx,0xffffff |
638 | mov esi,LLL |
659 | mov esi,LLL |
639 | mov ebp,text1_strings |
660 | mov ebp,text1_strings |
640 | ;-------------------------------------- |
661 | ;-------------------------------------- |
641 | newline: |
662 | newline: |
642 | mcall |
663 | mcall |
643 | add ebx,8+8 |
664 | add ebx,8+8 |
644 | add edx,esi |
665 | add edx,esi |
645 | dec ebp |
666 | dec ebp |
646 | jnz newline |
667 | jnz newline |
647 | 668 | ||
648 | mov ebp,text2_strings |
669 | mov ebp,text2_strings |
649 | add ebx,8+8 |
670 | add ebx,8+8 |
650 | ;-------------------------------------- |
671 | ;-------------------------------------- |
651 | @@: |
672 | @@: |
652 | mcall |
673 | mcall |
653 | add ebx,8+8 |
674 | add ebx,8+8 |
654 | add edx,esi |
675 | add edx,esi |
655 | dec ebp |
676 | dec ebp |
656 | jnz @b |
677 | jnz @b |
657 | ret |
678 | ret |
658 | ;------------------------------------------------------------------------------- |
679 | ;------------------------------------------------------------------------------- |
659 | hexconvert: ;converting dec to hex in ascii |
680 | hexconvert: ;converting dec to hex in ascii |
660 | xor ebx,ebx |
681 | xor ebx,ebx |
661 | mov bl,al |
682 | mov bl,al |
662 | and bl,15 |
683 | and bl,15 |
663 | add ebx,hex |
684 | add ebx,hex |
664 | mov cl,[ebx] |
685 | mov cl,[ebx] |
665 | mov [esi],cl |
686 | mov [esi],cl |
666 | shr eax,4 |
687 | shr eax,4 |
667 | xor ebx,ebx |
688 | xor ebx,ebx |
668 | mov bl,al |
689 | mov bl,al |
669 | and bl,15 |
690 | and bl,15 |
670 | add ebx,hex |
691 | add ebx,hex |
671 | mov cl,[ebx] |
692 | mov cl,[ebx] |
672 | dec esi |
693 | dec esi |
673 | mov [esi],cl |
694 | mov [esi],cl |
674 | shr eax,4 |
695 | shr eax,4 |
675 | xor ebx,ebx |
696 | xor ebx,ebx |
676 | mov bl,al |
697 | mov bl,al |
677 | and bl,15 |
698 | and bl,15 |
678 | add ebx,hex |
699 | add ebx,hex |
679 | mov cl,[ebx] |
700 | mov cl,[ebx] |
680 | dec esi |
701 | dec esi |
681 | mov [esi],cl |
702 | mov [esi],cl |
682 | ret |
703 | ret |
683 | ;------------------------------------------------------------------------------- |
704 | ;------------------------------------------------------------------------------- |
684 | onoff: |
705 | onoff: |
685 | cmp [syslang],4 |
706 | cmp [syslang],4 |
686 | jne norus1 |
707 | jne norus1 |
687 | mov ebx,' ' |
708 | mov ebx,' ' |
688 | cmp eax,1 |
709 | cmp eax,1 |
689 | je exitsub |
710 | je exitsub |
690 | mov ebx,' ' |
711 | mov ebx,' ' |
691 | ret |
712 | ret |
692 | ;-------------------------------------- |
713 | ;-------------------------------------- |
693 | norus1: |
714 | norus1: |
694 | mov ebx,'ON ' |
715 | mov ebx,'ON ' |
695 | cmp eax,1 |
716 | cmp eax,1 |
696 | je exitsub |
717 | je exitsub |
697 | mov ebx,'OFF ' |
718 | mov ebx,'OFF ' |
698 | ;-------------------------------------- |
719 | ;-------------------------------------- |
699 | exitsub: |
720 | exitsub: |
700 | ret |
721 | ret |
701 | ;------------------------------------------------------------------------------- |
722 | ;------------------------------------------------------------------------------- |
702 | _lba_read: |
723 | _lba_read: |
703 | mcall 21,11,[lba_read] |
724 | mcall 21,11,[lba_read] |
704 | ret |
725 | ret |
705 | ;------------------------------------------------------------------------------- |
726 | ;------------------------------------------------------------------------------- |
706 | _pci_acc: |
727 | _pci_acc: |
707 | mcall 21,12,[pci_acc] |
728 | mcall 21,12,[pci_acc] |
708 | ret |
729 | ret |
709 | ;------------------------------------------------------------------------------- |
730 | ;------------------------------------------------------------------------------- |
710 | _syslang: |
731 | _syslang: |
711 | mcall 21,5,[syslang] |
732 | mcall 21,5,[syslang] |
712 | ret |
733 | ret |
713 | ;------------------------------------------------------------------------------- |
734 | ;------------------------------------------------------------------------------- |
714 | _mouse_speed: |
735 | _mouse_speed: |
715 | mcall 18,19,1,[mouse_speed] |
736 | mcall 18,19,1,[mouse_speed] |
716 | ret |
737 | ret |
717 | ;------------------------------------------------------------------------------- |
738 | ;------------------------------------------------------------------------------- |
718 | _mouse_delay: |
739 | _mouse_delay: |
719 | mcall 18,19,3,[mouse_delay] |
740 | mcall 18,19,3,[mouse_delay] |
720 | ret |
741 | ret |
721 | ;------------------------------------------------------------------------------- |
742 | ;------------------------------------------------------------------------------- |
722 | _speaker_mute: |
743 | _speaker_mute: |
723 | mcall 18,8,1 |
744 | mcall 18,8,1 |
724 | cmp [speaker_mute],eax |
745 | cmp [speaker_mute],eax |
725 | je @f |
746 | je @f |
726 | inc ecx |
747 | inc ecx |
727 | mcall 18 |
748 | mcall 18 |
728 | ;-------------------------------------- |
749 | ;-------------------------------------- |
729 | @@: |
750 | @@: |
730 | ret |
751 | ret |
731 | ;------------------------------------------------------------------------------- |
752 | ;------------------------------------------------------------------------------- |
732 | loadtxt: |
753 | loadtxt: |
733 | mov edi,text00 |
754 | mov edi,text00 |
734 | mov ecx,LLL*(text1_strings + text2_strings)/4+1 |
755 | mov ecx,LLL*(text1_strings + text2_strings)/4+1 |
735 | cmp [syslang],4 |
756 | cmp [syslang],4 |
736 | jne norus |
757 | jne norus |
737 | 758 | ||
738 | mov esi,textrus |
759 | mov esi,textrus |
739 | jmp sload |
760 | jmp sload |
740 | ;-------------------------------------- |
761 | ;-------------------------------------- |
741 | norus: |
762 | norus: |
742 | mov esi,texteng |
763 | mov esi,texteng |
743 | ;-------------------------------------- |
764 | ;-------------------------------------- |
744 | sload: |
765 | sload: |
745 | rep movsd |
766 | rep movsd |
746 | ret |
767 | ret |
747 | ;------------------------------------------------------------------------------- |
768 | ;------------------------------------------------------------------------------- |
748 | cleantxt: |
769 | cleantxt: |
749 | xor eax,eax |
770 | xor eax,eax |
750 | mov ecx,LLL*(text1_strings + text2_strings)/4 |
771 | mov ecx,LLL*(text1_strings + text2_strings)/4 |
751 | cld |
772 | cld |
752 | mov edi,text00 |
773 | mov edi,text00 |
753 | rep stosd |
774 | rep stosd |
754 | mov [text00+1711],byte 'x' |
775 | mov [text00+1711],byte 'x' |
755 | ret |
776 | ret |
756 | ;------------------------------------------------------------------------------- |
777 | ;------------------------------------------------------------------------------- |
757 | ; DATA AREA |
778 | ; DATA AREA |
758 | count: db 0x0 |
779 | count: db 0x0 |
759 | blinkpar: dd 0x0 |
780 | blinkpar: dd 0x0 |
760 | time: dw 0x0 |
781 | time: dw 0x0 |
761 | date: dd 0x0 |
782 | date: dd 0x0 |
762 | ;------------------------------------------------------------------------------- |
783 | ;------------------------------------------------------------------------------- |
763 | textrus: |
784 | textrus: |
764 | db '§ëª á¨á⥬ë : ENGLISH - + ਬ¥¨âì' |
785 | db '§ëª á¨á⥬ë : ENGLISH - + ਬ¥¨âì' |
765 | db ' ᪫ ¤ª ª« ¢¨ âãàë : ENGLISH - + ਬ¥¨âì' |
786 | db ' ᪫ ¤ª ª« ¢¨ âãàë : ENGLISH - + ਬ¥¨âì' |
766 | db 'ª«îç¨âì LBA : OFF - + ਬ¥¨âì' |
787 | db 'ª«îç¨âì LBA : OFF - + ਬ¥¨âì' |
767 | db '®áâ㯠ª 訥 PCI : OFF - + ਬ¥¨âì' |
788 | db '®áâ㯠ª 訥 PCI : OFF - + ਬ¥¨âì' |
768 | db 'ª®à®áâì ªãàá®à ¬ëè¨ : 1 - + ਬ¥¨âì' |
789 | db 'ª®à®áâì ªãàá®à ¬ëè¨ : 1 - + ਬ¥¨âì' |
769 | db ' ¤¥à¦ª ãáª®à¥¨ï ¬ëè¨ : 0x00a - + ਬ¥¨âì' |
790 | db ' ¤¥à¦ª ãáª®à¥¨ï ¬ëè¨ : 0x00a - + ਬ¥¨âì' |
770 | db '몫îç¨âì SPEAKER : OFF - + ਬ¥¨âì' |
791 | db '몫îç¨âì SPEAKER : OFF - + ਬ¥¨âì' |
771 | 792 | ||
772 | db ' : ਬ¥¨âì ¢á¥ ' |
793 | db ' : ਬ¥¨âì ¢á¥ ' |
773 | db ' ®åà ¨âì ¢á¥ ' |
794 | db ' ®åà ¨âì ¢á¥ ' |
774 | ;------------------------------------------------------------------------------- |
795 | ;------------------------------------------------------------------------------- |
775 | texteng: |
796 | texteng: |
776 | db 'System language : ENGLISH - + Apply ' |
797 | db 'System language : ENGLISH - + Apply ' |
777 | db 'Keyboard layout : ENGLISH - + Apply ' |
798 | db 'Keyboard layout : ENGLISH - + Apply ' |
778 | db 'LBA read enabled : OFF - + Apply ' |
799 | db 'LBA read enabled : OFF - + Apply ' |
779 | db 'PCI access for appl. : OFF - + Apply ' |
800 | db 'PCI access for appl. : OFF - + Apply ' |
780 | db 'Mouse pointer speed : 1 - + Apply ' |
801 | db 'Mouse pointer speed : 1 - + Apply ' |
781 | db 'Mouse pointer delay : 0x00a - + Apply ' |
802 | db 'Mouse pointer delay : 0x00a - + Apply ' |
782 | db 'SPEAKER disabled : OFF - + Apply ' |
803 | db 'SPEAKER disabled : OFF - + Apply ' |
783 | text1_strings = 7 |
804 | text1_strings = 7 |
784 | 805 | ||
785 | db 'NOTE: Apply all ' |
806 | db 'NOTE: Apply all ' |
786 | db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI Save all ' |
807 | db 'SAVE YOUR SETTINGS BEFORE QUITING KOLIBRI Save all ' |
787 | text2_strings = 2 |
808 | text2_strings = 2 |
788 | ;------------------------------------------------------------------------------- |
809 | ;------------------------------------------------------------------------------- |
789 | title db 'System setup',0 |
810 | title db 'System setup',0 |
790 | 811 | ||
791 | hex db '0123456789ABCDEF' |
812 | hex db '0123456789ABCDEF' |
792 | ;------------------------------------------------------------------------------- |
813 | ;------------------------------------------------------------------------------- |
793 | include 'keymaps.inc' |
814 | include 'keymaps.inc' |
794 | ;------------------------------------------------------------------------------- |
815 | ;------------------------------------------------------------------------------- |
795 | read_fileinfo: |
816 | read_fileinfo: |
796 | dd 0 |
817 | dd 0 |
797 | dd 0 |
818 | dd 0 |
798 | dd 0 |
819 | dd 0 |
799 | dd 28 |
820 | dd 28 |
800 | dd keyboard |
821 | dd keyboard |
801 | db 0 |
822 | db 0 |
802 | dd file_name |
823 | dd file_name |
803 | ;------------------------------------------------------------------------------- |
824 | ;------------------------------------------------------------------------------- |
804 | save_fileinfo: |
825 | save_fileinfo: |
805 | dd 2 |
826 | dd 2 |
806 | dd 0 |
827 | dd 0 |
807 | dd 0 |
828 | dd 0 |
808 | dd 28 |
829 | dd 28 |
809 | dd keyboard |
830 | dd keyboard |
810 | file_name: db '/sys/setup.dat',0 |
831 | file_name: db '/sys/setup.dat',0 |
811 | ;------------------------------------------------------------------------------- |
832 | ;------------------------------------------------------------------------------- |
812 | keyboard dd 0x0 |
833 | keyboard dd 0x0 |
813 | syslang dd 0x4 ; 4 - rus |
834 | syslang dd 0x4 ; 4 - rus |
814 | lba_read dd 0x1 |
835 | lba_read dd 0x1 |
815 | pci_acc dd 0x1 |
836 | pci_acc dd 0x1 |
816 | mouse_speed dd 0x2 |
837 | mouse_speed dd 0x2 |
817 | mouse_delay dd 0xa |
838 | mouse_delay dd 0xa |
818 | speaker_mute dd 0 ; 0 - enable, 1 - disable |
839 | speaker_mute dd 0 ; 0 - enable, 1 - disable |
819 | ;----------------------------------------------------------------------------- |
840 | ;----------------------------------------------------------------------------- |
820 | IM_END: |
841 | IM_END: |
821 | ;----------------------------------------------------------------------------- |
842 | ;----------------------------------------------------------------------------- |
822 | align 4 |
843 | align 4 |
823 | text00: |
844 | text00: |
824 | rb LLL*(text1_strings + text2_strings)+4 |
845 | rb LLL*(text1_strings + text2_strings)+4 |
825 | ;----------------------------------------------------------------------------- |
846 | ;----------------------------------------------------------------------------- |
826 | align 4 |
847 | align 4 |
827 | boot_param: |
848 | boot_param: |
828 | procinfo: |
849 | procinfo: |
829 | rb 1024 |
850 | rb 1024 |
830 | ;----------------------------------------------------------------------------- |
851 | ;----------------------------------------------------------------------------- |
831 | align 4 |
852 | align 4 |
832 | rb 0x1000 |
853 | rb 0x1000 |
833 | stack_area: |
854 | stack_area: |
834 | ;----------------------------------------------------------------------------- |
855 | ;----------------------------------------------------------------------------- |
835 | I_END: |
856 | I_END: |
836 | ;-------------------------------------------------------------------------------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)> |
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)> |