Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2986 → Rev 2987

/kernel/branches/Kolibri-acpi/docs/sysfuncr.txt
197,7 → 197,7
 à ¬¥âàë:
* eax = 4 - ­®¬¥à ä㭪樨
* ebx = [ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ¯® ®á¨ y]
* ecx = 0xX0RRGGBB, £¤¥
* ecx = 0xXYRRGGBB, £¤¥
* RR, GG, BB § ¤ îâ 梥â ⥪áâ 
* X=ABnn (¡¨âë):
* nn § ¤ ¥â ¨á¯®«ì§ã¥¬ë© èà¨äâ: 0=á¨á⥬­ë© ¬®­®è¨à¨­­ë©,
204,9 → 204,14
1=á¨á⥬­ë© èà¨äâ ¯¥à¥¬¥­­®© è¨à¨­ë
* A=0 - ¢ë¢®¤¨âì esi ᨬ¢®«®¢, A=1 - ¢ë¢®¤¨âì ASCIIZ-áâபã
* B=1 - § ªà è¨¢ âì ä®­ 梥⮬ edi
* Y=Cnnn (¡¨âë):
* C=1 ¯¥à¥­ ¯à ¢¨âì ¢ë¢®¤ ¢ ®¡« áâì ¯®«ì§®¢ â¥«ï, § ¤ ­® ¢ edi
* nnn - ­¥ ¨á¯®«ì§ã¥âáï ¢ ⥪ã饬 ¢¨¤¥, ¤®«¦­® ¡ëâì 0 (zero)
* edx = 㪠§ â¥«ì ­  ­ ç «® áâப¨
* esi = ¤«ï A=0 ¤«¨­  áâப¨, ¤®«¦­  ¡ëâì ­¥ ¡®«ìè¥ 255;
¤«ï A=1 ¨£­®à¨àã¥âáï
* edi = 梥⠤«ï § ªà áª¨ ä®­ , ¥á«¨ B=1
* edi = 㪠§ â¥«ì ­  ®¡« áâì ¯®«ì§®¢ â¥«ï, ¥á«¨ C=1
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
‡ ¬¥ç ­¨ï:
214,7 → 219,12
¢â®à®© - ¨§ char2.mt.
* Ž¡  èà¨äâ  ¨¬¥îâ ¢ëá®âã 9 ¯¨ªá¥«¥©, è¨à¨­  ¬®­®è¨à¨­­®£® èà¨äâ 
à ¢­  6 ¯¨ªá¥«¥©.
 
* C=1, £«ã¡¨­  â®çª¨ = 32 ¡¨â , ®¡« áâì ¯®«ì§®¢ â¥«ï ¢ë£«ï¤¨â â ª:
dword Xsize
dword Ysize
®áâ â®ª ®¡« á⨠= Xsize * Y size * 4
* ¥«ì§ï ®¤­®¢à¥¬¥­­® ¨á¯®«ì§®¢ âì B=1 ¨ C=1, ¯®áª®«ìªã ¢ ®¡®¨å
á«ãç ïå ¨á¯®«ì§®¢ ­ ॣ¨áâà edi ¤«ï à §­ëå 楫¥©.
======================================================================
========================= ”ã­ªæ¨ï 5 - ¯ ã§ . =========================
======================================================================
330,7 → 340,7
¢ ¯®§¨æ¨¨ ecx
* +8: word: § à¥§¥à¢¨à®¢ ­®
* +10 = +0xA: 11 ¡ ©â: ¨¬ï ¯à®æ¥áá 
(¨¬ï ᮮ⢥âáâ¢ãî饣® ¨á¯®«­ï¥¬®£® ä ©«  ¢ ä®à¬ â¥ 8+3)
(¨¬ï § ¯ã饭­®£® ä ©«  - ¨á¯®«­ï¥¬ë© ä ©« ¡¥§ à áè¨à¥­¨ï)
* +21 = +0x15: byte: § à¥§¥à¢¨à®¢ ­®, íâ®â ¡ ©â ­¥ ¨§¬¥­ï¥âáï
* +22 = +0x16: dword:  ¤à¥á ¯à®æ¥áá  ¢ ¯ ¬ïâ¨
* +26 = +0x1A: dword: à §¬¥à ¨á¯®«ì§ã¥¬®© ¯ ¬ï⨠- 1
609,6 → 619,39
* eax = 1 ¯à¨ ãᯥå¥, 0 ¯à¨ ®è¨¡ª¥
 
======================================================================
====================== ”ã­ªæ¨ï 15, ¯®¤äã­ªæ¨ï 8 ======================
=========== ®«ãç¨âì ª®®à¤¨­ âë ¯®á«¥¤­¥© ®âà¨á®¢ª¨ ä®­ . ============
======================================================================
 à ¬¥âàë:
* eax = 15 - ­®¬¥à ä㭪樨
* ebx = 8 - ­®¬¥à ¯®¤ä㭪樨
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = [left]*65536 + [right]
* ebx = [top]*65536 + [bottom]
‡ ¬¥ç ­¨ï:
* (left,top) - ª®®à¤¨­ âë «¥¢®£® ¢¥àå­¥£® 㣫 ,
(right,bottom) - ª®®à¤¨­ âë ¯à ¢®£® ­¨¦­¥£®.
* „«ï ¯®«ã祭¨ï ¡®«¥¥ ¤®á⮢¥à­ëå ᢥ¤¥­¨©, ­¥®¡å®¤¨¬® ¢ë§¢ âì
äã­ªæ¨î áࠧ㠯®á«¥ ¯®«ã祭¨ï ᮡëâ¨ï:
5 = § ¢¥à訫 áì ¯¥à¥à¨á®¢ª  ä®­  à ¡®ç¥£® á⮫ 
 
======================================================================
====================== ”ã­ªæ¨ï 15, ¯®¤äã­ªæ¨ï 9 ======================
=============== ¥à¥à¨á®¢ âì ¯àאַ㣮«ì­ãî ç áâì ä®­ . ===============
======================================================================
 à ¬¥âàë:
* eax = 15 - ­®¬¥à ä㭪樨
* ebx = 9 - ­®¬¥à ¯®¤ä㭪樨
* ecx = [left]*65536 + [right]
* edx = [top]*65536 + [bottom]
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
‡ ¬¥ç ­¨ï:
* (left,top) - ª®®à¤¨­ âë «¥¢®£® ¢¥àå­¥£® 㣫 ,
(right,bottom) - ª®®à¤¨­ âë ¯à ¢®£® ­¨¦­¥£®.
* …᫨ ¯ à ¬¥âàë ãáâ ­®¢«¥­ë ­¥ª®à४⭮ - ä®­ ­¥ ¯¥à¥à¨á®¢ë¢ ¥âáï.
 
======================================================================
============= ”ã­ªæ¨ï 16 - á®åà ­¨âì à ¬¤¨áª ­  ¤¨áª¥âã. =============
======================================================================
 à ¬¥âàë:
1066,6 → 1109,34
¯®¤ä㭪樨 3 (¯à¨­¨¬ î饩 ­®¬¥à á«®â ).
 
======================================================================
======= ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 23 - ¬¨­¨¬¨§¨à®¢ âì ¢á¥ ®ª­ . =========
======================================================================
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 23 - ­®¬¥à ¯®¤ä㭪樨
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0 - ¢á¥ ®ª­  ¡ë«¨ ¬¨­¨¬¨§¨à®¢ ­ë ¤® ¢ë§®¢  ä㭪樨
* eax = N - ª®«¨ç¥á⢮ ®ª®­ ᢥà­ãâëå ä㭪樥©
‡ ¬¥ç ­¨ï:
* Žª­  ᯥæ. ¯®â®ª®¢ (¨¬ï ­ ç¨­ ¥âáï á ᨬ¢®«  @) ­¥ ᢮à ç¨¢ îâáï.
 
======================================================================
===== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 24 - ãáâ ­®¢¨âì ¯à¥¤¥«ë ®âà¨á®¢ª¨. ======
======================================================================
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 24 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ­®¢ë© à §¬¥à ¯® X
* edx = ­®¢ë© à §¬¥à ¯® Y
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
‡ ¬¥ç ­¨ï:
* ”ã­ªæ¨ï ­¥ ¬¥­ï¥â 䨧¨ç¥áª¨© à §¬¥à ¢¨¤¥®à¥¦¨¬ . Ž­  ¯à¥¤­ §­ ç¥­ 
¤«ï ­¥áâ ­¤ àâ­ëå ¤¨á¯«¥¥¢, ®â®¡à ¦ îé¨å ¨§®¡à ¦¥­¨¥ ç áâ¨ç­®.
*  §¬¥àë 㪠§ë¢ ¥¬ë¥ ¢ ä㭪樨 ­¥ ¤®«¦­ë ¯à¥¢ëè âì à §¬¥àë ⥪ã饣®
¢¨¤¥®à¥¦¨¬ , ¨­ ç¥ äã­ªæ¨ï ­¨ç¥£® ­¥ ¨§¬¥­¨â.
 
======================================================================
==================== ”ã­ªæ¨ï 20 - ¨­â¥à䥩á MIDI. ====================
======================================================================
 
1507,6 → 1578,26
* à¨¬¥à®¬ ¨á¯®«ì§®¢ ­¨ï ä㭪樨 ï¥âáï ¯à¨«®¦¥­¨¥ CD_tray.
 
======================================================================
========== ”ã­ªæ¨ï 25 - § ¯¨á âì ®¡« áâì ­  á«®© ä®­ . ===============
======================================================================
 à ¬¥âàë:
* eax = 25 - ­®¬¥à ä㭪樨
* ebx = 㪠§ â¥«ì ­  ¯à¥¤¢ à¨â¥«ì­® ¢ë¤¥«¥­­ãî ®¡« áâì ¯ ¬ïâ¨,
£¤¥ à §¬¥é¥­® ¨á室­®¥ ¨§®¡à ¦¥­¨¥ ¢ ä®à¬ â¥ BBGGRRTTBBGGRRTT...
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
* edx = [ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ¯® ®á¨ y]
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
‡ ¬¥ç ­¨ï:
* Š®®à¤¨­ âë ®¡« á⨠- íâ® ª®®à¤¨­ âë ¢¥àå­¥£® «¥¢®£® 㣫 
®¡« á⨠®â­®á¨â¥«ì­® íªà ­ .
*  §¬¥à ¨§®¡à ¦¥­¨ï ¢ ¡ ©â å ¥áâì 4*xsize*ysize.
* TT - ¡ ©â 㪠§ â¥«ì ¯à®§à ç­®áâ¨, ¢ ­ áâ®ï饥 ¢à¥¬ï:
®â 1 ¤® FF - ­¥¯à®§à ç­®, ®â 0 - ¯à®§à ç­®.
* ”ã­ªæ¨ï à §¬¥é ¥â ¨§®¡à ¦¥­¨¥ ­¥ ­  ä®­®¢®¥ ¨§®¡à ¦¥­¨¥ (ä.15),
  ­ ¯àï¬ãî ¢ LFB. Ž¯æ¨¨ ä.15 ¤«ï ä. 25 ­¥ ¨¬¥îâ á¬ëá« .
 
======================================================================
===== ”ã­ªæ¨ï 26, ¯®¤äã­ªæ¨ï 1 - ¯®«ãç¨âì ¡ §®¢ë© ¯®àâ MPU MIDI. =====
======================================================================
 à ¬¥âàë:
1704,6 → 1795,19
த¨â¥«ï.
 
======================================================================
========= ”ã­ªæ¨ï 34 - 㧭 âì ª®¬ã ¯à¨­ ¤«¥¦¨â â®çª  íªà ­ . =========
======================================================================
 à ¬¥âàë:
* eax = 34 - ­®¬¥à ä㭪樨
* ebx = x-ª®®à¤¨­ â  (®â­®á¨â¥«ì­® íªà ­ )
* ecx = y-ª®®à¤¨­ â  (®â­®á¨â¥«ì­® íªà ­ )
 
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0x000000XX - â®çª  ¯à¨­ ¤«¥¦¨â á«®âã ®ª­  N
à¨ ­¥ª®à४â­ëå §­ ç¥­¨ïå ebx ¨ ecx äã­ªæ¨ï ¢®§¢à é ¥â 0
* ”ã­ªæ¨ï ¡¥à¥â §­ ç¥­¨ï ¨§ ®¡« á⨠[_WinMapAddress]
 
======================================================================
============ ”ã­ªæ¨ï 35 - ¯à®ç¨â âì 梥â â®çª¨ ­  íªà ­¥. ============
======================================================================
 à ¬¥âàë:
3241,7 → 3345,7
* ebx = 㪠§ â¥«ì ­  ¨§®¡à ¦¥­¨¥
* ecx = [à §¬¥à ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ y]
* edx = [ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [ª®®à¤¨­ â  ¯® ®á¨ y]
* esi = ç¨á«® ¡¨â ­  ¯¨ªá¥«ì, ¤®«¦­® ¡ëâì 1,2,4,8,15,16,24 ¨«¨ 32
* esi = ç¨á«® ¡¨â ­  ¯¨ªá¥«ì, ¤®«¦­® ¡ëâì 1,2,4,8,9,15,16,24 ¨«¨ 32
* edi = 㪠§ â¥«ì ­  ¯ «¨âàã (2 ¢ á⥯¥­¨ esi 梥⮢ 0x00RRGGBB);
¨£­®à¨àã¥âáï ¯à¨ esi > 8
* ebp = ᬥ饭¨¥ ¤ ­­ëå ª ¦¤®© á«¥¤ãî饩 áâப¨ ¨§®¡à ¦¥­¨ï
3265,6 → 3369,9
ᮮ⢥âáâ¢ã¥â ¯¥à¢®¬ã ¯¨ªá¥«î.
* ”®à¬ â ¨§®¡à ¦¥­¨ï á 8 ¡¨â ¬¨ ­  ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥­¨ï
à áᬠâਢ ¥âáï ª ª ¨­¤¥ªá ¢ ¯ «¨âà¥.
* ”®à¬ â ¨§®¡à ¦¥­¨ï á 9 ¡¨â ¬¨ ­  ¯¨ªá¥«ì: ª ¦¤ë© ¡ ©â ¨§®¡à ¦¥­¨ï
(8 ¡¨â) ®¡®§­ ç ¥â ¨­â¥­á¨¢­®áâì á¥à®£® ¤«ï ®¤­®£® ¯¨ªá¥«ï, â.®.
íâ®â ⨯ ¨§®¡à ¦¥­¨ï ¨¤¥­â¨ç¥­ 8 ¡¨â ­  ¯¨ªá¥«ì ¡¥§ ¯ «¨âàë.
* ”®à¬ â ¨§®¡à ¦¥­¨ï á 15 ¡¨â ¬¨ ­  ¯¨ªá¥«ì: 梥⠪ ¦¤®£® ¯¨ªá¥«ï
ª®¤¨àã¥âáï ª ª (¢ ¡¨â®¢®¬ ¯à¥¤áâ ¢«¥­¨¨) 0RRRRRGGGGGBBBBB -
¯® 5 ¯¨ªá¥«¥© ­  ª ¦¤ë© 梥â.
3364,6 → 3471,27
…᫨ ¤à㣮¥ ¯à¨«®¦¥­¨¥ ®¯à¥¤¥«¨«® íâã ¦¥ ª®¬¡¨­ æ¨î,
®­® ¯®-¯à¥¦­¥¬ã ¡ã¤¥â ¯®«ãç âì 㢥¤®¬«¥­¨ï.
 
------------- ®¤äã­ªæ¨ï 6 - § ¡«®ª¨à®¢ âì ®¡ëç­ë© ¢¢®¤. -------------
 à ¬¥âàë:
* eax = 66 - ­®¬¥à ä㭪樨
* ebx = 6 - ­®¬¥à ¯®¤ä㭪樨
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
‡ ¬¥ç ­¨ï:
* «®ª¨àã¥âáï ®¡ëç­ë© ¢¢®¤ ¤ ­­ëå á ª« ¢¨ âãàë ¤«ï ãáâ ­®¢«¥­­ëå
"£®àïç¨å" ª« ¢¨è
* „«ï í¬ã«ï樨 ¬ëè¨ ç¥à¥§ ª« ¢¨ âãàã, ¯à¨«®¦¥­¨¥ MOUSEMUL
 
--------- ®¤äã­ªæ¨ï 7 - à §¡«®ª¨à®¢ âì ®¡ëç­ë© ¢¢®¤. ----------------
 à ¬¥âàë:
* eax = 66 - ­®¬¥à ä㭪樨
* ebx = 7 - ­®¬¥à ¯®¤ä㭪樨
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
‡ ¬¥ç ­¨ï:
*  §¡«®ª¨à®¢ ­¨¥ १ã«ìâ â®¢ ä. 66.6
* „«ï í¬ã«ï樨 ¬ëè¨ ç¥à¥§ ª« ¢¨ âãàã, ¯à¨«®¦¥­¨¥ MOUSEMUL
 
======================================================================
============ ”ã­ªæ¨ï 67 - ¨§¬¥­¨âì ¯®«®¦¥­¨¥/à §¬¥àë ®ª­ . ===========
======================================================================
3617,6 → 3745,21
à §¬¥à®¢ á®åà ­ï¥âáï.
 
======================================================================
========= ”ã­ªæ¨ï 68, ¯®¤äã­ªæ¨ï 21 - § £à㧨âì ¤à ©¢¥à PE. ==========
======================================================================
 à ¬¥âàë:
* eax = 68 - ­®¬¥à ä㭪樨
* ebx = 21 - ­®¬¥à ¯®¤ä㭪樨
* ecx = 㪠§ â¥«ì ­  ASCIIZ-áâபã á ¨¬¥­¥¬ ¤à ©¢¥à 
* edx = 㪠§ â¥«ì ­  ª®¬ ­¤­ãî áâபã
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0 - ­¥ã¤ ç 
* ¨­ ç¥ eax = åí­¤« ¤à ©¢¥à 
‡ ¬¥ç ­¨ï:
* …᫨ ¤à ©¢¥à ¥éñ ­¥ § £à㦥­, ®­ § £à㦠¥âáï;
¥á«¨ ¤à ©¢¥à 㦥 § £à㦥­, ­¨ç¥£® ­¥ ¬¥­ï¥âáï.
 
======================================================================
=== ”ã­ªæ¨ï 68, ¯®¤äã­ªæ¨ï 22 - ®âªàëâì ¨¬¥­®¢ ­­ãî ®¡« áâì ¯ ¬ïâ¨. ==
======================================================================
 à ¬¥âàë:
4464,10 → 4607,7
ª­®¯ª¨ ¨§ ¡ãä¥à  áç¨â ­ë ä㭪樥© 17)
* 4 = § à¥§¥à¢¨à®¢ ­® (¢ ⥪ã饩 ॠ«¨§ æ¨¨ ­¨ª®£¤  ­¥ ¯à¨å®¤¨â ¤ ¦¥
¯à¨ à §¬ áª¨à®¢ª¥ ä㭪樥© 40)
* 5 = ¯¥à¥à¨á®¢ë¢ ¥âáï ä®­ à ¡®ç¥£® á⮫  (á¡à á뢠¥âáï
 ¢â®¬ â¨ç¥áª¨ ¯®á«¥ ¯¥à¥à¨á®¢ª¨, â ª çâ® ¥á«¨ ¢® ¢à¥¬ï ¯¥à¥à¨á®¢ª¨
ä®­  ¯à®£à ¬¬  ­¥ ¦¤ñâ ¨ ­¥ ¯à®¢¥àï¥â ᮡëâ¨ï, â® í⮣® ᮡëâ¨ï
®­  ­¥ § ¬¥â¨â)
* 5 = § ¢¥à訫 áì ¯¥à¥à¨á®¢ª  ä®­  à ¡®ç¥£® á⮫ 
* 6 = ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ­ ¦ â¨¥ ­  ª­®¯ªã ¬ëè¨
¨«¨ ¯¥à¥¬¥é¥­¨¥; á¡à á뢠¥âáï ¯à¨ ¯à®ç⥭¨¨)
* 7 = ¯à®¨§®è«® ᮡë⨥ IPC (ᬮâਠäã­ªæ¨î 60 - Inter Process
/kernel/branches/Kolibri-acpi/docs/sysfuncs.txt
194,7 → 194,7
Parameters:
* eax = 4 - function number
* ebx = [coordinate on axis x]*65536 + [coordinate on axis y]
* ecx = 0xX0RRGGBB, where
* ecx = 0xXYRRGGBB, where
* RR, GG, BB specify text color
* X=ABnn (bits):
* nn specifies the used font: 0=system monospaced,
201,9 → 201,15
1=system font of variable width
* A=0 - output esi characters, A=1 - output ASCIIZ-string
* B=1 - fill background with the color edi
* Y = Cnnn
* C=1 redirect the output to the user area, specified in edi
* nnn - not used in the current, must be 0 (zero)
* edx = pointer to the beginning of the string
* esi = for A=0 length of the string, must not exceed 255;
for A=1 is ignored
* edi = color to fill background, if B=1
* edi = pointer to user area, for redirect, if C=1
Returned value:
* function does not return value
Remarks:
211,6 → 217,12
second - from char2.mt.
* Both fonts have height 9 pixels, width of the monospaced font
is equal to 6 pixels.
* C=1, pixel depth = 32 bits, user area is as follows:
dword Xsize
dword Ysize
rest of the area = Xsize * Y size * 4
* You can not use B = 1 and C = 1, at the same time. Since in both
cases, the register edi is used for different purposes.
 
======================================================================
========================= Function 5 - delay. ========================
325,7 → 337,7
position ecx
* +8: word: reserved
* +10 = +0xA: 11 bytes: name of the process
(name of corresponding executable file in the format 8+3)
(name of the started file - executable file without extension)
* +21 = +0x15: byte: reserved, this byte is not changed
* +22 = +0x16: dword: address of the process in memory
* +26 = +0x1A: dword: size of used memory - 1
601,6 → 613,39
* eax = 1 - success, 0 - error
 
======================================================================
===================== Function 15, subfunction 8 =====================
============= Get coordinates of last draw the background ============
======================================================================
Parameters:
* eax = 15 - function number
* ebx = 8 - subfunction number
Returned value:
* eax = [left]*65536 + [right]
* ebx = [top]*65536 + [bottom]
Remarks:
* (left,top) are coordinates of the left upper corner,
(right,bottom) are coordinates of the right lower one.
* For receiving more reliable information, call the function
immediately after the event:
5 = kernel finished redrawing of the desktop background
 
======================================================================
===================== Function 15, subfunction 9 =====================
============= Redraws a rectangular part of the background ===========
======================================================================
Parameters:
* eax = 15 - function number
* ebx = 9 - subfunction number
* ecx = [left]*65536 + [right]
* edx = [top]*65536 + [bottom]
Returned value:
* function does not return value
Remarks:
* (left,top) are coordinates of the left upper corner,
(right,bottom) are coordinates of the right lower one.
* If parameters are set incorrectly then background is not redrawn.
 
======================================================================
=============== Function 16 - save ramdisk on a floppy. ==============
======================================================================
Parameters:
1064,6 → 1109,36
subfunction 3 (which requires slot number).
 
======================================================================
======== Function 18, subfunction 23 - minimize all windows. ==========
======================================================================
Parameters:
* eax = 18 - function number
* ebx = 23 - subfunction number
Returned value:
* eax = 0 - all windows have been minimized before a function call
* eax = N - number of windows minimized from function
Remarks:
* Window of special thread (name begin to symbol @) is not minimize.
 
======================================================================
======= Function 18, subfunction 24 - set limits of screen. ==========
======================================================================
Parameters:
* eax = 18 - function number
* ebx = 24 - subfunction number
* ecx = new X size
* edx = new Y size
Returned value:
* function does not return value
Remarks:
* The function does not change the physical size of the video mode.
It is designed for non-standard displays which display the image
partially.
* The sizes specified in the function should not exceed the sizes
of the current video mode, otherwise the function will not change
anything.
 
======================================================================
==================== Function 20 - MIDI interface. ===================
======================================================================
 
1493,6 → 1568,26
* An example of usage of the function is the application CD_tray.
 
======================================================================
======= Function 25 - put image area on the background layer. ========
======================================================================
Paramters:
* eax = 25 - function number
* ebx = pointer to the previously allocated memory area,
where placed the source images in a format BBGGRRTTBBGGRRTT...
* ecx = [size on axis x]*65536 + [size on axis y]
* edx = [coordinate on axis x]*65536 + [coordinate on axis y]
Returned value:
* function does not return value
Remarks:
* Coordinates of the image are coordinates of the upper left corner
of the image relative to the screen.
* Size of the image in bytes is 4*xsize*ysize
* TT - byte pointer of transparency, at current version:
1 to FF - opaque, 0 - transparent.
* The function places the image directly to LFB. It is not for
background image f.15. Options f.15 to f.25 does not make sense.
 
======================================================================
======== Function 26, subfunction 1 - get MPU MIDI base port. ========
======================================================================
Parameters:
1682,6 → 1777,19
from the parent.
 
======================================================================
========= Function 34 - who owner the pixel on the screen. ===========
======================================================================
Parameters:
* eax = 34 - function number
* ebx = x-coordinate (relative to the display)
* ecx = y-coordinate (relative to the display)
 
Returned value:
* eax = 0x000000XX - owner of pixel the slot window N
If incorrect values ebx and ecx then function returns 0
* The function takes the value from the area [_WinMapAddress]
======================================================================
======= Function 35 - read the color of a pixel on the screen. =======
======================================================================
Parameters:
3221,7 → 3329,7
* ebx = pointer to the image
* ecx = [size on axis x]*65536 + [size on axis y]
* edx = [coordinate on axis x]*65536 + [coordinate on axis y]
* esi = number of bits per pixel, must be 1,2,4,8,15,16,24 or 32
* esi = number of bits per pixel, must be 1,2,4,8,9,15,16,24 or 32;
* edi = pointer to palette (2 to the power esi colors 0x00RRGGBB);
ignored when esi > 8
* ebp = offset of next row data relative to previous row data
3242,6 → 3350,9
corresponds to first pixel.
* Format of image with 8 bits per pixel: each byte of image is
index in the palette.
* Format of image with 9 bits per pixel: array of one byte values;
each byte (8 bit) represents the intensity of gray for one pixel;
this format is equal to 8bpp without palette.
* Format of image with 15 bits per pixel: the color of each pixel
is coded as (bit representation) 0RRRRRGGGGGBBBBB - 5 bits per
each color.
3340,6 → 3451,26
If other application has defined the same combination, it will
still receive notices.
 
--------------- Subfunction 6 - block the normal input. --------------
Parameters:
* eax = 66 - function number
* ebx = 6 - subfunction number
Returned value:
* function does not return value
Remarks:
* Blocking the normal keyboard input for installed hotkeys
* To emulate a mouse via the keyboard, the application MOUSEMUL
 
------------ Subfunction 7 - unlock the normal input. ----------------
Parameters:
* eax = 66 - function number
* ebx = 7 - subfunction number
Returned value:
* function does not return value
Remarks:
* Unlocking the results of the f. 66.6
* To emulate a mouse via the keyboard, the application MOUSEMUL
 
======================================================================
========= Function 67 - change position/sizes of the window. =========
======================================================================
3596,6 → 3727,21
the new and old sizes.
 
======================================================================
=========== Function 68, subfunction 21 - load driver PE. ============
======================================================================
Parameters:
* eax = 68 - function number
* ebx = 21 - subfunction number
* ecx = pointer to ASCIIZ-string with driver name
* edx = pointer to command line
Returned value:
* eax = 0 - failed
* otherwise eax = driver handle
Remarks:
* If the driver was not loaded yet, it is loaded;
if the driver was loaded yet, nothing happens.
 
======================================================================
======== Function 68, subfunction 22 - open named memory area. =======
======================================================================
Parameters:
4430,9 → 4576,7
are read out by function 17)
* 4 = reserved (in current implementation never comes even after
unmasking by function 40)
* 5 = the desktop background is redrawed (is reset automatically
after redraw, so if in redraw time program does not wait and
does not check events, it will not remark this event)
* 5 = kernel finished redrawing of the desktop background
* 6 = mouse event (something happened - button pressing or moving;
is reset at reading)
* 7 = IPC event (see function 60 -