forked from KolibriOS/kolibrios
Kernel updated to 0.7.1.0
git-svn-id: svn://kolibrios.org@641 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
67089c784b
commit
efedbc015e
@ -381,11 +381,9 @@ cfgmanager:
|
||||
@@:
|
||||
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
|
||||
|
@ -1,4 +1,4 @@
|
||||
‘ˆ‘’…Œ<EFBFBD>›… ”“<E2809D>Š–ˆˆ Ž<>…<EFBFBD>€–ˆŽ<CB86><C5BD>Ž‰ ‘ˆ‘’…Œ› Kolibri 0.7.0.0
|
||||
‘ˆ‘’…Œ<EFBFBD>›… ”“<E2809D>Š–ˆˆ Ž<>…<EFBFBD>€–ˆŽ<CB86><C5BD>Ž‰ ‘ˆ‘’…Œ› Kolibri 0.7.1.0
|
||||
|
||||
<EFBFBD>®¬¥à äãªæ¨¨ ¯®¬¥é ¥âáï ¢ ॣ¨áâà 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 @@ dd 533
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||||
|
||||
-------- <20>®¤¯®¤äãªæ¨ï 5 - í¬ã«ïæ¨ï ª®¯®ª ¬ëè¨. --------
|
||||
------- <20>®¤¯®¤äãªæ¨ï 5 - ᨬ㫨஢ âì á®áâ®ï¨¥ ª« ¢¨è ¬ëè¨. --------
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = 5 - ®¬¥à ¯®¤¯®¤äãªæ¨¨
|
||||
* edx = ¨ä®à¬ æ¨ï ® í¬ã«¨à㥬ëå ª®¯ª å ¬ëè¨:
|
||||
* ¡¨â 0 ãáâ ®¢«¥ = «¥¢ ï ª®¯ª ¦ â
|
||||
* ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â
|
||||
* ¡¨â 2 ãáâ ®¢«¥ = á।ïï ª®¯ª ¦ â
|
||||
* ¡¨â 3 ãáâ ®¢«¥ = 4-ï ª®¯ª ¦ â
|
||||
* ¡¨â 4 ãáâ ®¢«¥ = 5-ï ª®¯ª ¦ â
|
||||
* ¯à®ç¨¥ ¡¨âë á¡à®è¥ë
|
||||
* edx = ¨ä®à¬ æ¨ï ® í¬ã«¨à㥬®¬ á®áâ®ï¨¨ ª®¯®ª ¬ëè¨:
|
||||
(ᮮ⢥âáâ¢ã¥â ¢®§¢à é ¥¬®¬ã § ç¥¨î ¯®¤äãªæ¨¨ 2 äãªæ¨¨ 37)
|
||||
* ¡¨â 0 ãáâ ®¢«¥ = «¥¢ ï ª®¯ª ¦ â
|
||||
* ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â
|
||||
* ¡¨â 2 ãáâ ®¢«¥ = á।ïï ª®¯ª ¦ â
|
||||
* ¡¨â 3 ãáâ ®¢«¥ = 4-ï ª®¯ª ¦ â
|
||||
* ¡¨â 4 ãáâ ®¢«¥ = 5-ï ª®¯ª ¦ â
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||||
|
||||
‡ ¬¥ç ¨ï:
|
||||
* <20>¥ª®¬¥¤ã¥¬ ï ᪮à®áâì ¬ëè¨ (¢ ¯®¤¯®¤äãªæ¨¨ 1) ®â 1 ¤® 9.
|
||||
“áâ ¢«¨¢ ¥¬ ï ¢¥«¨ç¨ ¥ ¯à®¢¥àï¥âáï ª®¤®¬ ï¤à , ¯®í⮬ã
|
||||
@ -1039,34 +1038,35 @@ dd 533
|
||||
|
||||
======================================================================
|
||||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 21 =====================
|
||||
==== <20>®«ãç¨âì ®¬¥à ᫮⠯à®æ¥áá /¯®â®ª ¯® ¥£® ¨¤¥â¨ä¨ª â®àã =====
|
||||
======= <20>®«ãç¨âì ®¬¥à ᫮⠯à®æ¥áá /¯®â®ª ¯® ¨¤¥â¨ä¨ª â®àã. ======
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 21 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = PID/TID (¨¤¥â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª )
|
||||
* ecx = ¨¤¥â¨ä¨ª â®à ¯à®æ¥áá /¯®â®ª (PID/TID)
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = ®¬¥à ᫮⠯®â®ª ¥á«¨ ® áãé¥áâ¢ã¥â ¨«¨ 0, ¥á«¨ PID/TID
|
||||
«®¦ë©.
|
||||
* eax = 0 - ®è¨¡ª (¥¢¥àë© ¨¤¥â¨ä¨ª â®à)
|
||||
* ¨ ç¥ eax = ®¬¥à á«®â
|
||||
|
||||
======================================================================
|
||||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 22 =====================
|
||||
=========== Œ¨¨¬¨§ æ¨ï/¢®ááâ ®¢«¥¨¥ ®ª ¯à®æ¥áá /¯®â®ª ==========
|
||||
”ãªæ¨ï 18, ¯®¤äãªæ¨ï 22 - ®¯¥à 樨 á ®ª®¬ ¤à㣮£® ¯à®æ¥áá /¯®â®ª .
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 18 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 22 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = ’¨¯ ®¯¥à 樨
|
||||
0 - ¬¨¨¬¨§ æ¨ï ®ª (᢮à 稢 ¨¥ ¯ ¥«ì) ¯® ®¬¥àã
|
||||
᫮⠯®â®ª
|
||||
1 - ¬¨¨¬¨§ æ¨ï ®ª ¯® ¨¤¥â¨ä¨ª â®àã PID/TID
|
||||
2 - ‚®ááâ ®¢«¥¨¥ ¬¨¨¬¨§¨à®¢ ®£® ®ª ¯® á«®âã ¯®â®ª
|
||||
3 - ‚®ááâ ®¢«¥¨¥ ¬¨¨¬¨§¨à®¢ ®£® ®ª ¯® ¨¤¥â¨ä¨ª â®àã
|
||||
PID/TID
|
||||
* edx = <20> à ¬¥âà ®¯¥à 樨 (<28>®¬¥à ᫮⠨«¨ PID/TID)
|
||||
* ecx = ⨯ ®¯¥à 樨:
|
||||
* 0 = ¬¨¨¬¨§ æ¨ï ®ª , ¯®â®ª § ¤ ®¬¥à®¬ á«®â
|
||||
* 1 = ¬¨¨¬¨§ æ¨ï ®ª , ¯®â®ª § ¤ ¨¤¥â¨ä¨ª â®à®¬
|
||||
* 2 = ¢®ááâ ®¢«¥¨¥ ®ª , ¯®â®ª § ¤ ®¬¥à®¬ á«®â
|
||||
* 3 = ¢®ááâ ®¢«¥¨¥ ®ª , ¯®â®ª § ¤ ¨¤¥â¨ä¨ª â®à®¬
|
||||
* edx = ¯ à ¬¥âà ®¯¥à 樨 (®¬¥à ᫮⠨«¨ PID/TID)
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = 0 - ãᯥ讥 § ¢¥à襨¥
|
||||
eax = -1 - ®è¨¡ª
|
||||
* eax = 0 - ãᯥè®
|
||||
* eax = -1 - ®è¨¡ª (¥¯à ¢¨«ìë© ¯ à ¬¥âà)
|
||||
‡ ¬¥ç ¨ï:
|
||||
* <20>®â®ª ¬®¦¥â ᢥàãâì ᢮ñ ®ª® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 10.
|
||||
* ‚®ááâ ®¢«¥¨¥ ®ª á ®¤®¢à¥¬¥®© ªâ¨¢¨§ 樥© ®áãé¥á⢫ï¥âáï
|
||||
¯®¤äãªæ¨¨ 3 (¯à¨¨¬ î饩 ®¬¥à á«®â ).
|
||||
|
||||
======================================================================
|
||||
==================== ”ãªæ¨ï 20 - ¨â¥à䥩á MIDI. ====================
|
||||
@ -1510,31 +1510,35 @@ dd 533
|
||||
¯®¤äãªæ¨¨ 3 äãªæ¨¨ 21.
|
||||
|
||||
======================================================================
|
||||
========== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 4 - ¨§¢«¥çì «®â®ª ¯à¨¢®¤ ¤¨áª . ============
|
||||
======= ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 4 - ¨§¢«¥çì «®â®ª ¯à¨¢®¤ ¤¨áª . ======
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 24 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = ®¬¥à CD/DVD-¤¨áª (®â 0=Primary Master ¤® 3=Secondary Slave)
|
||||
* ecx = ®¬¥à CD/DVD-¤¨áª
|
||||
(®â 0=Primary Master ¤® 3=Secondary Slave)
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* <20>¨ç¥£® ¥ ¢®§¢à é ¥âáï.
|
||||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||||
‡ ¬¥ç ¨ï:
|
||||
* ”ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI ãáâனá⢠(CD ¨ DVD).
|
||||
* <20>ਠ¨§¢«¥ç¥¨¨ «®âª ¯à®¨§¢®¤¨âáï à §¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï ¬¥å ¨§¬®¬ «®âª .
|
||||
* <20>ਠ¨§¢«¥ç¥¨¨ «®âª ª®¤ ¯à®¨§¢®¤¨â ®ç¨áâªã ªíè ᮮ⢥âáâ¢ãî饣® ãáâனá⢠.
|
||||
* ”ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
|
||||
* <20>ਠ¨§¢«¥ç¥¨¨ «®âª ¯à®¨§¢®¤¨âáï à §¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï
|
||||
¬¥å ¨§¬®¬ «®âª .
|
||||
* <20>ਠ¨§¢«¥ç¥¨¨ «®âª ª®¤ ¯à®¨§¢®¤¨â ®ç¨áâªã ªíè ᮮ⢥âáâ¢ãî饣®
|
||||
ãáâனá⢠.
|
||||
* <20>ਬ¥à®¬ ¨á¯®«ì§®¢ ¨ï äãªæ¨¨ ï¥âáï ¯à¨«®¦¥¨¥ CD_tray.
|
||||
|
||||
======================================================================
|
||||
========== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 5 - § £à㧨âì «®â®ª ¯à¨¢®¤ ¤¨áª . ===========
|
||||
====== ”ãªæ¨ï 24, ¯®¤äãªæ¨ï 5 - § £à㧨âì «®â®ª ¯à¨¢®¤ ¤¨áª . =====
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 24 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = ®¬¥à CD/DVD-¤¨áª (®â 0=Primary Master ¤® 3=Secondary Slave)
|
||||
* ecx = ®¬¥à CD/DVD-¤¨áª
|
||||
(®â 0=Primary Master ¤® 3=Secondary Slave)
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* <20>¨ç¥£® ¥ ¢®§¢à é ¥âáï.
|
||||
* äãªæ¨ï ¥ ¢®§¢à é ¥â § 票ï
|
||||
‡ ¬¥ç ¨ï:
|
||||
* ”ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI ãáâனá⢠(CD ¨ DVD)
|
||||
* ”ãªæ¨ï ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 ¤«ï ATAPI-ãáâனá⢠(CD ¨ DVD).
|
||||
* <20>ਬ¥à®¬ ¨á¯®«ì§®¢ ¨ï äãªæ¨¨ ï¥âáï ¯à¨«®¦¥¨¥ CD_tray.
|
||||
|
||||
======================================================================
|
||||
@ -2992,16 +2996,22 @@ dword-
|
||||
¤® ª®æ ¯à®¨£àë¢ ¨ï.
|
||||
|
||||
======================================================================
|
||||
============================ ”ãªæ¨ï 57 ==============================
|
||||
====================== ‚맮¢ á¥à¢¨á®¢ PCIBIOS ========================
|
||||
======================= ”ãªæ¨ï 57 - PCI BIOS. =======================
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 57
|
||||
* ebp = ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¯® ᯥæ¨ä¨ª 樨 PCIBIOS
|
||||
* ®áâ «ìë¥ à¥£¨áâàë ¯® ᯥæ¨ä¨ª 樨 PCIBIOS
|
||||
‚®§¢à é ¥¬ë¥ § 票ï:
|
||||
* CF ¥ ®¯à¥¤¥«ñ
|
||||
* ®áâ «ìë¥ à¥£¨áâàë ¯® ᯥæ¨ä¨ª 樨 PCIBIOS
|
||||
* eax = 57 - ®¬¥à äãªæ¨¨
|
||||
* ebp ᮮ⢥âáâ¢ã¥â ॣ¨áâàã al ¢ ᯥæ¨ä¨ª 樨 PCI BIOS
|
||||
* ®áâ «ìë¥ à¥£¨áâàë - ¯® ᯥæ¨ä¨ª 樨 PCI BIOS
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* CF ¥ ®¯à¥¤¥«ñ
|
||||
* ®áâ «ìë¥ à¥£¨áâàë - ¯® ᯥæ¨ä¨ª 樨 PCI BIOS
|
||||
‡ ¬¥ç ¨ï:
|
||||
* Œ®£¨å १ã«ìâ ⮢ í⮩ äãªæ¨¨ ¬®¦® â ª¦¥ ¤®¡¨âìáï ¢ë§®¢®¬
|
||||
ᮮ⢥âáâ¢ãîé¨å ¯®¤äãªæ¨© äãªæ¨¨ 62.
|
||||
* ”ãªæ¨ï ¢ë§ë¢ ¥â à áè¨à¥¨¥ PCI32 BIOS, ¤®ªã¬¥â¨à®¢ ®¥,
|
||||
¯à¨¬¥à, ¢ http://alpha1.dyns.net/files/PCI/bios21.pdf.
|
||||
* …᫨ BIOS ¥ ¯®¤¤¥à¦¨¢ ¥â íâ® à áè¨à¥¨¥, ¯®¢¥¤¥¨¥ äãªæ¨¨
|
||||
í¬ã«¨àã¥âáï (ç¥à¥§ «®£¨ ¯®¤äãªæ¨© äãªæ¨¨ 62 ०¨¬ ï¤à ).
|
||||
|
||||
======================================================================
|
||||
============== ”ãªæ¨ï 58 - à ¡®â á ä ©«®¢®© á¨á⥬®©. ==============
|
||||
@ -4201,10 +4211,11 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||||
„«ï CD-¯à¨¢®¤®¢ ¢ á¢ï§¨ á ¯¯ à â묨 ®£à ¨ç¥¨ï¬¨ ¤®áâã¯ë
|
||||
⮫쪮 ¯®¤äãªæ¨¨ 0,1,5 ¨ 7, ¢ë§®¢ ¤àã£¨å ¯®¤äãªæ¨© § ¢¥àè¨âáï
|
||||
®è¨¡ª®© á ª®¤®¬ 2.
|
||||
<EFBFBD>ਠ¯¥à¢®¬ ®¡à 饨¨ ¯®¤äãªæ¨© 0,1,5,7 ª ãáâனá⢠¬ ATAPI (CD ¨ DVD)
|
||||
¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï ¬¥å ¨§¬®¬ «®âª . <20>â® á¢ï§ ®
|
||||
á «£®à¨â¬®¬ ªíè¨à®¢ ¨ï ¤ ëå ¯®«ãç¥ëå ®â ¯à¨¢®¤ . <20> §¡«®ª¨à®¢ª
|
||||
¯à®¨§¢®¤¨âáï ®¡à 饨¥¬ äãªæ¨¨ 24.4 ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
|
||||
<EFBFBD>ਠ¯¥à¢®¬ ®¡à 饨¨ ¯®¤äãªæ¨© 0,1,5,7 ª ãáâனá⢠¬ ATAPI
|
||||
(CD ¨ DVD) ¯à®¨§¢®¤¨âáï ¡«®ª¨à®¢ª àã箣® ã¯à ¢«¥¨ï ¬¥å ¨§¬®¬
|
||||
«®âª . <20>â® á¢ï§ ® á ªíè¨à®¢ ¨¥¬ ¤ ëå, ¯®«ãç¥ëå ®â ¯à¨¢®¤ .
|
||||
<EFBFBD> §¡«®ª¨à®¢ª ®áãé¥á⢫ï¥âáï ¯à¨ ®¡à 饨¨ ¯®¤äãªæ¨¨ 4 äãªæ¨¨ 24
|
||||
ª ᮮ⢥âáâ¢ãî饬ã ãáâனáâ¢ã.
|
||||
|
||||
======================================================================
|
||||
= ”ãªæ¨ï 70, ¯®¤äãªæ¨ï 0 - ç⥨¥ ä ©« á ¯®¤¤¥à¦ª®© ¤«¨ëå ¨¬ñ. =
|
||||
|
@ -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 @@ Parameters:
|
||||
* 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 @@ Remarks:
|
||||
* 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 @@ Structure of the buffer:
|
||||
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 @@ Parameters:
|
||||
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 @@ Returned value:
|
||||
(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 @@ Remarks:
|
||||
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.
|
||||
@ -2963,6 +2970,24 @@ Remarks:
|
||||
* The data must be kept in the memory at least up to the end
|
||||
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. ================
|
||||
======================================================================
|
||||
@ -4148,10 +4173,10 @@ Available subfunctions:
|
||||
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. ==
|
||||
|
@ -277,6 +277,8 @@ irq1:
|
||||
;.........................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
|
||||
|
@ -113,7 +113,7 @@ use16
|
||||
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 @@ endg
|
||||
|
||||
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:
|
||||
|
@ -504,6 +504,8 @@ proc restore_24 stdcall, x:dword, y:dword
|
||||
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 @@ proc restore_24 stdcall, x:dword, y:dword
|
||||
add edi, ebx
|
||||
dec edx
|
||||
jnz @B
|
||||
.ret:
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -525,6 +528,8 @@ proc restore_32 stdcall, x:dword, y:dword
|
||||
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 @@ proc restore_32 stdcall, x:dword, y:dword
|
||||
add edi, ebx
|
||||
dec edx
|
||||
jnz @B
|
||||
.ret:
|
||||
ret
|
||||
endp
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user