forked from KolibriOS/kolibrios
* Updated documentation
* Deleted useless code git-svn-id: svn://kolibrios.org@277 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1e7402569a
commit
a9706fb6ca
@ -95,7 +95,7 @@ iglobal
|
||||
dd syscall_cdaudio ; 24-PlayCdTrack,StopCd and GetCdPlaylist
|
||||
dd sys_sb16 ; 25-SetSb16
|
||||
dd sys_getsetup ; 26-GetMidiBase,GetKeymap,GetShiftKeymap,.
|
||||
dd sys_wss ; 27-SetWssMainVol and SetWssCdVol
|
||||
dd undefined_syscall ; 27-reserved
|
||||
dd sys_sb16II ; 28-SetSb16
|
||||
dd sys_date ; 29-GetDate
|
||||
dd undefined_syscall ; 30-reserved
|
||||
|
@ -1,4 +1,4 @@
|
||||
‘ˆ‘’…Œ<EFBFBD>›… ”“<E2809D>Š–ˆˆ Ž<>…<EFBFBD>€–ˆŽ<CB86><C5BD>Ž‰ ‘ˆ‘’…Œ› Kolibri 0.6.0.0
|
||||
‘ˆ‘’…Œ<EFBFBD>›… ”“<E2809D>Š–ˆˆ Ž<>…<EFBFBD>€–ˆŽ<CB86><C5BD>Ž‰ ‘ˆ‘’…Œ› Kolibri 0.6.3.0
|
||||
|
||||
<EFBFBD>®¬¥à äãªæ¨¨ ¯®¬¥é ¥âáï ¢ ॣ¨áâà eax.
|
||||
‚맮¢ á¨á⥬®© äãªæ¨¨ ®áãé¥á⢫ï¥âáï ª®¬ ¤®© "int 0x40".
|
||||
@ -685,7 +685,7 @@
|
||||
* eax = 0 - ãᯥè®
|
||||
* ¨ ç¥ eax = ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||||
‡ ¬¥ç ¨ï:
|
||||
* ˆ¬ï ä ©« 䨪á¨à®¢ ®, "menuet.img" (£«®¡ «ì ï ¯¥à¥¬¥ ï ï¤à
|
||||
* ˆ¬ï ä ©« 䨪á¨à®¢ ®, "kolibri.img" (£«®¡ «ì ï ¯¥à¥¬¥ ï ï¤à
|
||||
image_save ¨§ preboot.inc)
|
||||
* <20> ª ª®¬ à §¤¥«¥ ª ª®£® ¤¨áª ä ©« ¡ã¤¥â á®åà ñ, ®¯à¥¤¥«ï¥âáï
|
||||
¯®¤äãªæ¨¥© 7 ¨ ¯®¤äãªæ¨¥© 8 äãªæ¨¨ 21.
|
||||
@ -814,7 +814,7 @@
|
||||
ã«¥¢®©, ¯à¨ «¨ç¨¨ ¯®ª §ë¢ ¥â ç¨á«® à ᯮ§ ëå à §¤¥«®¢,
|
||||
ª®â®àëå ¬®¦¥â ¨ ¥ ¡ëâì (¥á«¨ ®á¨â¥«ì ¥ ®âä®à¬ â¨à®¢ ¨«¨
|
||||
¥á«¨ ä ©«®¢ ï á¨á⥬ ¥ ¯®¤¤¥à¦¨¢ ¥âáï). ‚ ⥪ã饩 ¢¥àᨨ ï¤à
|
||||
¤«ï ¦ñáâª¨å ¤¨áª®¢ ¯®¤¤¥à¦¨¢ îâáï ⮫쪮 FAT16 ¨ FAT32.
|
||||
¤«ï ¦ñáâª¨å ¤¨áª®¢ ¯®¤¤¥à¦¨¢ îâáï ⮫쪮 FAT16, FAT32 ¨ NTFS.
|
||||
* +6: 4 db: § १¥à¢¨à®¢ ®
|
||||
”®à¬ â â ¡«¨æë: ¯®« ï ¢¥àá¨ï:
|
||||
* +0: 10 db: â ª¨¥ ¦¥, ª ª ¨ ¢ ª®à®âª®© ¢¥àᨨ
|
||||
@ -825,44 +825,17 @@
|
||||
<EFBFBD> §¤¥«ë à ᯮ«®¦¥ë ¢ á«¥¤ãî饬 ¯®à浪¥: á ç « ¯®á«¥¤®¢ â¥«ì® ¢á¥
|
||||
à ᯮ§ ë¥ à §¤¥«ë HD IDE0 (¥á«¨ ¥áâì),
|
||||
§ ⥬ HD IDE1 (¥á«¨ ¥áâì) ¨ â.¤. ¤® IDE3.
|
||||
”®à¬ â ¨ä®à¬ 樨 ® à §¤¥«¥ (¯®ª ¯®¤¤¥à¦¨¢ ¥âáï ⮫쪮 FAT):
|
||||
”®à¬ â ¨ä®à¬ 樨 ® à §¤¥«¥:
|
||||
* +0: dword: ç «ìë© ä¨§¨ç¥áª¨© ᥪâ®à à §¤¥«
|
||||
* +4: dword: ¯®á«¥¤¨© 䨧¨ç¥áª¨© ᥪâ®à à §¤¥«
|
||||
(¯à¨ ¤«¥¦¨â à §¤¥«ã)
|
||||
* +8: dword: ᥪâ®à®¢ ¢ ®¤®© ª®¯¨¨ FAT
|
||||
* +12 = +0xC: dword: ç¨á«® ª®¯¨© FAT
|
||||
* +16 = +0x10: dword: ç¨á«® ᥪâ®à®¢ ¢ ª« áâ¥à¥
|
||||
* +20 = +0x14: dword: ¡ ©â ¢ ᥪâ®à¥; ⥪ãé ï ॠ«¨§ æ¨ï ®¦¨¤ ¥â,
|
||||
çâ® §¤¥áì 0x200 = 512
|
||||
* +24 = +0x18: dword: ¯¥à¢ë© ª« áâ¥à ª®à¥¢®£® ª â «®£ ¢ FAT32,
|
||||
0 ¤«ï FAT16
|
||||
* +28 = +0x1C: dword: ç «ìë© ä¨§¨ç¥áª¨© ᥪâ®à FAT
|
||||
* +32 = +0x20: dword: ¯¥à¢ë© 䨧¨ç¥áª¨© ᥪâ®à ª®à¥¢®£® ª â «®£
|
||||
¤«ï FAT16, ¨£®à¨àã¥âáï ¤«ï FAT32
|
||||
* +36 = +0x24: dword: ç¨á«® ᥪâ®à®¢ ¢ ª®à¥¢®¬ ª â «®£¥ ¤«ï FAT16,
|
||||
0 ¤«ï FAT32
|
||||
* +40 = +0x28: dword: 䨧¨ç¥áª¨© ᥪâ®à ç « ®¡« á⨠¤ ëå
|
||||
* +44 = +0x2C: dword: ¬ ªá¨¬ «ìë© ®¬¥à ª« áâ¥à
|
||||
* +48 = +0x30: dword: 䨧¨ç¥áª¨© ᥪâ®à ¨ä®à¬ 樨 ®
|
||||
ä ©«®¢®© á¨á⥬¥ ¤«ï FAT32, ¨£®à¨àã¥âáï ¤«ï FAT16
|
||||
* +52 = +0x34: dword: § 票¥, ¨á¯®«ì§ã¥¬®¥ ª ª £à ¨æ
|
||||
á¯¥æ¨ «ìëå § 票© ¢ FAT
|
||||
* +56 = +0x38: dword: § 票¥, ¨á¯®«ì§ã¥¬®¥ ¤«ï ¯«®å¨å ª« áâ¥à®¢
|
||||
¢ FAT
|
||||
* +60 = +0x3C: dword: § 票¥, ¨á¯®«ì§ã¥¬®¥ ª ª ¬ àª¥à ª®æ
|
||||
¯à¨ § ¯¨á¨ 楯®çª¨ ¢ FAT
|
||||
* +64 = +0x40: dword: ¬ ᪠, ª« ¤ë¢ ¥¬ ï í«¥¬¥â FAT
|
||||
* +68 = +0x44: byte: ⨯ ä ©«®¢®© á¨á⥬ë: 16 ¨«¨ 32
|
||||
* +69 = +0x45: 31 db: § १¥à¢¨à®¢ ®
|
||||
* +8: byte: ⨯ ä ©«®¢®© á¨á⥬ë:
|
||||
16=FAT16, 32=FAT32, 1=NTFS
|
||||
* ä®à¬ â ¤ «ì¥©è¨å ¤ ëå § ¢¨á¨â ®â ä ©«®¢®© á¨á⥬ë,
|
||||
¬®¦¥â ¬¥ïâìáï á ¨§¬¥¥¨ï¬¨ ¢ ï¤à¥ ¨ ¯®í⮬㠥 ®¯¨áë¢ ¥âáï
|
||||
‡ ¬¥ç ¨ï:
|
||||
* Š®à®âª ï â ¡«¨æ ¬®¦¥â ¡ëâì ¨á¯®«ì§®¢ ¤«ï ¯®«ãç¥¨ï ¨ä®à¬ 樨
|
||||
®¡ ¨¬¥îé¨åáï ãáâனá⢠å.
|
||||
* <20>¥à¢ë¥ ¤¢ ¯®«ï ¨ä®à¬ 樨 ® à §¤¥«¥ ¢ ¯®«®© ¢¥àᨨ â ¡«¨æë
|
||||
á®®¡é îâ ¯ à ¬¥âàë à §¤¥« , ®á⠢訥áï - ¯ à ¬¥âàë ä ©«®¢®©
|
||||
á¨á⥬ë FAT. „«ï ¤à㣨å ä ©«®¢ëå á¨á⥬ (ª®£¤ ®¨ ¡ã¤ãâ
|
||||
¯®¤¤¥à¦¨¢ âìáï) ᯥæ¨ä¨ç¥áª ï ¤«ï ä ©«®¢®© á¨áâ¥¬ë ¨ä®à¬ æ¨ï,
|
||||
¥áâ¥á⢥®, ¡ã¤¥â ¤à㣮©, ® ¯¥à¢ë¥ ¤¢ ¯®«ï
|
||||
á®åà ïâáï ¥¨§¬¥ë¬¨.
|
||||
|
||||
======================================================================
|
||||
========== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 13 - ¯®«ãç¨âì ¢¥àá¨î ï¤à . =========
|
||||
@ -878,8 +851,8 @@
|
||||
db a,b,c,d ¤«ï ¢¥àᨨ a.b.c.d
|
||||
db UID_xxx: ®¤® ¨§ UID_NONE=0, UID_MENUET=1, UID_KOLIBRI=2
|
||||
db 'name',0 - ASCIIZ-áâப á ¨¬¥¥¬
|
||||
„«ï ï¤à Kolibri 0.5.8.1:
|
||||
db 0,5,8,1
|
||||
„«ï ï¤à Kolibri 0.6.3.0:
|
||||
db 0,6,3,0
|
||||
db 2
|
||||
db 'Kolibri',0
|
||||
|
||||
@ -1005,7 +978,6 @@ db 'Kolibri',0
|
||||
¨ ¯à®¢¥à¨âì, çâ® ãáâ ¢«¨¢ ¥¬®¥ ¯®«®¦¥¨¥ ¥ ¢ë室¨â § ¯à¥¤¥«ë
|
||||
íªà .
|
||||
|
||||
|
||||
======================================================================
|
||||
====================== ”ãªæ¨ï 18, ¯®¤äãªæ¨ï 20 =====================
|
||||
============= <20>®«ãç¨âì ¨ä®à¬ æ¨î ®¡ ®¯¥à ⨢®© ¯ ¬ïâ¨. =============
|
||||
@ -1018,18 +990,18 @@ db 'Kolibri',0
|
||||
* eax = ®¡é¨© à §¬¥à ¨¬¥î饩áï ®¯¥à ⨢®© ¯ ¬ï⨠¢ ¡ ©â å
|
||||
¨«¨ -1 ¢ á«ãç ¥ ®è¨¡ª¨
|
||||
* ¡ãä¥à, ª®â®àë© ãª §ë¢ ¥â ecx, ᮤ¥à¦¨â á«¥¤ãîéãî ¨ä®à¬ æ¨î:
|
||||
* +0: dword: ®¡é¨© à §¬¥à ¨¬¥î饩áï ®¯¥à ⨢®© ¯ ¬ï⨠¢ áâà ¨æ å
|
||||
* +0: dword: ®¡é¨© à §¬¥à ¨¬¥î饩áï ®¯¥à ⨢®© ¯ ¬ï⨠¢ áâà ¨æ å
|
||||
* +4: dword: à §¬¥à ᢮¡®¤®© ®¯¥à ⨢®© ¯ ¬ï⨠¢ áâà ¨æ å
|
||||
* +8: dword: ç¨á«® áâà ¨çëå ®è¨¡®ª (¨áª«î票© #PF)
|
||||
¢ ¯à¨«®¦¥¨ïå
|
||||
* +12: dword: à §¬¥à ªãç¨ ï¤à ¢ ¡ ©â å
|
||||
* +16: dword: à §¬¥à ᢮¡®¤®© ¯ ¬ï⨠¢ ªãç¥ ï¤à ¢ ¡ ©â å
|
||||
* +16: dword: à §¬¥à ᢮¡®¤®© ¯ ¬ï⨠¢ ªãç¥ ï¤à ¢ ¡ ©â å
|
||||
* +20: dword: ®¡é¥¥ ª®«¨ç¥á⢮ ¡«®ª®¢ ¯ ¬ï⨠¢ ªãç¥ ï¤à
|
||||
* +24: dword: ª®«¨ç¥á⢮ ᢮¡®¤ëå ¡«®ª®¢ ¯ ¬ï⨠¢ ªãç¥ ï¤à
|
||||
* +24: dword: ª®«¨ç¥á⢮ ᢮¡®¤ëå ¡«®ª®¢ ¯ ¬ï⨠¢ ªãç¥ ï¤à
|
||||
* +28: dword: à §¬¥à ¨¡®«ì襣® ᢮¡®¤®£® ¡«®ª ¢ ªãç¥ ï¤à
|
||||
(§ १¥à¢¨à®¢ ®)
|
||||
* +32: dword: à §¬¥à ¨¡®«ì襣® ¢ë¤¥«¥®£® ¡«®ª ¢ ªãç¥ ï¤à
|
||||
(§ १¥à¢¨à®¢ ®)
|
||||
(§ १¥à¢¨à®¢ ®)
|
||||
* +32: dword: à §¬¥à ¨¡®«ì襣® ¢ë¤¥«¥®£® ¡«®ª ¢ ªãç¥ ï¤à
|
||||
(§ १¥à¢¨à®¢ ®)
|
||||
|
||||
======================================================================
|
||||
==================== ”ãªæ¨ï 20 - ¨â¥à䥩á MIDI. ====================
|
||||
@ -1149,22 +1121,6 @@ db 'Kolibri',0
|
||||
¯¥à¥¬¥ãî ¥ ¨á¯®«ì§ã¥â.
|
||||
* <20>®«ãç¨âì ï§ëª á¨áâ¥¬ë ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 5 äãªæ¨¨ 26.
|
||||
|
||||
======================================================================
|
||||
======= ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 6 - ãáâ ®¢¨âì ¡ §®¢ë© ¯®àâ WSS. ======
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 21 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = ¡ §®¢ë© ¯®àâ
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = 0 - ãᯥè®
|
||||
* eax = -1 - ®è¨¡®çë© ®¬¥à ¯®àâ
|
||||
‡ ¬¥ç ¨ï:
|
||||
* <20>®¬¥à ¯®àâ ¤®«¦¥ 㤮¢«¥â¢®àïâì ãá«®¢¨î 0x100<=ecx.
|
||||
* <20> § WSS ¨á¯®«ì§ã¥âáï äãªæ¨¥© 27.
|
||||
* <20>®«ãç¨âì ãáâ ®¢«¥ë© ¡ §®¢ë© ¯®àâ WSS ¬®¦® ¢ë§®¢®¬
|
||||
¯®¤äãªæ¨¨ 6 äãªæ¨¨ 26.
|
||||
|
||||
======================================================================
|
||||
=========== ”ãªæ¨ï 21, ¯®¤äãªæ¨ï 7 - ãáâ ®¢¨âì ¡ §ã HD. ===========
|
||||
======================================================================
|
||||
@ -1599,18 +1555,6 @@ db 'Kolibri',0
|
||||
ᮮ⢥âáâ¢ãîéãî ¨ª®ªã (¨á¯®«ì§ãï ®¯¨áë¢ ¥¬ãî äãªæ¨î).
|
||||
* “áâ ®¢¨âì ï§ëª á¨áâ¥¬ë ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 5 äãªæ¨¨ 21.
|
||||
|
||||
======================================================================
|
||||
======== ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 6 - ¯®«ãç¨âì ¡ §®¢ë© ¯®àâ WSS. =======
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 26 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = ¡ §®¢ë© ¯®àâ
|
||||
‡ ¬¥ç ¨ï:
|
||||
* <20> § WSS ¨á¯®«ì§ã¥âáï äãªæ¨¥© 27.
|
||||
* “áâ ®¢¨âì ¡ §®¢ë© ¯®àâ WSS ¬®¦® ¢ë§®¢®¬ ¯®¤äãªæ¨¨ 6 äãªæ¨¨ 21.
|
||||
|
||||
======================================================================
|
||||
============ ”ãªæ¨ï 26, ¯®¤äãªæ¨ï 7 - ¯®«ãç¨âì ¡ §ã HD. ============
|
||||
======================================================================
|
||||
@ -1706,28 +1650,6 @@ db 'Kolibri',0
|
||||
* “áâ ®¢¨âì ⥪ã饥 á®áâ®ï¨¥ ¬®¦® ¢ë§®¢®¬
|
||||
¯®¤äãªæ¨¨ 12 äãªæ¨¨ 21.
|
||||
|
||||
======================================================================
|
||||
==== ”ãªæ¨ï 27 - ãáâ ®¢¨âì £à®¬ª®áâì Windows Sound System (WSS). ===
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 27 - ®¬¥à äãªæ¨¨
|
||||
* ebx = çâ® ãáâ ¢«¨¢ âì:
|
||||
* 1 - ãáâ ®¢¨âì ®¡éãî £à®¬ª®áâì
|
||||
* 2 - ãáâ ®¢¨âì £à®¬ª®áâì Line In
|
||||
* cl = ã஢¥ì £à®¬ª®á⨠(0x0=á ¬ë© ¢ë᮪¨©, 0x1F=á ¬ë© ¨§ª¨©,
|
||||
ãáâ ®¢«¥ë© ¡¨â 0x80=®âª«îç¨âì)
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = 0 - ãᯥè®
|
||||
* eax = 1 - ¥ ®¯à¥¤¥«¥ ¡ § WSS
|
||||
* eax = 2 - ¥¢¥à ï ¯®¤äãªæ¨ï
|
||||
‡ ¬¥ç ¨ï:
|
||||
* <20>।¢ à¨â¥«ì® 㦮 ®¯à¥¤¥«¨âì ¡ §®¢ë© ¯®àâ WSS ¢ë§®¢®¬
|
||||
¯®¤äãªæ¨¨ 6 äãªæ¨¨ 21.
|
||||
* “áâ ®¢ª ®¡é¥© £à®¬ª®áâ¨ ä ªâ¨ç¥áª¨ ¨£®à¨àã¥âáï
|
||||
(¢®§¢à é ¥âáï eax=0).
|
||||
* ‚ áâ ன ¤®ªã¬¥â 樨 ¨ ¢ ¨á室¨ª å ï¤à ¯®¤äãªæ¨ï 2
|
||||
®è¨¡®ç® §¢ £à®¬ª®áâìî CD-audio.
|
||||
|
||||
======================================================================
|
||||
=============== ”ãªæ¨ï 28 - ãáâ ®¢¨âì £à®¬ª®áâì SB16. ==============
|
||||
======================================================================
|
||||
@ -1829,7 +1751,7 @@ db 'Kolibri',0
|
||||
¬®¦® ¯®«ãç¨âì äãªæ¨¥© 61.
|
||||
|
||||
======================================================================
|
||||
========== ”ãªæ¨ï 37 - ¯®«ãç¨âì ª®®à¤¨ âë/á®áâ®ï¨¥ ¬ëè¨. ==========
|
||||
==================== ”ãªæ¨ï 37 - à ¡®â á ¬ëèìî. ====================
|
||||
======================================================================
|
||||
|
||||
-------------- <20>®¤äãªæ¨ï 0 - íªà ë¥ ª®®à¤¨ âë ¬ëè¨ ---------------
|
||||
@ -1864,70 +1786,54 @@ db 'Kolibri',0
|
||||
* ¡¨â 1 ãáâ ®¢«¥ = ¯à ¢ ï ª®¯ª ¦ â
|
||||
* ¯à®ç¨¥ ¡¨âë á¡à®è¥ë
|
||||
|
||||
----------------- <20>®¤äãªæ¨ï 3 - ãáâ ®¢¨âì ¯®§¨æ¨î ªãàá®à ------------
|
||||
------------------ äãªæ¨ï § १¥à¢¨à®¢ -----------------
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 3 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = ª®®à¤¨ âë ªãàá®à
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax ¯à¥¤ë¤ã騥 ª®®à¤¨ âë ªãàá®à
|
||||
|
||||
----------------- <20>®¤äãªæ¨ï 4 - § £à㧨âì ªãàá®à -----------------
|
||||
------------------ <20>®¤äãªæ¨ï 4 - § £à㧨âì ªãàá®à -------------------
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 4 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = 㪠§ â¥«ì ¢å®¤ë¥ ¤¢ë¥
|
||||
* edx = (hotspot << 16) or flags
|
||||
|
||||
* dx = ¨áâ®ç¨ª ¤ ëå:
|
||||
* dx = LOAD_FROM_FILE = 0 - ¤ ë¥ ¢ ä ©«¥
|
||||
* ecx = 㪠§ â¥«ì ¯®«ë© ¯ãâì ª ä ©«ã ªãàá®à
|
||||
* ä ©« ªãàá®à ¤®«¦¥ ¡ëâì ¢ ä®à¬ ⥠.cur, áâ ¤ à⮬ ¤«ï
|
||||
MS Windows, ¯à¨çñ¬ à §¬¥à®¬ 32*32 ¯¨ªá¥«ï
|
||||
* dx = LOAD_FROM_MEM = 1 - ¤ ë¥ ä ©« 㦥 § £àã¦¥ë ¢ ¯ ¬ïâì
|
||||
* ecx = 㪠§ â¥«ì ¤ ë¥ ä ©« ªãàá®à
|
||||
* ä®à¬ â ¤ ëå â ª®© ¦¥, ª ª ¨ ¢ ¯à¥¤ë¤ã饬 á«ãç ¥
|
||||
* dx = LOAD_INDIRECT = 2 - ¤ ë¥ ¢ ¯ ¬ïâ¨
|
||||
* ecx = 㪠§ â¥«ì ®¡à § ªãàá®à ¢ ä®à¬ ⥠ARGB 32*32 ¯¨ªá¥«ï
|
||||
* edx = 0xXXYY0002, £¤¥
|
||||
* XX = x-ª®®à¤¨ â "£®àï祩 â®çª¨" ªãàá®à
|
||||
* YY = y-ª®®à¤¨ â
|
||||
* 0 <= XX, YY <= 31
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax ᮤ¥à¦¨â «®£¨ç¥áª¨© ®¬¥à ªãàá®à
|
||||
¨«¨ 0 ¢ á«ãç ¥ ¥ã¤ ç¨
|
||||
|
||||
‡ 票¥ ecx ¨â¥à¯à¥â¨àã¥âáï ¢ § ¢¨á¨¬®á⨠®â ä« £®¢ ãáâ ®¢«¥ëå
|
||||
¢ ¬« ¤è¥¬ á«®¢¥ ॣ¨áâà edx
|
||||
* eax = 0 - ¥ã¤ ç
|
||||
* ¨ ç¥ eax = åí¤« ªãàá®à
|
||||
|
||||
* dx = LOAD_FROM_FILE = 0
|
||||
* ecx = ¯®«ë© ¯ãâì ª ä ©«ã ªãàá®à
|
||||
* hotspot ¨£®à¨àã¥âáï
|
||||
* ªãàá®à ¤®«¦¥ ¡ëâì ¢ ä®à¬ ⥠MS Windows 32*32 ¯¨ªá¥«ï 16 梥⮢
|
||||
|
||||
* dx = LOAD_FROM_MEM = 1
|
||||
* ecx = 㪠§ â¥«ì § £àã¦¥ë© ¢ ¯ ¬ïâì ä ©« ªãàá®à
|
||||
* hotspot ¨£®à¨àã¥âáï
|
||||
* ªãàá®à ¤®«¦¥ ¡ëâì ¢ ä®à¬ ⥠MS Windows 32*32 ¯¨ªá¥«ï 16 梥⮢
|
||||
|
||||
* dx = LOAD_INDIRECT = 2
|
||||
* ecx = 㪠§ â¥«ì ®¡à § ªãàá®à ¢ ä®à¬ ⥠ARGB 32*32 ¯¨ªá¥«ï
|
||||
* hotspot (hotspot.x <<8)or hotspot.y
|
||||
0<= x,y <=31
|
||||
|
||||
* dx = LOAD_SYSTEM = 3; § १¥à¢¨à®¢ ®
|
||||
* ecx = ®¬¥à á¨á⥬®£® ªãàá®à
|
||||
* hotspot ¨£®à¨àã¥âáï
|
||||
|
||||
----------------- <20>®¤äãªæ¨ï 5 - ãáâ ®¢¨âì ªãàá®à -----------------
|
||||
------------------ <20>®¤äãªæ¨ï 5 - ãáâ ®¢¨âì ªãàá®à ------------------
|
||||
“áâ ¢«¨¢ ¥â ®¢ë© ªãàá®à ¤«ï ®ª ⥪ã饣® ¯®â®ª .
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 5 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = «®£¨ç¥áª¨© ®¬¥à ªãàá®à § £à㦥®£® ä. 37.4
|
||||
* ecx = åí¤« ªãàá®à
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = «®£¨ç¥áª¨© ®¬¥à ¯à¥¤ë¤ã饣® ªãàá®à
|
||||
|
||||
”ãªæ¨ï ãáâ ¢«¨¢ ¥â ®¢ë© ªãàá®à ¤«ï ®ª ¢ë§¢ ¢è¥£® ¥ñ ¯®â®ª ,
|
||||
* eax = åí¤« ¯à¥¤ë¤ã饣® ãáâ ®¢«¥®£® ªãàá®à
|
||||
‡ ¬¥ç ¨ï:
|
||||
* …᫨ ¯¥à¥¤ ¥ª®à४âë© åí¤«, â® äãªæ¨ï ¢®ááâ ®¢¨â ªãàá®à
|
||||
¯® 㬮«ç ¨î (áâ ¤ àâãî áâ५ªã). ‚ ç áâ®áâ¨, ª ¢®ááâ ®¢«¥¨î
|
||||
ªãàá®à ¯® 㬮«ç ¨î ¯à¨¢®¤¨â ¯¥à¥¤ ç ecx=0.
|
||||
|
||||
----------------- <20>®¤äãªæ¨ï 6 - 㤠«¨âì ªãàá®à -----------------
|
||||
------------------ äãªæ¨ï § १¥à¢¨à®¢ -----------------
|
||||
------------------- <20>®¤äãªæ¨ï 6 - 㤠«¨âì ªãàá®à --------------------
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 37 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 6 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = «®£¨ç¥áª¨© ®¬¥à ªãàá®à § £à㦥®£® ä. 37.4
|
||||
* ecx = åí¤« ªãàá®à
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = ®¡é¥¥ ª®«¨ç¥á⢮ § £à㦥ëå ªãàá®à®¢
|
||||
|
||||
…᫨ 㤠«ï¥¬ë© ªãàá®à ï¥âáï ªâ¨¢ë¬ ¤«ï ¤ ®£® ®ª ,® § ¬¥ï¥âáï
|
||||
á¨á⥬ë¬. ”ãªæ¨ï ¥ 㤠«ï¥â ªãàá®àë § £àã¦¥ë¥ ¤à㣨¬ ¯à¨«®¦¥¨¥¬.
|
||||
‘¨áâ¥¬ë¥ ªãàá®àë ¥ 㤠«ïîâáï.
|
||||
* eax à §àãè ¥âáï
|
||||
‡ ¬¥ç ¨ï:
|
||||
* Šãàá®à ¤®«¦¥ ¡ë« ¡ëâì à ¥¥ § £à㦥 ⥪ã騬 ¯®â®ª®¬
|
||||
(¢ë§®¢®¬ ¯®¤äãªæ¨¨ 4). ”ãªæ¨ï ¥ 㤠«ï¥â á¨áâ¥¬ë¥ ªãàá®àë ¨
|
||||
ªãàá®àë, § £àã¦¥ë¥ ¤à㣨¬¨ ¯à¨«®¦¥¨ï¬¨.
|
||||
* …᫨ 㤠«ï¥âáï ªâ¨¢ë© (ãáâ ®¢«¥ë© ¯®¤äãªæ¨¥© 5) ªãàá®à, â®
|
||||
¢®ááâ ¢«¨¢ ¥âáï ªãàá®à ¯® 㬮«ç ¨î (áâ ¤ àâ ï áâ५ª ).
|
||||
|
||||
======================================================================
|
||||
================== ”ãªæ¨ï 38 - à¨á®¢ âì ®â१®ª. ==================
|
||||
@ -2150,9 +2056,8 @@ db 'Kolibri',0
|
||||
§ १¥à¢¨à®¢ í⮩ ¦¥ äãªæ¨¥© (á â ª¨¬¨ ¦¥ § 票ﬨ ecx,edx).
|
||||
* <20>ਠ®¡ à㦥¨¨ ®è¨¡ª¨ (¢ ®¡®¨å á«ãç ïå) ¨ª ª¨å ¤¥©á⢨©
|
||||
¥ ¯à®¨§¢®¤¨âáï.
|
||||
* <20>ਠ§ £à㧪¥ á¨á⥬ १¥à¢¨àã¥â § ᮡ®© ¯®àâë 0..0xff, ¯à¨
|
||||
®¡ à㦥¨¨ COM-¬ëè¨ - ¤®¯®«¨â¥«ì® ¤¨ ¯ §® COM-¯®à⮢
|
||||
0x3f0..0x3ff ¨/¨«¨ 0x2f0..0x2ff.
|
||||
* <20>ਠ§ £à㧪¥ á¨á⥬ १¥à¢¨àã¥â § ᮡ®© ¯®àâë
|
||||
0..0x2d, 0x30..0x4d, 0x50..0xdf, 0xe5..0xff (¢ª«îç¨â¥«ì®).
|
||||
* <20>ਠ§ ¢¥à襨¨ ¯®â®ª ¢â®¬ â¨ç¥áª¨ ®á¢®¡®¦¤ îâáï ¢á¥
|
||||
§ १¥à¢¨à®¢ ë¥ ¨¬ ¯®àâë.
|
||||
|
||||
@ -2621,6 +2526,20 @@ dword-
|
||||
* ⥪ãé ï ॠ«¨§ æ¨ï ¢®§¢à é ¥â eax=14, ® íâ® ¬®¦¥â ¡ëâì ¨§¬¥¥®
|
||||
¢ á«¥¤ãîé¨å ¢¥àá¨ïå
|
||||
|
||||
======================================================================
|
||||
====== ”ãªæ¨ï 52, ¯®¤äãªæ¨ï 15 - ¯®«ãç¨âì «®ª «ìë© MAC- ¤à¥á. =====
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 52 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 15 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = 0 - ç¨â âì ¯¥à¢ë¥ 4 ¡ ©â ,
|
||||
ecx = 4 - ç¨â âì ¯®á«¥¤¨¥ 2 ¡ ©â
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* ¤«ï ecx=0: eax = ¯¥à¢ë¥ 4 ¡ ©â MAC- ¤à¥á
|
||||
* ¤«ï ecx=4: ax = ¯®á«¥¤¨¥ 2 ¡ ©â MAC- ¤à¥á ,
|
||||
áâ àè ï ¯®«®¢¨ eax à §àãè ¥âáï
|
||||
* ¤«ï ¤à㣨å ecx: eax = -1 ª ª ¯à¨§ ª ®è¨¡ª¨
|
||||
|
||||
======================================================================
|
||||
============ ”ãªæ¨ï 53, ¯®¤äãªæ¨ï 0 - ®âªàëâì UDP-᮪¥â. ===========
|
||||
======================================================================
|
||||
@ -2915,31 +2834,6 @@ dword-
|
||||
* „ ë¥ ¤®«¦ë á®åà ïâìáï ¢ ¯ ¬ï⨠¯® ªà ©¥© ¬¥à¥
|
||||
¤® ª®æ ¯à®¨£àë¢ ¨ï.
|
||||
|
||||
======================================================================
|
||||
============= ”ãªæ¨ï 56 - § ¯¨á âì ä ©« ¦ñá⪨© ¤¨áª. ============
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 56 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 㪠§ â¥«ì ¨¬ï ä ©«
|
||||
* ecx = à §¬¥à ¤ ëå ¤«ï § ¯¨á¨ (¢ ¡ ©â å)
|
||||
* edx = 㪠§ â¥«ì ¤ ë¥ ¤«ï § ¯¨á¨
|
||||
* esi = 㪠§ â¥«ì ¯ãâì (ASCIIZ-áâபã)
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = 0 - ãᯥè®, ¨ ç¥ ª®¤ ®è¨¡ª¨ ä ©«®¢®© á¨á⥬ë
|
||||
‡ ¬¥ç ¨ï:
|
||||
* <20>â äãªæ¨ï ãáâ ५ ; äãªæ¨ï 70 ¯®§¢®«ï¥â ¢ë¯®«ïâì
|
||||
⥠¦¥ ¤¥©á⢨ï á à áè¨à¥ë¬¨ ¢®§¬®¦®áâﬨ.
|
||||
* „ ï äãªæ¨ï ¯à¥¤¯®« £ ¥â, çâ® ¢® ¢à¥¬ï ¥ñ ¢ë§®¢ ®¤¨¬
|
||||
¯à¨«®¦¥¨¥¬ ¨ª ª®¥ ¤à㣮¥ ¯à¨«®¦¥¨¥ ¥ à ¡®â ¥â
|
||||
á ¦ñá⪨¬ ¤¨áª®¬.
|
||||
* <20>ãâì ª ä ©«ã - ASCIIZ-áâப , ª®â®à ï ¬®¦¥â ¡ëâì ¯ãá⮩
|
||||
(¥á«¨ ä ©« ᮧ¤ ñâáï ¢ ª®à¥¢®¬ ª â «®£¥) ¨«¨ ¨¬¥âì ä®à¬ â
|
||||
/d1/d2/.../dn, £¤¥ ¢á¥ ¨¬¥ ¯ ¯®ª ¤®«¦ë ¨¬¥âì ä®à¬ â 8+3, â.¥.
|
||||
8 ᨬ¢®«®¢ ¨¬¥¨ ¨ 3 ᨬ¢®« à áè¨à¥¨ï ¡¥§ à §¤¥«¨â¥«ï,
|
||||
¯à¨ ¥®¡å®¤¨¬®á⨠¤®¯®«¥ë¥ ¯à®¡¥« ¬¨;
|
||||
¢á¥ ¡ãª¢ë ¤®«¦ë ¡ëâì § £« ¢ë¥.
|
||||
* ˆ¬ï ª ä ©«ã â ª¦¥ ¤®«¦® ¨¬¥âì ä®à¬ â 8+3.
|
||||
|
||||
======================================================================
|
||||
============== ”ãªæ¨ï 58 - à ¡®â á ä ©«®¢®© á¨á⥬®©. ==============
|
||||
======================================================================
|
||||
@ -3563,9 +3457,9 @@ IPC
|
||||
‡ ¬¥ç ¨ï:
|
||||
* …áâì ¤à㣮© ᯮᮡ ¢ë¤¥«¥¨ï/®á¢®¡®¦¤¥¨ï ¤¨ ¬¨ç¥áª®© ¯ ¬ï⨠-
|
||||
¯®¤äãªæ¨¨ 11, 12, 13 äãªæ¨¨ 68.
|
||||
”ãªæ¨ï ¥ ¬®¦¥â ¨á¯®«ì§®¢ âìáï ᮢ¬¥áâ® á 68.11, 68.12, 68.13
|
||||
‚맮¢ äãªæ¨¨ ¡ã¤¥â ¨£®à¨à®¢ âìáï ¥á«¨ ¯à¨«®¦¥¨¥ ᮧ¤ áâ «®ª «ìãî
|
||||
ªãç㠢맮¢®¬ 68.11
|
||||
* ”ãªæ¨ï ¥ ¬®¦¥â ¨á¯®«ì§®¢ âìáï ᮢ¬¥áâ® á 68.11, 68.12, 68.13.
|
||||
‚맮¢ äãªæ¨¨ ¡ã¤¥â ¨£®à¨à®¢ âìáï, ¥á«¨ ¯à¨«®¦¥¨¥ ᮧ¤ áâ
|
||||
«®ª «ìãî ªãç㠢맮¢®¬ 68.11.
|
||||
|
||||
======================================================================
|
||||
================= ”ãªæ¨ï 66 - à ¡®â á ª« ¢¨ âãன. =================
|
||||
@ -3780,9 +3674,9 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||||
* ‚맮¢ äãªæ¨¨ ¨¨æ¨ «¨§¨àã¥â ªãçã, ¨§ ª®â®à®© ¢¯®á«¥¤á⢨¨ ¬®¦®
|
||||
¢ë¤¥«ïâì ¨ ®á¢®¡®¦¤ âì ¡«®ª¨ ¯ ¬ï⨠¯®¤äãªæ¨ï¬¨ 12 ¨ 13.
|
||||
<20> §¬¥à ªãç¨ à ¢¥ à §¬¥à㠢ᥩ ᢮¡®¤®© ¯ ¬ï⨠¯à¨«®¦¥¨ï.
|
||||
* <20>ਠ¯®¢â®à®¬ ¢ë§®¢¥ äãªæ¨¨ ⥬ ¦¥ ¯à®æ¥áᮬ äãªæ¨ï ¢¥àñâ à §¬¥à
|
||||
áãé¥áâ¢ãî饩 ªãç¨.
|
||||
* <20>®á«¥ ᮧ¤ ¨ï ªãç¨ ¢ë§®¢ë äãªæ¨¨ 64.1 ¨£®à¨àãîâáï.
|
||||
* <20>ਠ¯®¢â®à®¬ ¢ë§®¢¥ äãªæ¨¨ ⥬ ¦¥ ¯à®æ¥áᮬ äãªæ¨ï ¢¥àñâ
|
||||
à §¬¥à áãé¥áâ¢ãî饩 ªãç¨.
|
||||
* <20>®á«¥ ᮧ¤ ¨ï ªãç¨ ¢ë§®¢ë äãªæ¨¨ 64 ¨£®à¨àãîâáï.
|
||||
|
||||
======================================================================
|
||||
========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 12 - ¢ë¤¥«¨âì ¡«®ª ¯ ¬ïâ¨. =========
|
||||
@ -3844,9 +3738,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 16 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = 㪠§ ⥫ì ASCIIZ áâபã á ¨¬¥¥¬ ¤à ©¢¥à
|
||||
¬ ªá¨¬ «ì ï ¤«¨ ¨¬¥¨ 16 ᨬ¢®«®¢ ¢ª«îç ï ®«ì
|
||||
®áâ «ìë¥ á¨¬¢®«ë ¨£®à¨àãîâáï
|
||||
* ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¨¬¥¥¬ ¤à ©¢¥à
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = 0 - ¥ã¤ ç
|
||||
* ¨ ç¥ eax = åí¤« ¤à ©¢¥à
|
||||
@ -3854,10 +3746,12 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||||
* …᫨ ¤à ©¢¥à ¥éñ ¥ § £à㦥, ® § £à㦠¥âáï;
|
||||
¥á«¨ ¤à ©¢¥à 㦥 § £à㦥, ¨ç¥£® ¥ ¬¥ï¥âáï.
|
||||
* ˆ¬ï ¤à ©¢¥à çã¢áâ¢¨â¥«ì® ª ॣ¨áâàã ᨬ¢®«®¢.
|
||||
Œ ªá¨¬ «ì ï ¤«¨ ¨¬¥¨ - 16 ᨬ¢®«®¢, ¢ª«îç ï § ¢¥àè î騩
|
||||
ã«¥¢®© ᨬ¢®«, ®áâ «ìë¥ á¨¬¢®«ë ¨£®à¨àãîâáï.
|
||||
* Œ®¦® § £à㦠âì ⮫쪮 ¤à ©¢¥à , § ॣ¨áâà¨à®¢ ë¥ ¢ á¨á⥬¥;
|
||||
¢ ⥪ã饩 ॠ«¨§ 樨 ¥áâì ஢® 2 â ª¨å ¤à ©¢¥à :
|
||||
* ¨¬ï SOUND, ä ©« /rd/1/unisound.obj
|
||||
* ¨¬ï INFINITY, ä ©« /rd/1/infinity.obj
|
||||
* ¨¬ï SOUND, ä ©« /rd/1/drivers/unisound.obj
|
||||
* ¨¬ï INFINITY, ä ©« /rd/1/drivers/infinity.obj
|
||||
|
||||
======================================================================
|
||||
========== ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 17 - ã¯à ¢«¥¨¥ ¤à ©¢¥à®¬. =========
|
||||
@ -3890,6 +3784,21 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||||
* eax = ¤à¥á áâ ண® ®¡à ¡®â稪 ¨áª«î票©
|
||||
(0, ¥á«¨ ® ¥ ¡ë« ãáâ ®¢«¥)
|
||||
|
||||
======================================================================
|
||||
============= ”ãªæ¨ï 68, ¯®¤äãªæ¨ï 19 - § £à㧨âì DLL. =============
|
||||
======================================================================
|
||||
<EFBFBD> à ¬¥âàë:
|
||||
* eax = 68 - ®¬¥à äãªæ¨¨
|
||||
* ebx = 19 - ®¬¥à ¯®¤äãªæ¨¨
|
||||
* ecx = 㪠§ ⥫ì ASCIIZ-áâபã á ¯®«ë¬ ¯ãâñ¬ ª DLL
|
||||
‚®§¢à é ¥¬®¥ § 票¥:
|
||||
* eax = 0 - ¥ã¤ ç
|
||||
* ¨ ç¥ eax = 㪠§ ⥫ì â ¡«¨æã íªá¯®àâ DLL
|
||||
‡ ¬¥ç ¨ï:
|
||||
* ’ ¡«¨æ íªá¯®à⠯।áâ ¢«ï¥â ᮡ®© ¬ áᨢ áâàãªâãà ¯® 2 dword' ,
|
||||
§ ª 稢 î騩áï ã«ñ¬. <20>¥à¢ë© dword ¢ áâàãªâãॠï¥âáï
|
||||
㪠§ ⥫¥¬ ¨¬ï äãªæ¨¨, ¢â®à®© ᮤ¥à¦¨â ¤à¥á äãªæ¨¨.
|
||||
|
||||
======================================================================
|
||||
======================== ”ãªæ¨ï 69 - ®â« ¤ª . =======================
|
||||
======================================================================
|
||||
|
@ -1,4 +1,4 @@
|
||||
SYSTEM FUNCTIONS of OS Kolibri 0.6.0.0
|
||||
SYSTEM FUNCTIONS of OS Kolibri 0.6.3.0
|
||||
|
||||
Number of the function is located in the register eax.
|
||||
The call of the system function is executed by "int 0x40" command.
|
||||
@ -680,7 +680,7 @@ Returned value:
|
||||
* eax = 0 - success
|
||||
* else eax = error code of the file system
|
||||
Çàìå÷àíèÿ:
|
||||
* Filename is fixed, "menuet.img" (global kernel variable
|
||||
* Filename is fixed, "kolibri.img" (global kernel variable
|
||||
'image_save' from 'preboot.inc')
|
||||
* Drive and partition are defined by subfunction 7
|
||||
and subfunction 8 of function 21.
|
||||
@ -812,7 +812,7 @@ Format of the table: short version:
|
||||
otherwise it shows number of the recognized partitions, which
|
||||
can be not presented (if the drive is not formatted or if
|
||||
the file system is not supported). Current version of the kernel
|
||||
supports only FAT16 and FAT32 for hard disks.
|
||||
supports only FAT16, FAT32 and NTFS for hard disks.
|
||||
* +6: 4 db: reserved
|
||||
Format of the table: full version:
|
||||
* +0: 10 db: same as for the short version
|
||||
@ -828,37 +828,13 @@ Format of the information about partition
|
||||
* +0: dword: first physical sector of the partition
|
||||
* +4: dword: last physical sector of the partition
|
||||
(belongs to the partition)
|
||||
* +8: dword: sectors per one copy of FAT
|
||||
* +12 = +0xC: dword: number of copies of FAT
|
||||
* +16 = +0x10: dword: number of sectors per cluster
|
||||
* +20 = +0x14: dword: bytes per sector;
|
||||
current implementation expects 0x200 = 512 in this field
|
||||
* +24 = +0x18: dword: first root cluster in FAT32, 0 for FAT16
|
||||
* +28 = +0x1C: dword: first physical sector of FAT
|
||||
* +32 = +0x20: dword: first physical root sector for FAT16,
|
||||
ignored for FAT32
|
||||
* +36 = +0x24: dword: number of root sectors for FAT16,
|
||||
0 for FAT32
|
||||
* +40 = +0x28: dword: physical sector of the beginning of
|
||||
the data area
|
||||
* +44 = +0x2C: dword: maximum number of a cluster
|
||||
* +48 = +0x30: dword: physical sector of the information
|
||||
about the file system for FAT32, ignored for FAT16
|
||||
* +52 = +0x34: dword: value used as boundary for special
|
||||
values in FAT
|
||||
* +56 = +0x38: dword: value used for bad clusters in FAT
|
||||
* +60 = +0x3C: dword: value used as the end marker for FAT chain
|
||||
* +64 = +0x40: dword: mask for FAT items
|
||||
* +68 = +0x44: byte: file system type: 16 èëè 32
|
||||
* +69 = +0x45: 31 db: reserved
|
||||
* +8: byte: file system type:
|
||||
16=FAT16, 32=FAT32, 1=NTFS
|
||||
* other data are dependent on file system, are modified with
|
||||
kernel modifications and therefore are not described
|
||||
Remarks:
|
||||
* The short table can be used for obtaining the information about
|
||||
available devices.
|
||||
* First two fields in the information about partition
|
||||
gives the parameters of partition, other - parameters of
|
||||
FAT file system. For other file systems (when they will be
|
||||
supported) specific for file system information will be, of
|
||||
course, another, but first two fields will have the same sense.
|
||||
|
||||
======================================================================
|
||||
========== Function 18, subfunction 13 - get kernel version. =========
|
||||
@ -874,8 +850,8 @@ 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
|
||||
db 'name',0 - ASCIIZ-string with the name
|
||||
For Kolibri 0.5.8.1 kernel:
|
||||
db 0,5,8,1
|
||||
For Kolibri 0.6.3.0 kernel:
|
||||
db 0,6,3,0
|
||||
db 2
|
||||
db 'Kolibri',0
|
||||
|
||||
@ -1139,21 +1115,6 @@ Remarks:
|
||||
use this variable.
|
||||
* To get system language use subfunction 5 of function 26.
|
||||
|
||||
======================================================================
|
||||
=========== Function 21, subfunction 6 - set WSS base port. ==========
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 21 - function number
|
||||
* ebx = 6 - subfunction number
|
||||
* ecx = base port
|
||||
Returned value:
|
||||
* eax = 0 - success
|
||||
* eax = -1 - erratic port number
|
||||
Remarks:
|
||||
* Port number must satisfy to condition 0x100<=ecx.
|
||||
* WSS base is used by function 27.
|
||||
* To get WSS base port use subfunction 6 of function 26.
|
||||
|
||||
======================================================================
|
||||
============== Function 21, subfunction 7 - set HD base. =============
|
||||
======================================================================
|
||||
@ -1574,18 +1535,6 @@ Remarks:
|
||||
appropriate icon (using this function).
|
||||
* To set system language use subfunction 5 of function 21.
|
||||
|
||||
======================================================================
|
||||
=========== Function 26, subfunction 6 - get WSS base port. ==========
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 26 - function number
|
||||
* ebx = 6 - subfunction number
|
||||
Returned value:
|
||||
* eax = base port
|
||||
Remarks:
|
||||
* WSS base is used by function 27.
|
||||
* To set WSS base port use subfunction 6 of function 21.
|
||||
|
||||
======================================================================
|
||||
============== Function 26, subfunction 7 - get HD base. =============
|
||||
======================================================================
|
||||
@ -1676,27 +1625,6 @@ Remarks:
|
||||
* The current implementation uses only low bit of ecx.
|
||||
* To set the current state use subfunction 12 of function 21.
|
||||
|
||||
======================================================================
|
||||
======== Function 27 - set Windows Sound System (WSS) volume. ========
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 27 - function number
|
||||
* ebx = what to set:
|
||||
* 1 - set common volume
|
||||
* 2 - set Line In volume
|
||||
* cl = volume level (0x0=highest, 0x1F=lowest,
|
||||
if bit 0x80 is set=disable)
|
||||
Returned value:
|
||||
* eax = 0 - success
|
||||
* eax = 1 - WSS base is not defined
|
||||
* eax = 2 - incorrect subfunction
|
||||
Remarks:
|
||||
* Previously WSS base port must be defined by call to
|
||||
subfunction 6 of function 21.
|
||||
* Set of common volume is ignored (function simply returns eax=0).
|
||||
* Old documentation and kernel sources erraticly name function 2
|
||||
as CD-audio volume.
|
||||
|
||||
======================================================================
|
||||
=================== Function 28 - set SB16 volume. ===================
|
||||
======================================================================
|
||||
@ -1797,7 +1725,7 @@ Remarks:
|
||||
the current videomode, use function 61.
|
||||
|
||||
======================================================================
|
||||
========= Function 37 - get coordinates/status of the mouse. =========
|
||||
=================== Function 37 - work with mouse. ===================
|
||||
======================================================================
|
||||
|
||||
---------- Subfunction 0 - screen coordinates of the mouse -----------
|
||||
@ -1833,6 +1761,54 @@ Returned value:
|
||||
* bit 1 is set = right button is pressed
|
||||
* other bits are cleared
|
||||
|
||||
-------------------- Subfunction 4 - load cursor ---------------------
|
||||
Parameters:
|
||||
* eax = 37 - function number
|
||||
* ebx = 4 - subfunction number
|
||||
* dx = data source:
|
||||
* dx = LOAD_FROM_FILE = 0 - data in a file
|
||||
* ecx = pointer to full path to the cursor file
|
||||
* the file must be in the format .cur, which is standard for
|
||||
MS Windows, at that of the size 32*32 pixels
|
||||
* dx = LOAD_FROM_MEM = 1 - data of file are already loaded in memory
|
||||
* ecx = pointer to data of the cursor file
|
||||
* the data format is the same as in the previous case
|
||||
* dx = LOAD_INDIRECT = 2 - data in memory
|
||||
* ecx = pointer to cursor image in the format ARGB 32*32 pixels
|
||||
* edx = 0xXXYY0002, where
|
||||
* XX = x-coordinate of cursor hotspot
|
||||
* YY = y-coordinate
|
||||
* 0 <= XX, YY <= 31
|
||||
Returned value:
|
||||
* eax = 0 - failed
|
||||
* otherwise eax = cursor handle
|
||||
|
||||
--------------------- Subfunction 5 - set cursor ---------------------
|
||||
Sets new cursor for the window of the current thread.
|
||||
Parameters:
|
||||
* eax = 37 - function number
|
||||
* ebx = 5 - subfunction number
|
||||
* ecx = cursor handle
|
||||
Returned value:
|
||||
* eax = handle of previous cursor
|
||||
Remarks:
|
||||
* If the handle is incorrect, the function restores the default
|
||||
cursor (standard arrow). In particular, ecx=0 restores it.
|
||||
|
||||
------------------- Subfunction 6 - delete cursor --------------------
|
||||
Parameters:
|
||||
* eax = 37 - function number
|
||||
* ebx = 6 - subfunction number
|
||||
* ecx = cursor handle
|
||||
Returned value:
|
||||
* eax destroyed
|
||||
Remarks:
|
||||
* The cursor must be loaded previously by the current thread
|
||||
(with the call to subfunction 4). The function does not delete
|
||||
system cursors and cursors, loaded by another applications.
|
||||
* If the active cursor (set by subfunction 5) is deleted,
|
||||
the system restores the default cursor (standard arrow).
|
||||
|
||||
======================================================================
|
||||
====================== Function 38 - draw line. ======================
|
||||
======================================================================
|
||||
@ -2051,9 +2027,8 @@ Remarks:
|
||||
that was not earlier reserved by this function
|
||||
(with same ecx,edx).
|
||||
* If an error occurs (for both cases) function performs no action.
|
||||
* At booting the system reserves for itself ports 0..0xff, and if
|
||||
COM-mouse is detected - additionally range of COM-ports
|
||||
0x3f0..0x3ff and/or 0x2f0..0x2ff.
|
||||
* At booting the system reserves for itself ports
|
||||
0..0x2d, 0x30..0x4d, 0x50..0xdf, 0xe5..0xff (inclusively).
|
||||
* When a thread terminates, all reserved by it ports
|
||||
are freed automatically.
|
||||
|
||||
@ -2525,6 +2500,20 @@ Returned value:
|
||||
* the current implementation returns eax=14, but this can be changed
|
||||
in future versions
|
||||
|
||||
======================================================================
|
||||
======== Function 52, subfunction 15 - get local MAC address. ========
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 52 - function number
|
||||
* ebx = 15 - subfunction number
|
||||
* ecx = 0 - read first 4 bytes,
|
||||
ecx = 4 - read last 2 bytes
|
||||
Returned value:
|
||||
* for ecx=0: eax = first 4 bytes of MAC address
|
||||
* for ecx=4: ax = last 2 bytes of MAC address,
|
||||
high half of eax is destroyed
|
||||
* for other ecx: eax = -1 indicates an error
|
||||
|
||||
======================================================================
|
||||
============ Function 53, subfunction 0 - open UDP-socket. ===========
|
||||
======================================================================
|
||||
@ -2819,30 +2808,6 @@ Remarks:
|
||||
* The data must be kept in the memory at least up to the end
|
||||
of play.
|
||||
|
||||
======================================================================
|
||||
=============== Function 56 - write file to hard disk. ===============
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 56 - function number
|
||||
* ebx = pointer to the file name
|
||||
* ecx = size of data to write (in bytes)
|
||||
* edx = pointer to data to write
|
||||
* esi = pointer to path (ASCIIZ-string)
|
||||
Returned value:
|
||||
* eax = 0 - success, otherwise file system error code
|
||||
Remarks:
|
||||
* This function is obsolete; function 70 allows to fulfil the same
|
||||
operations with the extended possibilities.
|
||||
* This function assumes that during its call by one application
|
||||
no other application works with hard disk.
|
||||
* The path to file is ASCIIZ-string, which may be empty
|
||||
(if the file is created in the root folder) or have the format
|
||||
/d1/d2/.../dn, where all folder names must have the 8+3 format,
|
||||
i.e. 8 characters of name and 3 characters of the extension
|
||||
without separator, supplemented by blanks if necessary;
|
||||
all letters must be capital.
|
||||
* The file name must also have the format 8+3.
|
||||
|
||||
======================================================================
|
||||
================ Function 58 - work with file system. ================
|
||||
======================================================================
|
||||
@ -3757,8 +3722,8 @@ Remarks:
|
||||
* The function can load only drivers which are registered in the
|
||||
system; the current implementation contains
|
||||
exactly 2 such drivers:
|
||||
* name SOUND, file /rd/1/unisound.obj
|
||||
* name INFINITY, file /rd/1/infinity.obj
|
||||
* name SOUND, file /rd/1/drivers/unisound.obj
|
||||
* name INFINITY, file /rd/1/drivers/infinity.obj
|
||||
|
||||
======================================================================
|
||||
============ Function 68, subfunction 17 - driver control. ===========
|
||||
@ -3790,6 +3755,21 @@ Parameters:
|
||||
Returned value:
|
||||
* eax = address of the old exception handler (0, if it was not set)
|
||||
|
||||
======================================================================
|
||||
=============== Function 68, subfunction 19 - load DLL. ==============
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 68 - function number
|
||||
* ebx = 19 - subfunction number
|
||||
* ecx = pointer to ASCIIZ-string with the full path to DLL
|
||||
Returned value:
|
||||
* eax = 0 - failed
|
||||
* otherwise eax = pointer to DLL export table
|
||||
Remarks:
|
||||
* Export table is an array of structures of 2 dword's, terminated
|
||||
by zero. The first dword in structure points to function name,
|
||||
the second dword contains address of function.
|
||||
|
||||
======================================================================
|
||||
====================== Fucntion 69 - debugging. ======================
|
||||
======================================================================
|
||||
|
@ -5,9 +5,9 @@
|
||||
;* to MBR - Mario79 *
|
||||
;*************************************************************
|
||||
|
||||
uglobal
|
||||
align 4
|
||||
|
||||
iglobal
|
||||
;******************************************************
|
||||
; Please do not change this place - variables in text
|
||||
; Mario79
|
||||
@ -16,6 +16,7 @@ iglobal
|
||||
PARTITION_START dd 0x3f
|
||||
PARTITION_END dd 0
|
||||
fs_type db 0 ; 0=none, 1=NTFS, 16=FAT16, 32=FAT32
|
||||
align 4
|
||||
|
||||
fs_dependent_data_start:
|
||||
; FATxx data
|
||||
@ -64,6 +65,8 @@ end virtual
|
||||
; End place
|
||||
; Mario79
|
||||
;***************************************************************************
|
||||
endg
|
||||
iglobal
|
||||
|
||||
partition_types: ; list of fat16/32 partitions
|
||||
db 0x04 ; DOS: fat16 <32M
|
||||
|
@ -1172,50 +1172,6 @@ sys_sb16II:
|
||||
ret
|
||||
|
||||
|
||||
align 4
|
||||
|
||||
sys_wss:
|
||||
|
||||
cmp word [wss],word 0
|
||||
jnz wssl1
|
||||
mov [esp+36],dword 1
|
||||
ret
|
||||
wssl1:
|
||||
|
||||
cmp eax,1 ; set volume - main
|
||||
jnz wssl2
|
||||
mov [esp+36],dword 0
|
||||
ret
|
||||
wssl2:
|
||||
|
||||
cmp eax,2 ; set volume - cd
|
||||
jnz wssl3
|
||||
; L
|
||||
mov dx,word [wss]
|
||||
add dx,4
|
||||
mov al,0x2
|
||||
out dx,al
|
||||
mov esi,1
|
||||
call delay_ms
|
||||
mov eax,ebx
|
||||
inc edx
|
||||
out dx,al
|
||||
; R
|
||||
mov dx,word [wss]
|
||||
add dx,4
|
||||
mov al,0x3
|
||||
out dx,al
|
||||
mov esi,1
|
||||
call delay_ms
|
||||
mov eax,ebx
|
||||
inc edx
|
||||
out dx,al
|
||||
mov [esp+36],dword 0
|
||||
ret
|
||||
wssl3:
|
||||
mov [esp+36],dword 2
|
||||
ret
|
||||
|
||||
display_number:
|
||||
|
||||
; eax = print type, al=0 -> ebx is number
|
||||
@ -1385,7 +1341,6 @@ sys_setup:
|
||||
; 3=cd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||
; 4=sb16 base , base io address
|
||||
; 5=system language, 1eng 2fi 3ger 4rus
|
||||
; 6=wss base , base io address
|
||||
; 7=hd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||
; 8=fat32 partition in hd
|
||||
; 9
|
||||
@ -1502,17 +1457,6 @@ cd_base db 0
|
||||
ret
|
||||
nsyse5:
|
||||
|
||||
cmp eax,6 ; WSS
|
||||
jnz nsyse6
|
||||
cmp ebx,0x100
|
||||
jb nsyse6
|
||||
mov [wss],ebx
|
||||
ret
|
||||
|
||||
wss_temp dd 0
|
||||
|
||||
nsyse6:
|
||||
|
||||
cmp eax,7 ; HD BASE
|
||||
jne nsyse7
|
||||
test ebx,ebx
|
||||
@ -1612,7 +1556,6 @@ sys_getsetup:
|
||||
; 3=cd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||
; 4=sb16 base , base io address
|
||||
; 5=system language, 1eng 2fi 3ger 4rus
|
||||
; 6=wss base
|
||||
; 7=hd base 1, pri.master 2, pri slave 3 sec master, 4 sec slave
|
||||
; 8=fat32 partition in hd
|
||||
; 9=get hs timer tic
|
||||
@ -1683,12 +1626,6 @@ sys_getsetup:
|
||||
mov [esp+36],eax
|
||||
ret
|
||||
ngsyse5:
|
||||
cmp eax,6
|
||||
jnz ngsyse6
|
||||
mov eax,[wss]
|
||||
mov [esp+36],eax
|
||||
ret
|
||||
ngsyse6:
|
||||
cmp eax,7
|
||||
jnz ngsyse7
|
||||
movzx eax,[hd_base]
|
||||
@ -5022,7 +4959,6 @@ wraw_bacground_select db 0
|
||||
pci_access_enabled dd 0x0 ; 0 = disabled , 1 = enabled
|
||||
|
||||
sb16 dd 0x0
|
||||
wss dd 0x0
|
||||
|
||||
buttontype dd 0x0
|
||||
windowtypechanged dd 0x0
|
||||
|
Loading…
Reference in New Issue
Block a user