Subversion Repositories Kolibri OS

Rev

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

Rev 23 Rev 33
Line 323... Line 323...
323
     pushad
323
     pushad
324
     mov   edi, num
324
     mov   edi, num
325
     jmp   irq_c
325
     jmp   irq_c
326
}
326
}
Line 327... Line 327...
327
 
327
 
Line 328... Line 328...
328
irqh 2,3,4,5,7,8,9,10,11,12,14,15
328
irqh 2,5,7,8,9,10,11,14,15
329
 
329
 
330
 irq_c:
330
 irq_c:
331
     push  ds es
331
     push  ds es
Line 342... Line 342...
342
     push  ds es
342
     push  ds es
343
     mov   ax, os_data
343
     mov   ax, os_data
344
     mov   ds, ax
344
     mov   ds, ax
345
     mov   es, ax
345
     mov   es, ax
346
     call  fdc_irq
346
     call  fdc_irq
-
 
347
     call  ready_for_next_irq
-
 
348
     pop   es ds
-
 
349
     popad
-
 
350
     iret
Line -... Line 351...
-
 
351
 
-
 
352
p_irq3:
-
 
353
     pushad
347
 
354
     push  ds es
348
     mov    [check_idle_semaphore],5
355
     mov   ax, os_data
349
     mov   al, 0x20
356
     mov   ds, ax
-
 
357
     mov   es, ax
-
 
358
     call  check_mouse_data_com2
-
 
359
     pop   es ds
-
 
360
     popad
Line -... Line 361...
-
 
361
     iret
-
 
362
 
-
 
363
p_irq4:
-
 
364
     pushad
-
 
365
     push  ds es
-
 
366
     mov   ax, os_data
-
 
367
     mov   ds, ax
-
 
368
     mov   es, ax
-
 
369
     call  check_mouse_data_com1
-
 
370
     pop   es ds
-
 
371
     popad
-
 
372
     iret
-
 
373
 
-
 
374
p_irq12:
-
 
375
     pushad
-
 
376
     push  ds es
-
 
377
     mov   ax, os_data
-
 
378
     mov   ds, ax
350
     out   0x20, al
379
     mov   es, ax
351
 
380
     call  check_mouse_data_ps2
352
     pop   es ds
381
     pop   es ds
Line -... Line 382...
-
 
382
     popad
-
 
383
     iret
-
 
384
 
-
 
385
ready_for_next_irq:
-
 
386
     mov    [check_idle_semaphore],5
-
 
387
     mov   al, 0x20
-
 
388
     out   0x20, al
-
 
389
     ret
-
 
390
 
-
 
391
ready_for_next_irq_1:
-
 
392
     mov    [check_idle_semaphore],5
-
 
393
     mov   al, 0x20
-
 
394
     out    0xa0,al
353
     popad
395
     out   0x20, al
354
     iret
396
     ret
355
 
397
 
356
irqD:
398
irqD:
357
     pushad
399
     pushad
Line 771... Line 813...
771
    loop   newirqfree
813
    loop   newirqfree
772
    popa
814
    popa
Line 773... Line 815...
773
 
815
 
774
 
-
 
-
 
816
 
775
    pusha                     ; remove all port reservations
817
    pusha                     ; remove all port reservations
776
 
818
    mov   [deleted_process],esi
777
    mov   edx,esi
819
    mov   edx,esi
778
    shl   edx, 5 ;imul  edx,0x20
820
    shl   edx, 5 ;imul  edx,0x20
Line 827... Line 869...
827
;    movzx eax,word [dlx]
869
;    movzx eax,word [dlx]
828
;    movzx ebx,word [dly]
870
;    movzx ebx,word [dly]
829
;    movzx ecx,word [dlxe]
871
;    movzx ecx,word [dlxe]
830
;    movzx edx,word [dlye]
872
;    movzx edx,word [dlye]
831
    call  calculatescreen
873
    call  calculatescreen
-
 
874
    cli
-
 
875
    mov  eax,[deleted_process]
-
 
876
    cmp  eax,[active_process]
-
 
877
    jne  no_activate_process
-
 
878
    call read_active_process_stack
-
 
879
  no_activate_process:
832
 
880
    sti
833
    xor   eax, eax
881
    xor   eax, eax
834
    xor   esi, esi
882
    xor   esi, esi
835
    call  redrawscreen
883
    call  redrawscreen
Line 836... Line 884...
836
 
884
 
837
    mov   [0xfff4],byte 0  ; no mouse background
885
    mov   [0xfff4],byte 0  ; no mouse background
Line 838... Line 886...
838
    mov   [0xfff5],byte 0  ; draw mouse
886
    mov   [0xfff5],byte 0  ; draw mouse
839
 
-
 
840
    mov   [application_table_status],0
887
 
841
 
888
    mov   [application_table_status],0
-
 
889
    mov   esi,process_terminated
Line -... Line 890...
-
 
890
    call  sys_msg_board_str
842
    mov   esi,process_terminated
891
    ret
-
 
892
 
-
 
893
save_active_process_stack:
-
 
894
    cmp   [active_proc_stack_coun],0xa400+0x400-4
-
 
895
    jne   @f
-
 
896
    mov   [active_proc_stack_coun],0xa400-4
-
 
897
  @@:
-
 
898
    push  eax
-
 
899
    push  ebx
843
    call  sys_msg_board_str
900
    mov   eax,[active_process]
844
 
901
    shl   eax,5
-
 
902
    add   eax,0x3000
-
 
903
    mov   [eax-twdw+31],byte 1
845
;* start code - fix error redraw for terminate (2) - Mario79
904
    add   [active_proc_stack_coun],4
-
 
905
    mov   eax,[active_process]
-
 
906
    mov   ebx,[active_proc_stack_coun]
-
 
907
    mov   [ebx],eax
-
 
908
    pop   ebx
846
;     cmp  [draw_present],1
909
    pop   eax
-
 
910
    ret
-
 
911
 
-
 
912
read_active_process_stack:
-
 
913
    cmp   [active_proc_stack_coun],0xa400-4
-
 
914
    jne   @f
-
 
915
    mov   [active_proc_stack_coun],0xa400+0x400-4
-
 
916
  @@:
-
 
917
    push  eax
-
 
918
    push  ebx
-
 
919
    mov   ebx,[active_proc_stack_coun]
847
;     je  no_draw_background_temp
920
    mov   eax,[ebx]
-
 
921
    mov   [0xff01],eax     ; activate
-
 
922
    sub   [active_proc_stack_coun],4
848
;     mov   [0xfff0],byte 1
923
    mov   [active_process_flag],1
849
;no_draw_background_temp:
-
 
850
;    mov   [draw_present],0
-
 
Line 851... Line 924...
851
    ret
924
    pop   ebx
852
;draw_present db 0
925
    pop   eax
853
;* end code - fix error redraw for terminate (2) - Mario79
926
    ret
854
 
927