forked from KolibriOS/kolibrios
small update copyright year in kernel
git-svn-id: svn://kolibrios.org@9715 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3920d392b0
commit
182f6ade61
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -281,8 +281,6 @@ LFB_BASE = 0xFE000000
|
|||||||
|
|
||||||
new_app_base = 0;
|
new_app_base = 0;
|
||||||
|
|
||||||
;twdw = TASK_TABLE - window_data
|
|
||||||
|
|
||||||
std_application_base_address = new_app_base
|
std_application_base_address = new_app_base
|
||||||
RING0_STACK_SIZE = 0x2000
|
RING0_STACK_SIZE = 0x2000
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -155,14 +155,14 @@ debug_getcontext:
|
|||||||
call get_debuggee_slot
|
call get_debuggee_slot
|
||||||
jc .ret
|
jc .ret
|
||||||
|
|
||||||
shr eax, 8
|
shr eax, BSF sizeof.APPDATA
|
||||||
cmp eax, [fpu_owner]
|
cmp eax, [fpu_owner]
|
||||||
jne @f
|
jne @f
|
||||||
inc bh ; set swap context flag
|
inc bh ; set swap context flag
|
||||||
@@:
|
@@:
|
||||||
shl eax, BSF sizeof.APPDATA
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov edi, esi
|
mov edi, esi
|
||||||
mov eax, [eax+SLOT_BASE+APPDATA.pl0_stack]
|
mov eax, [SLOT_BASE + eax + APPDATA.pl0_stack]
|
||||||
lea esi, [eax + RING0_STACK_SIZE]
|
lea esi, [eax + RING0_STACK_SIZE]
|
||||||
|
|
||||||
.ring0:
|
.ring0:
|
||||||
@ -294,7 +294,7 @@ debug_set_drx:
|
|||||||
jnz .okret
|
jnz .okret
|
||||||
; imul eax, ebp, tss_step/32
|
; imul eax, ebp, tss_step/32
|
||||||
; and byte [eax + tss_data + TSS._trap], not 1
|
; and byte [eax + tss_data + TSS._trap], not 1
|
||||||
and [ebp + SLOT_BASE+APPDATA.dbg_state], not 1
|
and [SLOT_BASE + ebp + APPDATA.dbg_state], not 1
|
||||||
.okret:
|
.okret:
|
||||||
and dword [esp+32], 0
|
and dword [esp+32], 0
|
||||||
sti
|
sti
|
||||||
@ -341,7 +341,7 @@ debug_set_drx:
|
|||||||
or [eax + 10h+2], dx ; set R/W and LEN fields
|
or [eax + 10h+2], dx ; set R/W and LEN fields
|
||||||
; imul eax, ebp, tss_step/32
|
; imul eax, ebp, tss_step/32
|
||||||
; or byte [eax + tss_data + TSS._trap], 1
|
; or byte [eax + tss_data + TSS._trap], 1
|
||||||
or [ebp + SLOT_BASE+APPDATA.dbg_state], 1
|
or [SLOT_BASE + ebp + APPDATA.dbg_state], 1
|
||||||
jmp .okret
|
jmp .okret
|
||||||
|
|
||||||
debug_read_process_memory:
|
debug_read_process_memory:
|
||||||
@ -354,7 +354,7 @@ debug_read_process_memory:
|
|||||||
; destroys all
|
; destroys all
|
||||||
call get_debuggee_slot
|
call get_debuggee_slot
|
||||||
jc .err
|
jc .err
|
||||||
shr eax, 8
|
shr eax, BSF sizeof.APPDATA
|
||||||
mov ecx, edi
|
mov ecx, edi
|
||||||
call read_process_memory
|
call read_process_memory
|
||||||
sti
|
sti
|
||||||
@ -374,7 +374,7 @@ debug_write_process_memory:
|
|||||||
; destroys all
|
; destroys all
|
||||||
call get_debuggee_slot
|
call get_debuggee_slot
|
||||||
jc debug_read_process_memory.err
|
jc debug_read_process_memory.err
|
||||||
shr eax, 8
|
shr eax, BSF sizeof.APPDATA
|
||||||
mov ecx, edi
|
mov ecx, edi
|
||||||
call write_process_memory
|
call write_process_memory
|
||||||
sti
|
sti
|
||||||
@ -393,7 +393,7 @@ debugger_notify:
|
|||||||
add edi, 500 ; 5 sec timeout
|
add edi, 500 ; 5 sec timeout
|
||||||
.1:
|
.1:
|
||||||
mov eax, ebp
|
mov eax, ebp
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov esi, [SLOT_BASE + eax + APPDATA.dbg_event_mem]
|
mov esi, [SLOT_BASE + eax + APPDATA.dbg_event_mem]
|
||||||
test esi, esi
|
test esi, esi
|
||||||
jz .ret
|
jz .ret
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -177,14 +177,14 @@ fpu_save:
|
|||||||
.save:
|
.save:
|
||||||
mov [fpu_owner], esi
|
mov [fpu_owner], esi
|
||||||
|
|
||||||
shl ecx, 8
|
shl ecx, BSF sizeof.APPDATA
|
||||||
mov eax, [ecx+SLOT_BASE+APPDATA.fpu_state]
|
mov eax, [SLOT_BASE + ecx + APPDATA.fpu_state]
|
||||||
|
|
||||||
call save_context
|
call save_context
|
||||||
|
|
||||||
; first 512 bytes of XSAVE area have the same format as FXSAVE
|
; first 512 bytes of XSAVE area have the same format as FXSAVE
|
||||||
shl esi, 8
|
shl esi, BSF sizeof.APPDATA
|
||||||
mov esi, [esi+SLOT_BASE+APPDATA.fpu_state]
|
mov esi, [SLOT_BASE + esi + APPDATA.fpu_state]
|
||||||
mov ecx, 512/4
|
mov ecx, 512/4
|
||||||
cld
|
cld
|
||||||
rep movsd
|
rep movsd
|
||||||
@ -225,13 +225,13 @@ avx_save:
|
|||||||
.save:
|
.save:
|
||||||
mov [fpu_owner], esi
|
mov [fpu_owner], esi
|
||||||
|
|
||||||
shl ecx, 8
|
shl ecx, BSF sizeof.APPDATA
|
||||||
mov eax, [ecx+SLOT_BASE+APPDATA.fpu_state]
|
mov eax, [SLOT_BASE + ecx + APPDATA.fpu_state]
|
||||||
|
|
||||||
call save_context
|
call save_context
|
||||||
|
|
||||||
shl esi, 8
|
shl esi, BSF sizeof.APPDATA
|
||||||
mov esi, [esi+SLOT_BASE+APPDATA.fpu_state]
|
mov esi, [SLOT_BASE + esi + APPDATA.fpu_state]
|
||||||
mov ecx, [xsave_area_size]
|
mov ecx, [xsave_area_size]
|
||||||
add ecx, 3
|
add ecx, 3
|
||||||
shr ecx, 2
|
shr ecx, 2
|
||||||
@ -297,8 +297,8 @@ fpu_restore:
|
|||||||
pop ecx
|
pop ecx
|
||||||
ret
|
ret
|
||||||
.copy:
|
.copy:
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov edi, [eax+SLOT_BASE+APPDATA.fpu_state]
|
mov edi, [SLOT_BASE + eax + APPDATA.fpu_state]
|
||||||
mov ecx, 512/4
|
mov ecx, 512/4
|
||||||
cld
|
cld
|
||||||
rep movsd
|
rep movsd
|
||||||
@ -351,8 +351,8 @@ avx_restore:
|
|||||||
pop ecx
|
pop ecx
|
||||||
ret
|
ret
|
||||||
.copy:
|
.copy:
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov edi, [eax+SLOT_BASE+APPDATA.fpu_state]
|
mov edi, [SLOT_BASE + eax + APPDATA.fpu_state]
|
||||||
mov ecx, [xsave_area_size]
|
mov ecx, [xsave_area_size]
|
||||||
add ecx, 3
|
add ecx, 3
|
||||||
shr ecx, 2
|
shr ecx, 2
|
||||||
@ -375,8 +375,8 @@ except_7: ;#NM exception handler
|
|||||||
cmp ebx, [current_slot_idx]
|
cmp ebx, [current_slot_idx]
|
||||||
je .exit
|
je .exit
|
||||||
|
|
||||||
shl ebx, 8
|
shl ebx, BSF sizeof.APPDATA
|
||||||
mov eax, [ebx+SLOT_BASE+APPDATA.fpu_state]
|
mov eax, [SLOT_BASE + ebx + APPDATA.fpu_state]
|
||||||
bt [cpu_caps + (CAPS_OSXSAVE/32)*4], CAPS_OSXSAVE mod 32
|
bt [cpu_caps + (CAPS_OSXSAVE/32)*4], CAPS_OSXSAVE mod 32
|
||||||
jnc .no_xsave
|
jnc .no_xsave
|
||||||
mov ecx, eax
|
mov ecx, eax
|
||||||
@ -385,8 +385,8 @@ except_7: ;#NM exception handler
|
|||||||
xsave [ecx]
|
xsave [ecx]
|
||||||
mov ebx, [current_slot_idx]
|
mov ebx, [current_slot_idx]
|
||||||
mov [fpu_owner], ebx
|
mov [fpu_owner], ebx
|
||||||
shl ebx, 8
|
shl ebx, BSF sizeof.APPDATA
|
||||||
mov ecx, [ebx+SLOT_BASE+APPDATA.fpu_state]
|
mov ecx, [SLOT_BASE + ebx + APPDATA.fpu_state]
|
||||||
xrstor [ecx]
|
xrstor [ecx]
|
||||||
.exit:
|
.exit:
|
||||||
restore_ring3_context
|
restore_ring3_context
|
||||||
@ -398,8 +398,8 @@ except_7: ;#NM exception handler
|
|||||||
fxsave [eax]
|
fxsave [eax]
|
||||||
mov ebx, [current_slot_idx]
|
mov ebx, [current_slot_idx]
|
||||||
mov [fpu_owner], ebx
|
mov [fpu_owner], ebx
|
||||||
shl ebx, 8
|
shl ebx, BSF sizeof.APPDATA
|
||||||
mov eax, [ebx+SLOT_BASE+APPDATA.fpu_state]
|
mov eax, [SLOT_BASE + ebx + APPDATA.fpu_state]
|
||||||
fxrstor [eax]
|
fxrstor [eax]
|
||||||
restore_ring3_context
|
restore_ring3_context
|
||||||
iret
|
iret
|
||||||
@ -408,8 +408,8 @@ except_7: ;#NM exception handler
|
|||||||
fnsave [eax]
|
fnsave [eax]
|
||||||
mov ebx, [current_slot_idx]
|
mov ebx, [current_slot_idx]
|
||||||
mov [fpu_owner], ebx
|
mov [fpu_owner], ebx
|
||||||
shl ebx, 8
|
shl ebx, BSF sizeof.APPDATA
|
||||||
mov eax, [ebx+SLOT_BASE+APPDATA.fpu_state]
|
mov eax, [SLOT_BASE + ebx + APPDATA.fpu_state]
|
||||||
frstor [eax]
|
frstor [eax]
|
||||||
restore_ring3_context
|
restore_ring3_context
|
||||||
iret
|
iret
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -709,7 +709,7 @@ proc map_mem_ipc stdcall, lin_addr:dword,slot:dword,\
|
|||||||
jz .exit
|
jz .exit
|
||||||
|
|
||||||
mov eax, [slot]
|
mov eax, [slot]
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov eax, [SLOT_BASE + eax + APPDATA.process]
|
mov eax, [SLOT_BASE + eax + APPDATA.process]
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .exit
|
jz .exit
|
||||||
@ -772,7 +772,7 @@ proc map_memEx stdcall, lin_addr:dword,slot:dword,\
|
|||||||
jz .exit
|
jz .exit
|
||||||
|
|
||||||
mov eax, [slot]
|
mov eax, [slot]
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov eax, [SLOT_BASE + eax + APPDATA.process]
|
mov eax, [SLOT_BASE + eax + APPDATA.process]
|
||||||
test eax, eax
|
test eax, eax
|
||||||
jz .exit
|
jz .exit
|
||||||
@ -864,7 +864,7 @@ proc safe_map_page stdcall, slot:dword, req_access:dword, ofs:dword
|
|||||||
cld
|
cld
|
||||||
push ebx ecx
|
push ebx ecx
|
||||||
mov eax, [slot]
|
mov eax, [slot]
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov eax, [SLOT_BASE + eax + APPDATA.process]
|
mov eax, [SLOT_BASE + eax + APPDATA.process]
|
||||||
mov eax, [eax + PROC.dlls_list_ptr]
|
mov eax, [eax + PROC.dlls_list_ptr]
|
||||||
test eax, eax
|
test eax, eax
|
||||||
@ -970,8 +970,8 @@ proc sys_ipc_send stdcall, PID:dword, msg_addr:dword, msg_size:dword
|
|||||||
jz .no_pid
|
jz .no_pid
|
||||||
|
|
||||||
mov [dst_slot], eax
|
mov [dst_slot], eax
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov edi, [eax+SLOT_BASE+APPDATA.ipc_start] ;is ipc area defined?
|
mov edi, [SLOT_BASE + eax + APPDATA.ipc_start] ;is ipc area defined?
|
||||||
test edi, edi
|
test edi, edi
|
||||||
jz .no_ipc_area
|
jz .no_ipc_area
|
||||||
|
|
||||||
@ -979,7 +979,7 @@ proc sys_ipc_send stdcall, PID:dword, msg_addr:dword, msg_size:dword
|
|||||||
and ebx, 0xFFF
|
and ebx, 0xFFF
|
||||||
mov [dst_offset], ebx
|
mov [dst_offset], ebx
|
||||||
|
|
||||||
mov esi, [eax+SLOT_BASE+APPDATA.ipc_size]
|
mov esi, [SLOT_BASE + eax + APPDATA.ipc_size]
|
||||||
mov [buf_size], esi
|
mov [buf_size], esi
|
||||||
|
|
||||||
mov ecx, [ipc_tmp]
|
mov ecx, [ipc_tmp]
|
||||||
@ -1043,7 +1043,7 @@ proc sys_ipc_send stdcall, PID:dword, msg_addr:dword, msg_size:dword
|
|||||||
|
|
||||||
mov eax, [dst_slot]
|
mov eax, [dst_slot]
|
||||||
shl eax, BSF sizeof.APPDATA
|
shl eax, BSF sizeof.APPDATA
|
||||||
or [eax+SLOT_BASE+APPDATA.occurred_events], EVENT_IPC
|
or [SLOT_BASE + eax + APPDATA.occurred_events], EVENT_IPC
|
||||||
push 0
|
push 0
|
||||||
jmp .ret
|
jmp .ret
|
||||||
.no_pid:
|
.no_pid:
|
||||||
@ -1303,8 +1303,6 @@ f68:
|
|||||||
;movsd ; SRV.srv_proc_ex
|
;movsd ; SRV.srv_proc_ex
|
||||||
|
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov [esp+SYSCALL_STACK._eax], eax
|
|
||||||
ret
|
|
||||||
.fail:
|
.fail:
|
||||||
mov [esp + SYSCALL_STACK._eax], eax
|
mov [esp + SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -100,7 +100,7 @@ do_change_task:
|
|||||||
;param:
|
;param:
|
||||||
; ebx = address of the APPDATA for incoming task (new)
|
; ebx = address of the APPDATA for incoming task (new)
|
||||||
;warning:
|
;warning:
|
||||||
; [current_slot_idx] and [TASK_BASE] must be changed before (e.g. in find_next_task)
|
; [current_slot_idx] must be changed before (e.g. in find_next_task)
|
||||||
; [current_slot] is the outcoming (old), and set here to a new value (ebx)
|
; [current_slot] is the outcoming (old), and set here to a new value (ebx)
|
||||||
;scratched: eax,ecx,esi
|
;scratched: eax,ecx,esi
|
||||||
mov esi, ebx
|
mov esi, ebx
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; Author: Kees J. Bot 1 Jan 1994 ;;
|
;; Author: Kees J. Bot 1 Jan 1994 ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Synhronization for MenuetOS. ;;
|
;; Synhronization for MenuetOS. ;;
|
||||||
@ -270,8 +270,8 @@ start_wait=$
|
|||||||
jmp start_wait
|
jmp start_wait
|
||||||
ok=$
|
ok=$
|
||||||
push eax
|
push eax
|
||||||
mov eax, dword [TASK_BASE+second_base_address]
|
mov eax, dword [current_slot]
|
||||||
mov eax, [eax+TASKDATA.pid]
|
mov eax, [eax + APPDATA.tid]
|
||||||
mov [name], eax
|
mov [name], eax
|
||||||
pop eax
|
pop eax
|
||||||
sti
|
sti
|
||||||
@ -304,8 +304,8 @@ macro WaitSimpleCriticalSection name
|
|||||||
{
|
{
|
||||||
local start_wait,first_wait,inc_counter,end_wait
|
local start_wait,first_wait,inc_counter,end_wait
|
||||||
push eax
|
push eax
|
||||||
mov eax, [TASK_BASE+second_base_address]
|
mov eax, [current_slot]
|
||||||
mov eax, [eax+TASKDATA.pid]
|
mov eax, [eax + APPDATA.tid]
|
||||||
start_wait=$
|
start_wait=$
|
||||||
cli
|
cli
|
||||||
cmp [name], dword 0
|
cmp [name], dword 0
|
||||||
@ -336,8 +336,8 @@ release_end=$
|
|||||||
macro TryWaitSimpleCriticalSection name ;result in eax and in flags
|
macro TryWaitSimpleCriticalSection name ;result in eax and in flags
|
||||||
{
|
{
|
||||||
local ok,try_end
|
local ok,try_end
|
||||||
mov eax, [CURRENT_TASK+second_base_address]
|
mov eax, [current_slot]
|
||||||
mov eax, [eax+TASKDATA.pid]
|
mov eax, [eax + APPDATA.tid]
|
||||||
cmp [name], eax
|
cmp [name], eax
|
||||||
jz ok
|
jz ok
|
||||||
cmp [name], 0
|
cmp [name], 0
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -288,27 +288,6 @@ show_error_parameters:
|
|||||||
test eax, eax
|
test eax, eax
|
||||||
jnz .error_ESP
|
jnz .error_ESP
|
||||||
DEBUGF 1, " [ESP+32]: %x\n",[ebx]
|
DEBUGF 1, " [ESP+32]: %x\n",[ebx]
|
||||||
;for input instruction
|
|
||||||
mov ebx, [reg_eip+4]
|
|
||||||
call .check_ESP
|
|
||||||
test eax, eax
|
|
||||||
jnz .error_ESP
|
|
||||||
DEBUGF 1, "K : [EIP]: %x",[ebx]
|
|
||||||
add ebx, 4
|
|
||||||
call .check_ESP
|
|
||||||
test eax, eax
|
|
||||||
jnz .error_ESP
|
|
||||||
DEBUGF 1, " [EIP+4]: %x",[ebx]
|
|
||||||
add ebx, 4
|
|
||||||
call .check_ESP
|
|
||||||
test eax, eax
|
|
||||||
jnz .error_ESP
|
|
||||||
DEBUGF 1, " [EIP+8]: %x\n",[ebx]
|
|
||||||
add ebx, 4
|
|
||||||
call .check_ESP
|
|
||||||
test eax, eax
|
|
||||||
jnz .error_ESP
|
|
||||||
DEBUGF 1, "K : [EIP+12]: %x\n",[ebx]
|
|
||||||
pop edx ecx ebx eax
|
pop edx ecx ebx eax
|
||||||
ret
|
ret
|
||||||
.error_ESP:
|
.error_ESP:
|
||||||
@ -449,19 +428,19 @@ destroy_thread:
|
|||||||
; if the process is in V86 mode...
|
; if the process is in V86 mode...
|
||||||
mov eax, [.slot]
|
mov eax, [.slot]
|
||||||
shl eax, BSF sizeof.APPDATA
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov esi, [eax+SLOT_BASE+APPDATA.pl0_stack]
|
mov esi, [SLOT_BASE + eax + APPDATA.pl0_stack]
|
||||||
add esi, RING0_STACK_SIZE
|
add esi, RING0_STACK_SIZE
|
||||||
cmp [eax+SLOT_BASE+APPDATA.saved_esp0], esi
|
cmp [SLOT_BASE + eax + APPDATA.saved_esp0], esi
|
||||||
jz .nov86
|
jz .nov86
|
||||||
; ...it has page directory for V86 mode
|
; ...it has page directory for V86 mode
|
||||||
mov esi, [eax+SLOT_BASE+APPDATA.saved_esp0]
|
mov esi, [SLOT_BASE + eax + APPDATA.saved_esp0]
|
||||||
mov ecx, [esi+4]
|
mov ecx, [esi+4]
|
||||||
mov [eax+SLOT_BASE+APPDATA.process], ecx
|
mov [SLOT_BASE + eax + APPDATA.process], ecx
|
||||||
; ...and I/O permission map for V86 mode
|
; ...and I/O permission map for V86 mode
|
||||||
mov ecx, [esi+12]
|
mov ecx, [esi+12]
|
||||||
mov [eax+SLOT_BASE+APPDATA.io_map], ecx
|
mov [SLOT_BASE + eax + APPDATA.io_map], ecx
|
||||||
mov ecx, [esi+8]
|
mov ecx, [esi+8]
|
||||||
mov [eax+SLOT_BASE+APPDATA.io_map+4], ecx
|
mov [SLOT_BASE + eax + APPDATA.io_map+4], ecx
|
||||||
.nov86:
|
.nov86:
|
||||||
; destroy per-thread kernel objects
|
; destroy per-thread kernel objects
|
||||||
mov esi, [.slot]
|
mov esi, [.slot]
|
||||||
@ -486,7 +465,7 @@ destroy_thread:
|
|||||||
jne @F
|
jne @F
|
||||||
|
|
||||||
mov [fpu_owner], 2
|
mov [fpu_owner], 2
|
||||||
mov eax, [sizeof.APPDATA*2+SLOT_BASE+APPDATA.fpu_state]
|
mov eax, [SLOT_BASE + sizeof.APPDATA*2 + APPDATA.fpu_state]
|
||||||
clts
|
clts
|
||||||
bt [cpu_caps], CAPS_SSE
|
bt [cpu_caps], CAPS_SSE
|
||||||
jnc .no_SSE
|
jnc .no_SSE
|
||||||
@ -674,7 +653,7 @@ destroy_thread:
|
|||||||
|
|
||||||
push esi ; remove hd1 & cd & flp reservation
|
push esi ; remove hd1 & cd & flp reservation
|
||||||
shl esi, BSF sizeof.APPDATA
|
shl esi, BSF sizeof.APPDATA
|
||||||
mov esi, [esi + SLOT_BASE + APPDATA.tid]
|
mov esi, [SLOT_BASE + esi + APPDATA.tid]
|
||||||
cmp [cd_status], esi
|
cmp [cd_status], esi
|
||||||
jnz @f
|
jnz @f
|
||||||
call free_cd_channel
|
call free_cd_channel
|
||||||
@ -690,7 +669,7 @@ destroy_thread:
|
|||||||
pusha ; remove all port reservations
|
pusha ; remove all port reservations
|
||||||
mov edx, esi
|
mov edx, esi
|
||||||
shl edx, BSF sizeof.APPDATA
|
shl edx, BSF sizeof.APPDATA
|
||||||
mov edx, [edx + SLOT_BASE + APPDATA.tid]
|
mov edx, [SLOT_BASE + edx + APPDATA.tid]
|
||||||
|
|
||||||
rmpr0:
|
rmpr0:
|
||||||
|
|
||||||
@ -733,7 +712,7 @@ destroy_thread:
|
|||||||
popa
|
popa
|
||||||
mov edi, esi ; do not run this process slot
|
mov edi, esi ; do not run this process slot
|
||||||
shl edi, BSF sizeof.APPDATA
|
shl edi, BSF sizeof.APPDATA
|
||||||
mov [edi + SLOT_BASE + APPDATA.state], TSTATE_FREE
|
mov [SLOT_BASE + edi + APPDATA.state], TSTATE_FREE
|
||||||
; debugger test - terminate all debuggees
|
; debugger test - terminate all debuggees
|
||||||
mov eax, 2
|
mov eax, 2
|
||||||
mov ecx, SLOT_BASE + 2*sizeof.APPDATA + APPDATA.debugger_slot
|
mov ecx, SLOT_BASE + 2*sizeof.APPDATA + APPDATA.debugger_slot
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -127,7 +127,7 @@ proc fs_execute
|
|||||||
jz .err_0
|
jz .err_0
|
||||||
|
|
||||||
mov [slot], eax
|
mov [slot], eax
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
lea edi, [SLOT_BASE + eax]
|
lea edi, [SLOT_BASE + eax]
|
||||||
mov [slot_base], edi
|
mov [slot_base], edi
|
||||||
; clean extended information about process
|
; clean extended information about process
|
||||||
@ -488,10 +488,7 @@ pid_to_slot:
|
|||||||
push ecx
|
push ecx
|
||||||
mov ebx, [thread_count]
|
mov ebx, [thread_count]
|
||||||
shl ebx, BSF sizeof.APPDATA ; multiply by size
|
shl ebx, BSF sizeof.APPDATA ; multiply by size
|
||||||
; add 2*32 cause:
|
|
||||||
; [TASK_TABLE; TASK_TABLE + 32) isnt a task actually
|
|
||||||
; skip first process in the task table
|
; skip first process in the task table
|
||||||
;mov ecx, 2*32 ;sizeof.TASKDATA
|
|
||||||
mov ecx, sizeof.APPDATA
|
mov ecx, sizeof.APPDATA
|
||||||
|
|
||||||
.loop:
|
.loop:
|
||||||
@ -499,7 +496,7 @@ pid_to_slot:
|
|||||||
;ebx = maximum permitted offset
|
;ebx = maximum permitted offset
|
||||||
cmp [SLOT_BASE + ecx + APPDATA.state], TSTATE_FREE
|
cmp [SLOT_BASE + ecx + APPDATA.state], TSTATE_FREE
|
||||||
jz .endloop ;skip empty slots
|
jz .endloop ;skip empty slots
|
||||||
cmp [ecx + SLOT_BASE + APPDATA.tid], eax;check PID
|
cmp [SLOT_BASE + ecx + APPDATA.tid], eax
|
||||||
jz .pid_found
|
jz .pid_found
|
||||||
.endloop:
|
.endloop:
|
||||||
add ecx, sizeof.APPDATA
|
add ecx, sizeof.APPDATA
|
||||||
@ -698,7 +695,7 @@ proc new_sys_threads
|
|||||||
mov ebx, esi ;ebx=esi - pointer to extended information about current thread
|
mov ebx, esi ;ebx=esi - pointer to extended information about current thread
|
||||||
|
|
||||||
mov edi, eax
|
mov edi, eax
|
||||||
shl edi, 8
|
shl edi, BSF sizeof.APPDATA
|
||||||
add edi, SLOT_BASE
|
add edi, SLOT_BASE
|
||||||
mov edx, edi ;edx=edi - pointer to extended infomation about new thread
|
mov edx, edi ;edx=edi - pointer to extended infomation about new thread
|
||||||
mov ecx, sizeof.APPDATA/4
|
mov ecx, sizeof.APPDATA/4
|
||||||
@ -927,16 +924,16 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
|
|||||||
mov ebx, eax
|
mov ebx, eax
|
||||||
|
|
||||||
shl eax, BSF sizeof.APPDATA
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov [eax+SLOT_BASE+APPDATA.fpu_state], edi
|
mov [SLOT_BASE + eax + APPDATA.fpu_state], edi
|
||||||
mov [eax+SLOT_BASE+APPDATA.exc_handler], 0
|
mov [SLOT_BASE + eax + APPDATA.exc_handler], 0
|
||||||
mov [eax+SLOT_BASE+APPDATA.except_mask], 0
|
mov [SLOT_BASE + eax + APPDATA.except_mask], 0
|
||||||
mov [eax+SLOT_BASE+APPDATA.terminate_protection], 80000001h
|
mov [SLOT_BASE + eax + APPDATA.terminate_protection], 80000001h
|
||||||
|
|
||||||
;set default io permission map
|
;set default io permission map
|
||||||
mov ecx, [SLOT_BASE + sizeof.APPDATA + APPDATA.io_map]
|
mov ecx, [SLOT_BASE + sizeof.APPDATA + APPDATA.io_map]
|
||||||
mov [eax+SLOT_BASE+APPDATA.io_map], ecx
|
mov [SLOT_BASE + eax + APPDATA.io_map], ecx
|
||||||
mov ecx, [SLOT_BASE + sizeof.APPDATA + APPDATA.io_map + 4]
|
mov ecx, [SLOT_BASE + sizeof.APPDATA + APPDATA.io_map + 4]
|
||||||
mov [eax+SLOT_BASE+APPDATA.io_map+4], ecx
|
mov [SLOT_BASE + eax + APPDATA.io_map + 4], ecx
|
||||||
|
|
||||||
mov esi, fpu_data
|
mov esi, fpu_data
|
||||||
mov ecx, [xsave_area_size]
|
mov ecx, [xsave_area_size]
|
||||||
@ -947,20 +944,20 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
|
|||||||
cmp [thread_count], ebx
|
cmp [thread_count], ebx
|
||||||
adc [thread_count], 0 ; update number of processes
|
adc [thread_count], 0 ; update number of processes
|
||||||
shl ebx, BSF sizeof.APPDATA
|
shl ebx, BSF sizeof.APPDATA
|
||||||
lea edx, [ebx+SLOT_BASE+APP_EV_OFFSET]
|
lea edx, [SLOT_BASE + ebx + APP_EV_OFFSET]
|
||||||
mov [SLOT_BASE+APPDATA.fd_ev+ebx], edx
|
mov [SLOT_BASE + ebx + APPDATA.fd_ev], edx
|
||||||
mov [SLOT_BASE+APPDATA.bk_ev+ebx], edx
|
mov [SLOT_BASE + ebx + APPDATA.bk_ev], edx
|
||||||
|
|
||||||
add edx, APP_OBJ_OFFSET - APP_EV_OFFSET
|
add edx, APP_OBJ_OFFSET - APP_EV_OFFSET
|
||||||
mov [SLOT_BASE+APPDATA.fd_obj+ebx], edx
|
mov [SLOT_BASE + ebx + APPDATA.fd_obj], edx
|
||||||
mov [SLOT_BASE+APPDATA.bk_obj+ebx], edx
|
mov [SLOT_BASE + ebx + APPDATA.bk_obj], edx
|
||||||
|
|
||||||
mov ecx, [def_cursor]
|
mov ecx, [def_cursor]
|
||||||
mov [SLOT_BASE+APPDATA.cursor+ebx], ecx
|
mov [SLOT_BASE + ebx + APPDATA.cursor], ecx
|
||||||
mov eax, [pl0_stack]
|
mov eax, [pl0_stack]
|
||||||
mov [SLOT_BASE+APPDATA.pl0_stack+ebx], eax
|
mov [SLOT_BASE + ebx + APPDATA.pl0_stack], eax
|
||||||
add eax, RING0_STACK_SIZE
|
add eax, RING0_STACK_SIZE
|
||||||
mov [SLOT_BASE+APPDATA.saved_esp0+ebx], eax
|
mov [SLOT_BASE + ebx + APPDATA.saved_esp0], eax
|
||||||
|
|
||||||
push ebx
|
push ebx
|
||||||
stdcall kernel_alloc, maxPathLength
|
stdcall kernel_alloc, maxPathLength
|
||||||
@ -969,23 +966,23 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
|
|||||||
mov esi, [esi + APPDATA.cur_dir]
|
mov esi, [esi + APPDATA.cur_dir]
|
||||||
mov ecx, maxPathLength/4
|
mov ecx, maxPathLength/4
|
||||||
mov edi, eax
|
mov edi, eax
|
||||||
mov [ebx+SLOT_BASE+APPDATA.cur_dir], eax
|
mov [SLOT_BASE + ebx + APPDATA.cur_dir], eax
|
||||||
rep movsd
|
rep movsd
|
||||||
|
|
||||||
mov [ebx+SLOT_BASE+APPDATA.event_mask], dword 1+2+4;set default event flags (see 40 function)
|
mov [SLOT_BASE + ebx + APPDATA.event_mask], dword 1+2+4;set default event flags (see 40 function)
|
||||||
inc dword [process_number]
|
inc dword [process_number]
|
||||||
mov eax, [process_number]
|
mov eax, [process_number]
|
||||||
mov [ebx+SLOT_BASE+APPDATA.tid], eax ;set TID
|
mov [SLOT_BASE + ebx + APPDATA.tid], eax ;set TID
|
||||||
|
|
||||||
mov eax, [slot]
|
mov eax, [slot]
|
||||||
mov [ebx+SLOT_BASE+APPDATA.wnd_number], al
|
mov [SLOT_BASE + ebx + APPDATA.wnd_number], al
|
||||||
mov ebx, eax
|
mov ebx, eax
|
||||||
shl ebx, BSF sizeof.WDATA
|
shl ebx, BSF sizeof.WDATA
|
||||||
lea ecx, [draw_data + ebx];ecx - pointer to draw data
|
lea ecx, [draw_data + ebx];ecx - pointer to draw data
|
||||||
|
|
||||||
; set window state to 'normal' (non-minimized/maximized/rolled-up) state
|
; set window state to 'normal' (non-minimized/maximized/rolled-up) state
|
||||||
mov [ebx+window_data+WDATA.fl_wstate], WSTATE_NORMAL
|
mov [window_data + ebx + WDATA.fl_wstate], WSTATE_NORMAL
|
||||||
mov [ebx+window_data+WDATA.fl_redraw], 1
|
mov [window_data + ebx + WDATA.fl_redraw], 1
|
||||||
|
|
||||||
;set draw data to full screen
|
;set draw data to full screen
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
@ -1031,7 +1028,7 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
|
|||||||
lea edx, [ebx + REG_RET]
|
lea edx, [ebx + REG_RET]
|
||||||
mov ebx, [slot]
|
mov ebx, [slot]
|
||||||
shl ebx, BSF sizeof.APPDATA
|
shl ebx, BSF sizeof.APPDATA
|
||||||
mov [ebx+SLOT_BASE+APPDATA.saved_esp], edx
|
mov [SLOT_BASE + ebx + APPDATA.saved_esp], edx
|
||||||
|
|
||||||
xor edx, edx; process state - running
|
xor edx, edx; process state - running
|
||||||
; set if debuggee
|
; set if debuggee
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2009-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2009-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2012-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2012-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2007-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2007-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -828,7 +828,7 @@ v86_irq2:
|
|||||||
mov esi, [v86_irqhooks + edi*8] ; get VM handle
|
mov esi, [v86_irqhooks + edi*8] ; get VM handle
|
||||||
mov eax, [esi + V86_machine.process]
|
mov eax, [esi + V86_machine.process]
|
||||||
mov ecx, [current_slot_idx]
|
mov ecx, [current_slot_idx]
|
||||||
shl ecx, 8
|
shl ecx, BSF sizeof.APPDATA
|
||||||
cmp [SLOT_BASE + ecx + APPDATA.process], eax
|
cmp [SLOT_BASE + ecx + APPDATA.process], eax
|
||||||
jnz .notcurrent
|
jnz .notcurrent
|
||||||
lea eax, [edi+8]
|
lea eax, [edi+8]
|
||||||
@ -839,7 +839,7 @@ v86_irq2:
|
|||||||
@@:
|
@@:
|
||||||
jmp v86_exc_c.simulate_int
|
jmp v86_exc_c.simulate_int
|
||||||
.notcurrent:
|
.notcurrent:
|
||||||
mov ebx, SLOT_BASE + 0x100
|
mov ebx, SLOT_BASE + sizeof.APPDATA
|
||||||
mov ecx, [thread_count]
|
mov ecx, [thread_count]
|
||||||
.scan:
|
.scan:
|
||||||
cmp [ebx + APPDATA.process], eax
|
cmp [ebx + APPDATA.process], eax
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -167,7 +167,7 @@ DestroyEvent:
|
|||||||
WaitEvent:
|
WaitEvent:
|
||||||
Бесконечно ожидает установки флага EVENT_SIGNALED в конкретном событии, принадлежащем
|
Бесконечно ожидает установки флага EVENT_SIGNALED в конкретном событии, принадлежащем
|
||||||
вызывающему WaitEvent потоку. Сигнализирующий поток устанавливат этот флаг через
|
вызывающему WaitEvent потоку. Сигнализирующий поток устанавливат этот флаг через
|
||||||
RaiseEvent. Ожидающий поток замораживается путем перевода TASKDATA.state<=TSTATE_WAITING=5.
|
RaiseEvent. Ожидающий поток замораживается путем перевода APPDATA.state<=TSTATE_WAITING=5.
|
||||||
Перед заморозкой устанавливается флаг EVENT_WATCHED в событии.
|
Перед заморозкой устанавливается флаг EVENT_WATCHED в событии.
|
||||||
Если в полученном событии НЕ установлен MANUAL_RESET, то:
|
Если в полученном событии НЕ установлен MANUAL_RESET, то:
|
||||||
{EVENT_SIGNALED и EVENT_WATCHED по получении события сбрасываются.
|
{EVENT_SIGNALED и EVENT_WATCHED по получении события сбрасываются.
|
||||||
@ -182,7 +182,7 @@ WaitEvent:
|
|||||||
WaitEventTimeout:
|
WaitEventTimeout:
|
||||||
Ожидает с таймаутом установки флага EVENT_SIGNALED в конкретном событии, принадлежащем
|
Ожидает с таймаутом установки флага EVENT_SIGNALED в конкретном событии, принадлежащем
|
||||||
вызывающему WaitEventTimeout потоку. Сигнализирующий поток устанавливат этот флаг через
|
вызывающему WaitEventTimeout потоку. Сигнализирующий поток устанавливат этот флаг через
|
||||||
RaiseEvent. Ожидающий поток замораживается путем перевода TASKDATA.state<=TSTATE_WAITING=5.
|
RaiseEvent. Ожидающий поток замораживается путем перевода APPDATA.state<=TSTATE_WAITING=5.
|
||||||
Перед заморозкой устанавливается флаг EVENT_WATCHED в событии.
|
Перед заморозкой устанавливается флаг EVENT_WATCHED в событии.
|
||||||
Если в полученном событии НЕ установлен MANUAL_RESET, то:
|
Если в полученном событии НЕ установлен MANUAL_RESET, то:
|
||||||
{EVENT_SIGNALED и EVENT_WATCHED по получении события сбрасываются.
|
{EVENT_SIGNALED и EVENT_WATCHED по получении события сбрасываются.
|
||||||
@ -216,7 +216,7 @@ GetEvent:
|
|||||||
--------------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------------
|
||||||
Ф 68.14 для приложений: ;это тот же GetEvent, но с обёрткой.
|
Ф 68.14 для приложений: ;это тот же GetEvent, но с обёрткой.
|
||||||
Бесконечно ожидает любое событие в очереди событий текущего потока. Ожидающий поток
|
Бесконечно ожидает любое событие в очереди событий текущего потока. Ожидающий поток
|
||||||
замораживается путем перевода TASKDATA.state<=TSTATE_WAITING=5. Данные события (EVENT.code+5*dword)
|
замораживается путем перевода APPDATA.state<=TSTATE_WAITING=5. Данные события (EVENT.code+5*dword)
|
||||||
копируются в указанный буфер. Сбрасывает байт приоритета (см. выше) в буфере.
|
копируются в указанный буфер. Сбрасывает байт приоритета (см. выше) в буфере.
|
||||||
Принимает:
|
Принимает:
|
||||||
eax - 68 - номер функции
|
eax - 68 - номер функции
|
||||||
|
@ -176,7 +176,7 @@ DestroyEvent:
|
|||||||
WaitEvent:
|
WaitEvent:
|
||||||
Wait infinitely until flag EVENT_SIGNALED is set in the event owned by
|
Wait infinitely until flag EVENT_SIGNALED is set in the event owned by
|
||||||
the caller thread. This flag is set by signaling thread via RaiseEvent.
|
the caller thread. This flag is set by signaling thread via RaiseEvent.
|
||||||
Waiting thread is frozen by setting TASKDATA.state <= TSTATE_WAITING=5.
|
Waiting thread is frozen by setting APPDATA.state <= TSTATE_WAITING=5.
|
||||||
Flag EVENT_WATCHED is set in the event before freeze.
|
Flag EVENT_WATCHED is set in the event before freeze.
|
||||||
If flag MANUAL_RESET is NOT set in the event then:
|
If flag MANUAL_RESET is NOT set in the event then:
|
||||||
EVENT_SIGNALED and EVENT_WATCHED are reset when the event is
|
EVENT_SIGNALED and EVENT_WATCHED are reset when the event is
|
||||||
@ -193,7 +193,7 @@ WaitEvent:
|
|||||||
WaitEventTimeout:
|
WaitEventTimeout:
|
||||||
Wait with a timeout until flag EVENT_SIGNALED is set in the event owned
|
Wait with a timeout until flag EVENT_SIGNALED is set in the event owned
|
||||||
by caller thread. This flag is set by signaling thread via RaiseEvent.
|
by caller thread. This flag is set by signaling thread via RaiseEvent.
|
||||||
Waiting thread is frozen by setting TASKDATA.state <= TSTATE_WAITING=5.
|
Waiting thread is frozen by setting APPDATA.state <= TSTATE_WAITING=5.
|
||||||
Flag EVENT_WATCHED is set in the event before freeze.
|
Flag EVENT_WATCHED is set in the event before freeze.
|
||||||
If flag MANUAL_RESET is NOT set in the event then:
|
If flag MANUAL_RESET is NOT set in the event then:
|
||||||
EVENT_SIGNALED and EVENT_WATCHED are reset when the event is
|
EVENT_SIGNALED and EVENT_WATCHED are reset when the event is
|
||||||
@ -212,7 +212,7 @@ WaitEventTimeout:
|
|||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
GetEvent:
|
GetEvent:
|
||||||
Waits infinitely for any event in the queue of current thread. Thread is
|
Waits infinitely for any event in the queue of current thread. Thread is
|
||||||
frozen by setting TASKDATA.state <= TSTATE_WAITING = 5. Event data
|
frozen by setting APPDATA.state <= TSTATE_WAITING = 5. Event data
|
||||||
(EVENT.code + 5*dword) are copied to specified buffer when received.
|
(EVENT.code + 5*dword) are copied to specified buffer when received.
|
||||||
Reset priority byte (see above) in the buffer.
|
Reset priority byte (see above) in the buffer.
|
||||||
If flag MANUAL_RESET is NOT set in the event then:
|
If flag MANUAL_RESET is NOT set in the event then:
|
||||||
@ -232,7 +232,7 @@ GetEvent:
|
|||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
SysFn 68.14 for application: ; wrapped GetEvent
|
SysFn 68.14 for application: ; wrapped GetEvent
|
||||||
Waits infinitely for any event in the queue of current thread. Thread is
|
Waits infinitely for any event in the queue of current thread. Thread is
|
||||||
frozen by setting TASKDATA.state <= TSTATE_WAITING = 5. Event data
|
frozen by setting APPDATA.state <= TSTATE_WAITING = 5. Event data
|
||||||
(EVENT.code + 5*dword) are copied to specified buffer when received.
|
(EVENT.code + 5*dword) are copied to specified buffer when received.
|
||||||
Reset priority byte (see above) in the buffer.
|
Reset priority byte (see above) in the buffer.
|
||||||
Gets:
|
Gets:
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2019. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -116,8 +116,8 @@ save_draw_mouse:
|
|||||||
|
|
||||||
add eax, [_display.win_map]
|
add eax, [_display.win_map]
|
||||||
movzx edx, byte [ebx + eax]
|
movzx edx, byte [ebx + eax]
|
||||||
shl edx, 8
|
shl edx, BSF sizeof.APPDATA
|
||||||
mov esi, [edx+SLOT_BASE+APPDATA.cursor]
|
mov esi, [SLOT_BASE + edx + APPDATA.cursor]
|
||||||
|
|
||||||
cmp esi, [current_cursor]
|
cmp esi, [current_cursor]
|
||||||
je .draw
|
je .draw
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;;
|
;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved.
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved.
|
||||||
;; PROGRAMMING:
|
;; PROGRAMMING:
|
||||||
;; Ivan Poddubny
|
;; Ivan Poddubny
|
||||||
;; Marat Zakiyanov (Mario79)
|
;; Marat Zakiyanov (Mario79)
|
||||||
@ -1546,14 +1546,14 @@ draw_num_text:
|
|||||||
|
|
||||||
mov edi, [current_slot_idx]
|
mov edi, [current_slot_idx]
|
||||||
mov ecx, edi
|
mov ecx, edi
|
||||||
shl edi, 8
|
shl edi, BSF sizeof.APPDATA
|
||||||
shl ecx, 5
|
shl ecx, BSF sizeof.WDATA
|
||||||
|
|
||||||
mov eax, [ecx+window_data+WDATA.box.left]
|
mov eax, [window_data + ecx + WDATA.box.left]
|
||||||
add eax, [edi+SLOT_BASE+APPDATA.wnd_clientbox.left]
|
add eax, [SLOT_BASE + edi + APPDATA.wnd_clientbox.left]
|
||||||
shl eax, 16
|
shl eax, 16
|
||||||
add eax, [ecx+window_data+WDATA.box.top]
|
add eax, [window_data + ecx + WDATA.box.top]
|
||||||
add eax, [edi+SLOT_BASE+APPDATA.wnd_clientbox.top]
|
add eax, [SLOT_BASE + edi + APPDATA.wnd_clientbox.top]
|
||||||
add ebx, eax
|
add ebx, eax
|
||||||
mov ecx, [esp+64+32-12+4]
|
mov ecx, [esp+64+32-12+4]
|
||||||
mov eax, [esp+64+8] ; background color (if given)
|
mov eax, [esp+64+8] ; background color (if given)
|
||||||
@ -1940,7 +1940,7 @@ restore_default_cursor_before_killing:
|
|||||||
add eax, [_display.win_map]
|
add eax, [_display.win_map]
|
||||||
movzx edx, byte [ebx + eax]
|
movzx edx, byte [ebx + eax]
|
||||||
shl edx, BSF sizeof.APPDATA
|
shl edx, BSF sizeof.APPDATA
|
||||||
mov esi, [edx+SLOT_BASE+APPDATA.cursor]
|
mov esi, [SLOT_BASE + edx + APPDATA.cursor]
|
||||||
|
|
||||||
cmp esi, [current_cursor]
|
cmp esi, [current_cursor]
|
||||||
je @f
|
je @f
|
||||||
@ -2146,7 +2146,7 @@ sysfn_activate: ; 18.3 = ACTIVATE WINDOW
|
|||||||
je .nowindowactivate; already active
|
je .nowindowactivate; already active
|
||||||
|
|
||||||
mov edi, ecx
|
mov edi, ecx
|
||||||
shl edi, 5
|
shl edi, BSF sizeof.WDATA
|
||||||
add edi, window_data
|
add edi, window_data
|
||||||
movzx esi, word [WIN_STACK + ecx * 2]
|
movzx esi, word [WIN_STACK + ecx * 2]
|
||||||
lea esi, [WIN_POS + esi * 2]
|
lea esi, [WIN_POS + esi * 2]
|
||||||
@ -2174,7 +2174,7 @@ sysfn_zmodif:
|
|||||||
je .fail
|
je .fail
|
||||||
|
|
||||||
mov eax, edx
|
mov eax, edx
|
||||||
shl edx, 5
|
shl edx, BSF sizeof.WDATA
|
||||||
|
|
||||||
cmp [edx*8 + SLOT_BASE + APPDATA.state], TSTATE_FREE
|
cmp [edx*8 + SLOT_BASE + APPDATA.state], TSTATE_FREE
|
||||||
je .fail
|
je .fail
|
||||||
@ -2182,7 +2182,7 @@ sysfn_zmodif:
|
|||||||
cmp ecx, 1
|
cmp ecx, 1
|
||||||
jnz .set_zmod
|
jnz .set_zmod
|
||||||
|
|
||||||
mov al, [edx + window_data + WDATA.z_modif]
|
mov al, [window_data + edx + WDATA.z_modif]
|
||||||
jmp .exit
|
jmp .exit
|
||||||
|
|
||||||
.set_zmod:
|
.set_zmod:
|
||||||
@ -2195,19 +2195,19 @@ sysfn_zmodif:
|
|||||||
cmp bl, ZPOS_ALWAYS_TOP
|
cmp bl, ZPOS_ALWAYS_TOP
|
||||||
jg .fail
|
jg .fail
|
||||||
|
|
||||||
mov [edx + window_data + WDATA.z_modif], bl
|
mov [window_data + edx + WDATA.z_modif], bl
|
||||||
|
|
||||||
mov eax, [edx + window_data + WDATA.box.left]
|
mov eax, [window_data + edx + WDATA.box.left]
|
||||||
mov ebx, [edx + window_data + WDATA.box.top]
|
mov ebx, [window_data + edx + WDATA.box.top]
|
||||||
mov ecx, [edx + window_data + WDATA.box.width]
|
mov ecx, [window_data + edx + WDATA.box.width]
|
||||||
mov edx, [edx + window_data + WDATA.box.height]
|
mov edx, [window_data + edx + WDATA.box.height]
|
||||||
add ecx, eax
|
add ecx, eax
|
||||||
add edx, ebx
|
add edx, ebx
|
||||||
call window._.set_screen
|
call window._.set_screen
|
||||||
call window._.set_top_wnd
|
call window._.set_top_wnd
|
||||||
call window._.redraw_top_wnd
|
call window._.redraw_top_wnd
|
||||||
|
|
||||||
shl esi, 5
|
shl esi, BSF sizeof.WDATA
|
||||||
mov [esi + window_data + WDATA.fl_redraw], 1
|
mov [esi + window_data + WDATA.fl_redraw], 1
|
||||||
|
|
||||||
|
|
||||||
@ -2603,15 +2603,15 @@ sys_cpuusage:
|
|||||||
mov ax, [WIN_POS + ecx * 2]
|
mov ax, [WIN_POS + ecx * 2]
|
||||||
mov [ebx+6], ax
|
mov [ebx+6], ax
|
||||||
|
|
||||||
shl ecx, 8 ;5=32 8=256
|
shl ecx, BSF sizeof.APPDATA
|
||||||
|
|
||||||
; +0: dword: memory usage
|
; +0: dword: memory usage
|
||||||
;mov eax, [ecx+TASK_TABLE+TASKDATA.cpu_usage]
|
;mov eax, [ecx+TASK_TABLE+TASKDATA.cpu_usage]
|
||||||
mov eax, [ecx-sizeof.APPDATA+SLOT_BASE+APPDATA.cpu_usage]
|
mov eax, [SLOT_BASE + ecx - sizeof.APPDATA + APPDATA.cpu_usage]
|
||||||
mov [ebx], eax
|
mov [ebx], eax
|
||||||
; +10: 11 bytes: name of the process
|
; +10: 11 bytes: name of the process
|
||||||
push ecx
|
push ecx
|
||||||
lea eax, [ecx+SLOT_BASE+APPDATA.app_name]
|
lea eax, [SLOT_BASE + ecx + APPDATA.app_name]
|
||||||
add ebx, 10
|
add ebx, 10
|
||||||
mov ecx, 11
|
mov ecx, 11
|
||||||
call memmove
|
call memmove
|
||||||
@ -2635,38 +2635,38 @@ sys_cpuusage:
|
|||||||
stosd
|
stosd
|
||||||
|
|
||||||
; +30: PID/TID
|
; +30: PID/TID
|
||||||
mov eax, [ecx*8 + SLOT_BASE + APPDATA.tid]
|
mov eax, [SLOT_BASE + ecx*8 + APPDATA.tid]
|
||||||
stosd
|
stosd
|
||||||
|
|
||||||
; window position and size
|
; window position and size
|
||||||
push esi
|
push esi
|
||||||
lea esi, [ecx + window_data + WDATA.box]
|
lea esi, [window_data + ecx + WDATA.box]
|
||||||
movsd
|
movsd
|
||||||
movsd
|
movsd
|
||||||
movsd
|
movsd
|
||||||
movsd
|
movsd
|
||||||
|
|
||||||
; Process state (+50)
|
; Process state (+50)
|
||||||
movzx eax, byte [ecx*8 + SLOT_BASE + APPDATA.state]
|
movzx eax, byte [SLOT_BASE + ecx*8 + APPDATA.state]
|
||||||
stosd
|
stosd
|
||||||
|
|
||||||
; Window client area box
|
; Window client area box
|
||||||
lea esi, [ecx*8 + SLOT_BASE + APPDATA.wnd_clientbox]
|
lea esi, [SLOT_BASE + ecx*8 + APPDATA.wnd_clientbox]
|
||||||
movsd
|
movsd
|
||||||
movsd
|
movsd
|
||||||
movsd
|
movsd
|
||||||
movsd
|
movsd
|
||||||
|
|
||||||
; Window state
|
; Window state
|
||||||
mov al, [ecx+window_data+WDATA.fl_wstate]
|
mov al, [window_data + ecx + WDATA.fl_wstate]
|
||||||
stosb
|
stosb
|
||||||
|
|
||||||
; Event mask (+71)
|
; Event mask (+71)
|
||||||
mov EAX, dword [ecx*8 + SLOT_BASE + APPDATA.event_mask]
|
mov EAX, dword [SLOT_BASE + ecx*8 + APPDATA.event_mask]
|
||||||
stosd
|
stosd
|
||||||
|
|
||||||
; Keyboard mode (+75)
|
; Keyboard mode (+75)
|
||||||
mov al, byte [ecx*8 + SLOT_BASE + APPDATA.keyboard_mode]
|
mov al, byte [SLOT_BASE + ecx*8 + APPDATA.keyboard_mode]
|
||||||
stosb
|
stosb
|
||||||
|
|
||||||
pop esi
|
pop esi
|
||||||
@ -2728,7 +2728,7 @@ sys_redrawstat:
|
|||||||
jnz srl1
|
jnz srl1
|
||||||
|
|
||||||
mov edx, [current_slot_idx] ; return whole screen draw area for this app
|
mov edx, [current_slot_idx] ; return whole screen draw area for this app
|
||||||
shl edx, 5
|
shl edx, 5 ;?
|
||||||
add edx, draw_data
|
add edx, draw_data
|
||||||
mov [edx + RECT.left], 0
|
mov [edx + RECT.left], 0
|
||||||
mov [edx + RECT.top], 0
|
mov [edx + RECT.top], 0
|
||||||
@ -2906,7 +2906,7 @@ align 4
|
|||||||
.set_mouse_event:
|
.set_mouse_event:
|
||||||
add edi, sizeof.APPDATA
|
add edi, sizeof.APPDATA
|
||||||
add ebx, sizeof.WDATA
|
add ebx, sizeof.WDATA
|
||||||
test [edi + SLOT_BASE + APPDATA.event_mask], 0x80000000
|
test [SLOT_BASE + edi + APPDATA.event_mask], 0x80000000
|
||||||
jz .pos_filter
|
jz .pos_filter
|
||||||
|
|
||||||
cmp edi, [esp] ; skip if filtration active
|
cmp edi, [esp] ; skip if filtration active
|
||||||
@ -2914,7 +2914,7 @@ align 4
|
|||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.pos_filter:
|
.pos_filter:
|
||||||
test [edi + SLOT_BASE + APPDATA.event_mask], 0x40000000
|
test [SLOT_BASE + edi + APPDATA.event_mask], 0x40000000
|
||||||
jz .set
|
jz .set
|
||||||
|
|
||||||
mov esi, [ebx + WDATA.box.left]
|
mov esi, [ebx + WDATA.box.left]
|
||||||
@ -2933,7 +2933,7 @@ align 4
|
|||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.set:
|
.set:
|
||||||
or [edi+SLOT_BASE+APPDATA.occurred_events], EVENT_MOUSE
|
or [SLOT_BASE + edi + APPDATA.occurred_events], EVENT_MOUSE
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.skip:
|
.skip:
|
||||||
@ -2975,33 +2975,33 @@ set_bgr_event:
|
|||||||
add edi, sizeof.APPDATA
|
add edi, sizeof.APPDATA
|
||||||
mov eax, [BG_Rect_X_left_right]
|
mov eax, [BG_Rect_X_left_right]
|
||||||
mov edx, [BG_Rect_Y_top_bottom]
|
mov edx, [BG_Rect_Y_top_bottom]
|
||||||
cmp [edi+SLOT_BASE+APPDATA.draw_bgr_x], 0
|
cmp [SLOT_BASE + edi + APPDATA.draw_bgr_x], 0
|
||||||
jz .set
|
jz .set
|
||||||
.join:
|
.join:
|
||||||
cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_x], ax
|
cmp word [SLOT_BASE + edi + APPDATA.draw_bgr_x], ax
|
||||||
jae @f
|
jae @f
|
||||||
mov word [edi+SLOT_BASE+APPDATA.draw_bgr_x], ax
|
mov word [SLOT_BASE + edi + APPDATA.draw_bgr_x], ax
|
||||||
@@:
|
@@:
|
||||||
shr eax, 16
|
shr eax, 16
|
||||||
cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_x+2], ax
|
cmp word [SLOT_BASE + edi + APPDATA.draw_bgr_x + 2], ax
|
||||||
jbe @f
|
jbe @f
|
||||||
mov word [edi+SLOT_BASE+APPDATA.draw_bgr_x+2], ax
|
mov word [SLOT_BASE + edi + APPDATA.draw_bgr_x + 2], ax
|
||||||
@@:
|
@@:
|
||||||
cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_y], dx
|
cmp word [SLOT_BASE + edi + APPDATA.draw_bgr_y], dx
|
||||||
jae @f
|
jae @f
|
||||||
mov word [edi+SLOT_BASE+APPDATA.draw_bgr_y], dx
|
mov word [SLOT_BASE + edi + APPDATA.draw_bgr_y], dx
|
||||||
@@:
|
@@:
|
||||||
shr edx, 16
|
shr edx, 16
|
||||||
cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_y+2], dx
|
cmp word [SLOT_BASE + edi + APPDATA.draw_bgr_y+2], dx
|
||||||
jbe @f
|
jbe @f
|
||||||
mov word [edi+SLOT_BASE+APPDATA.draw_bgr_y+2], dx
|
mov word [SLOT_BASE + edi + APPDATA.draw_bgr_y+2], dx
|
||||||
@@:
|
@@:
|
||||||
jmp .common
|
jmp .common
|
||||||
.set:
|
.set:
|
||||||
mov [edi+SLOT_BASE+APPDATA.draw_bgr_x], eax
|
mov [SLOT_BASE + edi + APPDATA.draw_bgr_x], eax
|
||||||
mov [edi+SLOT_BASE+APPDATA.draw_bgr_y], edx
|
mov [SLOT_BASE + edi + APPDATA.draw_bgr_y], edx
|
||||||
.common:
|
.common:
|
||||||
or [edi+SLOT_BASE+APPDATA.occurred_events], EVENT_BACKGROUND
|
or [SLOT_BASE + edi + APPDATA.occurred_events], EVENT_BACKGROUND
|
||||||
loop set_bgr_event
|
loop set_bgr_event
|
||||||
pop edi ecx
|
pop edi ecx
|
||||||
;--------- set event 5 stop -----------
|
;--------- set event 5 stop -----------
|
||||||
@ -3066,15 +3066,15 @@ noshutdown:
|
|||||||
align 4
|
align 4
|
||||||
newct:
|
newct:
|
||||||
mov cl, [ebx]
|
mov cl, [ebx]
|
||||||
cmp cl, byte 3
|
cmp cl, TSTATE_ZOMBIE
|
||||||
jz .terminate
|
jz .terminate
|
||||||
|
|
||||||
cmp cl, byte 4
|
cmp cl, TSTATE_TERMINATING
|
||||||
jnz .noterminate
|
jnz .noterminate
|
||||||
.terminate:
|
.terminate:
|
||||||
pushad
|
pushad
|
||||||
mov ecx, eax
|
mov ecx, eax
|
||||||
shl ecx, 8
|
shl ecx, BSF sizeof.APPDATA
|
||||||
add ecx, SLOT_BASE
|
add ecx, SLOT_BASE
|
||||||
call restore_default_cursor_before_killing
|
call restore_default_cursor_before_killing
|
||||||
popad
|
popad
|
||||||
@ -3113,7 +3113,7 @@ newdw2:
|
|||||||
push ecx
|
push ecx
|
||||||
|
|
||||||
mov eax, ecx
|
mov eax, ecx
|
||||||
shl eax, 5
|
shl eax, BSF sizeof.WDATA
|
||||||
add eax, window_data
|
add eax, window_data
|
||||||
|
|
||||||
cmp eax, [esp+4]
|
cmp eax, [esp+4]
|
||||||
@ -3741,9 +3741,9 @@ sys_putimage_palette:
|
|||||||
|
|
||||||
mov eax, [current_slot_idx]
|
mov eax, [current_slot_idx]
|
||||||
shl eax, 8
|
shl eax, 8
|
||||||
add dx, word [eax+SLOT_BASE+APPDATA.wnd_clientbox.top]
|
add dx, word [SLOT_BASE + eax + APPDATA.wnd_clientbox.top]
|
||||||
rol edx, 16
|
rol edx, 16
|
||||||
add dx, word [eax+SLOT_BASE+APPDATA.wnd_clientbox.left]
|
add dx, word [SLOT_BASE + eax + APPDATA.wnd_clientbox.left]
|
||||||
rol edx, 16
|
rol edx, 16
|
||||||
;--------------------------------------
|
;--------------------------------------
|
||||||
align 4
|
align 4
|
||||||
@ -4301,14 +4301,14 @@ sys_process_def:
|
|||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.1:
|
.1:
|
||||||
shl edi, 8
|
shl edi, BSF sizeof.APPDATA
|
||||||
mov [edi+SLOT_BASE + APPDATA.keyboard_mode], cl
|
mov [SLOT_BASE + edi + APPDATA.keyboard_mode], cl
|
||||||
|
|
||||||
ret
|
ret
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
align 4
|
align 4
|
||||||
.2: ; 2 = get keyboard mode
|
.2: ; 2 = get keyboard mode
|
||||||
shl edi, 8
|
shl edi, BSF sizeof.APPDATA
|
||||||
movzx eax, byte [SLOT_BASE + edi + APPDATA.keyboard_mode]
|
movzx eax, byte [SLOT_BASE + edi + APPDATA.keyboard_mode]
|
||||||
mov [esp+32], eax
|
mov [esp+32], eax
|
||||||
ret
|
ret
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -52,23 +52,7 @@
|
|||||||
; 0018 dword color of frames
|
; 0018 dword color of frames
|
||||||
; 001C dword window flags, +30 = window drawn, +31 redraw flag
|
; 001C dword window flags, +30 = window drawn, +31 redraw flag
|
||||||
;
|
;
|
||||||
; 3000 -> 4FFF task list - 256 entries
|
; 3000 -> 4FFF free
|
||||||
;
|
|
||||||
; 00 dword process count
|
|
||||||
; 04 dword no of processes
|
|
||||||
; 10 dword base of running process at 0x3000+
|
|
||||||
;
|
|
||||||
; 20 dword application event mask
|
|
||||||
; 24 dword PID - process identification number
|
|
||||||
; 2a byte slot state: 0=running, 1,2=suspended
|
|
||||||
; 3=zombie, 4=terminate,
|
|
||||||
; 5=waiting for event, 9 = not used
|
|
||||||
; 2e byte window number on screen
|
|
||||||
; 30 dword exact position in memory
|
|
||||||
; 34 dword counter sum
|
|
||||||
; 38 dword time stamp counter add
|
|
||||||
; 3c dword cpu usage in cpu timer tics
|
|
||||||
;
|
|
||||||
;
|
;
|
||||||
; 5000 -> 68FF free (6k6)
|
; 5000 -> 68FF free (6k6)
|
||||||
; 6900 -> 6EFF saved picture under mouse pointer (1k5)
|
; 6900 -> 6EFF saved picture under mouse pointer (1k5)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; PLAYNOTE.INC version 1.1 22 November 2003 ;;
|
;; PLAYNOTE.INC version 1.1 22 November 2003 ;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2020-2020. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2020-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License. ;;
|
;; Distributed under terms of the GNU General Public License. ;;
|
||||||
;; Version 2, or (at your option) any later version. ;;
|
;; Version 2, or (at your option) any later version. ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2011-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2011-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -214,9 +214,9 @@ end virtual
|
|||||||
mov [esp + .flags], ebx
|
mov [esp + .flags], ebx
|
||||||
|
|
||||||
mov eax, [current_slot_idx]
|
mov eax, [current_slot_idx]
|
||||||
shl eax, 5 ; sizeof.WDATA
|
shl eax, BSF sizeof.WDATA
|
||||||
mov ebx, [eax + window_data + WDATA.box.width]
|
mov ebx, [window_data + eax + WDATA.box.width]
|
||||||
mov edx, [eax + window_data + WDATA.box.height]
|
mov edx, [window_data + eax + WDATA.box.height]
|
||||||
inc ebx
|
inc ebx
|
||||||
inc edx
|
inc edx
|
||||||
|
|
||||||
@ -261,12 +261,12 @@ end virtual
|
|||||||
jc .L57
|
jc .L57
|
||||||
|
|
||||||
mov eax, [current_slot_idx]
|
mov eax, [current_slot_idx]
|
||||||
shl eax, 5 ; sizeof.WDATA
|
shl eax, BSF sizeof.WDATA
|
||||||
|
|
||||||
mov ebx, [esp + BLITTER.dst_x]
|
mov ebx, [esp + BLITTER.dst_x]
|
||||||
mov ebp, [esp + BLITTER.dst_y]
|
mov ebp, [esp + BLITTER.dst_y]
|
||||||
add ebx, [eax + window_data + WDATA.box.left]
|
add ebx, [window_data + eax + WDATA.box.left]
|
||||||
add ebp, [eax + window_data + WDATA.box.top]
|
add ebp, [window_data + eax + WDATA.box.top]
|
||||||
|
|
||||||
test [esp + .flags], BLIT_CLIENT_RELATIVE
|
test [esp + .flags], BLIT_CLIENT_RELATIVE
|
||||||
jz .no_client_relative
|
jz .no_client_relative
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2018. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
@ -423,8 +423,8 @@ align 4
|
|||||||
push edi
|
push edi
|
||||||
|
|
||||||
mov eax, [current_slot_idx]
|
mov eax, [current_slot_idx]
|
||||||
shl eax, 8
|
shl eax, BSF sizeof.APPDATA
|
||||||
mov eax, [eax + SLOT_BASE + APPDATA.tid]
|
mov eax, [SLOT_BASE + eax + APPDATA.tid]
|
||||||
mov ebx, [src]
|
mov ebx, [src]
|
||||||
mov ecx, [flags]
|
mov ecx, [flags]
|
||||||
call create_cursor ;eax, ebx, ecx
|
call create_cursor ;eax, ebx, ecx
|
||||||
@ -460,9 +460,7 @@ proc delete_cursor stdcall, hcursor:dword
|
|||||||
jne .fail
|
jne .fail
|
||||||
|
|
||||||
mov ebx, [current_slot_idx]
|
mov ebx, [current_slot_idx]
|
||||||
;shl ebx, 5
|
shl ebx, BSF sizeof.APPDATA
|
||||||
;mov ebx, [TASK_TABLE+ebx+4]
|
|
||||||
shl ebx, 8
|
|
||||||
mov ebx, [ebx + SLOT_BASE + APPDATA.tid]
|
mov ebx, [ebx + SLOT_BASE + APPDATA.tid]
|
||||||
cmp ebx, [esi+CURSOR.pid]
|
cmp ebx, [esi+CURSOR.pid]
|
||||||
jne .fail
|
jne .fail
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Synhronization for MenuetOS. ;;
|
;; Synhronization for MenuetOS. ;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; VESA12.INC ;;
|
;; VESA12.INC ;;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
|
||||||
;; Distributed under terms of the GNU General Public License ;;
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
;; ;;
|
;; ;;
|
||||||
;; VESA20.INC ;;
|
;; VESA20.INC ;;
|
||||||
@ -189,9 +189,8 @@ end virtual
|
|||||||
mov [putimg.image_cx], eax
|
mov [putimg.image_cx], eax
|
||||||
mov [putimg.image_cy], edx
|
mov [putimg.image_cy], edx
|
||||||
; calculate absolute (i.e. screen) coordinates
|
; calculate absolute (i.e. screen) coordinates
|
||||||
;mov eax, [TASK_BASE]
|
|
||||||
mov eax, [current_slot_idx]
|
mov eax, [current_slot_idx]
|
||||||
shl eax, 5 ; sizeof.WDATA
|
shl eax, BSF sizeof.WDATA
|
||||||
mov ebx, [eax + window_data + WDATA.box.left]
|
mov ebx, [eax + window_data + WDATA.box.left]
|
||||||
add ebx, [putimg.image_cx]
|
add ebx, [putimg.image_cx]
|
||||||
mov [putimg.abs_cx], ebx
|
mov [putimg.abs_cx], ebx
|
||||||
@ -1403,9 +1402,8 @@ end virtual
|
|||||||
mov [drbar.bar_sx], ecx
|
mov [drbar.bar_sx], ecx
|
||||||
mov [drbar.bar_cx], eax
|
mov [drbar.bar_cx], eax
|
||||||
mov [drbar.bar_cy], ebx
|
mov [drbar.bar_cy], ebx
|
||||||
;mov edi, [TASK_BASE]
|
|
||||||
mov edi, [current_slot_idx]
|
mov edi, [current_slot_idx]
|
||||||
shl edi, 5 ; sizeof.WDATA
|
shl edi, BSF sizeof.WDATA
|
||||||
add eax, [edi + window_data + WDATA.box.left] ; win_cx
|
add eax, [edi + window_data + WDATA.box.left] ; win_cx
|
||||||
add ebx, [edi + window_data + WDATA.box.top] ; win_cy
|
add ebx, [edi + window_data + WDATA.box.top] ; win_cy
|
||||||
mov [drbar.abs_cx], eax
|
mov [drbar.abs_cx], eax
|
||||||
|
@ -496,9 +496,9 @@ align 4
|
|||||||
VGA_draw_bar_1:
|
VGA_draw_bar_1:
|
||||||
mov [temp.cx], eax
|
mov [temp.cx], eax
|
||||||
mov eax, [current_slot_idx]
|
mov eax, [current_slot_idx]
|
||||||
shl eax, 5
|
shl eax, BSF sizeof.WDATA
|
||||||
add ebx, [eax+window_data+WDATA.box.top]
|
add ebx, [window_data + eax + WDATA.box.top]
|
||||||
mov eax, [eax+window_data+WDATA.box.left]
|
mov eax, [window_data + eax + WDATA.box.left]
|
||||||
add eax, [temp.cx]
|
add eax, [temp.cx]
|
||||||
and eax, 0xfff8
|
and eax, 0xfff8
|
||||||
shl ebx, 9
|
shl ebx, 9
|
||||||
|
Loading…
Reference in New Issue
Block a user