For russian variant of this document, see later.
᪨ ਠ  㬥 室   䠩.


FreeLdr bootsector description.
~~~~~~~~~~~~~~~~~~~~~~
     For now, this text is only available in russian. It will be translated to
english later.


ᠭ ᥪ  FreeLdr.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       ᥪ  ।祭    ᯮ짮   稪 FreeLdr
⥬  osFree  (OS/3)    㧪 Micro File System Driver (MicroFSD, aka
blackbox).  BlackBox --   DOS executable  COM-ଠ,  , 
ࠧ  ⥮᪨  ࠭祭  64  ⠬.  ⮬  稪 ⠪
⠭  㧪 䠩 ࠧ஬  64 .

     砭.    稪  㧨 ந 䠩 ࠧ஬ 
64    ᫥⥫쭮 ᥪ஢  । ࠢ ⮬ 䠩. 
㧨    ।  ᥣ⭮      ࠢ  । 
   窨 室, 室饩  ⮬ ᥣ.  ᥣ, ⠪ 
窠  室  ࠨ  --     묨. 㦠 䠩 
  䠩 ⠪ ࠧ,   ࢨ筮 ।祭 -- ᮤঠ
  ᥡ  MicroFSD.    ᫥:  稪   
䠩  ⥬.  ।祭 -- 㧨 Blackbox  ⭮ .
   BlackBox'  ⮬,    ⢥ ᯮ塞 䠩,
    ଠ ⭮ . ⠫  稪 ᨬ
  ,   ᯮ Blackbox   騪,  㬥  䠩 
  ,    ᯥ䨪 ன ⠭  ⮣ ୮ 騪 (.
black  box  --    騪).  BlackBox  ⮣ ।⠢ 4 㭪樨: 1)
  䠩 2)  䠩 3)    䠩 4)  ࠡ
 BlackBox.

       稪    ᨨ.       
⮣    室  䠩.    祭  ࢮ ᨨ 室  
䠩   ᥪ   ९   ᨬ   OLDCODE   (.   .,   
᪮஢  䠩 -dOLDCODE).

     ࢠ    ⫨砥  ⥬,      1)  ᮢ⨬    IBM'᪨
ᥪ஬    FAT   㧨 IBM FAT MicroFSD 2)  㧨 ⮫쪮
ࠣ஢  䠩.  (IBM'᪨  FAT-ᥪ  ⮦  㬥 㧨
ࠣ஢  䠩,   ࠧ IBM FAT MicroFSD -- ᥣ 2-3 ᥪ, 
  ᫮    室, .. ࠧ MicroFSD ⥫쭮 ,
 ⭮ ࠣ樨 ⠥. ( ਬ: ࠧ ext2fs MicroFSD --
30  ᥪ஢)).    室,  㦠 䠩 ࠭஢
    ࠣ஢  (    ᮪    ⭮ 
⠪),  ਬ,     䠩  ⠪,  ⮪ ⡫  ᫥
ᥪ,  ᫨ ⠪     ।ᬮ७ (ਬ, JFS 
HPFS).

          ᮢ⨬    IBM  FAT  MicroFSD,      㧨
ࠣ஢  䠩  MicroFSD.      室    ⮬ 砥, 
ᯥ樠쭮     ⡫  ।ᬮ७, ਬ, FAT12, FAT16 
"㦨"  䠩  ⥬,  ⠪   ext2fs ( ext2fs । 㯥࡫ 
稪 ।ᬮ७   ᥪ,  祭   MicroFSD).

      ᥪ (   砫):

     1)    ᥪ:  word,  室   ᬥ饭 0x1FE  砫
ᥪ  ࠢ 0x55AA.

     2) ForceLBA: byte, ᬥ饭 0x1FD, ᫨   ࠢ 1,  প
㯠 १ LBA  ஢,  砥 ਭ㤨⥫쭮.

     i) ࠬ ࢮ ᨨ (-dOLDCODE).
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     3)  muFSDLen,  byte  (ᬥ饭  0x1FC).   㦠 䠩 
ᥪ.

     4)  muFSDAddr,  dword  (ᬥ饭  0x1F8).   ⮢ ᥪ
㦠  䠩.      뢠  砫 ࠧ. (ᥪ
  0).

     5)  muFSDEntry,  word  (ᬥ饭  0x1F6).    ᬥ饭 窨 室 
㦠 ᯮ塞 䠩  砫 ᥣ.

     6)  muFSDLoadSeg,  word  (ᬥ饭  0x1F4).    ᥣ , 
஬ ந 㧪.

     ii) ࠬ ன ᨨ.
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
       ⫨稥    ࢮ  ᨨ,      ᮤন   
㦠  䠩  ।⢥    ᥪ.    ⮣, ᥪ
ᮤন ⮫쪮  ⥫쭮 ᥪ  ⮩ ࠧ饭 㦠
䠩 (allocation map sector).

       ࠧ.     ᥪ ᮤন প 㧪
ࠣ஢  䠩.    ⮣  䠩       ᨬ, 64
. 64 Kb / 512 = 128 ᥪ஢.  ,  䠩   max. 128
ᥪ஢.  ᨬ  ਠ ࠣ஢ 䠩 --  128 ᥪ஢,
ࠧᠭ  ᥬ .  ࠭   ᥪ ॡ 4
.   4   *   128   ==   512,     ,    ࠭    ࠧ饭
ࠣ஢ 䠩  64  ॡ  筮  ᥪ. 
ᥪ  ।⠢  ᮡ  ᨢ   128 4-- 㪠⥫  ᥪ.
 4-⭮  ᫮ 㪠뢠  筮   ᥪ.

         ⮩  ࠧ饭  㦠 䠩  ᯮ 
㣮  ᪥.   室  ।⢥ ᫥ ᥪ (
  ᤥ      㧪  ࠧ  䠩 ⥬ ext2fs:  ext2
  稪  १ࢨ஢  ࠧ 2 ᥪ,    -- ᥪ,
ன  --    ।.), ⠪      䠩  (
    㧪  FAT-ࠧ).

     3)  mapAddr:  dword (ᬥ饭 0x1F9),   ᥪ   ⮩
ࠧ饭 㦠 䠩.  뢠  砫 ࠧ (ᥪ   0).

     4)  muFSDEntry:  word  (ᬥ饭 0x1F7),   室  㦠
䠩.

     5)  mapLoadSeg:  word  (ᬥ饭 0x1F5),   㧪 allocation
map.  㦠  䠩  㧨  ࠧ  ᫥  allocation  map  (.  .,  
ᥣ⭮  muFSDLoadSeg == mapLoadSeg + 0x20).

     㦠  䠩 㦠  ᪠   ᥪ ᮣ᭮ allocation
map    㧨 ।⢥ ᫥ allocation map.  , ᫨  ⨬,
ਬ,  㧨  䠩    ᥣ⭮    0x5660,    㦭 
mapLoadSeg == muFSDLoadSeg - 0x20 == 0x5640.

     砭.

     1)    ᥪ  ᯮ LBA  㧪 ᥪ஢  ᪠, ᫨
७  int  13h  ন BIOS'.  ⨢ 砥  ᯮ
㭪  ⥭ ᥪ஢ १ CHS.

     2)    㧪    䫮-᪠  ᥪ ᯮ CHS, ஬
⮣,  ந  樠 䫮-஫  ࠡ  ᪥⠬ 
⠭ ⢮ ᥪ஢  ४.


(c) Valery  Sedletski, aka valerius
(c) ਩ 檨, aka valerius,
osFree project, 2006, Nov 12.
