Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 641 → Rev 640

/kernel/trunk/docs/sysfuncr.txt
1,4 → 1,4
‘ˆ‘’…Œ›… ”“Š–ˆˆ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ› Kolibri 0.7.1.0
‘ˆ‘’…Œ›… ”“Š–ˆˆ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ› Kolibri 0.7.0.0
 
®¬¥à ä㭪樨 ¯®¬¥é ¥âáï ¢ ॣ¨áâà eax.
‚맮¢ á¨á⥬­®© ä㭪樨 ®áãé¥á⢫ï¥âáï ª®¬ ­¤®© "int 0x40".
22,14 → 22,14
* Y=1 - ⮫쪮 ®¯à¥¤¥«¨âì ®¡« áâì ®ª­ , ­¨ç¥£® ­¥ à¨á®¢ âì
* Y=2 - ⨯ II - ®ª­® ¨§¬¥­ï¥¬ëå à §¬¥à®¢
* Y=3 - ®ª­® ᮠ᪨­®¬
* Y=4 - ®ª­® ᮠ᪨­®¬ 䨪á¨à®¢ ­­ëå à §¬¥à®¢
* ®áâ «ì­ë¥ ¢®§¬®¦­ë¥ §­ ç¥­¨ï (®â 5 ¤® 15) § à¥§¥à¢¨à®¢ ­ë,
* Y=4 - ®ª­® ᮠ᪨­®¬ ¨ 䨪á¨à®¢ ­­ë¬¨ à §¬¥à ¬¨
* ®áâ «ì­ë¥ ¢®§¬®¦­ë¥ §­ ç¥­¨ï (®â 4 ¤® 15) § à¥§¥à¢¨à®¢ ­ë,
¢ë§®¢ ä㭪樨 á â ª¨¬¨ Y ¨£­®à¨àã¥âáï
* RR, GG, BB = ᮮ⢥âá⢥­­® ªà á­ ï, §¥«¥­ ï, ᨭïï
á®áâ ¢«ïî騥 æ¢¥â  à ¡®ç¥© ®¡« á⨠®ª­ 
(¨£­®à¨àã¥âáï ¤«ï á⨫ï Y=2)
* X = DCBA (¡¨âë)
* A = 1 - ã ®ª­  ¥áâì § £®«®¢®ª; ¤«ï á⨫¥© Y=3,4  ¤à¥á áâப¨
* A = 1 - ã ®ª­  ¥áâì § £®«®¢®ª; ¤«ï á⨫ï Y=3  ¤à¥á áâப¨
§ £®«®¢ª  § ¤ ñâáï ¢ edi, ¤«ï ¯à®ç¨å á⨫¥©
¨á¯®«ì§ã¥âáï ¯®¤äã­ªæ¨ï 1 ä㭪樨 71
* B = 1 - ª®®à¤¨­ âë ¢á¥å £à ä¨ç¥áª¨å ¯à¨¬¨â¨¢®¢ § ¤ îâáï
53,7 → 53,7
í⮩ ä㭪樨 ¨ ¨£­®à¨àãîâáï ¯à¨ ¯®á«¥¤ãîé¨å; ¤«ï ¨§¬¥­¥­¨ï
¯®«®¦¥­¨ï ¨/¨«¨ à §¬¥à®¢ 㦥 ᮧ¤ ­­®£® ®ª­  ¨á¯®«ì§ã©â¥
67-î äã­ªæ¨î.
* „«ï ®ª®­ á⨫¥© Y=3,4 á § £®«®¢ª®¬ (A=1) áâப  § £®«®¢ª 
* „«ï ®ª®­ á⨫ï Y=3 á § £®«®¢ª®¬ (A=1) áâப  § £®«®¢ª 
ãáâ ­ ¢«¨¢ ¥âáï ¯à¨ ¯¥à¢®¬ ¢ë§®¢¥ í⮩ ä㭪樨 ¨ ¨£­®à¨àã¥âáï ¯à¨
¯®á«¥¤ãîé¨å (â®ç­¥¥ £®¢®àï, ¨£­®à¨àã¥âáï ¯®á«¥ ¢ë§®¢ 
¯®¤ä㭪樨 2 ä㭪樨 12 - ª®­æ  ¯¥à¥à¨á®¢ª¨);
869,10 → 869,10
db a,b,c,d ¤«ï ¢¥àᨨ a.b.c.d
db UID_xxx: ®¤­® ¨§ UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
dd REV - ­®¬¥à svn-ॢ¨§¨¨ ï¤à 
„«ï ï¤à  Kolibri 0.7.1.0:
db 0,7,1,0
„«ï ï¤à  Kolibri 0.7.0.0:
db 0,7,0,0
db 2
dd 638
dd 533
 
======================================================================
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 14 =====================
981,20 → 981,21
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
 
------- ®¤¯®¤äã­ªæ¨ï 5 - ᨬ㫨஢ âì á®áâ®ï­¨¥ ª« ¢¨è ¬ëè¨. --------
-------- ®¤¯®¤äã­ªæ¨ï 5 - í¬ã«ïæ¨ï ª­®¯®ª ¬ëè¨. --------
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 19 - ­®¬¥à ¯®¤ä㭪樨
* ecx = 5 - ­®¬¥à ¯®¤¯®¤ä㭪樨
* edx = ¨­ä®à¬ æ¨ï ® í¬ã«¨à㥬®¬ á®áâ®ï­¨¨ ª­®¯®ª ¬ëè¨:
(ᮮ⢥âáâ¢ã¥â ¢®§¢à é ¥¬®¬ã §­ ç¥­¨î ¯®¤ä㭪樨 2 ä㭪樨 37)
* edx = ¨­ä®à¬ æ¨ï ® í¬ã«¨à㥬ëå ª­®¯ª å ¬ëè¨:
* ¡¨â 0 ãáâ ­®¢«¥­ = «¥¢ ï ª­®¯ª  ­ ¦ â 
* ¡¨â 1 ãáâ ­®¢«¥­ = ¯à ¢ ï ª­®¯ª  ­ ¦ â 
* ¡¨â 2 ãáâ ­®¢«¥­ = á।­ïï ª­®¯ª  ­ ¦ â 
* ¡¨â 3 ãáâ ­®¢«¥­ = 4-ï ª­®¯ª  ­ ¦ â 
* ¡¨â 4 ãáâ ­®¢«¥­ = 5-ï ª­®¯ª  ­ ¦ â 
* ¯à®ç¨¥ ¡¨âë á¡à®è¥­ë
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
 
‡ ¬¥ç ­¨ï:
* ¥ª®¬¥­¤ã¥¬ ï ᪮à®áâì ¬ëè¨ (¢ ¯®¤¯®¤ä㭪樨 1) ®â 1 ¤® 9.
“áâ ­ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨­  ­¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à , ¯®í⮬ã
1038,35 → 1039,34
 
======================================================================
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 21 =====================
======= ®«ãç¨âì ­®¬¥à á«®â  ¯à®æ¥áá /¯®â®ª  ¯® ¨¤¥­â¨ä¨ª â®àã. ======
==== ®«ãç¨âì ­®¬¥à  á«®â  ¯à®æ¥áá /¯®â®ª  ¯® ¥£® ¨¤¥­â¨ä¨ª â®àã =====
======================================================================
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 21 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ¨¤¥­â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª  (PID/TID)
* ecx = PID/TID (¨¤¥­â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª )
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0 - ®è¨¡ª  (­¥¢¥à­ë© ¨¤¥­â¨ä¨ª â®à)
* ¨­ ç¥ eax = ­®¬¥à á«®â 
* eax = ­®¬¥à á«®â  ¯®â®ª  ¥á«¨ ®­ áãé¥áâ¢ã¥â ¨«¨ 0, ¥á«¨ PID/TID
«®¦­ë©.
 
======================================================================
”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 22 - ®¯¥à æ¨¨ á ®ª­®¬ ¤à㣮£® ¯à®æ¥áá /¯®â®ª .
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 22 =====================
=========== Œ¨­¨¬¨§ æ¨ï/¢®ááâ ­®¢«¥­¨¥ ®ª­  ¯à®æ¥áá /¯®â®ª  ==========
======================================================================
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 22 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ⨯ ®¯¥à æ¨¨:
* 0 = ¬¨­¨¬¨§ æ¨ï ®ª­ , ¯®â®ª § ¤ ­ ­®¬¥à®¬ á«®â 
* 1 = ¬¨­¨¬¨§ æ¨ï ®ª­ , ¯®â®ª § ¤ ­ ¨¤¥­â¨ä¨ª â®à®¬
* 2 = ¢®ááâ ­®¢«¥­¨¥ ®ª­ , ¯®â®ª § ¤ ­ ­®¬¥à®¬ á«®â 
* 3 = ¢®ááâ ­®¢«¥­¨¥ ®ª­ , ¯®â®ª § ¤ ­ ¨¤¥­â¨ä¨ª â®à®¬
* edx = ¯ à ¬¥âà ®¯¥à æ¨¨ (­®¬¥à á«®â  ¨«¨ PID/TID)
* ecx = ’¨¯ ®¯¥à æ¨¨
0 - ¬¨­¨¬¨§ æ¨ï ®ª­  (᢮à ç¨¢ ­¨¥ ­  ¯ ­¥«ì) ¯® ­®¬¥àã
á«®â  ¯®â®ª 
1 - ¬¨­¨¬¨§ æ¨ï ®ª­  ¯® ¨¤¥­â¨ä¨ª â®àã PID/TID
2 - ‚®ááâ ­®¢«¥­¨¥ ¬¨­¨¬¨§¨à®¢ ­­®£® ®ª­  ¯® á«®âã ¯®â®ª 
3 - ‚®ááâ ­®¢«¥­¨¥ ¬¨­¨¬¨§¨à®¢ ­­®£® ®ª­  ¯® ¨¤¥­â¨ä¨ª â®àã
PID/TID
* edx =  à ¬¥âà ®¯¥à æ¨¨ (®¬¥à á«®â  ¨«¨ PID/TID)
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0 - ãᯥ譮
* eax = -1 - ®è¨¡ª  (­¥¯à ¢¨«ì­ë© ¯ à ¬¥âà)
‡ ¬¥ç ­¨ï:
* ®â®ª ¬®¦¥â ᢥà­ãâì ᢮ñ ®ª­® ¢ë§®¢®¬ ¯®¤ä㭪樨 10.
* ‚®ááâ ­®¢«¥­¨¥ ®ª­  á ®¤­®¢à¥¬¥­­®©  ªâ¨¢¨§ æ¨¥© ®áãé¥á⢫ï¥âáï
¯®¤ä㭪樨 3 (¯à¨­¨¬ î饩 ­®¬¥à á«®â ).
* eax = 0 - ãᯥ譮¥ § ¢¥à襭¨¥
eax = -1 - ®è¨¡ª 
 
======================================================================
==================== ”ã­ªæ¨ï 20 - ¨­â¥à䥩á MIDI. ====================
1510,35 → 1510,31
¯®¤ä㭪樨 3 ä㭪樨 21.
 
======================================================================
======= ”ã­ªæ¨ï 24, ¯®¤äã­ªæ¨ï 4 - ¨§¢«¥çì «®â®ª ¯à¨¢®¤  ¤¨áª . ======
========== ”ã­ªæ¨ï 24, ¯®¤äã­ªæ¨ï 4 - ¨§¢«¥çì «®â®ª ¯à¨¢®¤  ¤¨áª . ============
======================================================================
 à ¬¥âàë:
* eax = 24 - ­®¬¥à ä㭪樨
* ebx = 4 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ­®¬¥à CD/DVD-¤¨áª 
(®â 0=Primary Master ¤® 3=Secondary Slave)
* ecx = ­®¬¥à CD/DVD-¤¨áª  (®â 0=Primary Master ¤® 3=Secondary Slave)
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
* ¨ç¥£® ­¥ ¢®§¢à é ¥âáï.
‡ ¬¥ç ­¨ï:
* ”ã­ªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
* à¨ ¨§¢«¥ç¥­¨¨ «®âª  ¯à®¨§¢®¤¨âáï à §¡«®ª¨à®¢ª  àãç­®£® ã¯à ¢«¥­¨ï
¬¥å ­¨§¬®¬ «®âª .
* à¨ ¨§¢«¥ç¥­¨¨ «®âª  ª®¤ ¯à®¨§¢®¤¨â ®ç¨áâªã ªíè  á®®â¢¥âáâ¢ãî饣®
ãáâனá⢠.
* ”ã­ªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI ãáâனá⢠(CD ¨ DVD).
* à¨ ¨§¢«¥ç¥­¨¨ «®âª  ¯à®¨§¢®¤¨âáï à §¡«®ª¨à®¢ª  àãç­®£® ã¯à ¢«¥­¨ï ¬¥å ­¨§¬®¬ «®âª .
* à¨ ¨§¢«¥ç¥­¨¨ «®âª  ª®¤ ¯à®¨§¢®¤¨â ®ç¨áâªã ªíè  á®®â¢¥âáâ¢ãî饣® ãáâனá⢠.
* à¨¬¥à®¬ ¨á¯®«ì§®¢ ­¨ï ä㭪樨 ï¥âáï ¯à¨«®¦¥­¨¥ CD_tray.
 
======================================================================
====== ”ã­ªæ¨ï 24, ¯®¤äã­ªæ¨ï 5 - § £à㧨âì «®â®ª ¯à¨¢®¤  ¤¨áª . =====
========== ”ã­ªæ¨ï 24, ¯®¤äã­ªæ¨ï 5 - § £à㧨âì «®â®ª ¯à¨¢®¤  ¤¨áª . ===========
======================================================================
 à ¬¥âàë:
* eax = 24 - ­®¬¥à ä㭪樨
* ebx = 5 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ­®¬¥à CD/DVD-¤¨áª 
(®â 0=Primary Master ¤® 3=Secondary Slave)
* ecx = ­®¬¥à CD/DVD-¤¨áª  (®â 0=Primary Master ¤® 3=Secondary Slave)
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
* ¨ç¥£® ­¥ ¢®§¢à é ¥âáï.
‡ ¬¥ç ­¨ï:
* ”ã­ªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
* ”ã­ªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI ãáâனá⢠(CD ¨ DVD)
* à¨¬¥à®¬ ¨á¯®«ì§®¢ ­¨ï ä㭪樨 ï¥âáï ¯à¨«®¦¥­¨¥ CD_tray.
 
======================================================================
2996,22 → 2992,16
¤® ª®­æ  ¯à®¨£à뢠­¨ï.
 
======================================================================
======================= ”ã­ªæ¨ï 57 - PCI BIOS. =======================
============================ ”ã­ªæ¨ï 57 ==============================
====================== ‚맮¢ á¥à¢¨á®¢ PCIBIOS ========================
======================================================================
 à ¬¥âàë:
* eax = 57 - ­®¬¥à ä㭪樨
* ebp ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¢ ᯥæ¨ä¨ª æ¨¨ PCI BIOS
* ®áâ «ì­ë¥ ॣ¨áâàë - ¯® ᯥæ¨ä¨ª æ¨¨ PCI BIOS
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 57
* ebp = ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¯® ᯥæ¨ä¨ª æ¨¨ PCIBIOS
* ®áâ «ì­ë¥ ॣ¨áâàë ¯® ᯥæ¨ä¨ª æ¨¨ PCIBIOS
‚®§¢à é ¥¬ë¥ §­ ç¥­¨ï:
* CF ­¥ ®¯à¥¤¥«ñ­
* ®áâ «ì­ë¥ ॣ¨áâàë - ¯® ᯥæ¨ä¨ª æ¨¨ PCI BIOS
‡ ¬¥ç ­¨ï:
* Œ­®£¨å १ã«ìâ â®¢ í⮩ ä㭪樨 ¬®¦­® â ª¦¥ ¤®¡¨âìáï ¢ë§®¢®¬
ᮮ⢥âáâ¢ãîé¨å ¯®¤ä㭪権 ä㭪樨 62.
* ”ã­ªæ¨ï ¢ë§ë¢ ¥â à áè¨à¥­¨¥ PCI32 BIOS, ¤®ªã¬¥­â¨à®¢ ­­®¥,
­ ¯à¨¬¥à, ¢ http://alpha1.dyns.net/files/PCI/bios21.pdf.
* …᫨ BIOS ­¥ ¯®¤¤¥à¦¨¢ ¥â íâ® à áè¨à¥­¨¥, ¯®¢¥¤¥­¨¥ ä㭪樨
í¬ã«¨àã¥âáï (ç¥à¥§  ­ «®£¨ ¯®¤ä㭪権 ä㭪樨 62 ०¨¬  ï¤à ).
* ®áâ «ì­ë¥ ॣ¨áâàë ¯® ᯥæ¨ä¨ª æ¨¨ PCIBIOS
 
======================================================================
============== ”ã­ªæ¨ï 58 - à ¡®â  á ä ©«®¢®© á¨á⥬®©. ==============
4211,11 → 4201,10
„«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á  ¯¯ à â­ë¬¨ ®£à ­¨ç¥­¨ï¬¨ ¤®áâ㯭ë
⮫쪮 ¯®¤ä㭪樨 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤ä㭪権 § ¢¥àè¨âáï
®è¨¡ª®© á ª®¤®¬ 2.
à¨ ¯¥à¢®¬ ®¡à é¥­¨¨ ¯®¤ä㭪権 0,1,5,7 ª ãáâனá⢠¬ ATAPI
(CD ¨ DVD) ¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª  àãç­®£® ã¯à ¢«¥­¨ï ¬¥å ­¨§¬®¬
«®âª . â® á¢ï§ ­® á ªíè¨à®¢ ­¨¥¬ ¤ ­­ëå, ¯®«ã祭­ëå ®â ¯à¨¢®¤ .
 §¡«®ª¨à®¢ª  ®áãé¥á⢫ï¥âáï ¯à¨ ®¡à é¥­¨¨ ¯®¤ä㭪樨 4 ä㭪樨 24
ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
à¨ ¯¥à¢®¬ ®¡à é¥­¨¨ ¯®¤ä㭪権 0,1,5,7 ª ãáâனá⢠¬ ATAPI (CD ¨ DVD)
¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª  àãç­®£® ã¯à ¢«¥­¨ï ¬¥å ­¨§¬®¬ «®âª . â® á¢ï§ ­®
á  «£®à¨â¬®¬ ªíè¨à®¢ ­¨ï ¤ ­­ëå ¯®«ã祭­ëå ®â ¯à¨¢®¤ .  §¡«®ª¨à®¢ª 
¯à®¨§¢®¤¨âáï ®¡à é¥­¨¥¬ ä㭪樨 24.4 ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
 
======================================================================
= ”ã­ªæ¨ï 70, ¯®¤äã­ªæ¨ï 0 - ç⥭¨¥ ä ©«  á ¯®¤¤¥à¦ª®© ¤«¨­­ëå ¨¬ñ­. =
/kernel/trunk/docs/sysfuncs.txt
1,4 → 1,4
SYSTEM FUNCTIONS of OS Kolibri 0.7.1.0
SYSTEM FUNCTIONS of OS Kolibri 0.7.0.0
 
Number of the function is located in the register eax.
The call of the system function is executed by "int 0x40" command.
22,13 → 22,13
* Y=1 - only define window area, draw nothing
* Y=2 - type II - variable-size window
* Y=3 - skinned window
* Y=4 - skinned fixed-size window
* other possible values (from 5 up to 15) are reserved,
* Y=4 - skinned window with fixed sizes
* other possible values (from 4 up to 15) are reserved,
function call with such Y is ignored
* RR, GG, BB = accordingly red, green, blue components of a color
of the working area of the window (are ignored for style Y=2)
* X = DCBA (bits)
* A = 1 - window has caption; for styles Y=3,4 caption string
* A = 1 - window has caption; for style Y=3 caption string
must be passed in edi, for other styles use
subfunction 1 of function 71
* B = 1 - coordinates of all graphics primitives are relative to
51,11 → 51,11
* Position and sizes of the window are installed by the first
call of this function and are ignored at subsequent; to change
position and/or sizes of already created window use function 67.
* For windows with styles Y=3,4 and caption (A=1) caption string
is set by the first call of this function and is ignored
at subsequent (strictly speaking, is ignored after a call to
subfunction 2 of function 12 - end redraw); to change caption of
already created window use subfunction 1 of function 71.
* For windows with style Y=3 and caption (A=1) caption string is set
by the first call of this function and is ignored at subsequent
(strictly speaking, is ignored after a call to subfunction 2
of function 12 - end redraw); to change caption of already created
window use subfunction 1 of function 71.
* If the window has appropriate styles, position and/or sizes can be
changed by user. Current position and sizes can be obtained
by function 9.
868,10 → 868,10
db a,b,c,d for version a.b.c.d
db UID_xxx: one of UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
dd REV - kernel SVN revision number
For Kolibri 0.7.1.0 kernel:
For Kolibri 0.7.0.0 kernel:
db 0,7,0,0
db 2
dd 638
dd 533
 
======================================================================
======= Function 18, subfunction 14 - wait for screen retrace. =======
978,20 → 978,21
Returned value:
* function does not return value
 
-------- Subsubfunction 5 - simulate state of mouse buttons. ---------
-------- Subsubfunction 5 - emulation mouse button. --------
Parameters:
* eax = 18 - function number
* ebx = 19 - subfunction number
* ecx = 5 - subsubfunction number
* edx = information about emulated state of mouse buttons:
(same as return value in subfunction 2 of function 37)
* edx = information about the emulated 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
Returned value:
* function does not return value
 
Remarks:
* It is recommended to set speed of the mouse (in subsubfunction 1)
from 1 up to 9. The installed value is not inspected by the kernel
1034,37 → 1035,33
(reserved)
 
======================================================================
===================== Function 18, subfunction 21 ====================
======== Get slot number of process/thread by the identifier. ========
====================== Function 18, subfunction 21 =====================
=== Get number of the slot of process/thread at his identificator ====
======================================================================
Parameters:
* eax = 18 - function number
* ebx = 21 - subfunction number
* ecx = identifer of process/thread (PID/TID)
* ecx = PID/TID (process/thread identificator)
Returned value:
* eax = 0 - error (invalid identifier)
* otherwise eax = slot number
* eax = number of the slot of process/thread, if it really present
or 0, if PID/TID is false
 
======================================================================
===================== Function 18, subfunction 22 ====================
============== Operations with window of another thread. =============
==================== Function 18, subfunction 22 =====================
============= Minimize/restore window of process/thread ==============
======================================================================
Parameters:
* eax = 18 - function number
* ebx = 22 - subfunction number
* ecx = operation type:
* 0 = minimize window of the thread with given slot number
* 1 = minimize window of the thread with given identifier
* 2 = restore window of the thread with given slot number
* 3 = restore window of the thread with given identifier
* edx = parameter (slot number or PID/TID)
* ecx = Operation type
0 - minimize (roll to panel) at number on slot thread
1 - minimize window at PID/TID identificator
2 - restore minimized window at slot number of thread
3 - restore minimized window at PID/TID identificator
* edx = Operation argument (Number of slot or a PID/TID)
Returned value:
* eax = 0 - success
* eax = -1 - error (invalid identifier)
Remarks:
* The thread can minimize its window with subfunction 10.
* One can restore and activate window simultaneously with
subfunction 3 (which requires slot number).
* eax = 0 - successfully ending
eax = -1 - error
 
======================================================================
==================== Function 20 - MIDI interface. ===================
1494,33 → 1491,29
subfunction 3 of function 21.
 
======================================================================
======= Function 24, subfunction 4 - eject tray of disk drive. =======
================ Function 24, subfunction 4 - eject tray of disk drive. ==============
======================================================================
Parameters:
* eax = 24 - function number
* ebx = 4 - subfunction number
* ecx = position of CD/DVD-drive
(from 0=Primary Master to 3=Secondary Slave)
* ecx = position of CD/DVD-drive (from 0=Primary Master to 3=Secondary Slave)
Returned value:
* function does not return value
* Nothing comes back.
Remarks:
* The function is supported only for ATAPI devices (CD and DVD).
* When the tray is being ejected,
manual control of tray is unlocked.
* When the tray is being ejected, the code clears the cache for
corresponding device.
* At extract of a tray is made deblocking of handle mechanism of a tray.
* At extract of a tray the code makes clearing the cache of the appropriate device.
* An example of usage of the function is the application CD_tray.
 
======================================================================
======== Function 24, subfunction 5 - load tray of disk drive. =======
============== Function 24, subfunction 5 - load tray of disk drive. =================
======================================================================
Parameters:
* eax = 24 - function number
* ebx = 5 - subfunction number
* ecx = position of CD/DVD-drive
(from 0=Primary Master to 3=Secondary Slave)
* ecx = position of CD/DVD-drive (from 0=Primary Master to 3=Secondary Slave)
Returned value:
* function does not return value
* Nothing comes back.
Remarks:
* The function is supported only for ATAPI devices (CD and DVD).
* An example of usage of the function is the application CD_tray.
2971,24 → 2964,6
of play.
 
======================================================================
======================= Function 57 - PCI BIOS. ======================
======================================================================
Parameters:
* eax = 57 - function number
* ebp corresponds to al in PCI BIOS specification
* other registers are set according to PCI BIOS specification
Returned value:
* CF is undefined
* other registers are set according to PCI BIOS specification
Remarks:
* Many effects of this function can be also achieved with
corresponding subfunctions of function 62.
* The function calls PCI32 BIOS extension, documented e.g. in
http://alpha1.dyns.net/files/PCI/bios21.pdf.
* If BIOS does not support this extension, its behavior is emulated
(through kernel-mode analogues of subfunctions of function 62).
 
======================================================================
================ Function 58 - work with file system. ================
======================================================================
Parameters:
4173,10 → 4148,10
For CD-drives due to hardware limitations only subfunctions
0,1,5 and 7 are available, other subfunctions return error
with code 2.
At the first call of subfunctions 0,1,5,7 to ATAPI devices
(CD and DVD) the manual control of tray is locked due to caching
drive data. Unlocking is made when subfunction 4 of function 24
is called for corresponding device.
At the first call subfunctions 0,1,5,7 to devices ATAPI (CD and DVD) the locking
of handle mechanism of a tray is made. It is connected to algorithm of caching
given obtained from a drive. Deblocking is made by call function 24.4
to the appropriate device.
 
======================================================================
=== Function 70, subfunction 0 - read file with long names support. ==