/kernel/trunk/docs/sysfuncr.txt |
---|
1768,6 → 1768,9 |
* eax ᮤ¥à¦¨â ¨ä®à¬ æ¨î ® ¦ âëå ª®¯ª å ¬ëè¨: |
* ¡¨â 0 ãáâ ®¢«¥ = «¥¢ ï ª®¯ª ¦ â |
* ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â |
* ¡¨â 2 ãáâ ®¢«¥ = á।ïï ª®¯ª ¦ â |
* ¡¨â 3 ãáâ ®¢«¥ = 4-ï ª®¯ª ¦ â |
* ¡¨â 4 ãáâ ®¢«¥ = 5-ï ª®¯ª ¦ â |
* ¯à®ç¨¥ ¡¨âë á¡à®è¥ë |
------------------ ®¤äãªæ¨ï 4 - § £à㧨âì ªãàá®à ------------------- |
1819,6 → 1822,17 |
* ᫨ 㤠«ï¥âáï ªâ¨¢ë© (ãáâ ®¢«¥ë© ¯®¤äãªæ¨¥© 5) ªãàá®à, â® |
¢®ááâ ¢«¨¢ ¥âáï ªãàá®à ¯® 㬮«ç ¨î (áâ ¤ àâ ï áâ५ª ). |
------------------- ®¤äãªæ¨ï 7 - ¤ ë¥ ¯à®ªàã⪨ -------------------- |
à ¬¥âàë: |
* eax = 37 - ®¬¥à äãªæ¨¨ |
* ebx = 7 - ®¬¥à ¯®¤äãªæ¨¨ |
®§¢à é ¥¬®¥ § 票¥: |
* eax = horizontal_offset*65536 + vertical_offset |
¬¥ç ¨ï: |
* ë¥ ¤®áâã¯ë ⮫쪮 ªâ¨¢®¬ã ®ªã |
* ®á«¥ ¯à®çâ¥¨ï § ç¥¨ï ®¡ã«ïîâáï |
* ë¥ á®¤¥à¦ â § ª®¢ë¥ § 票ï |
====================================================================== |
================== ãªæ¨ï 38 - à¨á®¢ âì ®â१®ª. ================== |
====================================================================== |
/kernel/trunk/docs/sysfuncs.txt |
---|
674,7 → 674,7 |
Returned value: |
* eax = 0 - success |
* else eax = error code of the file system |
Çàìå÷àíèÿ: |
³àìå÷àíèÿ: |
* All folders in the given path must exist, otherwise function |
returns value 5, "file not found". |
1414,7 → 1414,7 |
Returned value: |
* eax = 0 - success |
* eax = 1 - CD base is not defined |
Çàìå÷àíèÿ: |
³àìå÷àíèÿ: |
* Previously CD base port must be defined by call to |
subfunction 3 of function 21. |
1744,6 → 1744,9 |
* eax contains information on the pressed mouse buttons: |
* bit 0 is set = left button is pressed |
* bit 1 is set = right button is pressed |
* bit 2 is set = middle button is pressed |
* bit 3 is set = 4th button is pressed |
* bit 4 is set = 5th button is pressed |
* other bits are cleared |
-------------------- Subfunction 4 - load cursor --------------------- |
1794,6 → 1797,17 |
* If the active cursor (set by subfunction 5) is deleted, |
the system restores the default cursor (standard arrow). |
------------------- Subfunction 7 - get scroll data -------------------- |
Parameters: |
* eax = 37 - function number |
* ebx = 7 - subfunction number |
Returned value: |
* eax = horizontal_offset*65536 + vertical_offset |
Remarks: |
* Scroll data is available for active window only |
* Values are zeroized after reading |
* Values ara signed |
====================================================================== |
====================== Function 38 - draw line. ====================== |
====================================================================== |
2028,8 → 2042,8 |
* bh = 0 - display in decimal number system |
* bh = 1 - display in hexadecimal system |
* bh = 2 - display in binary system |
* áèòû 16-21 = how many digits to display |
* áèòû 22-31 reserved and must be set to 0 |
* áèòv 16-21 = how many digits to display |
* áèòv 22-31 reserved and must be set to 0 |
* ecx = number (if bl=0) or pointer (if bl=1) |
* edx = [coordinate on axis x]*65536 + [coordinate on axis y] |
* esi = 0xX0RRGGBB: |
3560,7 → 3574,7 |
* esi:edi = high:low dword |
Returned value: |
* ebx:eax = copy of esi:edi |
Çàìå÷àíèÿ: |
³àìå÷àíèÿ: |
* If ecx contains nonexistent or not implemented for this processor |
MSR, processor will generate an exception in the kernel, which |
will kill the thread. |
/kernel/trunk/drivers/ps2m_irqh.inc |
---|
1,11 → 1,11 |
;************************************** |
;* ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ PS/2 * |
;* IRQ HANDLER FOR PS/2 MOUSE * |
;************************************** |
proc irq_handler |
call Wait8042BufferEmpty ;î÷èñòêà áóôåðà |
in al,0x60 ;ïîëó÷èòü ñêýí-êîä |
call Wait8042BufferEmpty ;clear buffer |
in al,0x60 ;get scan-code |
cmp [mouse_byte],0 |
je .byte1 |
18,8 → 18,8 |
jmp .error |
.byte1: |
test al,1000b ;ïåðâûé áàéò ïîñûëêè? |
jz .error ;ñáîé ñèíõðîíèçàöèè |
test al,1000b ;first byte? |
jz .error |
mov [first_byte],al |
inc [mouse_byte] |
jmp .exit |
66,7 → 66,7 |
mov [ZMoving],eax |
.xy_moving: |
mov ah,0 ;äóáëèðóåì çíàê âî âñå ðàçðÿäû AH |
mov ah,0 |
mov al,[first_byte] |
test al,10000b |
jz @f |
77,7 → 77,7 |
cwd |
mov [XMoving],eax |
mov ah,0 ;äóáëèðóåì çíàê âî âñå ðàçðÿäû AH |
mov ah,0 |
mov al,[first_byte] |
test al,100000b |
jz @f |
103,10 → 103,10 |
;*********************************************** |
;* ÎÆÈÄÀÍÈÅ Î×ÈÑÒÊÈ ÂÕÎÄÍÎÃÎ ÁÓÔÅÐÀ I8042 * |
;* Ïðè âûõîäå èç ïðîöåäóðû: * |
;* ôëàã ZF óñòàíîâëåí - íîðìàëüíîå çàâåðøåíèå, * |
;* ôëàã ZF ñáðîøåí - îøèáêà òàéì-àóòà. * |
;* Waiting for clearing I8042 buffer * |
;* Retutned state: * |
;* ZF is set - good ending, * |
;* ZF is cleared - time-out error. * |
;*********************************************** |
Wait8042BufferEmpty: |
push ecx |
117,4 → 117,4 |
loopnz @b |
pop ecx |
ret ;âîçâðàò â ïîäïðîãðàììó |
ret |
/kernel/trunk/drivers/ps2mouse.asm |
---|
1,10 → 1,3 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
format MS COFF |
include 'proc32.inc' |