Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 640 → Rev 641

/kernel/trunk/boot/bootcode.inc
381,11 → 381,9
@@:
mov [di], al
.preboot_gr_end:
cmp [di+preboot_dma-preboot_graph], 0
jnz @f
mov [di+preboot_dma-preboot_graph], 3 ; DMA: defaults to none
@@:
; following 4 lines set variables to 1 if its current value is 0
; following 6 lines set variables to 1 if its current value is 0
cmp [di+preboot_dma-preboot_graph], 1
adc [di+preboot_dma-preboot_graph], 0
cmp [di+preboot_vrrm-preboot_graph], 1
adc [di+preboot_vrrm-preboot_graph], 0
cmp [di+preboot_device-preboot_graph], 1
/kernel/trunk/docs/sysfuncr.txt
1,4 → 1,4
‘ˆ‘’…Œ›… ”“Š–ˆˆ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ› Kolibri 0.7.0.0
‘ˆ‘’…Œ›… ”“Š–ˆˆ Ž…€–ˆŽŽ‰ ‘ˆ‘’…Œ› Kolibri 0.7.1.0
 
®¬¥à ä㭪樨 ¯®¬¥é ¥âáï ¢ ॣ¨áâà eax.
‚맮¢ á¨á⥬­®© ä㭪樨 ®áãé¥á⢫ï¥âáï ª®¬ ­¤®© "int 0x40".
22,14 → 22,14
* Y=1 - ⮫쪮 ®¯à¥¤¥«¨âì ®¡« áâì ®ª­ , ­¨ç¥£® ­¥ à¨á®¢ âì
* Y=2 - ⨯ II - ®ª­® ¨§¬¥­ï¥¬ëå à §¬¥à®¢
* Y=3 - ®ª­® ᮠ᪨­®¬
* Y=4 - ®ª­® ᮠ᪨­®¬ ¨ 䨪á¨à®¢ ­­ë¬¨ à §¬¥à ¬¨
* ®áâ «ì­ë¥ ¢®§¬®¦­ë¥ §­ ç¥­¨ï (®â 4 ¤® 15) § à¥§¥à¢¨à®¢ ­ë,
* Y=4 - ®ª­® ᮠ᪨­®¬ 䨪á¨à®¢ ­­ëå à §¬¥à®¢
* ®áâ «ì­ë¥ ¢®§¬®¦­ë¥ §­ ç¥­¨ï (®â 5 ¤® 15) § à¥§¥à¢¨à®¢ ­ë,
¢ë§®¢ ä㭪樨 á â ª¨¬¨ Y ¨£­®à¨àã¥âáï
* RR, GG, BB = ᮮ⢥âá⢥­­® ªà á­ ï, §¥«¥­ ï, ᨭïï
á®áâ ¢«ïî騥 æ¢¥â  à ¡®ç¥© ®¡« á⨠®ª­ 
(¨£­®à¨àã¥âáï ¤«ï á⨫ï Y=2)
* X = DCBA (¡¨âë)
* A = 1 - ã ®ª­  ¥áâì § £®«®¢®ª; ¤«ï á⨫ï Y=3  ¤à¥á áâப¨
* A = 1 - ã ®ª­  ¥áâì § £®«®¢®ª; ¤«ï á⨫¥© Y=3,4  ¤à¥á áâப¨
§ £®«®¢ª  § ¤ ñâáï ¢ edi, ¤«ï ¯à®ç¨å á⨫¥©
¨á¯®«ì§ã¥âáï ¯®¤äã­ªæ¨ï 1 ä㭪樨 71
* B = 1 - ª®®à¤¨­ âë ¢á¥å £à ä¨ç¥áª¨å ¯à¨¬¨â¨¢®¢ § ¤ îâáï
53,7 → 53,7
í⮩ ä㭪樨 ¨ ¨£­®à¨àãîâáï ¯à¨ ¯®á«¥¤ãîé¨å; ¤«ï ¨§¬¥­¥­¨ï
¯®«®¦¥­¨ï ¨/¨«¨ à §¬¥à®¢ 㦥 ᮧ¤ ­­®£® ®ª­  ¨á¯®«ì§ã©â¥
67-î äã­ªæ¨î.
* „«ï ®ª®­ á⨫ï Y=3 á § £®«®¢ª®¬ (A=1) áâப  § £®«®¢ª 
* „«ï ®ª®­ á⨫¥© Y=3,4 á § £®«®¢ª®¬ (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.0.0:
db 0,7,0,0
„«ï ï¤à  Kolibri 0.7.1.0:
db 0,7,1,0
db 2
dd 533
dd 638
 
======================================================================
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 14 =====================
981,21 → 981,20
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
 
-------- ®¤¯®¤äã­ªæ¨ï 5 - í¬ã«ïæ¨ï ª­®¯®ª ¬ëè¨. --------
------- ®¤¯®¤äã­ªæ¨ï 5 - ᨬ㫨஢ âì á®áâ®ï­¨¥ ª« ¢¨è ¬ëè¨. --------
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 19 - ­®¬¥à ¯®¤ä㭪樨
* ecx = 5 - ­®¬¥à ¯®¤¯®¤ä㭪樨
* edx = ¨­ä®à¬ æ¨ï ® í¬ã«¨à㥬ëå ª­®¯ª å ¬ëè¨:
* edx = ¨­ä®à¬ æ¨ï ® í¬ã«¨à㥬®¬ á®áâ®ï­¨¨ ª­®¯®ª ¬ëè¨:
(ᮮ⢥âáâ¢ã¥â ¢®§¢à é ¥¬®¬ã §­ ç¥­¨î ¯®¤ä㭪樨 2 ä㭪樨 37)
* ¡¨â 0 ãáâ ­®¢«¥­ = «¥¢ ï ª­®¯ª  ­ ¦ â 
* ¡¨â 1 ãáâ ­®¢«¥­ = ¯à ¢ ï ª­®¯ª  ­ ¦ â 
* ¡¨â 2 ãáâ ­®¢«¥­ = á।­ïï ª­®¯ª  ­ ¦ â 
* ¡¨â 3 ãáâ ­®¢«¥­ = 4-ï ª­®¯ª  ­ ¦ â 
* ¡¨â 4 ãáâ ­®¢«¥­ = 5-ï ª­®¯ª  ­ ¦ â 
* ¯à®ç¨¥ ¡¨âë á¡à®è¥­ë
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* äã­ªæ¨ï ­¥ ¢®§¢à é ¥â §­ ç¥­¨ï
 
‡ ¬¥ç ­¨ï:
* ¥ª®¬¥­¤ã¥¬ ï ᪮à®áâì ¬ëè¨ (¢ ¯®¤¯®¤ä㭪樨 1) ®â 1 ¤® 9.
“áâ ­ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨­  ­¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à , ¯®í⮬ã
1039,34 → 1038,35
 
======================================================================
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 21 =====================
==== ®«ãç¨âì ­®¬¥à  á«®â  ¯à®æ¥áá /¯®â®ª  ¯® ¥£® ¨¤¥­â¨ä¨ª â®àã =====
======= ®«ãç¨âì ­®¬¥à á«®â  ¯à®æ¥áá /¯®â®ª  ¯® ¨¤¥­â¨ä¨ª â®àã. ======
======================================================================
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 21 - ­®¬¥à ¯®¤ä㭪樨
* ecx = PID/TID (¨¤¥­â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª )
* ecx = ¨¤¥­â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª  (PID/TID)
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = ­®¬¥à á«®â  ¯®â®ª  ¥á«¨ ®­ áãé¥áâ¢ã¥â ¨«¨ 0, ¥á«¨ PID/TID
«®¦­ë©.
* eax = 0 - ®è¨¡ª  (­¥¢¥à­ë© ¨¤¥­â¨ä¨ª â®à)
* ¨­ ç¥ eax = ­®¬¥à á«®â 
 
======================================================================
====================== ”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 22 =====================
=========== Œ¨­¨¬¨§ æ¨ï/¢®ááâ ­®¢«¥­¨¥ ®ª­  ¯à®æ¥áá /¯®â®ª  ==========
”ã­ªæ¨ï 18, ¯®¤äã­ªæ¨ï 22 - ®¯¥à æ¨¨ á ®ª­®¬ ¤à㣮£® ¯à®æ¥áá /¯®â®ª .
======================================================================
 à ¬¥âàë:
* eax = 18 - ­®¬¥à ä㭪樨
* ebx = 22 - ­®¬¥à ¯®¤ä㭪樨
* ecx = ’¨¯ ®¯¥à æ¨¨
0 - ¬¨­¨¬¨§ æ¨ï ®ª­  (᢮à ç¨¢ ­¨¥ ­  ¯ ­¥«ì) ¯® ­®¬¥àã
á«®â  ¯®â®ª 
1 - ¬¨­¨¬¨§ æ¨ï ®ª­  ¯® ¨¤¥­â¨ä¨ª â®àã PID/TID
2 - ‚®ááâ ­®¢«¥­¨¥ ¬¨­¨¬¨§¨à®¢ ­­®£® ®ª­  ¯® á«®âã ¯®â®ª 
3 - ‚®ááâ ­®¢«¥­¨¥ ¬¨­¨¬¨§¨à®¢ ­­®£® ®ª­  ¯® ¨¤¥­â¨ä¨ª â®àã
PID/TID
* edx =  à ¬¥âà ®¯¥à æ¨¨ (®¬¥à á«®â  ¨«¨ PID/TID)
* ecx = ⨯ ®¯¥à æ¨¨:
* 0 = ¬¨­¨¬¨§ æ¨ï ®ª­ , ¯®â®ª § ¤ ­ ­®¬¥à®¬ á«®â 
* 1 = ¬¨­¨¬¨§ æ¨ï ®ª­ , ¯®â®ª § ¤ ­ ¨¤¥­â¨ä¨ª â®à®¬
* 2 = ¢®ááâ ­®¢«¥­¨¥ ®ª­ , ¯®â®ª § ¤ ­ ­®¬¥à®¬ á«®â 
* 3 = ¢®ááâ ­®¢«¥­¨¥ ®ª­ , ¯®â®ª § ¤ ­ ¨¤¥­â¨ä¨ª â®à®¬
* edx = ¯ à ¬¥âà ®¯¥à æ¨¨ (­®¬¥à á«®â  ¨«¨ PID/TID)
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* eax = 0 - ãᯥ譮¥ § ¢¥à襭¨¥
eax = -1 - ®è¨¡ª 
* eax = 0 - ãᯥ譮
* eax = -1 - ®è¨¡ª  (­¥¯à ¢¨«ì­ë© ¯ à ¬¥âà)
‡ ¬¥ç ­¨ï:
* ®â®ª ¬®¦¥â ᢥà­ãâì ᢮ñ ®ª­® ¢ë§®¢®¬ ¯®¤ä㭪樨 10.
* ‚®ááâ ­®¢«¥­¨¥ ®ª­  á ®¤­®¢à¥¬¥­­®©  ªâ¨¢¨§ æ¨¥© ®áãé¥á⢫ï¥âáï
¯®¤ä㭪樨 3 (¯à¨­¨¬ î饩 ­®¬¥à á«®â ).
 
======================================================================
==================== ”ã­ªæ¨ï 20 - ¨­â¥à䥩á MIDI. ====================
1510,31 → 1510,35
¯®¤ä㭪樨 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.
 
======================================================================
2992,16 → 2996,22
¤® ª®­æ  ¯à®¨£à뢠­¨ï.
 
======================================================================
============================ ”ã­ªæ¨ï 57 ==============================
====================== ‚맮¢ á¥à¢¨á®¢ PCIBIOS ========================
======================= ”ã­ªæ¨ï 57 - PCI BIOS. =======================
======================================================================
 à ¬¥âàë:
* eax = 57
* ebp = ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¯® ᯥæ¨ä¨ª æ¨¨ PCIBIOS
* ®áâ «ì­ë¥ ॣ¨áâàë ¯® ᯥæ¨ä¨ª æ¨¨ PCIBIOS
‚®§¢à é ¥¬ë¥ §­ ç¥­¨ï:
* eax = 57 - ­®¬¥à ä㭪樨
* ebp ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¢ ᯥæ¨ä¨ª æ¨¨ PCI BIOS
* ®áâ «ì­ë¥ ॣ¨áâàë - ¯® ᯥæ¨ä¨ª æ¨¨ PCI BIOS
‚®§¢à é ¥¬®¥ §­ ç¥­¨¥:
* CF ­¥ ®¯à¥¤¥«ñ­
* ®áâ «ì­ë¥ ॣ¨áâàë ¯® ᯥæ¨ä¨ª æ¨¨ PCIBIOS
* ®áâ «ì­ë¥ ॣ¨áâàë - ¯® ᯥæ¨ä¨ª æ¨¨ PCI BIOS
‡ ¬¥ç ­¨ï:
* Œ­®£¨å १ã«ìâ â®¢ í⮩ ä㭪樨 ¬®¦­® â ª¦¥ ¤®¡¨âìáï ¢ë§®¢®¬
ᮮ⢥âáâ¢ãîé¨å ¯®¤ä㭪権 ä㭪樨 62.
* ”ã­ªæ¨ï ¢ë§ë¢ ¥â à áè¨à¥­¨¥ PCI32 BIOS, ¤®ªã¬¥­â¨à®¢ ­­®¥,
­ ¯à¨¬¥à, ¢ http://alpha1.dyns.net/files/PCI/bios21.pdf.
* …᫨ BIOS ­¥ ¯®¤¤¥à¦¨¢ ¥â íâ® à áè¨à¥­¨¥, ¯®¢¥¤¥­¨¥ ä㭪樨
í¬ã«¨àã¥âáï (ç¥à¥§  ­ «®£¨ ¯®¤ä㭪権 ä㭪樨 62 ०¨¬  ï¤à ).
 
======================================================================
============== ”ã­ªæ¨ï 58 - à ¡®â  á ä ©«®¢®© á¨á⥬®©. ==============
4201,10 → 4211,11
„«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á  ¯¯ à â­ë¬¨ ®£à ­¨ç¥­¨ï¬¨ ¤®áâ㯭ë
⮫쪮 ¯®¤ä㭪樨 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤ä㭪権 § ¢¥àè¨âáï
®è¨¡ª®© á ª®¤®¬ 2.
à¨ ¯¥à¢®¬ ®¡à é¥­¨¨ ¯®¤ä㭪権 0,1,5,7 ª ãáâனá⢠¬ ATAPI (CD ¨ DVD)
¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª  àãç­®£® ã¯à ¢«¥­¨ï ¬¥å ­¨§¬®¬ «®âª . â® á¢ï§ ­®
á  «£®à¨â¬®¬ ªíè¨à®¢ ­¨ï ¤ ­­ëå ¯®«ã祭­ëå ®â ¯à¨¢®¤ .  §¡«®ª¨à®¢ª 
¯à®¨§¢®¤¨âáï ®¡à é¥­¨¥¬ ä㭪樨 24.4 ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
à¨ ¯¥à¢®¬ ®¡à é¥­¨¨ ¯®¤ä㭪権 0,1,5,7 ª ãáâனá⢠¬ ATAPI
(CD ¨ DVD) ¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª  àãç­®£® ã¯à ¢«¥­¨ï ¬¥å ­¨§¬®¬
«®âª . â® á¢ï§ ­® á ªíè¨à®¢ ­¨¥¬ ¤ ­­ëå, ¯®«ã祭­ëå ®â ¯à¨¢®¤ .
 §¡«®ª¨à®¢ª  ®áãé¥á⢫ï¥âáï ¯à¨ ®¡à é¥­¨¨ ¯®¤ä㭪樨 4 ä㭪樨 24
ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
 
======================================================================
= ”ã­ªæ¨ï 70, ¯®¤äã­ªæ¨ï 0 - ç⥭¨¥ ä ©«  á ¯®¤¤¥à¦ª®© ¤«¨­­ëå ¨¬ñ­. =
/kernel/trunk/docs/sysfuncs.txt
1,4 → 1,4
SYSTEM FUNCTIONS of OS Kolibri 0.7.0.0
SYSTEM FUNCTIONS of OS Kolibri 0.7.1.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 window with fixed sizes
* other possible values (from 4 up to 15) are reserved,
* Y=4 - skinned fixed-size window
* other possible values (from 5 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 style Y=3 caption string
* A = 1 - window has caption; for styles Y=3,4 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 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.
* 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.
* 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.0.0 kernel:
For Kolibri 0.7.1.0 kernel:
db 0,7,0,0
db 2
dd 533
dd 638
 
======================================================================
======= Function 18, subfunction 14 - wait for screen retrace. =======
978,21 → 978,20
Returned value:
* function does not return value
 
-------- Subsubfunction 5 - emulation mouse button. --------
-------- Subsubfunction 5 - simulate state of mouse buttons. ---------
Parameters:
* eax = 18 - function number
* ebx = 19 - subfunction number
* ecx = 5 - subsubfunction number
* edx = information about the emulated mouse buttons:
* edx = information about emulated state of mouse buttons:
(same as return value in subfunction 2 of function 37)
* 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
1035,33 → 1034,37
(reserved)
 
======================================================================
====================== Function 18, subfunction 21 =====================
=== Get number of the slot of process/thread at his identificator ====
===================== Function 18, subfunction 21 ====================
======== Get slot number of process/thread by the identifier. ========
======================================================================
Parameters:
* eax = 18 - function number
* ebx = 21 - subfunction number
* ecx = PID/TID (process/thread identificator)
* ecx = identifer of process/thread (PID/TID)
Returned value:
* eax = number of the slot of process/thread, if it really present
or 0, if PID/TID is false
* eax = 0 - error (invalid identifier)
* otherwise eax = slot number
 
======================================================================
==================== Function 18, subfunction 22 =====================
============= Minimize/restore window of process/thread ==============
===================== Function 18, subfunction 22 ====================
============== Operations with window of another thread. =============
======================================================================
Parameters:
* eax = 18 - function number
* ebx = 22 - subfunction number
* 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)
* 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)
Returned value:
* eax = 0 - successfully ending
eax = -1 - error
* 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).
 
======================================================================
==================== Function 20 - MIDI interface. ===================
1491,29 → 1494,33
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:
* Nothing comes back.
* function does not return value
Remarks:
* The function is supported only for ATAPI devices (CD and DVD).
* 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.
* 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.
* 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:
* Nothing comes back.
* function does not return value
Remarks:
* The function is supported only for ATAPI devices (CD and DVD).
* An example of usage of the function is the application CD_tray.
2964,6 → 2971,24
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:
4148,10 → 4173,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 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.
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.
 
======================================================================
=== Function 70, subfunction 0 - read file with long names support. ==
/kernel/trunk/hid/keyboard.inc
277,6 → 277,8
;.........................Part1 Start.......Code by Rus, optimize by Ghost...................................
test [kb_state], VKEY_NUMLOCK
jz .dowrite
cmp cl, 0xE0
jz .dowrite
 
cmp ch, 55
jnz @f
/kernel/trunk/kernel.asm
113,7 → 113,7
org 0x0
jmp start_of_code
 
version db 'Kolibri OS version 0.7.0.0 ',13,10,13,10,0
version db 'Kolibri OS version 0.7.1.0 ',13,10,13,10,0
 
include "boot/bootstr.inc" ; language-independent boot messages
include "boot/preboot.inc"
2348,7 → 2348,7
 
iglobal
version_inf:
db 0,7,0,0 ; version 0.7.0.0
db 0,7,1,0 ; version 0.7.1.0
db UID_KOLIBRI
dd __REV__
version_end:
/kernel/trunk/video/cursors.inc
504,6 → 504,8
mov edi, [cur_saved_base]
mov edx, [cur_saved_h]
mov ebx, [cur_saved_interl]
test edx, edx
jz .ret
 
mov esi, cur_saved_data
@@:
513,6 → 515,7
add edi, ebx
dec edx
jnz @B
.ret:
ret
endp
 
525,6 → 528,8
mov edi, [cur_saved_base]
mov edx, [cur_saved_h]
mov ebx, [cur_saved_interl]
test edx, edx
jz .ret
 
mov esi, cur_saved_data
@@:
533,6 → 538,7
add edi, ebx
dec edx
jnz @B
.ret:
ret
endp