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