Subversion Repositories Kolibri OS

Rev

Rev 120 | Rev 275 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 120 Rev 127
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                               ;;
2
;;                               ;;
3
;;          DEVICE SETUP         ;;
3
;;          DEVICE SETUP         ;;
4
;;                               ;;
4
;;                               ;;
5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
 
6
 
7
; Authors: Ville       - original version
7
; Authors: Ville       - original version
8
;          A. Ivushkin - autostart (w launcher)
8
;          A. Ivushkin - autostart (w launcher)
9
;          M. Lisovin  - added many feauters (apply all, save all, set time...)
9
;          M. Lisovin  - added many feauters (apply all, save all, set time...)
10
;          I. Poddubny - fixed russian keymap
10
;          I. Poddubny - fixed russian keymap
-
 
11
;14/08/06  Mario79 - added regulation of mouse features
11
 
12
 
12
;******************************************************************************
13
;******************************************************************************
13
  use32
14
  use32
14
  org       0x0
15
  org        0x0
15
  db      'MENUET01'   ; 8 byte identifier
16
  db      'MENUET01'   ; 8 byte identifier
16
  dd      0x01         ; header version
17
  dd      0x01           ; header version
17
  dd      START        ; pointer to program start
18
  dd      START        ; pointer to program start
18
  dd      I_END        ; size of image
19
  dd      I_END        ; size of image
19
  dd      0x4000      ; reguired amount of memory
20
  dd      0x4000      ; reguired amount of memory
20
  dd      0x4000      ; stack pointer (esp)
21
  dd      0x4000      ; stack pointer (esp)
21
  dd      I_PARAM,0    ; parameters, reserved
22
  dd      I_PARAM,0    ; parameters, reserved
22
;  include 'lang.inc'
23
;  include 'lang.inc'
23
  include 'macros.inc'
24
  include 'macros.inc'
24
;******************************************************************************
25
;******************************************************************************
25
 
26
 
26
LLL equ (56+3)
27
LLL equ (56+3)
27
BBB equ 25
28
BBB equ 25
28
 
29
 
29
;******************************************************************************
30
;******************************************************************************
30
apply_all:
31
apply_all:
31
 
32
 
32
    call _midibase    ;1
33
    call _midibase    ;1
33
    call _sound_dma    ;10
34
    call _sound_dma    ;10
34
    call _pci_acc    ;12
35
    call _pci_acc    ;12
35
    call _sb16          ;4
36
    call _sb16        ;4
36
    call _wssp          ;6
37
    call _wssp        ;6
37
    call _syslang    ;5
38
    call _syslang    ;5
38
    call _keyboard    ;2
39
    call _keyboard    ;2
-
 
40
    call _mouse_speed
39
    call _mouse
41
    call _mouse_delay
40
    call get_disk_info
42
    call get_disk_info
41
    cmp  [cd],0
43
    cmp  [cd],0
42
    jne  no_cd
44
    jne  no_cd
43
    call _cdbase    ;3
45
    call _cdbase    ;3
44
  no_cd:
46
  no_cd:
45
    cmp  [hd],0
47
    cmp  [hd],0
46
    jne  no_hd
48
    jne  no_hd
47
    call _lba_read    ;11
49
    call _lba_read    ;11
48
    call _hdbase    ;7
50
    call _hdbase    ;7
49
    call _f32p          ;8
51
    call _f32p        ;8
50
  no_hd:
52
  no_hd:
51
ret
53
ret
52
;-------------------------------------------------------------------------------
54
;-------------------------------------------------------------------------------
53
get_disk_info:
55
get_disk_info:
54
    mov  [hd],1
56
    mov  [hd],1
55
    mov  [cd],1
57
    mov  [cd],1
56
    mov  [hdbase],0
58
    mov  [hdbase],0
57
    mov  [cdbase],0
59
    mov  [cdbase],0
58
    mcall 18,11,1,table_area
60
    mcall 18,11,1,table_area
59
 
61
 
60
  ide_0:
62
  ide_0:
61
    mov  al,[table_area+1]
63
    mov  al,[table_area+1]
62
    shr  al,6
64
    shr  al,6
63
    cmp  al,0
65
    cmp  al,0
64
    je      ide_1
66
    je        ide_1
65
    cmp  al,01b
67
    cmp  al,01b
66
    jnz  ide_0_cd
68
    jnz  ide_0_cd
67
    mov  [hdbase],1
69
    mov  [hdbase],1
68
    mov  [hd],0
70
    mov  [hd],0
69
    jmp  ide_1
71
    jmp  ide_1
70
 
72
 
71
  ide_0_cd:
73
  ide_0_cd:
72
    cmp  al,10b
74
    cmp  al,10b
73
    jnz  ide_1
75
    jnz  ide_1
74
    mov  [cdbase],1
76
    mov  [cdbase],1
75
    mov  [cd],0
77
    mov  [cd],0
76
    cmp  [hd],0
78
    cmp  [hd],0
77
    je       all_device
79
    je         all_device
78
 
80
 
79
  ide_1:
81
  ide_1:
80
    mov  al,[table_area+1]
82
    mov  al,[table_area+1]
81
    shl  al,2
83
    shl  al,2
82
    shr  al,6
84
    shr  al,6
83
    cmp  al,0
85
    cmp  al,0
84
    je      ide_2
86
    je        ide_2
85
    cmp  al,01b
87
    cmp  al,01b
86
    jnz  ide_1_cd
88
    jnz  ide_1_cd
87
    cmp  [hd],0
89
    cmp  [hd],0
88
    je       ide_11
90
    je         ide_11
89
    mov  [hdbase],2
91
    mov  [hdbase],2
90
    mov  [hd],0
92
    mov  [hd],0
91
  ide_11:
93
  ide_11:
92
    cmp  [cd],0
94
    cmp  [cd],0
93
    je       all_device
95
    je         all_device
94
    jmp  ide_2
96
    jmp  ide_2
95
 
97
 
96
  ide_1_cd:
98
  ide_1_cd:
97
    cmp  al,10b
99
    cmp  al,10b
98
    jnz  ide_2
100
    jnz  ide_2
99
    cmp  [cd],0
101
    cmp  [cd],0
100
    je       ide_11_cd
102
    je         ide_11_cd
101
    mov  [cdbase],2
103
    mov  [cdbase],2
102
    mov  [cd],0
104
    mov  [cd],0
103
  ide_11_cd:
105
  ide_11_cd:
104
    cmp  [hd],0
106
    cmp  [hd],0
105
    je       all_device
107
    je         all_device
106
 
108
 
107
 ide_2:
109
 ide_2:
108
    mov  al,[table_area+1]
110
    mov  al,[table_area+1]
109
    shl  al,4
111
    shl  al,4
110
    shr  al,6
112
    shr  al,6
111
    cmp  al,0
113
    cmp  al,0
112
    je      ide_3
114
    je        ide_3
113
    cmp  al,01b
115
    cmp  al,01b
114
    jnz  ide_2_cd
116
    jnz  ide_2_cd
115
    cmp  [hd],0
117
    cmp  [hd],0
116
    je       ide_21
118
    je         ide_21
117
    mov  [hdbase],3
119
    mov  [hdbase],3
118
    mov  [hd],0
120
    mov  [hd],0
119
  ide_21:
121
  ide_21:
120
    cmp  [cd],0
122
    cmp  [cd],0
121
    je       all_device
123
    je         all_device
122
    jmp  ide_3
124
    jmp  ide_3
123
 
125
 
124
  ide_2_cd:
126
  ide_2_cd:
125
    cmp  al,10b
127
    cmp  al,10b
126
    jnz  ide_3
128
    jnz  ide_3
127
    cmp  [cd],0
129
    cmp  [cd],0
128
    je       ide_21_cd
130
    je         ide_21_cd
129
    mov  [cdbase],3
131
    mov  [cdbase],3
130
    mov  [cd],0
132
    mov  [cd],0
131
  ide_21_cd:
133
  ide_21_cd:
132
    cmp  [hd],0
134
    cmp  [hd],0
133
    je       all_device
135
    je         all_device
134
 
136
 
135
  ide_3:
137
  ide_3:
136
    mov  al,[table_area+1]
138
    mov  al,[table_area+1]
137
    shl  al,6
139
    shl  al,6
138
    shr  al,6
140
    shr  al,6
139
    cmp  al,0
141
    cmp  al,0
140
    je      not_device
142
    je        not_device
141
    cmp  al,01b
143
    cmp  al,01b
142
    jnz  ide_3_cd
144
    jnz  ide_3_cd
143
    cmp  [hd],0
145
    cmp  [hd],0
144
    je       ide_31
146
    je         ide_31
145
    mov  [hdbase],4
147
    mov  [hdbase],4
146
    mov  [hd],0
148
    mov  [hd],0
147
  ide_31:
149
  ide_31:
148
    cmp  [cd],0
150
    cmp  [cd],0
149
    jmp   all_device
151
    jmp   all_device
150
 
152
 
151
  ide_3_cd:
153
  ide_3_cd:
152
    cmp  al,10b
154
    cmp  al,10b
153
    jnz  not_device
155
    jnz  not_device
154
    cmp  [cd],0
156
    cmp  [cd],0
155
    je       all_device
157
    je         all_device
156
    mov  [cdbase],4
158
    mov  [cdbase],4
157
    mov  [cd],0
159
    mov  [cd],0
158
 
160
 
159
  all_device:
161
  all_device:
160
  not_device:
162
  not_device:
161
    ret
163
    ret
162
 
164
 
163
hd db 0
165
hd db 0
164
cd db 0
166
cd db 0
165
;******************************************************************************
167
;******************************************************************************
166
apply_all_and_exit:
168
apply_all_and_exit:
167
    mcall 70,read_fileinfo
169
    mcall 70,read_fileinfo
168
    call apply_all
170
    call apply_all
169
    jmp  close
171
    jmp  close
170
 
172
 
171
;******************************************************************************
173
;******************************************************************************
172
set_language_and_exit:
174
set_language_and_exit:
173
    mov  eax,26
175
    mov  eax,26
174
    mov  ebx,2
176
    mov  ebx,2
175
    mov  ecx,9
177
    mov  ecx,9
176
    int  0x40
178
    int  0x40
177
;    cmp  eax,5
179
;    cmp  eax,5
178
;    jne  @f
180
;    jne  @f
179
;    xor  eax,eax
181
;    xor  eax,eax
180
;@@: mov  [keyboard],eax
182
;@@: mov  [keyboard],eax
181
    cmp  eax,1
183
    cmp  eax,1
182
    je      russian
184
    je        russian
183
    xor  eax,eax
185
    xor  eax,eax
184
set_lang_now:
186
set_lang_now:
185
    mov  [keyboard],eax
187
    mov  [keyboard],eax
186
    call _keyboard
188
    call _keyboard
187
    jmp  close
189
    jmp  close
188
russian:
190
russian:
189
    mov  eax,3
191
    mov  eax,3
190
    jmp  set_lang_now
192
    jmp  set_lang_now
191
 
193
 
192
set_syslanguage_and_exit:
194
set_syslanguage_and_exit:
193
    mov  eax,26
195
    mov  eax,26
194
    mov  ebx,5
196
    mov  ebx,5
195
;    mov  ecx,9
197
;    mov  ecx,9
196
    int  0x40
198
    int  0x40
197
    cmp  eax,4
199
    cmp  eax,4
198
    jne  temp     ;@f
200
    jne  temp      ;@f
199
    xor  eax,eax
201
    xor  eax,eax
200
;@@: inc  eax
202
;@@: inc  eax
201
temp: inc  eax
203
temp: inc  eax
202
    mov  [syslang],eax
204
    mov  [syslang],eax
203
    call _syslang
205
    call _syslang
204
    jmp  close
206
    jmp  close
205
 
207
 
206
get_setup_values:
208
get_setup_values:
207
    mcall 26,1
209
    mcall 26,1
208
    mov [midibase],eax
210
    mov [midibase],eax
209
    mcall 26,2,9
211
    mcall 26,2,9
210
    dec  eax
212
    dec  eax
211
    mov [keyboard],eax
213
    mov [keyboard],eax
212
    mcall 26,3
214
    mcall 26,3
213
    mov [cdbase],eax
215
    mov [cdbase],eax
214
    mcall 26,4
216
    mcall 26,4
215
    mov [sb16],eax
217
    mov [sb16],eax
216
    mcall 26,5
218
    mcall 26,5
217
    mov [syslang],eax
219
    mov [syslang],eax
218
    mcall 26,6
220
    mcall 26,6
219
    cmp eax,0x530
221
    cmp eax,0x530
220
    jne s_wss_2
222
    jne s_wss_2
221
    mov eax,1
223
    mov eax,1
222
    jmp get_other
224
    jmp get_other
223
s_wss_2:
225
s_wss_2:
224
    cmp eax,0x608
226
    cmp eax,0x608
225
    jne s_wss_3
227
    jne s_wss_3
226
    mov eax,2
228
    mov eax,2
227
    jmp get_other
229
    jmp get_other
228
s_wss_3:
230
s_wss_3:
229
    cmp eax,0xe80
231
    cmp eax,0xe80
230
    jne s_wss_4
232
    jne s_wss_4
231
    mov eax,3
233
    mov eax,3
232
    jmp get_other
234
    jmp get_other
233
s_wss_4:
235
s_wss_4:
234
    mov eax,4
236
    mov eax,4
235
get_other:
237
get_other:
236
    mov [wss],eax
238
    mov [wss],eax
237
    mcall 26,7
239
    mcall 26,7
238
    mov [hdbase],eax
240
    mov [hdbase],eax
239
    mcall 26,8
241
    mcall 26,8
240
    mov [f32p],eax
242
    mov [f32p],eax
241
    mcall 26,10
243
    mcall 26,10
242
    mov [sound_dma],eax
244
    mov [sound_dma],eax
243
    mcall 26,11
245
    mcall 26,11
244
    mov [lba_read],eax
246
    mov [lba_read],eax
245
    mcall 26,12
247
    mcall 26,12
246
    mov [pci_acc],eax
248
    mov [pci_acc],eax
247
    mcall 18,19,0
249
    mcall 18,19,0
248
    mov [mouse_speed],eax
250
    mov [mouse_speed],eax
-
 
251
    mcall 18,19,2
-
 
252
    mov [mouse_delay],eax
249
    ret
253
    ret
250
 
254
 
251
;******************************************************************************
255
;******************************************************************************
252
 
256
 
253
START:
257
START:
254
    cmp  [I_PARAM], 'SLAN'
258
    cmp  [I_PARAM], 'SLAN'
255
    je       set_syslanguage_and_exit
259
    je         set_syslanguage_and_exit
256
 
260
 
257
    cmp  [I_PARAM], 'LANG'
261
    cmp  [I_PARAM], 'LANG'
258
    je       set_language_and_exit
262
    je         set_language_and_exit
259
 
263
 
260
    cmp  [I_PARAM], 'BOOT'
264
    cmp  [I_PARAM], 'BOOT'
261
    je       apply_all_and_exit
265
    je         apply_all_and_exit
262
 
266
 
263
    call get_setup_values
267
    call get_setup_values
264
    call loadtxt
268
    call loadtxt
265
red:
269
red:
266
    call draw_window
270
    call draw_window
267
 
271
 
268
still:
272
still:
269
 
273
 
270
    cmp  word [blinkpar],0
274
    cmp  word [blinkpar],0
271
    jne  blinker
275
    jne  blinker
272
    mov  eax,29     ;get system date
276
    mov  eax,29     ;get system date
273
    int  0x40
277
    int  0x40
274
    cmp  eax,[date]
278
    cmp  eax,[date]
275
    je       gettime
279
    je         gettime
276
    mov  [date],eax
280
    mov  [date],eax
277
 gettime:
281
 gettime:
278
    mov  eax,3          ;get system time
282
    mov  eax,3        ;get system time
279
    int  0x40
283
    int  0x40
280
    cmp  ax,[time]
284
    cmp  ax,[time]
281
    je       sysevent
285
    je         sysevent
282
    mov  [time],ax
286
    mov  [time],ax
283
    call drawtime
287
    call drawtime
284
 
288
 
285
 sysevent:
289
 sysevent:
286
    mov  eax,23
290
    mov  eax,23
287
    mov  ebx,8          ; wait here for event with timeout
291
    mov  ebx,8        ; wait here for event with timeout
288
    int  0x40
292
    int  0x40
289
 
293
 
290
    cmp  eax,1
294
    cmp  eax,1
291
    jz       red
295
    jz         red
292
    cmp  eax,2
296
    cmp  eax,2
293
    jz       key
297
    jz         key
294
    cmp  eax,3
298
    cmp  eax,3
295
    jz       button
299
    jz         button
296
 
300
 
297
    jmp  still
301
    jmp  still
298
 
302
 
299
 blinker:
303
 blinker:
300
    cmp  byte [count],6
304
    cmp  byte [count],6
301
    jb       noblink
305
    jb         noblink
302
    btc  dword [blinkpar],16
306
    btc  dword [blinkpar],16
303
    mov  byte [count],0
307
    mov  byte [count],0
304
    call drawtime
308
    call drawtime
305
 noblink:
309
 noblink:
306
    inc  byte [count]
310
    inc  byte [count]
307
    jmp  sysevent
311
    jmp  sysevent
308
 
312
 
309
incdectime:
313
incdectime:
310
    cmp byte [blinkpar],0
314
    cmp byte [blinkpar],0
311
    je      still
315
    je        still
312
    mov esi,time
316
    mov esi,time
313
    mov bl,0x23  ;border
317
    mov bl,0x23  ;border
314
    cmp byte [blinkpar],1
318
    cmp byte [blinkpar],1
315
    je      hours
319
    je        hours
316
    mov bl,0x59       ;minutes
320
    mov bl,0x59       ;minutes
317
    inc esi
321
    inc esi
318
  hours:
322
  hours:
319
    mov al,byte [esi]
323
    mov al,byte [esi]
320
    cmp ah,112
324
    cmp ah,112
321
    je      dectime
325
    je        dectime
322
    cmp al,bl
326
    cmp al,bl
323
    je      noinctime
327
    je        noinctime
324
     inc al
328
     inc al
325
     daa
329
     daa
326
    jmp incdectime1
330
    jmp incdectime1
327
  noinctime:
331
  noinctime:
328
    xor al,al
332
    xor al,al
329
  incdectime1:
333
  incdectime1:
330
    mov byte [esi],al
334
    mov byte [esi],al
331
    jmp still
335
    jmp still
332
  dectime:
336
  dectime:
333
    cmp al,0
337
    cmp al,0
334
    je      nodectime
338
    je        nodectime
335
    dec al
339
    dec al
336
    das
340
    das
337
    jmp incdectime1
341
    jmp incdectime1
338
  nodectime:
342
  nodectime:
339
    mov al,bl
343
    mov al,bl
340
    jmp incdectime1
344
    jmp incdectime1
341
 
345
 
342
incdecdate:
346
incdecdate:
343
    cmp byte [blinkpar+1],0
347
    cmp byte [blinkpar+1],0
344
    je      still
348
    je        still
345
    mov esi,date
349
    mov esi,date
346
    mov bl,0      ;border of years
350
    mov bl,0      ;border of years
347
    cmp byte [blinkpar+1],1
351
    cmp byte [blinkpar+1],1
348
    jne days
352
    jne days
349
    mov bl,0x12     ;months
353
    mov bl,0x12     ;months
350
    inc esi
354
    inc esi
351
  days:
355
  days:
352
    cmp byte [blinkpar+1],2
356
    cmp byte [blinkpar+1],2
353
    jne nodays
357
    jne nodays
354
    mov bl,0x31
358
    mov bl,0x31
355
    add esi,2
359
    add esi,2
356
  nodays:
360
  nodays:
357
    mov al,byte [esi]
361
    mov al,byte [esi]
358
    cmp ah,122
362
    cmp ah,122
359
    je      decdate
363
    je        decdate
360
    cmp al,bl
364
    cmp al,bl
361
    je      noincdate
365
    je        noincdate
362
    inc al ;add al,1
366
    inc al ;add al,1
363
    daa
367
    daa
364
    jmp incdecdate1
368
    jmp incdecdate1
365
  noincdate:
369
  noincdate:
366
    mov al,1
370
    mov al,1
367
  incdecdate1:
371
  incdecdate1:
368
    mov byte [esi],al
372
    mov byte [esi],al
369
    jmp still
373
    jmp still
370
  decdate:
374
  decdate:
371
    cmp al,1
375
    cmp al,1
372
    je      nodecdate
376
    je        nodecdate
373
    dec al
377
    dec al
374
    das
378
    das
375
    jmp incdecdate1
379
    jmp incdecdate1
376
  nodecdate:
380
  nodecdate:
377
    mov al,bl
381
    mov al,bl
378
    jmp incdecdate1
382
    jmp incdecdate1
379
 
383
 
380
 
384
 
381
  key:
385
  key:
382
    ;mov  eax,2
386
    ;mov  eax,2
383
    int  0x40
387
    int  0x40
384
    cmp  ah,27
388
    cmp  ah,27
385
    jne  still
389
    jne  still
386
    mov  dword [blinkpar],0
390
    mov  dword [blinkpar],0
387
    call drawtime
391
    call drawtime
388
    jmp  still
392
    jmp  still
389
 
393
 
390
  button:
394
  button:
391
 
395
 
392
    mov  eax,17
396
    mov  eax,17
393
    int  0x40
397
    int  0x40
394
 
398
 
395
    cmp  ah,112
399
    cmp  ah,112
396
    je       incdectime
400
    je         incdectime
397
    cmp  ah,113
401
    cmp  ah,113
398
    je       incdectime
402
    je         incdectime
399
    cmp  ah,122
403
    cmp  ah,122
400
    je       incdecdate
404
    je         incdecdate
401
    cmp  ah,123
405
    cmp  ah,123
402
    je       incdecdate
406
    je         incdecdate
403
    cmp  ah,111
407
    cmp  ah,111
404
    jne  noseltime
408
    jne  noseltime
405
    mov  al, [blinkpar]
409
    mov  al, [blinkpar]
406
    cmp  al,2
410
    cmp  al,2
407
    jae  seltime
411
    jae  seltime
408
    inc  al
412
    inc  al
409
    jmp  seltime1
413
    jmp  seltime1
410
  seltime:
414
  seltime:
411
    xor  al,al
415
    xor  al,al
412
  seltime1:
416
  seltime1:
413
    mov  [blinkpar],al
417
    mov  [blinkpar],al
414
    call drawtime
418
    call drawtime
415
    jmp  still
419
    jmp  still
416
noseltime:
420
noseltime:
417
    cmp  ah,121
421
    cmp  ah,121
418
    jne  noseldate
422
    jne  noseldate
419
    mov  al,byte [blinkpar+1]
423
    mov  al,byte [blinkpar+1]
420
    cmp  al,3
424
    cmp  al,3
421
    jae  seldate
425
    jae  seldate
422
    inc  al
426
    inc  al
423
    jmp  seldate1
427
    jmp  seldate1
424
 seldate:
428
 seldate:
425
    xor  al,al
429
    xor  al,al
426
 seldate1:
430
 seldate1:
427
    mov  [blinkpar+1],al
431
    mov  [blinkpar+1],al
428
    call drawtime
432
    call drawtime
429
    jmp  still
433
    jmp  still
430
noseldate:
434
noseldate:
431
    cmp  ah,99
435
    cmp  ah,99
432
    jne  nosaveall
436
    jne  nosaveall
433
    mcall 70,save_fileinfo
437
    mcall 70,save_fileinfo
434
    call settime
438
    call settime
435
    mov  dword [blinkpar],0
439
    mov  dword [blinkpar],0
436
    call drawtime
440
    call drawtime
437
    jmp  still
441
    jmp  still
438
nosaveall:
442
nosaveall:
439
    cmp  ah,100
443
    cmp  ah,100
440
    jne  no_apply_all
444
    jne  no_apply_all
441
    call apply_all
445
    call apply_all
442
    jmp  still
446
    jmp  still
443
no_apply_all:
447
no_apply_all:
444
 
448
 
445
    cmp  ah,1          ; CLOSE APPLICATION
449
    cmp  ah,1           ; CLOSE APPLICATION
446
    jne  no_close
450
    jne  no_close
447
close:
451
close:
448
    or       eax,-1
452
    or         eax,-1
449
    int  0x40
453
    int  0x40
450
  no_close:
454
  no_close:
451
 
455
 
452
    cmp  ah,11           ; SET MIDI BASE
456
    cmp  ah,11         ; SET MIDI BASE
453
    jnz  nosetbase1
457
    jnz  nosetbase1
454
    call _midibase
458
    call _midibase
455
   nosetbase1:
459
   nosetbase1:
456
    cmp  ah,12
460
    cmp  ah,12
457
    jnz  nomm
461
    jnz  nomm
458
    sub  [midibase],2
462
    sub  [midibase],2
459
    call draw_infotext
463
    call draw_infotext
460
  nomm:
464
  nomm:
461
    cmp  ah,13
465
    cmp  ah,13
462
    jnz  nomp
466
    jnz  nomp
463
    add  [midibase],2
467
    add  [midibase],2
464
    call draw_infotext
468
    call draw_infotext
465
  nomp:
469
  nomp:
466
 
470
 
467
 
471
 
468
    cmp  ah,4          ; SET KEYBOARD
472
    cmp  ah,4           ; SET KEYBOARD
469
    jnz  nokm
473
    jnz  nokm
470
    mov  eax,[keyboard]
474
    mov  eax,[keyboard]
471
    test eax,eax
475
    test eax,eax
472
    je       downuplbl
476
    je         downuplbl
473
    dec  eax
477
    dec  eax
474
    jmp  nodownup
478
    jmp  nodownup
475
   downuplbl:
479
   downuplbl:
476
    mov  eax,4
480
    mov  eax,4
477
   nodownup:
481
   nodownup:
478
    mov  [keyboard],eax
482
    mov  [keyboard],eax
479
    call draw_infotext
483
    call draw_infotext
480
  nokm:
484
  nokm:
481
    cmp  ah,5
485
    cmp  ah,5
482
    jnz  nokp
486
    jnz  nokp
483
    mov  eax,[keyboard]
487
    mov  eax,[keyboard]
484
    cmp  eax,4
488
    cmp  eax,4
485
    je       updownlbl
489
    je         updownlbl
486
    inc  eax
490
    inc  eax
487
    jmp  noupdown
491
    jmp  noupdown
488
   updownlbl:
492
   updownlbl:
489
    xor  eax,eax
493
    xor  eax,eax
490
   noupdown:
494
   noupdown:
491
    mov  [keyboard],eax
495
    mov  [keyboard],eax
492
    call draw_infotext
496
    call draw_infotext
493
  nokp:
497
  nokp:
494
 
498
 
495
 
499
 
496
    cmp  ah,22            ; SET CD BASE
500
    cmp  ah,22          ; SET CD BASE
497
    jnz  nocm
501
    jnz  nocm
498
    mov  eax,[cdbase]
502
    mov  eax,[cdbase]
499
    sub  eax,2
503
    sub  eax,2
500
    and  eax,3
504
    and  eax,3
501
    inc  eax
505
    inc  eax
502
    mov  [cdbase],eax
506
    mov  [cdbase],eax
503
    call draw_infotext
507
    call draw_infotext
504
  nocm:
508
  nocm:
505
    cmp  ah,23
509
    cmp  ah,23
506
    jnz  nocp
510
    jnz  nocp
507
    mov  eax,[cdbase]
511
    mov  eax,[cdbase]
508
    and  eax,3
512
    and  eax,3
509
    inc  eax
513
    inc  eax
510
    mov  [cdbase],eax
514
    mov  [cdbase],eax
511
    call draw_infotext
515
    call draw_infotext
512
  nocp:
516
  nocp:
513
    cmp  ah,21
517
    cmp  ah,21
514
    jnz  nocs
518
    jnz  nocs
515
    call _cdbase
519
    call _cdbase
516
  nocs:
520
  nocs:
517
 
521
 
518
    cmp  ah,62          ; SET HD BASE
522
    cmp  ah,62        ; SET HD BASE
519
    jnz  hnocm
523
    jnz  hnocm
520
    mov  eax,[hdbase]
524
    mov  eax,[hdbase]
521
    sub  eax,2
525
    sub  eax,2
522
    and  eax,3
526
    and  eax,3
523
    inc  eax
527
    inc  eax
524
    mov  [hdbase],eax
528
    mov  [hdbase],eax
525
    call draw_infotext
529
    call draw_infotext
526
  hnocm:
530
  hnocm:
527
    cmp  ah,63
531
    cmp  ah,63
528
    jnz  hnocp
532
    jnz  hnocp
529
    mov  eax,[hdbase]
533
    mov  eax,[hdbase]
530
    and  eax,3
534
    and  eax,3
531
    inc  eax
535
    inc  eax
532
    mov  [hdbase],eax
536
    mov  [hdbase],eax
533
    call draw_infotext
537
    call draw_infotext
534
  hnocp:
538
  hnocp:
535
    cmp  ah,61
539
    cmp  ah,61
536
    jnz  hnocs
540
    jnz  hnocs
537
    call _hdbase
541
    call _hdbase
538
  hnocs:
542
  hnocs:
539
 
543
 
540
    cmp  ah,82          ; SET SOUND DMA
544
    cmp  ah,82        ; SET SOUND DMA
541
    jne  no_sdma_d
545
    jne  no_sdma_d
542
    mov  eax,[sound_dma]
546
    mov  eax,[sound_dma]
543
    dec  eax
547
    dec  eax
544
   sdmal:
548
   sdmal:
545
    and  eax,3
549
    and  eax,3
546
    mov  [sound_dma],eax
550
    mov  [sound_dma],eax
547
    call draw_infotext
551
    call draw_infotext
548
    jmp  still
552
    jmp  still
549
  no_sdma_d:
553
  no_sdma_d:
550
    cmp  ah,83
554
    cmp  ah,83
551
    jne  no_sdma_i
555
    jne  no_sdma_i
552
    mov  eax,[sound_dma]
556
    mov  eax,[sound_dma]
553
    inc  eax
557
    inc  eax
554
    jmp  sdmal
558
    jmp  sdmal
555
  no_sdma_i:
559
  no_sdma_i:
556
    cmp  ah,81
560
    cmp  ah,81
557
    jne  no_set_sound_dma
561
    jne  no_set_sound_dma
558
    call _sound_dma
562
    call _sound_dma
559
    jmp  still
563
    jmp  still
560
  no_set_sound_dma:
564
  no_set_sound_dma:
561
 
565
 
562
    cmp  ah,92           ; SET LBA READ
566
    cmp  ah,92         ; SET LBA READ
563
    jne  no_lba_d
567
    jne  no_lba_d
564
  slbal:
568
  slbal:
565
    btc  [lba_read],0
569
    btc  [lba_read],0
566
    call draw_infotext
570
    call draw_infotext
567
    jmp  still
571
    jmp  still
568
   no_lba_d:
572
   no_lba_d:
569
    cmp  ah,93
573
    cmp  ah,93
570
    jne  no_lba_i
574
    jne  no_lba_i
571
    jmp  slbal
575
    jmp  slbal
572
  no_lba_i:
576
  no_lba_i:
573
    cmp  ah,91
577
    cmp  ah,91
574
    jne  no_set_lba_read
578
    jne  no_set_lba_read
575
    call _lba_read
579
    call _lba_read
576
    jmp  still
580
    jmp  still
577
   no_set_lba_read:
581
   no_set_lba_read:
578
 
582
 
579
 
583
 
580
    cmp  ah,102       ; SET PCI ACCESS
584
    cmp  ah,102       ; SET PCI ACCESS
581
    jne  no_pci_d
585
    jne  no_pci_d
582
  pcip:
586
  pcip:
583
    btc  [pci_acc],0
587
    btc  [pci_acc],0
584
    call draw_infotext
588
    call draw_infotext
585
    jmp  still
589
    jmp  still
586
  no_pci_d:
590
  no_pci_d:
587
    cmp  ah,103
591
    cmp  ah,103
588
    jne  no_pci_i
592
    jne  no_pci_i
589
    jmp  pcip
593
    jmp  pcip
590
   no_pci_i:
594
   no_pci_i:
591
    cmp  ah,101
595
    cmp  ah,101
592
    jne  no_set_pci_acc
596
    jne  no_set_pci_acc
593
    call _pci_acc
597
    call _pci_acc
594
    jmp  still
598
    jmp  still
595
  no_set_pci_acc:
599
  no_set_pci_acc:
596
 
600
 
597
 
601
 
598
  set_partition:
602
  set_partition:
599
    cmp  ah,72          ; SET FAT32 PARTITION
603
    cmp  ah,72        ; SET FAT32 PARTITION
600
    jnz  .nominus
604
    jnz  .nominus
601
    mov  eax,[f32p]
605
    mov  eax,[f32p]
602
    sub  eax,2
606
    sub  eax,2
603
;   and  eax,15          ; 3 - four partitions, 7 - eight p., 15 - sixteen, etc.
607
;   and  eax,15          ; 3 - four partitions, 7 - eight p., 15 - sixteen, etc.
604
    cmp  eax,15
608
    cmp  eax,15
605
    jb      @f
609
    jb        @f
606
    mov  eax,14
610
    mov  eax,14
607
@@:
611
@@:
608
    inc  eax
612
    inc  eax
609
    mov  [f32p],eax
613
    mov  [f32p],eax
610
    call draw_infotext
614
    call draw_infotext
611
  .nominus:
615
  .nominus:
612
    cmp  ah,73
616
    cmp  ah,73
613
    jnz  .noplus
617
    jnz  .noplus
614
    mov  eax,[f32p]
618
    mov  eax,[f32p]
615
;   and  eax,15          ; 3 - four partitions, 7 - eight p., 15 - sixteen, etc.
619
;   and  eax,15          ; 3 - four partitions, 7 - eight p., 15 - sixteen, etc.
616
    cmp  eax,15
620
    cmp  eax,15
617
    jb      @f
621
    jb        @f
618
    mov  eax,0
622
    mov  eax,0
619
@@:
623
@@:
620
    inc  eax
624
    inc  eax
621
    mov  [f32p],eax
625
    mov  [f32p],eax
622
    call draw_infotext
626
    call draw_infotext
623
  .noplus:
627
  .noplus:
624
    cmp  ah,71
628
    cmp  ah,71
625
    jnz  .noapply
629
    jnz  .noapply
626
    call _f32p
630
    call _f32p
627
  .noapply:
631
  .noapply:
628
 
632
 
629
    cmp  ah,32          ; SET SOUND BLASTER 16 BASE
633
    cmp  ah,32        ; SET SOUND BLASTER 16 BASE
630
    jnz  nosbm
634
    jnz  nosbm
631
    sub  [sb16],2
635
    sub  [sb16],2
632
    call draw_infotext
636
    call draw_infotext
633
  nosbm:
637
  nosbm:
634
    cmp  ah,33
638
    cmp  ah,33
635
    jnz  nosbp
639
    jnz  nosbp
636
    add  [sb16],2
640
    add  [sb16],2
637
    call draw_infotext
641
    call draw_infotext
638
  nosbp:
642
  nosbp:
639
    cmp  ah,31
643
    cmp  ah,31
640
    jnz  nosbs
644
    jnz  nosbs
641
    call _sb16
645
    call _sb16
642
  nosbs:
646
  nosbs:
643
 
647
 
644
    cmp  ah,52          ; SET WINDOWS SOUND SYSTEM BASE
648
    cmp  ah,52        ; SET WINDOWS SOUND SYSTEM BASE
645
    jnz  nowssm
649
    jnz  nowssm
646
    mov  eax,[wss]
650
    mov  eax,[wss]
647
    sub  eax,2
651
    sub  eax,2
648
    and  eax,3
652
    and  eax,3
649
    inc  eax
653
    inc  eax
650
    mov  [wss],eax
654
    mov  [wss],eax
651
    call draw_infotext
655
    call draw_infotext
652
  nowssm:
656
  nowssm:
653
    cmp  ah,53
657
    cmp  ah,53
654
    jnz  nowssp
658
    jnz  nowssp
655
    mov  eax,[wss]
659
    mov  eax,[wss]
656
    and  eax,3
660
    and  eax,3
657
    inc  eax
661
    inc  eax
658
    mov  [wss],eax
662
    mov  [wss],eax
659
    call draw_infotext
663
    call draw_infotext
660
  nowssp:
664
  nowssp:
661
    cmp  ah,51
665
    cmp  ah,51
662
    jnz  nowsss
666
    jnz  nowsss
663
    call _wssp
667
    call _wssp
664
  nowsss:
668
  nowsss:
665
 
669
 
666
    cmp  ah,42            ; SET SYSTEM LANGUAGE BASE
670
    cmp  ah,42          ; SET SYSTEM LANGUAGE BASE
667
    jnz  nosysm
671
    jnz  nosysm
668
    mov  eax,[syslang]
672
    mov  eax,[syslang]
669
    dec  eax
673
    dec  eax
670
    jz       still
674
    jz         still
671
    mov  [syslang],eax
675
    mov  [syslang],eax
672
    call draw_infotext
676
    call draw_infotext
673
  nosysm:
677
  nosysm:
674
    cmp  ah,43
678
    cmp  ah,43
675
    jnz  nosysp
679
    jnz  nosysp
676
    mov  eax,[syslang]
680
    mov  eax,[syslang]
677
    cmp  eax,4
681
    cmp  eax,4
678
    je       nosysp
682
    je         nosysp
679
    inc  eax
683
    inc  eax
680
    mov  [syslang],eax
684
    mov  [syslang],eax
681
    call draw_infotext
685
    call draw_infotext
682
  nosysp:
686
  nosysp:
683
    cmp  ah,41
687
    cmp  ah,41
684
    jnz  nosyss
688
    jnz  nosyss
685
    call _syslang
689
    call _syslang
686
    call cleantxt
690
    call cleantxt
687
    call loadtxt
691
    call loadtxt
688
    call draw_window
692
    call draw_window
689
    call drawtime
693
    call drawtime
690
  nosyss:
694
  nosyss:
691
    cmp  ah,132        ; SET MOUSE SPEED
695
    cmp  ah,132        ; SET MOUSE SPEED
692
    jnz  .nominus
696
    jnz  .nominus
693
    mov  eax,[mouse_speed]
697
    mov  eax,[mouse_speed]
694
    sub  eax,2
698
    sub  eax,2
695
    cmp  eax,9
699
    cmp  eax,9
696
    jb      @f
700
    jb        @f
697
    mov  eax,8
701
    mov  eax,8
698
@@:
702
@@:
699
    inc  eax
703
    inc  eax
700
    mov  [mouse_speed],eax
704
    mov  [mouse_speed],eax
701
    call draw_infotext
705
    call draw_infotext
702
  .nominus:
706
  .nominus:
703
    cmp  ah,133
707
    cmp  ah,133
704
    jnz  .noplus
708
    jnz  .noplus
705
    mov  eax,[mouse_speed]
709
    mov  eax,[mouse_speed]
706
    cmp  eax,9
710
    cmp  eax,9
707
    jb      @f
711
    jb        @f
708
    mov  eax,0
712
    mov  eax,0
709
@@:
713
@@:
710
    inc  eax
714
    inc  eax
711
    mov  [mouse_speed],eax
715
    mov  [mouse_speed],eax
712
    call draw_infotext
716
    call draw_infotext
713
  .noplus:
717
  .noplus:
714
    cmp  ah,131
718
    cmp  ah,131
715
    jnz  .noapply
719
    jnz  .noapply
716
    call _mouse
720
    call _mouse_speed
717
  .noapply:
721
  .noapply:
-
 
722
 mousedelay:
-
 
723
    cmp  ah,142        ; SET MOUSE DELAY
-
 
724
    jnz  .nominus
-
 
725
    mov  eax,[mouse_delay]
-
 
726
    sub  eax,2
-
 
727
    cmp  eax,0xfff
-
 
728
    jb        @f
-
 
729
    mov  eax,0xffe
-
 
730
@@:
-
 
731
    inc  eax
-
 
732
    mov  [mouse_delay],eax
-
 
733
    call draw_infotext
-
 
734
  .nominus:
-
 
735
    cmp  ah,143
-
 
736
    jnz  .noplus
-
 
737
    mov  eax,[mouse_delay]
-
 
738
    cmp  eax,0xfff
-
 
739
    jb        @f
-
 
740
    mov  eax,0
-
 
741
@@:
-
 
742
    inc  eax
-
 
743
    mov  [mouse_delay],eax
-
 
744
    call draw_infotext
-
 
745
  .noplus:
-
 
746
    cmp  ah,141
-
 
747
    jnz  .noapply
-
 
748
    call _mouse_delay
-
 
749
  .noapply:
-
 
750
 
718
    cmp  ah,3            ; SET KEYMAP
751
    cmp  ah,3         ; SET KEYMAP
719
    jne  still
752
    jne  still
720
    call _keyboard
753
    call _keyboard
721
    jmp  still
754
    jmp  still
722
 
755
 
723
  _keyboard:
756
  _keyboard:
724
    cmp [keyboard],0
757
    cmp [keyboard],0
725
    jnz  nosetkeyle
758
    jnz  nosetkeyle
726
    mov  eax,21       ; english
759
    mov  eax,21       ; english
727
    mov  ebx,2
760
    mov  ebx,2
728
    mov  ecx,1
761
    mov  ecx,1
729
    mov  edx,en_keymap
762
    mov  edx,en_keymap
730
    int  0x40
763
    int  0x40
731
    mov  eax,21
764
    mov  eax,21
732
    inc  ecx
765
    inc  ecx
733
    mov  edx,en_keymap_shift
766
    mov  edx,en_keymap_shift
734
    int  0x40
767
    int  0x40
735
    mov  eax,21
768
    mov  eax,21
736
    mov  ecx,9
769
    mov  ecx,9
737
    mov  edx,1
770
    mov  edx,1
738
    int  0x40
771
    int  0x40
739
    call alt_gen
772
    call alt_gen
740
  nosetkeyle:
773
  nosetkeyle:
741
    cmp  [keyboard],1
774
    cmp  [keyboard],1
742
    jnz  nosetkeylfi
775
    jnz  nosetkeylfi
743
    mov  eax,21       ; finnish
776
    mov  eax,21       ; finnish
744
    mov  ebx,2
777
    mov  ebx,2
745
    mov  ecx,1
778
    mov  ecx,1
746
    mov  edx,fi_keymap
779
    mov  edx,fi_keymap
747
    int  0x40
780
    int  0x40
748
    mov  eax,21
781
    mov  eax,21
749
    inc  ecx
782
    inc  ecx
750
    mov  edx,fi_keymap_shift
783
    mov  edx,fi_keymap_shift
751
    int  0x40
784
    int  0x40
752
    mov  eax,21
785
    mov  eax,21
753
    mov  ecx,9
786
    mov  ecx,9
754
    mov  edx,2
787
    mov  edx,2
755
    int  0x40
788
    int  0x40
756
    call alt_gen
789
    call alt_gen
757
  nosetkeylfi:
790
  nosetkeylfi:
758
    cmp  [keyboard],2
791
    cmp  [keyboard],2
759
    jnz  nosetkeylge
792
    jnz  nosetkeylge
760
    mov  eax,21       ; german
793
    mov  eax,21       ; german
761
    mov  ebx,2
794
    mov  ebx,2
762
    mov  ecx,1
795
    mov  ecx,1
763
    mov  edx,ge_keymap
796
    mov  edx,ge_keymap
764
    int  0x40
797
    int  0x40
765
    mov  eax,21
798
    mov  eax,21
766
    inc  ecx
799
    inc  ecx
767
    mov  edx,ge_keymap_shift
800
    mov  edx,ge_keymap_shift
768
    int  0x40
801
    int  0x40
769
    mov  eax,21
802
    mov  eax,21
770
    mov  ecx,9
803
    mov  ecx,9
771
    mov  edx,3
804
    mov  edx,3
772
    int  0x40
805
    int  0x40
773
    call alt_gen
806
    call alt_gen
774
  nosetkeylge:
807
  nosetkeylge:
775
    cmp  [keyboard],3
808
    cmp  [keyboard],3
776
    jnz  nosetkeylru
809
    jnz  nosetkeylru
777
    mov  eax,21       ; russian
810
    mov  eax,21       ; russian
778
    mov  ebx,2
811
    mov  ebx,2
779
    mov  ecx,1
812
    mov  ecx,1
780
    mov  edx,ru_keymap
813
    mov  edx,ru_keymap
781
    int  0x40
814
    int  0x40
782
    mov  eax,21
815
    mov  eax,21
783
    inc  ecx
816
    inc  ecx
784
    mov  edx,ru_keymap_shift
817
    mov  edx,ru_keymap_shift
785
    int  0x40
818
    int  0x40
786
    call alt_gen
819
    call alt_gen
787
    mov  eax,21
820
    mov  eax,21
788
    mov  ecx,9
821
    mov  ecx,9
789
    mov  edx,4
822
    mov  edx,4
790
    int  0x40
823
    int  0x40
791
  nosetkeylru:
824
  nosetkeylru:
792
    cmp  [keyboard],4           ;french
825
    cmp  [keyboard],4        ;french
793
    jnz  nosetkeylfr
826
    jnz  nosetkeylfr
794
    mov  eax,21
827
    mov  eax,21
795
    mov  ebx,2
828
    mov  ebx,2
796
    mov  ecx,1
829
    mov  ecx,1
797
    mov  edx,fr_keymap
830
    mov  edx,fr_keymap
798
    int  0x40
831
    int  0x40
799
    mov  eax,21
832
    mov  eax,21
800
    inc  ecx
833
    inc  ecx
801
    mov  edx,fr_keymap_shift
834
    mov  edx,fr_keymap_shift
802
    int  0x40
835
    int  0x40
803
    mov  eax,21
836
    mov  eax,21
804
    inc  ecx
837
    inc  ecx
805
    mov  edx,fr_keymap_alt_gr
838
    mov  edx,fr_keymap_alt_gr
806
    int  0x40
839
    int  0x40
807
    mov  eax,21
840
    mov  eax,21
808
    mov  ecx,9
841
    mov  ecx,9
809
    mov  edx,5
842
    mov  edx,5
810
    int  0x40
843
    int  0x40
811
  nosetkeylfr:
844
  nosetkeylfr:
812
    ret
845
    ret
813
 
846
 
814
 alt_gen:
847
 alt_gen:
815
   mov eax,21
848
   mov eax,21
816
   mov ecx,3
849
   mov ecx,3
817
   mov edx,alt_general
850
   mov edx,alt_general
818
   int 0x40
851
   int 0x40
819
   ret
852
   ret
820
 
853
 
821
 
854
 
822
 
855
 
823
draw_buttons:
856
draw_buttons:
824
 
857
 
825
    pusha
858
    pusha
826
 
859
 
827
    shl  ecx,16
860
    shl  ecx,16
828
    add  ecx,12
861
    add  ecx,12
829
    mov  ebx,(350-50)*65536+46+BBB
862
    mov  ebx,(350-50)*65536+46+BBB
830
 
863
 
831
    mov  eax,8
864
    mov  eax,8
832
    int  0x40
865
    int  0x40
833
 
866
 
834
    mov  ebx,(350-79)*65536+9
867
    mov  ebx,(350-79)*65536+9
835
    inc  edx
868
    inc  edx
836
    int  0x40
869
    int  0x40
837
 
870
 
838
    mov  ebx,(350-67)*65536+9
871
    mov  ebx,(350-67)*65536+9
839
    inc  edx
872
    inc  edx
840
    int  0x40
873
    int  0x40
841
 
874
 
842
    popa
875
    popa
843
    ret
876
    ret
844
 
877
 
845
 
878
 
846
 
879
 
847
; ********************************************
880
; ********************************************
848
; ******* WINDOW DEFINITIONS AND DRAW  *******
881
; ******* WINDOW DEFINITIONS AND DRAW  *******
849
; ********************************************
882
; ********************************************
850
 
883
 
851
 
884
 
852
draw_window:
885
draw_window:
853
 
886
 
854
    pusha
887
    pusha
855
 
888
 
856
    mov  eax,12
889
    mov  eax,12
857
    mov  ebx,1
890
    mov  ebx,1
858
    int  0x40
891
    int  0x40
859
 
892
 
860
    xor  eax,eax       ; DRAW WINDOW
893
    xor  eax,eax       ; DRAW WINDOW
861
    mov  ebx,40*65536+355+BBB
894
    mov  ebx,40*65536+355+BBB
862
    mov  ecx,40*65536+310
895
    mov  ecx,40*65536+320
863
    mov  edx,0x83111199
896
    mov  edx,0x83111199
864
;    mov  esi,0x805588dd
897
;    mov  esi,0x805588dd
865
;    mov  edi,0x005588dd
898
;    mov  edi,0x005588dd
866
    int  0x40
899
    int  0x40
867
 
900
 
868
    mov  eax,4
901
    mov  eax,4
869
    mov  ebx,8*65536+8
902
    mov  ebx,8*65536+8
870
    mov  ecx,0x10ffffff
903
    mov  ecx,0x10ffffff
871
    mov  edx,labelt
904
    mov  edx,labelt
872
    cmp  [syslang],4
905
    cmp  [syslang],4
873
    je       ruslabel
906
    je         ruslabel
874
    add  edx,20
907
    add  edx,20
875
  ruslabel:
908
  ruslabel:
876
    mov  esi,19 ;26
909
    mov  esi,19 ;26
877
    int  0x40
910
    int  0x40
878
 
911
 
879
;    mov  eax,8               ; CLOSE BUTTON
912
;    mov  eax,8               ; CLOSE BUTTON
880
;    mov  ebx,(355+BBB-19)*65536+12
913
;    mov  ebx,(355+BBB-19)*65536+12
881
;    mov  ecx,5*65536+12
914
;    mov  ecx,5*65536+12
882
;    mov  edx,1
915
;    mov  edx,1
883
;    mov  esi,0x005588dd
916
;    mov  esi,0x005588dd
884
;    int  0x40
917
;    int  0x40
885
 
918
 
886
    mov  eax,8               ; APPLY ALL
919
    mov  eax,8             ; APPLY ALL
887
    mov  ebx,(350-79)*65536+100
920
    mov  ebx,(350-79)*65536+100
888
    mov  ecx,266*65536+12
921
    mov  ecx,282*65536+12
889
    mov  edx,100
922
    mov  edx,100
890
    mov  esi,0x005588dd
923
    mov  esi,0x005588dd
891
    int  0x40
924
    int  0x40
892
    add  ecx,16*65536        ; SAVE ALL
925
    add  ecx,16*65536         ; SAVE ALL
893
    dec  edx
926
    dec  edx
894
    int  0x40
927
    int  0x40
895
 
928
 
896
    mov  esi,0x5580c0
929
    mov  esi,0x5580c0
897
 
930
 
898
    mov  edx,11
931
    mov  edx,11
899
    mov  ecx,43
932
    mov  ecx,43
900
    call draw_buttons
933
    call draw_buttons
901
 
934
 
902
    mov  edx,41
935
    mov  edx,41
903
    mov  ecx,43+8*8
936
    mov  ecx,43+8*8
904
    call draw_buttons
937
    call draw_buttons
905
 
938
 
906
    mov  edx,21
939
    mov  edx,21
907
    mov  ecx,43+4*8
940
    mov  ecx,43+4*8
908
    call draw_buttons
941
    call draw_buttons
909
 
942
 
910
    mov  edx,31
943
    mov  edx,31
911
    mov  ecx,43+2*8
944
    mov  ecx,43+2*8
912
    call draw_buttons
945
    call draw_buttons
913
 
946
 
914
    mov  edx,3
947
    mov  edx,3
915
    mov  ecx,43+10*8
948
    mov  ecx,43+10*8
916
    call draw_buttons
949
    call draw_buttons
917
 
950
 
918
    mov  edx,51
951
    mov  edx,51
919
    mov  ecx,43+12*8
952
    mov  ecx,43+12*8
920
    call draw_buttons
953
    call draw_buttons
921
 
954
 
922
    mov  edx,61
955
    mov  edx,61
923
    mov  ecx,43+6*8
956
    mov  ecx,43+6*8
924
    call draw_buttons
957
    call draw_buttons
925
 
958
 
926
    mov  edx,91
959
    mov  edx,91
927
    mov  ecx,43+18*8
960
    mov  ecx,43+18*8
928
    call draw_buttons
961
    call draw_buttons
929
 
962
 
930
    mov  edx,71
963
    mov  edx,71
931
    mov  ecx,43+14*8
964
    mov  ecx,43+14*8
932
    call draw_buttons
965
    call draw_buttons
933
 
966
 
934
    mov  edx,81
967
    mov  edx,81
935
    mov  ecx,43+16*8
968
    mov  ecx,43+16*8
936
    call draw_buttons
969
    call draw_buttons
937
 
970
 
938
    mov  edx,101
971
    mov  edx,101
939
    mov  ecx,43+20*8
972
    mov  ecx,43+20*8
940
    call draw_buttons
973
    call draw_buttons
941
 
974
 
942
    mov  edx,111
975
    mov  edx,111
943
    mov  ecx,43+22*8 ; 22
976
    mov  ecx,43+22*8 ; 22
944
    call draw_buttons
977
    call draw_buttons
945
 
978
 
946
    mov  edx,121
979
    mov  edx,121
947
    mov  ecx,43+24*8 ; 24
980
    mov  ecx,43+24*8 ; 24
948
    call draw_buttons
981
    call draw_buttons
949
 
982
 
950
    mov  edx,131
983
    mov  edx,131
951
    mov  ecx,43+26*8 ; 26
984
    mov  ecx,43+26*8 ; 26
952
    call draw_buttons
985
    call draw_buttons
-
 
986
 
-
 
987
    mov  edx,141
-
 
988
    mov  ecx,43+28*8 ; 26
-
 
989
    call draw_buttons
953
 
990
 
954
    call draw_infotext
991
    call draw_infotext
955
 
992
 
956
    mov  eax,12
993
    mov  eax,12
957
    mov  ebx,2
994
    mov  ebx,2
958
    int  0x40
995
    int  0x40
959
 
996
 
960
    popa
997
    popa
961
    ret
998
    ret
962
 
999
 
963
 
1000
 
964
 
1001
 
965
draw_infotext:
1002
draw_infotext:
966
 
1003
 
967
    pusha
1004
    pusha
968
 
1005
 
969
    mov  eax,[keyboard]           ; KEYBOARD
1006
    mov  eax,[keyboard]       ; KEYBOARD
970
    test eax,eax
1007
    test eax,eax
971
    jnz  noen
1008
    jnz  noen
972
    mov  [text00+LLL*10+28],dword 'ENGL'
1009
    mov  [text00+LLL*10+28],dword 'ENGL'
973
    mov  [text00+LLL*10+32],dword 'ISH '
1010
    mov  [text00+LLL*10+32],dword 'ISH '
974
  noen:
1011
  noen:
975
    cmp  eax,1
1012
    cmp  eax,1
976
    jnz  nofi
1013
    jnz  nofi
977
    mov  [text00+LLL*10+28],dword 'FINN'
1014
    mov  [text00+LLL*10+28],dword 'FINN'
978
    mov  [text00+LLL*10+32],dword 'ISH '
1015
    mov  [text00+LLL*10+32],dword 'ISH '
979
  nofi:
1016
  nofi:
980
    cmp  eax,2
1017
    cmp  eax,2
981
    jnz  noge
1018
    jnz  noge
982
    mov  [text00+LLL*10+28],dword 'GERM'
1019
    mov  [text00+LLL*10+28],dword 'GERM'
983
    mov  [text00+LLL*10+32],dword 'AN  '
1020
    mov  [text00+LLL*10+32],dword 'AN  '
984
  noge:
1021
  noge:
985
    cmp  eax,3
1022
    cmp  eax,3
986
    jnz  nogr
1023
    jnz  nogr
987
    mov  [text00+LLL*10+28],dword 'RUSS'
1024
    mov  [text00+LLL*10+28],dword 'RUSS'
988
    mov  [text00+LLL*10+32],dword 'IAN '
1025
    mov  [text00+LLL*10+32],dword 'IAN '
989
  nogr:
1026
  nogr:
990
    cmp  eax,4
1027
    cmp  eax,4
991
    jnz  nofr
1028
    jnz  nofr
992
    mov  [text00+LLL*10+28],dword 'FREN'
1029
    mov  [text00+LLL*10+28],dword 'FREN'
993
    mov  [text00+LLL*10+32],dword 'CH  '
1030
    mov  [text00+LLL*10+32],dword 'CH  '
994
  nofr:
1031
  nofr:
995
 
1032
 
996
 
1033
 
997
    mov  eax,[syslang]              ; SYSTEM LANGUAGE
1034
    mov  eax,[syslang]            ; SYSTEM LANGUAGE
998
    dec  eax
1035
    dec  eax
999
    test eax,eax
1036
    test eax,eax
1000
    jnz  noen5
1037
    jnz  noen5
1001
    mov  [text00+LLL*8+28],dword 'ENGL'
1038
    mov  [text00+LLL*8+28],dword 'ENGL'
1002
    mov  [text00+LLL*8+32],dword 'ISH '
1039
    mov  [text00+LLL*8+32],dword 'ISH '
1003
  noen5:
1040
  noen5:
1004
    cmp  eax,1
1041
    cmp  eax,1
1005
    jnz  nofi5
1042
    jnz  nofi5
1006
    mov  [text00+LLL*8+28],dword 'FINN'
1043
    mov  [text00+LLL*8+28],dword 'FINN'
1007
    mov  [text00+LLL*8+32],dword 'ISH '
1044
    mov  [text00+LLL*8+32],dword 'ISH '
1008
  nofi5:
1045
  nofi5:
1009
    cmp  eax,2
1046
    cmp  eax,2
1010
    jnz  noge5
1047
    jnz  noge5
1011
    mov  [text00+LLL*8+28],dword 'GERM'
1048
    mov  [text00+LLL*8+28],dword 'GERM'
1012
    mov  [text00+LLL*8+32],dword 'AN  '
1049
    mov  [text00+LLL*8+32],dword 'AN  '
1013
  noge5:
1050
  noge5:
1014
    cmp  eax,3
1051
    cmp  eax,3
1015
    jnz  nogr5
1052
    jnz  nogr5
1016
    mov  [text00+LLL*8+28],dword 'RUSS'
1053
    mov  [text00+LLL*8+28],dword 'RUSS'
1017
    mov  [text00+LLL*8+32],dword 'IAN '
1054
    mov  [text00+LLL*8+32],dword 'IAN '
1018
  nogr5:
1055
  nogr5:
1019
    cmp  eax,4
1056
    cmp  eax,4
1020
    jne  nofr5
1057
    jne  nofr5
1021
    mov  [text00+LLL*8+28],dword 'FREN'
1058
    mov  [text00+LLL*8+28],dword 'FREN'
1022
    mov  [text00+LLL*8+32],dword 'CH  '
1059
    mov  [text00+LLL*8+32],dword 'CH  '
1023
  nofr5:
1060
  nofr5:
1024
 
1061
 
1025
 
1062
 
1026
    mov  eax,[midibase]
1063
    mov  eax,[midibase]
1027
    mov  esi,text00+LLL*0+32
1064
    mov  esi,text00+LLL*0+32
1028
    call hexconvert            ; MIDI BASE
1065
    call hexconvert           ; MIDI BASE
1029
 
1066
 
1030
 
1067
 
1031
    mov  eax,[sb16]            ; SB16 BASE
1068
    mov  eax,[sb16]           ; SB16 BASE
1032
    mov  esi,text00+LLL*2+32
1069
    mov  esi,text00+LLL*2+32
1033
    call hexconvert
1070
    call hexconvert
1034
 
1071
 
1035
 
1072
 
1036
    mov  eax,[wss]           ; WSS BASE
1073
    mov  eax,[wss]         ; WSS BASE
1037
    cmp  eax,1
1074
    cmp  eax,1
1038
    jnz  nowss1
1075
    jnz  nowss1
1039
    mov  [wssp],dword 0x530
1076
    mov  [wssp],dword 0x530
1040
  nowss1:
1077
  nowss1:
1041
    cmp  eax,2
1078
    cmp  eax,2
1042
    jnz  nowss2
1079
    jnz  nowss2
1043
    mov  [wssp],dword 0x608
1080
    mov  [wssp],dword 0x608
1044
  nowss2:
1081
  nowss2:
1045
    cmp  eax,3
1082
    cmp  eax,3
1046
    jnz  nowss3
1083
    jnz  nowss3
1047
    mov  [wssp],dword 0xe80
1084
    mov  [wssp],dword 0xe80
1048
  nowss3:
1085
  nowss3:
1049
    cmp  eax,4
1086
    cmp  eax,4
1050
    jnz  nowss4
1087
    jnz  nowss4
1051
    mov  [wssp],dword 0xf40
1088
    mov  [wssp],dword 0xf40
1052
  nowss4:
1089
  nowss4:
1053
 
1090
 
1054
    mov  eax,[wssp]
1091
    mov  eax,[wssp]
1055
    mov  esi,text00+LLL*12+32
1092
    mov  esi,text00+LLL*12+32
1056
    call hexconvert
1093
    call hexconvert
1057
 
1094
 
1058
    mov  eax,[cdbase]             ; CD BASE
1095
    mov  eax,[cdbase]          ; CD BASE
1059
    cmp  eax,1
1096
    cmp  eax,1
1060
    jnz  noe1
1097
    jnz  noe1
1061
    mov  [text00+LLL*4+28],dword 'PRI.'
1098
    mov  [text00+LLL*4+28],dword 'PRI.'
1062
    mov  [text00+LLL*4+32],dword 'MAST'
1099
    mov  [text00+LLL*4+32],dword 'MAST'
1063
    mov  [text00+LLL*4+36],dword 'ER  '
1100
    mov  [text00+LLL*4+36],dword 'ER  '
1064
  noe1:
1101
  noe1:
1065
    cmp  eax,2
1102
    cmp  eax,2
1066
    jnz  nof1
1103
    jnz  nof1
1067
    mov  [text00+LLL*4+28],dword 'PRI.'
1104
    mov  [text00+LLL*4+28],dword 'PRI.'
1068
    mov  [text00+LLL*4+32],dword 'SLAV'
1105
    mov  [text00+LLL*4+32],dword 'SLAV'
1069
    mov  [text00+LLL*4+36],dword 'E   '
1106
    mov  [text00+LLL*4+36],dword 'E   '
1070
  nof1:
1107
  nof1:
1071
    cmp  eax,3
1108
    cmp  eax,3
1072
    jnz  nog1
1109
    jnz  nog1
1073
    mov  [text00+LLL*4+28],dword 'SEC.'
1110
    mov  [text00+LLL*4+28],dword 'SEC.'
1074
    mov  [text00+LLL*4+32],dword 'MAST'
1111
    mov  [text00+LLL*4+32],dword 'MAST'
1075
    mov  [text00+LLL*4+36],dword 'ER  '
1112
    mov  [text00+LLL*4+36],dword 'ER  '
1076
  nog1:
1113
  nog1:
1077
    cmp  eax,4
1114
    cmp  eax,4
1078
    jnz  nog2
1115
    jnz  nog2
1079
    mov  [text00+LLL*4+28],dword 'SEC.'
1116
    mov  [text00+LLL*4+28],dword 'SEC.'
1080
    mov  [text00+LLL*4+32],dword 'SLAV'
1117
    mov  [text00+LLL*4+32],dword 'SLAV'
1081
    mov  [text00+LLL*4+36],dword 'E   '
1118
    mov  [text00+LLL*4+36],dword 'E   '
1082
  nog2:
1119
  nog2:
1083
 
1120
 
1084
 
1121
 
1085
    mov  eax,[hdbase]               ; HD BASE
1122
    mov  eax,[hdbase]            ; HD BASE
1086
    cmp  eax,1
1123
    cmp  eax,1
1087
    jnz  hnoe1
1124
    jnz  hnoe1
1088
    mov  [text00+LLL*6+28],dword 'PRI.'
1125
    mov  [text00+LLL*6+28],dword 'PRI.'
1089
    mov  [text00+LLL*6+32],dword 'MAST'
1126
    mov  [text00+LLL*6+32],dword 'MAST'
1090
    mov  [text00+LLL*6+36],dword 'ER  '
1127
    mov  [text00+LLL*6+36],dword 'ER  '
1091
  hnoe1:
1128
  hnoe1:
1092
    cmp  eax,2
1129
    cmp  eax,2
1093
    jnz  hnof1
1130
    jnz  hnof1
1094
    mov  [text00+LLL*6+28],dword 'PRI.'
1131
    mov  [text00+LLL*6+28],dword 'PRI.'
1095
    mov  [text00+LLL*6+32],dword 'SLAV'
1132
    mov  [text00+LLL*6+32],dword 'SLAV'
1096
    mov  [text00+LLL*6+36],dword 'E   '
1133
    mov  [text00+LLL*6+36],dword 'E   '
1097
  hnof1:
1134
  hnof1:
1098
    cmp  eax,3
1135
    cmp  eax,3
1099
    jnz  hnog1
1136
    jnz  hnog1
1100
    mov  [text00+LLL*6+28],dword 'SEC.'
1137
    mov  [text00+LLL*6+28],dword 'SEC.'
1101
    mov  [text00+LLL*6+32],dword 'MAST'
1138
    mov  [text00+LLL*6+32],dword 'MAST'
1102
    mov  [text00+LLL*6+36],dword 'ER  '
1139
    mov  [text00+LLL*6+36],dword 'ER  '
1103
  hnog1:
1140
  hnog1:
1104
    cmp  eax,4
1141
    cmp  eax,4
1105
    jnz  hnog2
1142
    jnz  hnog2
1106
    mov  [text00+LLL*6+28],dword 'SEC.'
1143
    mov  [text00+LLL*6+28],dword 'SEC.'
1107
    mov  [text00+LLL*6+32],dword 'SLAV'
1144
    mov  [text00+LLL*6+32],dword 'SLAV'
1108
    mov  [text00+LLL*6+36],dword 'E   '
1145
    mov  [text00+LLL*6+36],dword 'E   '
1109
  hnog2:
1146
  hnog2:
1110
 
1147
 
1111
 
1148
 
1112
    mov  eax,[f32p]         ; FAT32 PARTITION
1149
    mov  eax,[f32p]        ; FAT32 PARTITION
1113
    add  al,48
1150
    add  al,48
1114
    mov  [text00+LLL*14+28],al
1151
    mov  [text00+LLL*14+28],al
1115
 
1152
 
1116
    mov  eax,[sound_dma]      ; SOUND DMA
1153
    mov  eax,[sound_dma]      ; SOUND DMA
1117
    add  eax,48
1154
    add  eax,48
1118
    mov  [text00+LLL*16+28],al
1155
    mov  [text00+LLL*16+28],al
1119
 
1156
 
1120
    mov  eax,[lba_read]
1157
    mov  eax,[lba_read]
1121
    call onoff            ; LBA READ
1158
    call onoff          ; LBA READ
1122
    mov  [text00+LLL*18+28],ebx
1159
    mov  [text00+LLL*18+28],ebx
1123
 
1160
 
1124
    mov  eax,[pci_acc]
1161
    mov  eax,[pci_acc]
1125
    call onoff            ; PCI ACCESS
1162
    call onoff          ; PCI ACCESS
1126
    mov  [text00+LLL*20+28],ebx
1163
    mov  [text00+LLL*20+28],ebx
1127
 
1164
 
1128
    mov  eax,[mouse_speed]        ; MOUSE ACSELERATION
1165
    mov  eax,[mouse_speed]      ; MOUSE SPEED
1129
    add  al,48
1166
    add  al,48
1130
    mov  [text00+LLL*26+28],al
1167
    mov  [text00+LLL*26+28],al
-
 
1168
 
-
 
1169
    mov  eax,[mouse_delay]
-
 
1170
    mov  esi,text00+LLL*28+32
-
 
1171
    call hexconvert           ; MOUSE DELAY
1131
 
1172
 
1132
    mov  eax,13
1173
    mov  eax,13
1133
    mov  ebx,175*65536+85
1174
    mov  ebx,175*65536+85
1134
    mov  ecx,40*65536+225
1175
    mov  ecx,40*65536+245
1135
    mov  edx,0x80111199-19
1176
    mov  edx,0x80111199-19
1136
    int  0x40
1177
    int  0x40
1137
 
1178
 
1138
    mov  edx,text00
1179
    mov  edx,text00
1139
    mov  ebx,10*65536+45
1180
    mov  ebx,10*65536+45
1140
    mov  eax,4
1181
    mov  eax,4
1141
    mov  ecx,0xffffff
1182
    mov  ecx,0xffffff
1142
    mov  esi,LLL
1183
    mov  esi,LLL
1143
  newline:
1184
  newline:
1144
    int  0x40
1185
    int  0x40
1145
    add  ebx,8
1186
    add  ebx,8
1146
    add  edx,LLL
1187
    add  edx,LLL
1147
    cmp  [edx],byte 'x'
1188
    cmp  [edx],byte 'x'
1148
    jnz  newline
1189
    jnz  newline
1149
 
1190
 
1150
    popa
1191
    popa
1151
    ret
1192
    ret
1152
 
1193
 
1153
  drawtime:
1194
  drawtime:
1154
    mov  ax,[time]        ;hours 22
1195
    mov  ax,[time]      ;hours 22
1155
    mov  cl,1
1196
    mov  cl,1
1156
    call unpacktime
1197
    call unpacktime
1157
    mov  [text00+LLL*22+28],word bx
1198
    mov  [text00+LLL*22+28],word bx
1158
    mov  al,ah            ;minutes
1199
    mov  al,ah          ;minutes
1159
    inc  cl
1200
    inc  cl
1160
    call unpacktime
1201
    call unpacktime
1161
    mov  [text00+LLL*22+31],word bx
1202
    mov  [text00+LLL*22+31],word bx
1162
    mov  eax,[date]
1203
    mov  eax,[date]
1163
    mov  ch,3
1204
    mov  ch,3
1164
    call unpackdate
1205
    call unpackdate
1165
    mov  [text00+LLL*24+34],word bx     ;year   24
1206
    mov  [text00+LLL*24+34],word bx    ;year   24
1166
    mov  al,ah
1207
    mov  al,ah
1167
    mov  ch,1
1208
    mov  ch,1
1168
    call unpackdate
1209
    call unpackdate
1169
    mov  [text00+LLL*24+28],word bx     ;month
1210
    mov  [text00+LLL*24+28],word bx    ;month
1170
    bswap eax
1211
    bswap eax
1171
    mov  al,ah
1212
    mov  al,ah
1172
    inc  ch
1213
    inc  ch
1173
    call unpackdate
1214
    call unpackdate
1174
    mov  [text00+LLL*24+31],word bx     ;day
1215
    mov  [text00+LLL*24+31],word bx    ;day
1175
 
1216
 
1176
    mov  eax,13
1217
    mov  eax,13
1177
    mov  ebx,175*65536+85
1218
    mov  ebx,175*65536+85
1178
    mov  ecx,40*65536+225
1219
    mov  ecx,40*65536+245
1179
    mov  edx,0x80111199-19
1220
    mov  edx,0x80111199-19
1180
    int  0x40
1221
    int  0x40
1181
 
1222
 
1182
    mov  edx,text00
1223
    mov  edx,text00
1183
    mov  ebx,10*65536+45
1224
    mov  ebx,10*65536+45
1184
    mov  eax,4
1225
    mov  eax,4
1185
    mov  ecx,0xffffff
1226
    mov  ecx,0xffffff
1186
    mov  esi,LLL
1227
    mov  esi,LLL
1187
  newline1:
1228
  newline1:
1188
    int  0x40
1229
    int  0x40
1189
    add  ebx,8
1230
    add  ebx,8
1190
    add  edx,LLL
1231
    add  edx,LLL
1191
    cmp  [edx],byte 'x'
1232
    cmp  [edx],byte 'x'
1192
    jnz  newline1
1233
    jnz  newline1
1193
    ret
1234
    ret
1194
 
1235
 
1195
  unpacktime:
1236
  unpacktime:
1196
    cmp  byte [blinkpar],cl     ;translate packed number to ascii
1237
    cmp  byte [blinkpar],cl    ;translate packed number to ascii
1197
    jne  unpack1
1238
    jne  unpack1
1198
  chkblink:
1239
  chkblink:
1199
    bt dword [blinkpar],16
1240
    bt dword [blinkpar],16
1200
    jnc  unpack1
1241
    jnc  unpack1
1201
    xor  bx,bx
1242
    xor  bx,bx
1202
    ret
1243
    ret
1203
  unpackdate:
1244
  unpackdate:
1204
    cmp  byte [blinkpar+1],ch
1245
    cmp  byte [blinkpar+1],ch
1205
    je       chkblink
1246
    je         chkblink
1206
  unpack1:
1247
  unpack1:
1207
    xor  bx,bx
1248
    xor  bx,bx
1208
    mov  bh,al
1249
    mov  bh,al
1209
    mov  bl,al
1250
    mov  bl,al
1210
    and  bh,0x0f
1251
    and  bh,0x0f
1211
    shr  bl,4
1252
    shr  bl,4
1212
    add  bx,0x3030
1253
    add  bx,0x3030
1213
    ret
1254
    ret
1214
 
1255
 
1215
  hexconvert:           ;converting dec to hex in ascii
1256
  hexconvert:        ;converting dec to hex in ascii
1216
    xor  ebx,ebx
1257
    xor  ebx,ebx
1217
    mov  bl,al
1258
    mov  bl,al
1218
    and  bl,15
1259
    and  bl,15
1219
    add  ebx,hex
1260
    add  ebx,hex
1220
    mov  cl,[ebx]
1261
    mov  cl,[ebx]
1221
    mov  [esi],cl
1262
    mov  [esi],cl
1222
    shr  eax,4
1263
    shr  eax,4
1223
    xor  ebx,ebx
1264
    xor  ebx,ebx
1224
    mov  bl,al
1265
    mov  bl,al
1225
    and  bl,15
1266
    and  bl,15
1226
    add  ebx,hex
1267
    add  ebx,hex
1227
    mov  cl,[ebx]
1268
    mov  cl,[ebx]
1228
    dec  esi
1269
    dec  esi
1229
    mov  [esi],cl
1270
    mov  [esi],cl
1230
    shr  eax,4
1271
    shr  eax,4
1231
    xor  ebx,ebx
1272
    xor  ebx,ebx
1232
    mov  bl,al
1273
    mov  bl,al
1233
    and  bl,15
1274
    and  bl,15
1234
    add  ebx,hex
1275
    add  ebx,hex
1235
    mov  cl,[ebx]
1276
    mov  cl,[ebx]
1236
    dec  esi
1277
    dec  esi
1237
    mov  [esi],cl
1278
    mov  [esi],cl
1238
    ret
1279
    ret
1239
 
1280
 
1240
onoff:
1281
onoff:
1241
    cmp [syslang],4
1282
    cmp [syslang],4
1242
    jne norus1
1283
    jne norus1
1243
    mov ebx,'„€  '
1284
    mov ebx,'„€  '
1244
    cmp eax,1
1285
    cmp eax,1
1245
    je      exitsub
1286
    je        exitsub
1246
    mov ebx,'…’ '
1287
    mov ebx,'…’ '
1247
    ret
1288
    ret
1248
 norus1:
1289
 norus1:
1249
    mov ebx,'ON  '
1290
    mov ebx,'ON  '
1250
    cmp eax,1
1291
    cmp eax,1
1251
    je      exitsub
1292
    je        exitsub
1252
    mov ebx,'OFF '
1293
    mov ebx,'OFF '
1253
 exitsub:
1294
 exitsub:
1254
    ret
1295
    ret
1255
 
1296
 
1256
_midibase:
1297
_midibase:
1257
    mov  eax,21
1298
    mov  eax,21
1258
    mov  ebx,1
1299
    mov  ebx,1
1259
    mov  ecx,[midibase]
1300
    mov  ecx,[midibase]
1260
    int  0x40
1301
    int  0x40
1261
 ret
1302
 ret
1262
 
1303
 
1263
_cdbase:
1304
_cdbase:
1264
    mov  eax,21
1305
    mov  eax,21
1265
    mov  ebx,3
1306
    mov  ebx,3
1266
    mov  ecx,[cdbase]
1307
    mov  ecx,[cdbase]
1267
    int  0x40
1308
    int  0x40
1268
 ret
1309
 ret
1269
 
1310
 
1270
_hdbase:
1311
_hdbase:
1271
    mov  eax,21
1312
    mov  eax,21
1272
    mov  ebx,7
1313
    mov  ebx,7
1273
    mov  ecx,[hdbase]
1314
    mov  ecx,[hdbase]
1274
    int  0x40
1315
    int  0x40
1275
    ret
1316
    ret
1276
 
1317
 
1277
_sound_dma:
1318
_sound_dma:
1278
    mov  eax,21
1319
    mov  eax,21
1279
    mov  ebx,10
1320
    mov  ebx,10
1280
    mov  ecx,[sound_dma]
1321
    mov  ecx,[sound_dma]
1281
    int  0x40
1322
    int  0x40
1282
    ret
1323
    ret
1283
 
1324
 
1284
_lba_read:
1325
_lba_read:
1285
    mov  eax,21
1326
    mov  eax,21
1286
    mov  ebx,11
1327
    mov  ebx,11
1287
    mov  ecx,[lba_read]
1328
    mov  ecx,[lba_read]
1288
    int  0x40
1329
    int  0x40
1289
    ret
1330
    ret
1290
 
1331
 
1291
_pci_acc:
1332
_pci_acc:
1292
    mov  eax,21
1333
    mov  eax,21
1293
    mov  ebx,12
1334
    mov  ebx,12
1294
    mov  ecx,[pci_acc]
1335
    mov  ecx,[pci_acc]
1295
    int  0x40
1336
    int  0x40
1296
    ret
1337
    ret
1297
 
1338
 
1298
_f32p:
1339
_f32p:
1299
    mov  eax,21
1340
    mov  eax,21
1300
    mov  ebx,8
1341
    mov  ebx,8
1301
    mov  ecx,[f32p]
1342
    mov  ecx,[f32p]
1302
    int  0x40
1343
    int  0x40
1303
 ret
1344
 ret
1304
 
1345
 
1305
_sb16:
1346
_sb16:
1306
    mov  eax,21
1347
    mov  eax,21
1307
    mov  ebx,4
1348
    mov  ebx,4
1308
    mov  ecx,[sb16]
1349
    mov  ecx,[sb16]
1309
    int  0x40
1350
    int  0x40
1310
    ret
1351
    ret
1311
 
1352
 
1312
_wssp:
1353
_wssp:
1313
    mov  eax,21
1354
    mov  eax,21
1314
    mov  ebx,6
1355
    mov  ebx,6
1315
    mov  ecx,[wssp]
1356
    mov  ecx,[wssp]
1316
    int  0x40
1357
    int  0x40
1317
 ret
1358
 ret
1318
 
1359
 
1319
_syslang:
1360
_syslang:
1320
    mov  eax,21
1361
    mov  eax,21
1321
    mov  ebx,5
1362
    mov  ebx,5
1322
    mov  ecx,[syslang]
1363
    mov  ecx,[syslang]
1323
    int  0x40
1364
    int  0x40
1324
 ret
1365
 ret
1325
 
1366
 
1326
_mouse:
1367
_mouse_speed:
1327
    mov  eax,18
1368
    mov  eax,18
1328
    mov  ebx,19
1369
    mov  ebx,19
1329
    mov  ecx,1
1370
    mov  ecx,1
1330
    mov  edx,[mouse_speed]
1371
    mov  edx,[mouse_speed]
1331
    int  0x40
1372
    int  0x40
1332
 ret
1373
 ret
-
 
1374
 
-
 
1375
_mouse_delay:
-
 
1376
    mov  eax,18
-
 
1377
    mov  ebx,19
-
 
1378
    mov  ecx,3
-
 
1379
    mov  edx,[mouse_delay]
-
 
1380
    int  0x40
-
 
1381
 ret
1333
 
1382
 
1334
loadtxt:
1383
loadtxt:
1335
    cld
1384
    cld
1336
    mov  edi,text00
1385
    mov  edi,text00
1337
    mov  ecx,458 ;28
1386
    mov  ecx,488 ;28
1338
    cmp  [syslang],4
1387
    cmp  [syslang],4
1339
    jne  norus
1388
    jne  norus
1340
    mov  esi,textrus
1389
    mov  esi,textrus
1341
    jmp  sload
1390
    jmp  sload
1342
  norus:
1391
  norus:
1343
    mov  esi,texteng
1392
    mov  esi,texteng
1344
  sload:
1393
  sload:
1345
    rep  movsd
1394
    rep  movsd
1346
    ret
1395
    ret
1347
 
1396
 
1348
cleantxt:
1397
cleantxt:
1349
    xor  eax,eax
1398
    xor  eax,eax
1350
    mov  ecx,428
1399
    mov  ecx,428
1351
    cld
1400
    cld
1352
    mov  edi,text00
1401
    mov  edi,text00
1353
    rep stosd
1402
    rep stosd
1354
    mov  [text00+1711],byte 'x'
1403
    mov  [text00+1711],byte 'x'
1355
    ret
1404
    ret
1356
 
1405
 
1357
settime:
1406
settime:
1358
    mov  dx,0x70
1407
    mov  dx,0x70
1359
    call startstopclk
1408
    call startstopclk
1360
    dec  dx
1409
    dec  dx
1361
    mov  al,2          ;set minutes
1410
    mov  al,2           ;set minutes
1362
    out  dx,al
1411
    out  dx,al
1363
    inc  dx
1412
    inc  dx
1364
    mov  al,byte [time+1]
1413
    mov  al,byte [time+1]
1365
    out  dx,al
1414
    out  dx,al
1366
    dec  dx
1415
    dec  dx
1367
    mov  al,4          ;set hours
1416
    mov  al,4           ;set hours
1368
    out  dx,al
1417
    out  dx,al
1369
    inc  dx
1418
    inc  dx
1370
    mov  al,byte [time]
1419
    mov  al,byte [time]
1371
    out  dx,al
1420
    out  dx,al
1372
    dec  dx
1421
    dec  dx
1373
    mov  al,7          ;set day
1422
    mov  al,7           ;set day
1374
    out  dx,al
1423
    out  dx,al
1375
    inc  dx
1424
    inc  dx
1376
    mov  al,byte [date+2]
1425
    mov  al,byte [date+2]
1377
    out  dx,al
1426
    out  dx,al
1378
    dec  dx
1427
    dec  dx
1379
    mov  al,8          ;set month
1428
    mov  al,8           ;set month
1380
    out  dx,al
1429
    out  dx,al
1381
    inc  dx
1430
    inc  dx
1382
    mov  al,byte [date+1]
1431
    mov  al,byte [date+1]
1383
    out  dx,al
1432
    out  dx,al
1384
    dec  dx
1433
    dec  dx
1385
    mov  al,9          ;set year
1434
    mov  al,9           ;set year
1386
    out  dx,al
1435
    out  dx,al
1387
    inc  dx
1436
    inc  dx
1388
    mov  al,byte [date]
1437
    mov  al,byte [date]
1389
    out  dx,al
1438
    out  dx,al
1390
    dec  dx
1439
    dec  dx
1391
    call startstopclk
1440
    call startstopclk
1392
    ret
1441
    ret
1393
 
1442
 
1394
startstopclk:
1443
startstopclk:
1395
    mov  al,0x0b
1444
    mov  al,0x0b
1396
    out  dx,al
1445
    out  dx,al
1397
    inc  dx
1446
    inc  dx
1398
    in       al,dx
1447
    in         al,dx
1399
    btc  ax,7
1448
    btc  ax,7
1400
    out  dx,al
1449
    out  dx,al
1401
    ret
1450
    ret
1402
 
1451
 
1403
; DATA AREA
1452
; DATA AREA
1404
count:        db 0x0
1453
count:          db 0x0
1405
blinkpar: dd 0x0
1454
blinkpar: dd 0x0
1406
time:       dw 0x0
1455
time:        dw 0x0
1407
date:       dd 0x0
1456
date:        dd 0x0
1408
 
1457
 
1409
textrus:
1458
textrus:
1410
 
1459
 
1411
    db ' §  MIDI ROLAND MPU-401  : 0x320           - +   à¨¬¥­¨âì'
1460
    db ' §  MIDI ROLAND MPU-401  : 0x320           - +   à¨¬¥­¨âì'
1412
    db '                                                           '
1461
    db '                                                           '
1413
    db ' §  SoundBlaster 16      : 0x240           - +   à¨¬¥­¨âì'
1462
    db ' §  SoundBlaster 16      : 0x240           - +   à¨¬¥­¨âì'
1414
    db '                                                           '
1463
    db '                                                           '
1415
    db ' §  CD-ROM               : PRI.SLAVE       - +   à¨¬¥­¨âì'
1464
    db ' §  CD-ROM               : PRI.SLAVE       - +   à¨¬¥­¨âì'
1416
    db '                                                           '
1465
    db '                                                           '
1417
    db ' §  †„-1                 : PRI.MASTER      - +   à¨¬¥­¨âì'
1466
    db ' §  †„-1                 : PRI.MASTER      - +   à¨¬¥­¨âì'
1418
    db '                                                           '
1467
    db '                                                           '
1419
    db 'Ÿ§ëª á¨áâ¥¬ë              : ENGLISH         - +   à¨¬¥­¨âì'
1468
    db 'Ÿ§ëª á¨áâ¥¬ë              : ENGLISH         - +   à¨¬¥­¨âì'
1420
    db '                                                           '
1469
    db '                                                           '
1421
    db ' áª« ¤ª  ª« ¢¨ âãàë      : ENGLISH         - +   à¨¬¥­¨âì'
1470
    db ' áª« ¤ª  ª« ¢¨ âãàë      : ENGLISH         - +   à¨¬¥­¨âì'
1422
    db '                                                           '
1471
    db '                                                           '
1423
    db ' §  WSS                  : 0x200           - +   à¨¬¥­¨âì'
1472
    db ' §  WSS                  : 0x200           - +   à¨¬¥­¨âì'
1424
    db '                                                           '
1473
    db '                                                           '
1425
    db ' §¤¥« FAT32 ­  †„-1      : 1               - +   à¨¬¥­¨âì'
1474
    db ' §¤¥« FAT32 ­  †„-1      : 1               - +   à¨¬¥­¨âì'
1426
    db '                                                           '
1475
    db '                                                           '
1427
    db '‡¢ãª®¢®© ª ­ « DMA        : 1               - +   à¨¬¥­¨âì'
1476
    db '‡¢ãª®¢®© ª ­ « DMA        : 1               - +   à¨¬¥­¨âì'
1428
    db '                                                           '
1477
    db '                                                           '
1429
    db '‚ª«îç¨âì LBA              : OFF             - +   à¨¬¥­¨âì'
1478
    db '‚ª«îç¨âì LBA              : OFF             - +   à¨¬¥­¨âì'
1430
    db '                                                           '
1479
    db '                                                           '
1431
    db '„®áâ㯠ª 設¥ PCI         : OFF             - +   à¨¬¥­¨âì'
1480
    db '„®áâ㯠ª 設¥ PCI         : OFF             - +   à¨¬¥­¨âì'
1432
    db '                                                           '
1481
    db '                                                           '
1433
    db '‘¨á⥬­®¥ ¢à¥¬ï           :  0:00           - +     ‚ë¡®à  '
1482
    db '‘¨á⥬­®¥ ¢à¥¬ï           :  0:00           - +     ‚ë¡®à  '
1434
    db '                                                           '
1483
    db '                                                           '
1435
    db '‘¨á⥬­ ï ¤ â  (¬,¤,£)    : 00/00/00        - +     ‚ë¡®à  '
1484
    db '‘¨á⥬­ ï ¤ â  (¬,¤,£)    : 00/00/00        - +     ‚ë¡®à  '
1436
    db '                                                           '
1485
    db '                                                           '
1437
    db '‘ª®à®áâì ªãàá®à  ¬ëè¨     : 1               - +   à¨¬¥­¨âì'
1486
    db '‘ª®à®áâì ªãàá®à  ¬ëè¨     : 1               - +   à¨¬¥­¨âì'
1438
    db '                                                           '
1487
    db '                                                           '
-
 
1488
    db '‡ ¤¥à¦ª  ã᪮७¨ï ¬ëè¨   : 0x00a           - +   à¨¬¥­¨âì'
-
 
1489
    db '                                                           '
1439
    db '‚ˆŒ€ˆ…:                                    à¨¬¥­¨âì ¢á¥ '
1490
    db '‚ˆŒ€ˆ…:                                    à¨¬¥­¨âì ¢á¥ '
1440
    db 'ˆ‘Ž‹œ‡“‰’… „Ž‘’“ Š FAT ‘ Ž‘’ŽŽ†Ž‘’œž!                  '
1491
    db 'ˆ‘Ž‹œ‡“‰’… „Ž‘’“ Š FAT ‘ Ž‘’ŽŽ†Ž‘’œž!                  '
1441
    db '… ‡€“„œ’… ‘Ž•€ˆ’œ €‘’Ž‰Šˆ              ‘®åà ­¨âì ¢á¥ '
1492
    db '… ‡€“„œ’… ‘Ž•€ˆ’œ €‘’Ž‰Šˆ              ‘®åà ­¨âì ¢á¥ '
1442
    db 'x'
1493
    db 'x'
1443
 
1494
 
1444
texteng:
1495
texteng:
1445
 
1496
 
1446
    db 'MIDI: ROLAND MPU-401 BASE : 0x320           - +     APPLY  '
1497
    db 'MIDI: ROLAND MPU-401 BASE : 0x320           - +     APPLY  '
1447
    db '                                                           '
1498
    db '                                                           '
1448
    db 'SOUND: SB16 BASE          : 0x240           - +     APPLY  '
1499
    db 'SOUND: SB16 BASE          : 0x240           - +     APPLY  '
1449
    db '                                                           '
1500
    db '                                                           '
1450
    db 'CD-ROM BASE               : PRI.SLAVE       - +     APPLY  '
1501
    db 'CD-ROM BASE               : PRI.SLAVE       - +     APPLY  '
1451
    db '                                                           '
1502
    db '                                                           '
1452
    db 'HARDDISK-1 BASE           : PRI.MASTER      - +     APPLY  '
1503
    db 'HARDDISK-1 BASE           : PRI.MASTER      - +     APPLY  '
1453
    db '                                                           '
1504
    db '                                                           '
1454
    db 'SYSTEM LANGUAGE           : ENGLISH         - +     APPLY  '
1505
    db 'SYSTEM LANGUAGE           : ENGLISH         - +     APPLY  '
1455
    db '                                                           '
1506
    db '                                                           '
1456
    db 'KEYBOARD LAYOUT           : ENGLISH         - +     APPLY  '
1507
    db 'KEYBOARD LAYOUT           : ENGLISH         - +     APPLY  '
1457
    db '                                                           '
1508
    db '                                                           '
1458
    db 'WINDOWS SOUND SYSTEM BASE : 0x200           - +     APPLY  '
1509
    db 'WINDOWS SOUND SYSTEM BASE : 0x200           - +     APPLY  '
1459
    db '                                                           '
1510
    db '                                                           '
1460
    db 'FAT32-1 PARTITION IN HD-1 : 1               - +     APPLY  '
1511
    db 'FAT32-1 PARTITION IN HD-1 : 1               - +     APPLY  '
1461
    db '                                                           '
1512
    db '                                                           '
1462
    db 'SOUND DMA CHANNEL         : 1               - +     APPLY  '
1513
    db 'SOUND DMA CHANNEL         : 1               - +     APPLY  '
1463
    db '                                                           '
1514
    db '                                                           '
1464
    db 'LBA READ ENABLED          : OFF             - +     APPLY  '
1515
    db 'LBA READ ENABLED          : OFF             - +     APPLY  '
1465
    db '                                                           '
1516
    db '                                                           '
1466
    db 'PCI ACCESS FOR APPL.      : OFF             - +     APPLY  '
1517
    db 'PCI ACCESS FOR APPL.      : OFF             - +     APPLY  '
1467
    db '                                                           '
1518
    db '                                                           '
1468
    db 'SYSTEM TIME               :  0:00           - +    SELECT  '
1519
    db 'SYSTEM TIME               :  0:00           - +    SELECT  '
1469
    db '                                                           '
1520
    db '                                                           '
1470
    db 'SYSTEM DATE (M,D,Y)       : 00/00/00        - +    SELECT  '
1521
    db 'SYSTEM DATE (M,D,Y)       : 00/00/00        - +    SELECT  '
1471
    db '                                                           '
1522
    db '                                                           '
1472
    db 'Mouse pointer speed       : 1               - +     APPLY  '
1523
    db 'Mouse pointer speed       : 1               - +     APPLY  '
1473
    db '                                                           '
1524
    db '                                                           '
-
 
1525
    db 'Mouse pointer delay       : 0x00a           - +     APPLY  '
-
 
1526
    db '                                                           '
1474
    db 'NOTE:                                           APPLY ALL  '
1527
    db 'NOTE:                                           APPLY ALL  '
1475
    db 'TEST FAT FUNCTIONS WITH EXTREME CARE                       '
1528
    db 'TEST FAT FUNCTIONS WITH EXTREME CARE                       '
1476
    db 'SAVE YOUR SETTINGS BEFORE QUIT MENUET           SAVE ALL   '
1529
    db 'SAVE YOUR SETTINGS BEFORE QUIT MENUET           SAVE ALL   '
1477
    db 'x'
1530
    db 'x'
1478
 
1531
 
1479
labelt:
1532
labelt:
1480
    db       '€‘’Ž‰Š€ “‘’Ž‰‘’‚ DEVICE SETUP       '
1533
    db         '€‘’Ž‰Š€ “‘’Ž‰‘’‚ DEVICE SETUP       '
1481
 
1534
 
1482
hex db       '0123456789ABCDEF'
1535
hex db         '0123456789ABCDEF'
1483
 
1536
 
1484
alt_general:
1537
alt_general:
1485
 
1538
 
1486
;     db   ' ',27
1539
;     db   ' ',27
1487
;     db   ' @ $  {[]}\ ',8,9
1540
;     db   ' @ $  {[]}\ ',8,9
1488
;     db   '            ',13
1541
;     db   '            ',13
1489
;     db   '             ',0,'           ',0,'4',0,' '
1542
;     db   '             ',0,'           ',0,'4',0,' '
1490
;     db   '             ',180,178,184,'6',176,'7'
1543
;     db   '             ',180,178,184,'6',176,'7'
1491
;     db   179,'8',181,177,183,185,182
1544
;     db   179,'8',181,177,183,185,182
1492
;     db   'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ'
1545
;     db   'ABCD',255,'FGHIJKLMNOPQRSTUVWXYZ'
1493
;     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1546
;     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1494
;     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1547
;     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1495
;     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1548
;     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1496
 
1549
 
1497
 
1550
 
1498
en_keymap:
1551
en_keymap:
1499
 
1552
 
1500
     db   '6',27
1553
     db   '6',27
1501
     db   '1234567890-=',8,9
1554
     db   '1234567890-=',8,9
1502
     db   'qwertyuiop[]',13
1555
     db   'qwertyuiop[]',13
1503
     db   '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 '
1556
     db   '~asdfghjkl;',39,96,0,'\zxcvbnm,./',0,'45 '
1504
     db   '@234567890123',180,178,184,'6',176,'7'
1557
     db   '@234567890123',180,178,184,'6',176,'7'
1505
     db   179,'8',181,177,183,185,182
1558
     db   179,'8',181,177,183,185,182
1506
     db   'AB
1559
     db   'AB
1507
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1560
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1508
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1561
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1509
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1562
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1510
 
1563
 
1511
 
1564
 
1512
en_keymap_shift:
1565
en_keymap_shift:
1513
 
1566
 
1514
     db   '6',27
1567
     db   '6',27
1515
     db   '!@#$%^&*()_+',8,9
1568
     db   '!@#$%^&*()_+',8,9
1516
     db   'QWERTYUIOP{}',13
1569
     db   'QWERTYUIOP{}',13
1517
     db   '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 '
1570
     db   '~ASDFGHJKL:"~',0,'|ZXCVBNM<>?',0,'45 '
1518
     db   '@234567890123',180,178,184,'6',176,'7'
1571
     db   '@234567890123',180,178,184,'6',176,'7'
1519
     db   179,'8',181,177,183,185,182
1572
     db   179,'8',181,177,183,185,182
1520
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1573
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1521
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1574
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1522
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1575
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1523
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1576
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1524
 
1577
 
1525
 
1578
 
1526
fr_keymap:
1579
fr_keymap:
1527
 
1580
 
1528
     db   '6',27
1581
     db   '6',27
1529
     db   '&Ž"',39,'(-_“)=',8,9
1582
     db   '&Ž"',39,'(-_“)=',8,9
1530
     db   'azertyuiop^$',13
1583
     db   'azertyuiop^$',13
1531
     db   '~qsdfghjklm’',0,0,'*wxcvbn,;:!',0,'45 '
1584
     db   '~qsdfghjklm’',0,0,'*wxcvbn,;:!',0,'45 '
1532
     db   '@234567890123',180,178,184,'6',176,'7'
1585
     db   '@234567890123',180,178,184,'6',176,'7'
1533
     db   179,'8',181,177,183,185,182
1586
     db   179,'8',181,177,183,185,182
1534
     db   'AB
1587
     db   'AB
1535
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1588
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1536
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1589
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1537
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1590
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1538
 
1591
 
1539
 
1592
 
1540
 
1593
 
1541
fr_keymap_shift:
1594
fr_keymap_shift:
1542
 
1595
 
1543
 
1596
 
1544
     db   '6',27
1597
     db   '6',27
1545
     db   '1234567890+',8,9
1598
     db   '1234567890+',8,9
1546
     db   'AZERTYUIOP•”',13
1599
     db   'AZERTYUIOP•”',13
1547
     db   '~QSDFGHJKLM%',0,'–WXCVBN?./',0,'45 '
1600
     db   '~QSDFGHJKLM%',0,'–WXCVBN?./',0,'45 '
1548
     db   '@234567890123',180,178,184,'6',176,'7'
1601
     db   '@234567890123',180,178,184,'6',176,'7'
1549
     db   179,'8',181,177,183,185,182
1602
     db   179,'8',181,177,183,185,182
1550
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1603
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1551
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1604
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1552
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1605
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1553
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1606
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1554
 
1607
 
1555
 
1608
 
1556
fr_keymap_alt_gr:
1609
fr_keymap_alt_gr:
1557
 
1610
 
1558
 
1611
 
1559
     db   '6',27
1612
     db   '6',27
1560
     db   28,'~#{[|˜\^@]}',8,9
1613
     db   28,'~#{[|˜\^@]}',8,9
1561
     db   'azertyuiop^$',13
1614
     db   'azertyuiop^$',13
1562
     db   '~qsdfghjklm’',0,0,'*wxcvbn,;:!',0,'45 '
1615
     db   '~qsdfghjklm’',0,0,'*wxcvbn,;:!',0,'45 '
1563
     db   '@234567890123',180,178,184,'6',176,'7'
1616
     db   '@234567890123',180,178,184,'6',176,'7'
1564
     db   179,'8',181,177,183,185,182
1617
     db   179,'8',181,177,183,185,182
1565
     db   'AB
1618
     db   'AB
1566
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1619
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1567
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1620
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1568
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1621
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1569
 
1622
 
1570
 
1623
 
1571
 
1624
 
1572
 
1625
 
1573
fi_keymap:
1626
fi_keymap:
1574
 
1627
 
1575
     db   '6',27
1628
     db   '6',27
1576
     db   '1234567890+[',8,9
1629
     db   '1234567890+[',8,9
1577
     db   'qwertyuiop',192,'~',13
1630
     db   'qwertyuiop',192,'~',13
1578
     db   '~asdfghjkl',194,193,'1',0,39,'zxcvbnm,.-',0,'45 '
1631
     db   '~asdfghjkl',194,193,'1',0,39,'zxcvbnm,.-',0,'45 '
1579
     db   '@234567890123',180,178,184,'6',176,'7'
1632
     db   '@234567890123',180,178,184,'6',176,'7'
1580
     db   179,'8',181,177,183,185,182
1633
     db   179,'8',181,177,183,185,182
1581
     db   'AB
1634
     db   'AB
1582
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1635
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1583
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1636
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1584
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1637
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1585
 
1638
 
1586
 
1639
 
1587
fi_keymap_shift:
1640
fi_keymap_shift:
1588
 
1641
 
1589
     db   '6',27
1642
     db   '6',27
1590
     db   '!"#%&/()=?]',8,9
1643
     db   '!"#%&/()=?]',8,9
1591
     db   'QWERTYUIOP',200,'~',13
1644
     db   'QWERTYUIOP',200,'~',13
1592
     db   '~ASDFGHJKL',202,201,'1',0,'*ZXCVBNM;:_',0,'45 '
1645
     db   '~ASDFGHJKL',202,201,'1',0,'*ZXCVBNM;:_',0,'45 '
1593
     db   '@234567890123',180,178,184,'6',176,'7'
1646
     db   '@234567890123',180,178,184,'6',176,'7'
1594
     db   179,'8',181,177,183,185,182
1647
     db   179,'8',181,177,183,185,182
1595
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1648
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1596
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1649
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1597
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1650
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1598
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1651
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1599
 
1652
 
1600
 
1653
 
1601
 
1654
 
1602
ge_keymap:
1655
ge_keymap:
1603
 
1656
 
1604
     db   '6',27
1657
     db   '6',27
1605
     db   '1234567890?[',8,9
1658
     db   '1234567890?[',8,9
1606
     db   'qwertzuiop',203,'~',13
1659
     db   'qwertzuiop',203,'~',13
1607
     db   '~asdfghjkl',194,193,'1',0,39,'yxcvbnm,.-',0,'45 '
1660
     db   '~asdfghjkl',194,193,'1',0,39,'yxcvbnm,.-',0,'45 '
1608
     db   '@234567890123',180,178,184,'6',176,'7'
1661
     db   '@234567890123',180,178,184,'6',176,'7'
1609
     db   179,'8',181,177,183,185,182
1662
     db   179,'8',181,177,183,185,182
1610
     db   'AB
1663
     db   'AB
1611
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1664
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1612
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1665
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1613
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1666
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1614
 
1667
 
1615
 
1668
 
1616
ge_keymap_shift:
1669
ge_keymap_shift:
1617
 
1670
 
1618
     db   '6',27
1671
     db   '6',27
1619
     db   '!"#$%&/()=',197,']',8,9
1672
     db   '!"#$%&/()=',197,']',8,9
1620
     db   'QWERTZUIOP',195,'~',13
1673
     db   'QWERTZUIOP',195,'~',13
1621
     db   '~ASDFGHJKL',202,201,'1',0,'*YXCVBNM;:_',0,'45 '
1674
     db   '~ASDFGHJKL',202,201,'1',0,'*YXCVBNM;:_',0,'45 '
1622
     db   '@234567890123',180,178,184,'6',176,'7'
1675
     db   '@234567890123',180,178,184,'6',176,'7'
1623
     db   179,'8',181,177,183,185,182
1676
     db   179,'8',181,177,183,185,182
1624
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1677
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1625
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1678
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1626
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1679
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1627
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1680
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1628
 
1681
 
1629
ru_keymap:
1682
ru_keymap:
1630
 
1683
 
1631
     db   '6',27
1684
     db   '6',27
1632
     db   '1234567890-=',8,9
1685
     db   '1234567890-=',8,9
1633
     db   '©æ㪥­£èé§åê',13
1686
     db   '©æ㪥­£èé§åê',13
1634
     db   0,"ä뢠¯à®«¤¦í"
1687
     db   0,"ä뢠¯à®«¤¦í"
1635
     db   0xf1, '-/'
1688
     db   0xf1, '-/'
1636
     db   "ïçᬨâì¡î",'.-','45 '
1689
     db   "ïçᬨâì¡î",'.-','45 '
1637
     db   '@234567890123',180,178,184,'6',176,'7'
1690
     db   '@234567890123',180,178,184,'6',176,'7'
1638
     db   179,'8',181,177,183,185,182
1691
     db   179,'8',181,177,183,185,182
1639
     db   'AB
1692
     db   'AB
1640
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1693
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1641
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1694
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1642
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1695
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1643
 
1696
 
1644
 
1697
 
1645
 
1698
 
1646
ru_keymap_shift:
1699
ru_keymap_shift:
1647
 
1700
 
1648
     db   '6',27
1701
     db   '6',27
1649
     db   '!"N;%:?*()_+',8,0
1702
     db   '!"N;%:?*()_+',8,0
1650
     db   "‰–“Š…ƒ˜™‡•š",13
1703
     db   "‰–“Š…ƒ˜™‡•š",13
1651
     db   0,"”›‚€Ž‹„†"
1704
     db   0,"”›‚€Ž‹„†"
1652
     db   0xf0, '-\'
1705
     db   0xf0, '-\'
1653
     db   "Ÿ—‘Œˆ’œž",',-','45 '
1706
     db   "Ÿ—‘Œˆ’œž",',-','45 '
1654
     db   '@234567890123',180,178,184,'6',176,'7'
1707
     db   '@234567890123',180,178,184,'6',176,'7'
1655
     db   179,'8',181,177,183,185,182
1708
     db   179,'8',181,177,183,185,182
1656
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1709
     db   'AB>D',255,'FGHIJKLMNOPQRSTUVWXYZ'
1657
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1710
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1658
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1711
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1659
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1712
     db   'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
1660
 
1713
 
1661
read_fileinfo:
1714
read_fileinfo:
1662
       dd 0
1715
       dd 0
1663
       dd 0
1716
       dd 0
1664
       dd 0
1717
       dd 0
1665
       dd 52
1718
       dd 56
1666
       dd keyboard
1719
       dd keyboard
1667
       db 0
1720
       db 0
1668
       dd file_name
1721
       dd file_name
1669
 
1722
 
1670
save_fileinfo:
1723
save_fileinfo:
1671
       dd 2
1724
       dd 2
1672
       dd 0
1725
       dd 0
1673
       dd 0
1726
       dd 0
1674
       dd 52
1727
       dd 56
1675
       dd keyboard
1728
       dd keyboard
1676
file_name:   db '/rd/1/setup.dat',0
1729
file_name:   db '/rd/1/setup.dat',0
1677
 
1730
 
1678
I_PARAM   dd 0
1731
I_PARAM   dd 0
1679
 
1732
 
1680
keyboard     dd 0x0
1733
keyboard     dd 0x0
1681
midibase     dd 0x320
1734
midibase     dd 0x320
1682
cdbase       dd 0x2
1735
cdbase         dd 0x2
1683
sb16         dd 0x220
1736
sb16         dd 0x220
1684
syslang      dd 0x1
1737
syslang      dd 0x1
1685
wss          dd 0x1
1738
wss         dd 0x1
1686
wssp         dd 0x0
1739
wssp         dd 0x0
1687
hdbase       dd 0x1
1740
hdbase         dd 0x1
1688
f32p         dd 0x1
1741
f32p         dd 0x1
1689
sound_dma    dd 0x1
1742
sound_dma    dd 0x1
1690
lba_read     dd 0x1
1743
lba_read     dd 0x1
1691
pci_acc      dd 0x1
1744
pci_acc      dd 0x1
1692
mouse_speed  dd 0x3
1745
mouse_speed  dd 0x3
-
 
1746
mouse_delay  dd 0x10
1693
text00:
1747
text00:
1694
 
1748
 
1695
I_END:
1749
I_END:
1696
table_area:
1750
table_area:
1697
>
1751
>
1698
>
1752
>
1699
>
1753
>
1700
>
1754
>
1701
>
1755
>
1702
>
1756
>