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 |