diff --git a/kernel/trunk/core/clipboard.inc b/kernel/trunk/core/clipboard.inc index fc345d2d8d..a577ddc9c7 100644 --- a/kernel/trunk/core/clipboard.inc +++ b/kernel/trunk/core/clipboard.inc @@ -79,8 +79,6 @@ align 4 shl eax, 2 add eax, [clipboard_main_list] mov [eax], edi - push edi ;save pointer to data - push ecx ;save size data ; copy the data into the slot mov esi, edx mov eax, ecx @@ -89,10 +87,6 @@ align 4 sub ecx, 4 add esi, 4 rep movsb ; store slot data -;copy ecx in Dword[clipboard_main_list+clipboard_slots*4] - pop ecx - pop eax - mov [eax], ecx ; increase the counter of slots inc [clipboard_slots] ; unlock last slot diff --git a/kernel/trunk/core/syscall.inc b/kernel/trunk/core/syscall.inc index d78bd2516b..86aefe1253 100644 --- a/kernel/trunk/core/syscall.inc +++ b/kernel/trunk/core/syscall.inc @@ -141,7 +141,7 @@ iglobal dd set_app_param ; 40-WantEvents dd undefined_syscall ; 41- deprecated GetIrqOwner dd undefined_syscall ; 42- deprecated ReadIrqData - dd sys_outport ; 43-SendDeviceData + dd undefined_syscall ; 43-SendDeviceData dd undefined_syscall ; 44- deprecated ProgramIrqs dd undefined_syscall ; 45- deprecated ReserveIrq and FreeIrq dd syscall_reserveportarea ; 46-ReservePortArea and FreePortArea diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index 6844d71efa..71ada9cc2e 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -1366,62 +1366,62 @@ set_variables: align 4 ;input eax=43,bl-byte of output, ecx - number of port -sys_outport: - - mov edi, ecx ; separate flag for read / write - and ecx, 65535 - - mov eax, [RESERVED_PORTS] - test eax, eax - jnz .sopl8 - inc eax - mov [esp+32], eax - ret - - .sopl8: - mov edx, [TASK_BASE] - mov edx, [edx+0x4] - ;and ecx,65535 - ;cld - set on interrupt 0x40 - .sopl1: - - mov esi, eax - shl esi, 4 - add esi, RESERVED_PORTS - cmp edx, [esi+0] - jne .sopl2 - cmp ecx, [esi+4] - jb .sopl2 - cmp ecx, [esi+8] - jg .sopl2 -.sopl3: - - test edi, 0x80000000; read ? - jnz .sopl4 - - mov eax, ebx - mov dx, cx ; write - out dx, al - and [esp+32], dword 0 - ret - - .sopl2: - - dec eax - jnz .sopl1 - inc eax - mov [esp+32], eax - ret - - - .sopl4: - - mov dx, cx ; read - in al, dx - and eax, 0xff - and [esp+32], dword 0 - mov [esp+20], eax - ret +;sys_outport: +; +; mov edi, ecx ; separate flag for read / write +; and ecx, 65535 +; +; mov eax, [RESERVED_PORTS] +; test eax, eax +; jnz .sopl8 +; inc eax +; mov [esp+32], eax +; ret +; +; .sopl8: +; mov edx, [TASK_BASE] +; mov edx, [edx+0x4] +; ;and ecx,65535 +; ;cld - set on interrupt 0x40 +; .sopl1: +; +; mov esi, eax +; shl esi, 4 +; add esi, RESERVED_PORTS +; cmp edx, [esi+0] +; jne .sopl2 +; cmp ecx, [esi+4] +; jb .sopl2 +; cmp ecx, [esi+8] +; jg .sopl2 +;.sopl3: +; +; test edi, 0x80000000; read ? +; jnz .sopl4 +; +; mov eax, ebx +; mov dx, cx ; write +; out dx, al +; and [esp+32], dword 0 +; ret +; +; .sopl2: +; +; dec eax +; jnz .sopl1 +; inc eax +; mov [esp+32], eax +; ret +; +; +; .sopl4: +; +; mov dx, cx ; read +; in al, dx +; and eax, 0xff +; and [esp+32], dword 0 +; mov [esp+20], eax +; ret display_number: ; add check pointers @@ -2668,8 +2668,8 @@ sound_flag db 0 endg -UID_NONE=0 -UID_KOLIBRI=2 ;russian +;UID_NONE=0 +;UID_KOLIBRI=2 ;russian iglobal version_inf: @@ -4233,6 +4233,14 @@ set_io_access_rights: ; or [edi],byte bl ; disable access - ebp = 1 pop eax edi ret + +align 4 +syscall_reserveportarea: ; ReservePortArea and FreePortArea + + call r_f_port_area + mov [esp+32], eax + ret + ;reserve/free group of ports ; * eax = 46 - number function ; * ebx = 0 - reserve, 1 - free @@ -5578,12 +5586,6 @@ syscall_drawline: ; DrawLine jmp __sys_draw_line -align 4 -syscall_reserveportarea: ; ReservePortArea and FreePortArea - - call r_f_port_area - mov [esp+32], eax - ret align 4 syscall_threads: ; CreateThreads