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 |