Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 32 → Rev 33

/kernel/trunk/core/sys32.inc
325,7 → 325,7
jmp irq_c
}
 
irqh 2,3,4,5,7,8,9,10,11,12,14,15
irqh 2,5,7,8,9,10,11,14,15
 
irq_c:
push ds es
344,15 → 344,57
mov ds, ax
mov es, ax
call fdc_irq
call ready_for_next_irq
pop es ds
popad
iret
 
mov [check_idle_semaphore],5
mov al, 0x20
out 0x20, al
p_irq3:
pushad
push ds es
mov ax, os_data
mov ds, ax
mov es, ax
call check_mouse_data_com2
pop es ds
popad
iret
 
p_irq4:
pushad
push ds es
mov ax, os_data
mov ds, ax
mov es, ax
call check_mouse_data_com1
pop es ds
popad
iret
 
p_irq12:
pushad
push ds es
mov ax, os_data
mov ds, ax
mov es, ax
call check_mouse_data_ps2
pop es ds
popad
iret
 
ready_for_next_irq:
mov [check_idle_semaphore],5
mov al, 0x20
out 0x20, al
ret
 
ready_for_next_irq_1:
mov [check_idle_semaphore],5
mov al, 0x20
out 0xa0,al
out 0x20, al
ret
 
irqD:
pushad
push ds es
773,7 → 815,7
 
 
pusha ; remove all port reservations
 
mov [deleted_process],esi
mov edx,esi
shl edx, 5 ;imul edx,0x20
add edx,0x3000
829,7 → 871,13
; movzx ecx,word [dlxe]
; movzx edx,word [dlye]
call calculatescreen
 
cli
mov eax,[deleted_process]
cmp eax,[active_process]
jne no_activate_process
call read_active_process_stack
no_activate_process:
sti
xor eax, eax
xor esi, esi
call redrawscreen
838,20 → 886,45
mov [0xfff5],byte 0 ; draw mouse
 
mov [application_table_status],0
 
mov esi,process_terminated
call sys_msg_board_str
ret
 
;* start code - fix error redraw for terminate (2) - Mario79
; cmp [draw_present],1
; je no_draw_background_temp
; mov [0xfff0],byte 1
;no_draw_background_temp:
; mov [draw_present],0
save_active_process_stack:
cmp [active_proc_stack_coun],0xa400+0x400-4
jne @f
mov [active_proc_stack_coun],0xa400-4
@@:
push eax
push ebx
mov eax,[active_process]
shl eax,5
add eax,0x3000
mov [eax-twdw+31],byte 1
add [active_proc_stack_coun],4
mov eax,[active_process]
mov ebx,[active_proc_stack_coun]
mov [ebx],eax
pop ebx
pop eax
ret
;draw_present db 0
;* end code - fix error redraw for terminate (2) - Mario79
 
read_active_process_stack:
cmp [active_proc_stack_coun],0xa400-4
jne @f
mov [active_proc_stack_coun],0xa400+0x400-4
@@:
push eax
push ebx
mov ebx,[active_proc_stack_coun]
mov eax,[ebx]
mov [0xff01],eax ; activate
sub [active_proc_stack_coun],4
mov [active_process_flag],1
pop ebx
pop eax
ret
 
iglobal
boot_sched_1 db 'Building gdt tss pointer',0
boot_sched_2 db 'Building IDT table',0