Rev 9613 | Rev 9692 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 9613 | Rev 9614 | ||
---|---|---|---|
Line 75... | Line 75... | ||
75 | format binary as "mnt" |
75 | format binary as "mnt" |
Line 76... | Line 76... | ||
76 | 76 | ||
77 | include 'macros.inc' |
77 | include 'macros.inc' |
Line 78... | Line 78... | ||
78 | include 'struct.inc' |
78 | include 'struct.inc' |
Line 79... | Line 79... | ||
79 | 79 | ||
80 | $Revision: 9613 $ |
80 | $Revision: 9614 $ |
Line 1184... | Line 1184... | ||
1184 | mov [edx+APPDATA.wnd_number], dh |
1184 | mov [edx+APPDATA.wnd_number], dh |
1185 | mov byte [edx+APPDATA.tid], dh ;? |
1185 | mov byte [edx+APPDATA.tid], dh ;? |
1186 | mov eax, edx |
1186 | mov eax, edx |
1187 | shr eax, 3 |
1187 | shr eax, 3 |
1188 | add eax, TASK_TABLE - (SLOT_BASE shr 3) |
1188 | add eax, TASK_TABLE - (SLOT_BASE shr 3) |
1189 | ;mov [eax+TASKDATA.wnd_number], dh |
- | |
1190 | mov byte [eax+TASKDATA.pid], dh |
1189 | mov byte [eax+TASKDATA.pid], dh |
Line 1191... | Line 1190... | ||
1191 | 1190 | ||
1192 | ret |
1191 | ret |
Line 1547... | Line 1546... | ||
1547 | mov edx, 64+4 |
1546 | mov edx, 64+4 |
1548 | sub edx, eax |
1547 | sub edx, eax |
1549 | add edx, esp |
1548 | add edx, esp |
1550 | mov ebx, [esp+64+32-8+4] |
1549 | mov ebx, [esp+64+32-8+4] |
1551 | ; add window start x & y |
1550 | ; add window start x & y |
1552 | ;mov ecx, [TASK_BASE] |
- | |
Line 1553... | Line 1551... | ||
1553 | 1551 | ||
1554 | mov edi, [current_slot_idx] |
1552 | mov edi, [current_slot_idx] |
1555 | mov ecx, edi |
1553 | mov ecx, edi |
1556 | shl edi, 8 |
1554 | shl edi, 8 |
Line 1612... | Line 1610... | ||
1612 | @@: |
1610 | @@: |
1613 | ; F.21.2 - set keyboard layout |
1611 | ; F.21.2 - set keyboard layout |
1614 | dec ebx |
1612 | dec ebx |
1615 | jnz @f |
1613 | jnz @f |
Line 1616... | Line -... | ||
1616 | - | ||
1617 | ;mov edi, [TASK_BASE] |
- | |
1618 | ;mov eax, [edi+TASKDATA.mem_start] |
1614 | |
1619 | mov edi, [current_slot] |
1615 | mov edi, [current_slot] |
1620 | mov eax, [edi+APPDATA.mem_start] |
1616 | mov eax, [edi+APPDATA.mem_start] |
1621 | add eax, edx |
1617 | add eax, edx |
1622 | ; 1 = normal layout |
1618 | ; 1 = normal layout |
Line 1711... | Line 1707... | ||
1711 | @@: |
1707 | @@: |
1712 | ; F.26.2 - get keyboard layout |
1708 | ; F.26.2 - get keyboard layout |
1713 | dec ebx |
1709 | dec ebx |
1714 | jnz @f |
1710 | jnz @f |
Line 1715... | Line -... | ||
1715 | - | ||
1716 | ;mov edi, [TASK_BASE] |
- | |
1717 | ;mov ebx, [edi+TASKDATA.mem_start] |
1711 | |
1718 | mov edi, [current_slot] |
1712 | mov edi, [current_slot] |
1719 | mov ebx, [edi+APPDATA.mem_start] |
1713 | mov ebx, [edi+APPDATA.mem_start] |
1720 | add ebx, edx |
1714 | add ebx, edx |
1721 | ; 1 = normal layout |
1715 | ; 1 = normal layout |
Line 2309... | Line 2303... | ||
2309 | cld |
2303 | cld |
2310 | rep movsb |
2304 | rep movsb |
2311 | .exit: |
2305 | .exit: |
2312 | ret |
2306 | ret |
2313 | ;------------------------------------------------------------------------------ |
2307 | ;------------------------------------------------------------------------------ |
2314 | ;sysfn_lastkey: ; 18.12 = return 0 (backward compatibility) |
- | |
2315 | ; and dword [esp+32], 0 |
- | |
2316 | ; ret |
- | |
2317 | ;------------------------------------------------------------------------------ |
- | |
2318 | sysfn_getversion: ; 18.13 = get kernel ID and version |
2308 | sysfn_getversion: ; 18.13 = get kernel ID and version |
2319 | ; if given memory address belongs to kernel then error |
2309 | ; if given memory address belongs to kernel then error |
2320 | stdcall is_region_userspace, ecx, version_end-version_inf |
2310 | stdcall is_region_userspace, ecx, version_end-version_inf |
2321 | jnz .addr_error |
2311 | jnz .addr_error |
Line 2696... | Line 2686... | ||
2696 | mov al, [ecx+window_data+WDATA.fl_wstate] |
2686 | mov al, [ecx+window_data+WDATA.fl_wstate] |
2697 | stosb |
2687 | stosb |
Line 2698... | Line 2688... | ||
2698 | 2688 | ||
2699 | ; Event mask (+71) |
2689 | ; Event mask (+71) |
2700 | mov EAX, dword [ecx*8 + SLOT_BASE + APPDATA.event_mask] |
- | |
2701 | mov EAX, dword [ECX+TASK_TABLE+TASKDATA.event_mask] ; delete |
2690 | mov EAX, dword [ecx*8 + SLOT_BASE + APPDATA.event_mask] |
Line 2702... | Line 2691... | ||
2702 | stosd |
2691 | stosd |
2703 | 2692 | ||
2704 | ; Keyboard mode (+75) |
2693 | ; Keyboard mode (+75) |
Line 2939... | Line 2928... | ||
2939 | ;-------------------------------------- |
2928 | ;-------------------------------------- |
2940 | align 4 |
2929 | align 4 |
2941 | .set_mouse_event: |
2930 | .set_mouse_event: |
2942 | add edi, sizeof.APPDATA |
2931 | add edi, sizeof.APPDATA |
2943 | add ebx, sizeof.TASKDATA |
2932 | add ebx, sizeof.TASKDATA |
2944 | test [ebx+TASKDATA.event_mask], 0x80000000 |
2933 | test [edi + SLOT_BASE + APPDATA.event_mask], 0x80000000 |
2945 | jz .pos_filter |
2934 | jz .pos_filter |
Line 2946... | Line 2935... | ||
2946 | 2935 | ||
2947 | cmp edi, [esp] ; skip if filtration active |
2936 | cmp edi, [esp] ; skip if filtration active |
2948 | jne .skip |
2937 | jne .skip |
2949 | ;-------------------------------------- |
2938 | ;-------------------------------------- |
2950 | align 4 |
2939 | align 4 |
2951 | .pos_filter: |
2940 | .pos_filter: |
2952 | test [ebx+TASKDATA.event_mask], 0x40000000 |
2941 | test [edi + SLOT_BASE + APPDATA.event_mask], 0x40000000 |
Line 2953... | Line 2942... | ||
2953 | jz .set |
2942 | jz .set |
2954 | 2943 | ||
2955 | mov esi, [ebx-twdw+WDATA.box.left] |
2944 | mov esi, [ebx-twdw+WDATA.box.left] |
Line 3411... | Line 3400... | ||
3411 | ret |
3400 | ret |
3412 | ;----------------------------------------------------------------------------- |
3401 | ;----------------------------------------------------------------------------- |
3413 | align 4 |
3402 | align 4 |
3414 | set_app_param: |
3403 | set_app_param: |
3415 | mov edi, [current_slot] |
3404 | mov edi, [current_slot] |
3416 | mov edi, [TASK_BASE] |
- | |
3417 | mov eax, ebx |
- | |
3418 | ;xchg eax, [edi + APPDATA.event_mask] ; set new event mask |
3405 | xchg ebx, [edi + APPDATA.event_mask] ; set new event mask |
3419 | xchg eax, [edi + TASKDATA.event_mask] ; set new event mask |
- | |
3420 | mov [esp+32], eax ; return old mask value |
3406 | mov [esp+32], ebx ; return old mask value |
3421 | ret |
3407 | ret |
3422 | ;----------------------------------------------------------------------------- |
3408 | ;----------------------------------------------------------------------------- |
Line 3423... | Line 3409... | ||
3423 | 3409 | ||
3424 | ; this is for syscall |
3410 | ; this is for syscall |