Subversion Repositories Kolibri OS

Rev

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

Rev 2 Rev 33
Line 399... Line 399...
399
        mov   [0xfff4],byte 0 ; no mouse under
399
        mov   [0xfff4],byte 0 ; no mouse under
400
        mov   [0xfb44],byte 0 ; react to mouse up/down
400
        mov   [0xfb44],byte 0 ; react to mouse up/down
Line 401... Line 401...
401
 
401
 
402
        mov   ecx,10          ; wait 1/10 second
402
        mov   ecx,10          ; wait 1/10 second
403
      wmrl3:
-
 
404
        call  check_mouse_data
403
      wmrl3:
405
        call  [draw_pointer]
404
        call  [draw_pointer]
406
        mov   eax,1
405
        mov   eax,1
407
        call  delay_hs
406
        call  delay_hs
Line 720... Line 719...
720
windowactivate:
719
windowactivate:
Line 721... Line 720...
721
 
720
 
Line 722... Line 721...
722
        ; esi = abs mem position in stack 0xC400+
721
        ; esi = abs mem position in stack 0xC400+
723
 
-
 
724
        pushad
722
 
725
 
723
        pushad
726
       push   esi
724
        push   esi
Line 727... Line 725...
727
      movzx   eax, word [esi] ; ax <- process no
725
      movzx   eax, word [esi] ; ax <- process no
Line 747... Line 745...
747
      movzx   eax, word [esi]
745
      movzx   eax, word [esi]
748
        mov   bx, [0x3004]  ; number of processes
746
        mov   bx, [0x3004]  ; number of processes
749
        mov   [0xC000+eax*2], bx     ; this is the last (and the upper)
747
        mov   [0xC000+eax*2], bx     ; this is the last (and the upper)
Line 750... Line 748...
750
 
748
 
-
 
749
;* start code - get active process (4) - Mario79
-
 
750
        cli
-
 
751
        cmp  [active_process_flag],1
-
 
752
        jne  @f
-
 
753
        mov   [active_process_flag],0
-
 
754
        jmp   end_save_active_process
-
 
755
    @@:
-
 
756
        call save_active_process_stack
751
;* start code - get active process (4) - Mario79
757
    end_save_active_process:
-
 
758
        mov  [active_process],eax
-
 
759
        push  eax
-
 
760
        mov   eax,[active_process]
-
 
761
        shl   eax,5
-
 
762
        add   eax,0x3000
-
 
763
        mov   [eax-twdw+31],byte 1
-
 
764
        pop   eax
752
         mov  [active_process],eax
765
        sti
Line 753... Line 766...
753
;* end code - get active process (4) - Mario79
766
;* end code - get active process (4) - Mario79
754
 
767
 
755
        ; update on screen -window stack
768
        ; update on screen -window stack
Line 761... Line 774...
761
        inc   esi
774
        inc   esi
762
        movzx ebx, word [esi*2 + 0xC000]
775
        movzx ebx, word [esi*2 + 0xC000]
763
        mov   [ebx*2 + 0xC400], si
776
        mov   [ebx*2 + 0xC400], si
764
        jmp   waloop2
777
        jmp   waloop2
765
      wacont2:
778
      wacont2:
766
 
-
 
767
        mov   [0xf400], byte 0           ; empty keyboard buffer
779
        mov   [0xf400], byte 0           ; empty keyboard buffer
768
        mov   [0xf500], byte 0           ; empty button buffer
780
        mov   [0xf500], byte 0           ; empty button buffer
769
 
-
 
770
        popad
781
        popad
771
        ret
782
        ret
Line 772... Line 783...
772
 
783
 
Line 900... Line 911...
900
 
911
 
901
        mov   ecx, 25 ;100
912
        mov   ecx, 25 ;100
902
     .waitflagdown:
913
     .waitflagdown:
903
        dec   ecx
914
        dec   ecx
904
        jz    .nowait
915
        jz    .nowait
905
        mov   eax, 2
916
;        mov   eax, 2
906
        call  delay_hs
917
;        call  delay_hs
907
        cmp   [edi+31], byte 0 ; wait flag to drop
918
        cmp   [edi+31], byte 0 ; wait flag to drop
908
        jnz   .waitflagdown
919
        jnz   .waitflagdown
Line 909... Line 920...
909
      .nowait:
920
      .nowait:
Line 948... Line 959...
948
        movzx esi, word [0xC000 + ebx * 2]
959
        movzx esi, word [0xC000 + ebx * 2]
949
        lea  esi, [0xC400 + esi * 2]
960
        lea  esi, [0xC400 + esi * 2]
950
        call waredraw
961
        call waredraw
Line 951... Line 962...
951
 
962
 
952
;* start code - get active process (2) - Mario79
963
;* start code - get active process (2) - Mario79
953
        mov  eax,[0xff01]
964
;        mov  eax,[0xff01]
954
        mov  [active_process],eax
965
;        mov  [active_process],eax
Line 955... Line 966...
955
;* end code - get active process  (2) - Mario79
966
;* end code - get active process  (2) - Mario79
Line 956... Line 967...
956
 
967
 
Line 1161... Line 1172...
1161
 
1172
 
Line 1162... Line 1173...
1162
        call  checkEgaCga
1173
        call  checkEgaCga
Line 1163... Line -...
1163
 
-
 
1164
        mov   [0xfff4],byte 0
1174
 
Line 1165... Line 1175...
1165
 
1175
        mov   [0xfff4],byte 0
1166
        call  check_mouse_data
1176
 
1167
        call  [draw_pointer]
1177
        call  [draw_pointer]
Line 1458... Line 1468...
1458
        mov   eax,edi
1468
        mov   eax,edi
1459
        call  redrawscreen
1469
        call  redrawscreen
Line 1460... Line 1470...
1460
 
1470
 
1461
        mov   ecx,100         ; wait to avoid mouse residuals
1471
        mov   ecx,100         ; wait to avoid mouse residuals
1462
      waitre2:
-
 
1463
        call  check_mouse_data
1472
      waitre2:
1464
        mov   [0xfff5],byte 1
1473
        mov   [0xfff5],byte 1
1465
        call  checkidle
1474
        call  checkidle
1466
        cmp   [edi+31],byte 0
1475
        cmp   [edi+31],byte 0
1467
        jz    retwm
1476
        jz    retwm