- new cursor and redused cursor sise (static) in mousedrv.inc

- changed GNU.TXT -> COPYING.TXT in russian boot screen
- fixed arp request don't working on some machines

git-svn-id: svn://kolibrios.org@739 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
heavyiron 2008-02-15 12:28:43 +00:00
parent da14e74a6d
commit ff590c086c
5 changed files with 24 additions and 23 deletions

View File

@ -10,7 +10,7 @@ $Revision$
d80x25_bottom: d80x25_bottom:
db 186,' Kolibri OS ®á­®¢ ­  ­  Menuet OS ¨ ­¥ ¯à¥¤®áâ ¢«ï¥â ' db 186,' Kolibri OS ®á­®¢ ­  ­  Menuet OS ¨ ­¥ ¯à¥¤®áâ ¢«ï¥â '
db '­¨ª ª¨å £ àa­â¨©. ',186 db '­¨ª ª¨å £ àa­â¨©. ',186
db 186,' <20>®¤à®¡­¥¥ ᬮâà¨â¥ ä ©« GNU.TXT ' db 186,' <20>®¤à®¡­¥¥ ᬮâà¨â¥ ¢ ä ©«¥ COPYING.TXT '
db ' ',186 db ' ',186
line_full_bottom line_full_bottom
d80x25_bottom_num = 3 d80x25_bottom_num = 3

View File

@ -322,18 +322,18 @@ yes_mouse_disable:
movzx eax, word [MOUSE_X] movzx eax, word [MOUSE_X]
movzx ebx, word [MOUSE_Y] movzx ebx, word [MOUSE_Y]
mov ecx,[edx+0] ; mouse inside the area ? mov ecx,[edx+0] ; mouse inside the area ?
add eax,14 add eax,10
cmp eax,ecx cmp eax,ecx
jb no_mouse_disable jb no_mouse_disable
sub eax,14 sub eax,10
add ecx,[edx+8] add ecx,[edx+8]
cmp eax,ecx cmp eax,ecx
jg no_mouse_disable jg no_mouse_disable
mov ecx,[edx+4] mov ecx,[edx+4]
add ebx,20 add ebx,14
cmp ebx,ecx cmp ebx,ecx
jb no_mouse_disable jb no_mouse_disable
sub ebx,20 sub ebx,14
add ecx,[edx+12] add ecx,[edx+12]
cmp ebx,ecx cmp ebx,ecx
jg no_mouse_disable jg no_mouse_disable

View File

@ -343,11 +343,29 @@ proc arp_table_manager stdcall uses ebx esi edi ecx edx,\
stosd stosd
stosw stosw
; first, check destination IP to see if it is on 'this' network.
; The test is:
; if ( destIP & subnet_mask == stack_ip & subnet_mask )
; destination is local
; else
; destination is remote, so pass to gateway
mov eax, [Index] ;eax=required IP
mov esi, eax
and esi, [subnet_mask]
mov ecx, [stack_ip]
and ecx, [subnet_mask]
cmp esi, ecx
je @f ;if we and target IP are located in the same network
mov eax, [gateway_ip]
mov [Index], eax
@@:
cmp dword[NumARP], 0 cmp dword[NumARP], 0
je .ip_to_mac_send_request ;if ARP-table not contain an entries, we have to request IP. je .ip_to_mac_send_request ;if ARP-table not contain an entries, we have to request IP.
;EAX will be containing a zero, it's equal to ARP_NO_ENTRY ;EAX will be containing a zero, it's equal to ARP_NO_ENTRY
mov eax, [Index] ;eax=required IP
mov ecx, dword[NumARP] mov ecx, dword[NumARP]
imul esi, ecx, ARP_ENTRY_SIZE ;esi=current ARP-table size imul esi, ecx, ARP_ENTRY_SIZE ;esi=current ARP-table size

View File

@ -281,23 +281,6 @@ local MACAddress dp ? ;allocate 6 bytes in the stack
cmp edx, 0xffffffff cmp edx, 0xffffffff
je .send ; If it is broadcast, just send je .send ; If it is broadcast, just send
; first, check destination IP to see if it is on 'this' network.
; The test is:
; if ( destIP & subnet_mask == stack_ip & subnet_mask )
; destination is local
; else
; destination is remote, so pass to gateway
mov eax, edx
and eax, [subnet_mask]
mov ecx, [stack_ip]
and ecx, [subnet_mask]
cmp eax, ecx
je .local
mov edx, [gateway_ip]
.local:
lea eax, [MACAddress] ;cause this is local variable lea eax, [MACAddress] ;cause this is local variable
stdcall arp_table_manager, ARP_TABLE_IP_TO_MAC, edx, eax ;opcode,IP,MAC_ptr - Get the MAC address. stdcall arp_table_manager, ARP_TABLE_IP_TO_MAC, edx, eax ;opcode,IP,MAC_ptr - Get the MAC address.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 766 B