Subversion Repositories Kolibri OS

Rev

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
;-------------------------------------------------------------------------------
857
;-------------------------------------------------------------------------------