Subversion Repositories Kolibri OS

Rev

Rev 340 | Rev 502 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 340 Rev 485
Line 12... Line 12...
12
 
12
 
13
;******************************************************************************
13
;******************************************************************************
14
  use32
14
  use32
15
  org        0x0
15
  org        0x0
16
  db      'MENUET01'   ; 8 byte identifier
16
  db      'MENUET01'   ; 8 byte identifier
17
  dd      0x01           ; header version
17
  dd      0x01           ; title version
18
  dd      START        ; pointer to program start
18
  dd      START        ; pointer to program start
19
  dd      I_END        ; size of image
19
  dd      I_END        ; size of image
20
  dd      0x4000      ; reguired amount of memory
20
  dd      0x4000      ; reguired amount of memory
21
  dd      0x4000      ; stack pointer (esp)
21
  dd      0x4000      ; stack pointer (esp)
22
  dd      I_PARAM,0    ; parameters, reserved
-
 
23
;  include 'lang.inc'
22
  dd      I_PARAM,0    ; parameters, reserved
24
  include 'macros.inc'
23
  include '..\..\..\macros.inc'
Line 25... Line 24...
25
;******************************************************************************
24
;******************************************************************************
26
 
25
 
Line 172... Line 171...
172
;******************************************************************************
171
;******************************************************************************
173
set_language_and_exit:
172
set_language_and_exit:
174
    mov  eax,26
173
    mov  eax,26
175
    mov  ebx,2
174
    mov  ebx,2
176
    mov  ecx,9
175
    mov  ecx,9
177
    int  0x40
176
    mcall
178
;    cmp  eax,5
177
;    cmp  eax,5
179
;    jne  @f
178
;    jne  @f
180
;    xor  eax,eax
179
;    xor  eax,eax
181
;@@: mov  [keyboard],eax
180
;@@: mov  [keyboard],eax
182
    cmp  eax,1
181
    cmp  eax,1
Line 192... Line 191...
192
 
191
 
193
set_syslanguage_and_exit:
192
set_syslanguage_and_exit:
194
    mov  eax,26
193
    mov  eax,26
195
    mov  ebx,5
194
    mov  ebx,5
196
;    mov  ecx,9
195
;    mov  ecx,9
197
    int  0x40
196
    mcall
198
    cmp  eax,6
197
    cmp  eax,6
199
    jne  temp      ;@f
198
    jne  temp      ;@f
200
    xor  eax,eax
199
    xor  eax,eax
201
;@@: inc  eax
200
;@@: inc  eax
Line 252... Line 251...
252
still:
251
still:
Line 253... Line 252...
253
 
252
 
254
    cmp  word [blinkpar],0
253
    cmp  word [blinkpar],0
255
    jne  blinker
254
    jne  blinker
256
    mov  eax,29     ;get system date
255
    mov  eax,29     ;get system date
257
    int  0x40
256
    mcall
258
    cmp  eax,[date]
257
    cmp  eax,[date]
259
    je         gettime
258
    je         gettime
260
    mov  [date],eax
259
    mov  [date],eax
261
 gettime:
260
 gettime:
262
    mov  eax,3        ;get system time
261
    mov  eax,3        ;get system time
263
    int  0x40
262
    mcall
264
    cmp  ax,[time]
263
    cmp  ax,[time]
265
    je         sysevent
264
    je         sysevent
266
    mov  [time],ax
265
    mov  [time],ax
Line 267... Line 266...
267
    call drawtime
266
    call drawtime
268
 
267
 
269
 sysevent:
268
 sysevent:
270
    mov  eax,23
269
    mov  eax,23
Line 271... Line 270...
271
    mov  ebx,8        ; wait here for event with timeout
270
    mov  ebx,8        ; wait here for event with timeout
272
    int  0x40
271
    mcall
273
 
272
 
274
    cmp  eax,1
273
    cmp  eax,1
Line 362... Line 361...
362
    jmp incdecdate1
361
    jmp incdecdate1
Line 363... Line 362...
363
 
362
 
364
 
363
 
365
  key:
364
  key:
366
    ;mov  eax,2
365
    ;mov  eax,2
367
    int  0x40
366
    mcall
368
    cmp  ah,27
367
    cmp  ah,27
369
    jne  still
368
    jne  still
370
    mov  dword [blinkpar],0
369
    mov  dword [blinkpar],0
Line 371... Line 370...
371
    call drawtime
370
    call drawtime
Line 372... Line 371...
372
    jmp  still
371
    jmp  still
373
 
372
 
Line 374... Line 373...
374
  button:
373
  button:
375
 
374
 
376
    mov  eax,17
375
    mov  eax,17
377
    int  0x40
376
    mcall
Line 427... Line 426...
427
 
426
 
428
    cmp  ah,1           ; CLOSE APPLICATION
427
    cmp  ah,1           ; CLOSE APPLICATION
429
    jne  no_close
428
    jne  no_close
430
close:
429
close:
431
    or         eax,-1
430
    or         eax,-1
432
    int  0x40
431
    mcall
Line 433... Line 432...
433
  no_close:
432
  no_close:
434
 
433
 
435
    cmp  ah,11         ; SET MIDI BASE
434
    cmp  ah,11         ; SET MIDI BASE
Line 715... Line 714...
715
    jnz  nosetkeyle
714
    jnz  nosetkeyle
716
    mov  eax,21       ; english
715
    mov  eax,21       ; english
717
    mov  ebx,2
716
    mov  ebx,2
718
    mov  ecx,1
717
    mov  ecx,1
719
    mov  edx,en_keymap
718
    mov  edx,en_keymap
720
    int  0x40
719
    mcall
721
    mov  eax,21
720
    mov  eax,21
722
    inc  ecx
721
    inc  ecx
723
    mov  edx,en_keymap_shift
722
    mov  edx,en_keymap_shift
724
    int  0x40
723
    mcall
725
    mov  eax,21
724
    mov  eax,21
726
    mov  ecx,9
725
    mov  ecx,9
727
    mov  edx,1
726
    mov  edx,1
728
    int  0x40
727
    mcall
729
    call alt_gen
728
    call alt_gen
730
  nosetkeyle:
729
  nosetkeyle:
731
    cmp  [keyboard],1
730
    cmp  [keyboard],1
732
    jnz  nosetkeylfi
731
    jnz  nosetkeylfi
733
    mov  eax,21       ; finnish
732
    mov  eax,21       ; finnish
734
    mov  ebx,2
733
    mov  ebx,2
735
    mov  ecx,1
734
    mov  ecx,1
736
    mov  edx,fi_keymap
735
    mov  edx,fi_keymap
737
    int  0x40
736
    mcall
738
    mov  eax,21
737
    mov  eax,21
739
    inc  ecx
738
    inc  ecx
740
    mov  edx,fi_keymap_shift
739
    mov  edx,fi_keymap_shift
741
    int  0x40
740
    mcall
742
    mov  eax,21
741
    mov  eax,21
743
    mov  ecx,9
742
    mov  ecx,9
744
    mov  edx,2
743
    mov  edx,2
745
    int  0x40
744
    mcall
746
    call alt_gen
745
    call alt_gen
747
  nosetkeylfi:
746
  nosetkeylfi:
748
    cmp  [keyboard],2
747
    cmp  [keyboard],2
749
    jnz  nosetkeylge
748
    jnz  nosetkeylge
750
    mov  eax,21       ; german
749
    mov  eax,21       ; german
751
    mov  ebx,2
750
    mov  ebx,2
752
    mov  ecx,1
751
    mov  ecx,1
753
    mov  edx,ge_keymap
752
    mov  edx,ge_keymap
754
    int  0x40
753
    mcall
755
    mov  eax,21
754
    mov  eax,21
756
    inc  ecx
755
    inc  ecx
757
    mov  edx,ge_keymap_shift
756
    mov  edx,ge_keymap_shift
758
    int  0x40
757
    mcall
759
    mov  eax,21
758
    mov  eax,21
760
    mov  ecx,9
759
    mov  ecx,9
761
    mov  edx,3
760
    mov  edx,3
762
    int  0x40
761
    mcall
763
    call alt_gen
762
    call alt_gen
764
  nosetkeylge:
763
  nosetkeylge:
765
    cmp  [keyboard],3
764
    cmp  [keyboard],3
766
    jnz  nosetkeylru
765
    jnz  nosetkeylru
767
    mov  eax,21       ; russian
766
    mov  eax,21       ; russian
768
    mov  ebx,2
767
    mov  ebx,2
769
    mov  ecx,1
768
    mov  ecx,1
770
    mov  edx,ru_keymap
769
    mov  edx,ru_keymap
771
    int  0x40
770
    mcall
772
    mov  eax,21
771
    mov  eax,21
773
    inc  ecx
772
    inc  ecx
774
    mov  edx,ru_keymap_shift
773
    mov  edx,ru_keymap_shift
775
    int  0x40
774
    mcall
776
    call alt_gen
775
    call alt_gen
777
    mov  eax,21
776
    mov  eax,21
778
    mov  ecx,9
777
    mov  ecx,9
779
    mov  edx,4
778
    mov  edx,4
780
    int  0x40
779
    mcall
781
  nosetkeylru:
780
  nosetkeylru:
782
    cmp  [keyboard],4        ;french
781
    cmp  [keyboard],4        ;french
783
    jnz  nosetkeylfr
782
    jnz  nosetkeylfr
784
    mov  eax,21
783
    mov  eax,21
785
    mov  ebx,2
784
    mov  ebx,2
786
    mov  ecx,1
785
    mov  ecx,1
787
    mov  edx,fr_keymap
786
    mov  edx,fr_keymap
788
    int  0x40
787
    mcall
789
    mov  eax,21
788
    mov  eax,21
790
    inc  ecx
789
    inc  ecx
791
    mov  edx,fr_keymap_shift
790
    mov  edx,fr_keymap_shift
792
    int  0x40
791
    mcall
793
    mov  eax,21
792
    mov  eax,21
794
    inc  ecx
793
    inc  ecx
795
    mov  edx,fr_keymap_alt_gr
794
    mov  edx,fr_keymap_alt_gr
796
    int  0x40
795
    mcall
797
    mov  eax,21
796
    mov  eax,21
798
    mov  ecx,9
797
    mov  ecx,9
799
    mov  edx,5
798
    mov  edx,5
800
    int  0x40
799
    mcall
801
  nosetkeylfr:
800
  nosetkeylfr:
802
    cmp  [keyboard],5
801
    cmp  [keyboard],5
803
    jnz  nosetkeylet
802
    jnz  nosetkeylet
804
    mov  eax,21       ; estonian
803
    mov  eax,21       ; estonian
805
    mov  ebx,2
804
    mov  ebx,2
806
    mov  ecx,1
805
    mov  ecx,1
807
    mov  edx,et_keymap
806
    mov  edx,et_keymap
808
    int  0x40
807
    mcall
809
    mov  eax,21
808
    mov  eax,21
810
    inc  ecx
809
    inc  ecx
811
    mov  edx,et_keymap_shift
810
    mov  edx,et_keymap_shift
812
    int  0x40
811
    mcall
813
    mov  eax,21
812
    mov  eax,21
814
    mov  ecx,9
813
    mov  ecx,9
815
    mov  edx,6
814
    mov  edx,6
816
    int  0x40
815
    mcall
817
    call alt_gen
816
    call alt_gen
818
  nosetkeylet:
817
  nosetkeylet:
819
    ret
818
    ret
Line 820... Line 819...
820
 
819
 
821
 alt_gen:
820
 alt_gen:
822
   mov eax,21
821
   mov eax,21
823
   mov ecx,3
822
   mov ecx,3
824
   mov edx,alt_general
823
   mov edx,alt_general
825
   int 0x40
824
   mcall
Line 826... Line 825...
826
   ret
825
   ret
Line 834... Line 833...
834
    shl  ecx,16
833
    shl  ecx,16
835
    add  ecx,12
834
    add  ecx,12
836
    mov  ebx,(350-50)*65536+46+BBB
835
    mov  ebx,(350-50)*65536+46+BBB
Line 837... Line 836...
837
 
836
 
838
    mov  eax,8
837
    mov  eax,8
Line 839... Line 838...
839
    int  0x40
838
    mcall
840
 
839
 
841
    mov  ebx,(350-79)*65536+9
840
    mov  ebx,(350-79)*65536+9
Line 842... Line 841...
842
    inc  edx
841
    inc  edx
843
    int  0x40
842
    mcall
844
 
843
 
Line 845... Line 844...
845
    mov  ebx,(350-67)*65536+9
844
    mov  ebx,(350-67)*65536+9
846
    inc  edx
845
    inc  edx
Line 860... Line 859...
860
 
859
 
Line 861... Line 860...
861
    pusha
860
    pusha
862
 
861
 
863
    mov  eax,12
862
    mov  eax,12
Line 864... Line 863...
864
    mov  ebx,1
863
    mov  ebx,1
865
    int  0x40
864
    mcall
866
 
865
 
867
    xor  eax,eax       ; DRAW WINDOW
866
    xor  eax,eax       ; DRAW WINDOW
868
    mov  ebx,40*65536+355+BBB
867
    mov  ebx,40*65536+355+BBB
869
    mov  ecx,40*65536+320
868
    mov  ecx,40*65536+320
Line 870... Line 869...
870
    mov  edx,0x93111199
869
    mov  edx,0x93111199
871
    mov  edi,header
870
    mov  edi,title
872
    int  0x40
871
    mcall
873
 
872
 
874
    mov  eax,8             ; APPLY ALL
873
    mov  eax,8             ; APPLY ALL
875
    mov  ebx,(350-79)*65536+100
874
    mov  ebx,(350-79)*65536+100
876
    mov  ecx,282*65536+12
875
    mov  ecx,282*65536+12
877
    mov  edx,100
876
    mov  edx,100
878
    mov  esi,0x005588dd
877
    mov  esi,0x005588dd
Line 879... Line 878...
879
    int  0x40
878
    mcall
Line 880... Line 879...
880
    add  ecx,16*65536         ; SAVE ALL
879
    add  ecx,16*65536         ; SAVE ALL
881
    dec  edx
880
    dec  edx
Line 941... Line 940...
941
 
940
 
Line 942... Line 941...
942
    call draw_infotext
941
    call draw_infotext
943
 
942
 
944
    mov  eax,12
943
    mov  eax,12
Line 945... Line 944...
945
    mov  ebx,2
944
    mov  ebx,2
946
    int  0x40
945
    mcall
Line 1138... Line 1137...
1138
text_out:
1137
text_out:
1139
    mov  eax,13
1138
    mov  eax,13
1140
    mov  ebx,175*65536+85
1139
    mov  ebx,175*65536+85
1141
    mov  ecx,40*65536+225
1140
    mov  ecx,40*65536+225
1142
    mov  edx,0x80111199-19
1141
    mov  edx,0x80111199-19
1143
    int  0x40
1142
    mcall
Line 1144... Line 1143...
1144
 
1143
 
1145
    mov  edx,text00
1144
    mov  edx,text00
1146
    mov  ebx,10*65536+45
1145
    mov  ebx,10*65536+45
1147
    mov  eax,4
1146
    mov  eax,4
1148
    mov  ecx,0xffffff
1147
    mov  ecx,0xffffff
1149
    mov  esi,LLL
1148
    mov  esi,LLL
1150
    mov  ebp,text1_strings
1149
    mov  ebp,text1_strings
1151
  newline:
1150
  newline:
1152
    int  0x40
1151
    mcall
1153
    add  ebx,8+8
1152
    add  ebx,8+8
1154
    add  edx,esi
1153
    add  edx,esi
1155
    dec  ebp
1154
    dec  ebp
1156
    jnz  newline
1155
    jnz  newline
1157
    mov  ebp,text2_strings
1156
    mov  ebp,text2_strings
1158
    add  ebx,8+8
1157
    add  ebx,8+8
1159
  @@:
1158
  @@:
1160
    int  0x40
1159
    mcall
1161
    add  ebx,8+8
1160
    add  ebx,8+8
1162
    add  edx,esi
1161
    add  edx,esi
1163
    dec  ebp
1162
    dec  ebp
1164
    jnz  @b
1163
    jnz  @b
Line 1227... Line 1226...
1227
 
1226
 
1228
_midibase:
1227
_midibase:
1229
    mov  eax,21
1228
    mov  eax,21
1230
    mov  ebx,1
1229
    mov  ebx,1
1231
    mov  ecx,[midibase]
1230
    mov  ecx,[midibase]
1232
    int  0x40
1231
    mcall
Line 1233... Line 1232...
1233
 ret
1232
 ret
1234
 
1233
 
1235
_cdbase:
1234
_cdbase:
1236
    mov  eax,21
1235
    mov  eax,21
1237
    mov  ebx,3
1236
    mov  ebx,3
1238
    mov  ecx,[cdbase]
1237
    mov  ecx,[cdbase]
Line 1239... Line 1238...
1239
    int  0x40
1238
    mcall
1240
 ret
1239
 ret
1241
 
1240
 
1242
_hdbase:
1241
_hdbase:
1243
    mov  eax,21
1242
    mov  eax,21
1244
    mov  ebx,7
1243
    mov  ebx,7
Line 1245... Line 1244...
1245
    mov  ecx,[hdbase]
1244
    mov  ecx,[hdbase]
1246
    int  0x40
1245
    mcall
1247
    ret
1246
    ret
1248
 
1247
 
1249
_sound_dma:
1248
_sound_dma:
1250
    mov  eax,21
1249
    mov  eax,21
Line 1251... Line 1250...
1251
    mov  ebx,10
1250
    mov  ebx,10
1252
    mov  ecx,[sound_dma]
1251
    mov  ecx,[sound_dma]
1253
    int  0x40
1252
    mcall
1254
    ret
1253
    ret
1255
 
1254
 
1256
_lba_read:
1255
_lba_read:
Line 1257... Line 1256...
1257
    mov  eax,21
1256
    mov  eax,21
1258
    mov  ebx,11
1257
    mov  ebx,11
1259
    mov  ecx,[lba_read]
1258
    mov  ecx,[lba_read]
1260
    int  0x40
1259
    mcall
1261
    ret
1260
    ret
1262
 
1261
 
Line 1263... Line 1262...
1263
_pci_acc:
1262
_pci_acc:
1264
    mov  eax,21
1263
    mov  eax,21
1265
    mov  ebx,12
1264
    mov  ebx,12
1266
    mov  ecx,[pci_acc]
1265
    mov  ecx,[pci_acc]
1267
    int  0x40
1266
    mcall
1268
    ret
1267
    ret
Line 1269... Line 1268...
1269
 
1268
 
1270
_f32p:
1269
_f32p:
1271
    mov  eax,21
1270
    mov  eax,21
1272
    mov  ebx,8
1271
    mov  ebx,8
1273
    mov  ecx,[f32p]
1272
    mov  ecx,[f32p]
1274
    int  0x40
1273
    mcall
Line 1275... Line 1274...
1275
 ret
1274
 ret
1276
 
1275
 
1277
_sb16:
1276
_sb16:
1278
    mov  eax,21
1277
    mov  eax,21
1279
    mov  ebx,4
1278
    mov  ebx,4
1280
    mov  ecx,[sb16]
1279
    mov  ecx,[sb16]
Line 1281... Line 1280...
1281
    int  0x40
1280
    mcall
1282
    ret
1281
    ret
1283
 
1282
 
1284
_syslang:
1283
_syslang:
1285
    mov  eax,21
1284
    mov  eax,21
1286
    mov  ebx,5
1285
    mov  ebx,5
1287
    mov  ecx,[syslang]
1286
    mov  ecx,[syslang]
Line 1288... Line 1287...
1288
    int  0x40
1287
    mcall
1289
 ret
1288
 ret
1290
 
1289
 
1291
_mouse_speed:
1290
_mouse_speed:
1292
    mov  eax,18
1291
    mov  eax,18
1293
    mov  ebx,19
1292
    mov  ebx,19
1294
    mov  ecx,1
1293
    mov  ecx,1
Line 1295... Line 1294...
1295
    mov  edx,[mouse_speed]
1294
    mov  edx,[mouse_speed]
1296
    int  0x40
1295
    mcall
1297
 ret
1296
 ret
Line 1373... Line 1372...
1373
 
1372
 
1374
    db 'NOTE:                                           APPLY ALL  '
1373
    db 'NOTE:                                           APPLY ALL  '
1375
    db 'SAVE YOUR SETTINGS BEFORE QUIT KOLIBRI          SAVE ALL   '
1374
    db 'SAVE YOUR SETTINGS BEFORE QUIT KOLIBRI          SAVE ALL   '
Line 1376... Line 1375...
1376
text2_strings = 2
1375
text2_strings = 2
Line 1377... Line 1376...
1377
 
1376
 
Line 1378... Line 1377...
1378
header  db 'SETUP',0
1377
title  db 'SETUP',0