(C)2001...2002 Alex Makeev             4  2002 .

                 ଠ 䠩 UDI ( Ultra Disk Image )
                              1.0
                          ਠ

!   CRC    CRC32!

   祬 㦥   ଠ ࠧ ᪥ ZX Spectrum?  祭
 -  ᫮ FDI  ᠬ   ⠪   FDI! :-)
 䠩 FDI ஬  ᥪ஢ ᪠ ࠭ ⮫쪮  ⪨
(祬  筮   -  祭 CRC).  ᯮ짮 
Spectrum ணࠬ,  ⨢ ᯮ  ⥭ ᭮ ⪨  
⥭ ஦  ᮫⭮ ४⭮ 㫨஢   - 
⪠ ଠ樨  ᪥,  ᫨ ᯮ짮 FDI.

   ଠ Ultra Disk Image ( UDI ) - 祭 ⮩   - ६ 
 ଠ  ࠭ ࠧ ᪥ ZX Spectrum ( 筮 
ꥬ, ⨯ ࠧ - 1,074 ,  ᦨ UDI   㦥 
祬 FDI,      ). 
ଠ 䠩 UDI । ࠭   ࠧ ஦ 
᪥ ZX Spectrum.
    쭥襬  UDI   প ଠ ஦ 
"騬" ⠬, ଠ ஦ ᮪ ⭮ (    
ᮡ⥩ MFM ᮪ ⭮  > 300Kb/s)  ᪥  FM  
(   ন ⮫쪮 MFM ).

    ⬥  ଠ樨, ।⠢塞  䠩 UDI ᮫⭮
筮  樨  ᮡ⥩ ஫஢ ᪮!
    ଠ ।祭  ᭮  ᯮ짮  LOW-LEVEL 
 ஫஢ ᪮.



⠪...
--------------------------------------------------------------------------------
                           ଠ 䠩 UDI:

Offset          len     Comment
---------       -----   ----------------------------------------------------
#00000000       #0003   䨪 "UDI", ᫨ 䨪
                        ᠭ 쪨 㪢 ("udi"),  
                        ਬ ᦠ⨥ ,  ᦠ
                          ।...
#00000003       #0001   ᨬ쭮 㯭 樫 (#00...#FF),
                           ⮣ . ᫮ 樫஢ = 256
#00000004       #0001   ᨬ  孮 ᪠:
                           #01 - DoubleSided, #00 - SingleSided
                           (#02..#FF -reserved!)
#00000005       #0001    ଠ,  UDI 1.0 ᮤন #00

#00000006       #000A   reserved ( ᨨ 1.0      #00)


 ᫥ ࠧ   ஦,  浪 ࠧ饭  ᪥
(Trk00, Side00; Trk00, Side01; Trk01, Side00; Trk01, Side01; ...):

#00000010       #XXXX   ࠧ ஦ . ...
#XXXXXXXX       #XXXX   ࠧ ᫥饩 ஦
#XXXXXXXX       #XXXX   ࠧ ᫥饩 ஦
...
...
#XXXXXXXX       #0004   CRC 䠩 (CRC32,  . ਫ 2)


ࠧ ஦:

Offset          len     Comment
---------       -----   ----------------------------------------------------
#00000000       #0001   । ଠ ஦:
                              #00 - MFM only  (ਬ TR-DOS- ଠ)
                              㣨 祭 ଠ⮢  饭!

#00000001       #0002   tlen -  ஦   (⨯筠 
                           ஦ 6250 )
                           !  MFM DoubleDensity (93) ࠩ
                            ४  
                           ஦, ᨫ쭮 ⫨  6250 !!!
#00000003       tlen    ⮢ ࠧ ஦ -  ஡,
                           ᨭய஡, ᨭந (થ MFM), 
                            થ, , ᨢ , etc.
                           㣨 ᫮  ᠭ  ,
                             뤠 93   "⥭ ஦"

*** ଠ ஦ #00 (MFM only):

#0003+tlen      tlen   ⮢ ᨢ, 뢠騩 ⨯ CLK  
                            ࠧ ஦ (. ਫ 1);
                             ᮮ⢥   ࠧ ஦:
                              0 - ᠭ   CLK ( )
                              1 - ᠭ  થ CLK (⪨ #A1  #C2)
                           ਬ  ᫥⥫쭮 :
                              { #A1,#A1,#00,#A1,#00,#00,#00,#00 }
                               #A1 - MFM થ
                           ⮣  ⮢ ᨢ 㤥 ࠢ #0B.

                            ⨯筮  ஦ 6250 :
                           ctlen = tlen/8 + ((tlen-(tlen/8)*8)? 1:0) = 782 
                           譨  - 騥,  ४
                            ﬨ.

                           ணࠬ, ᮧ騥/뢠騥 UDI 䠩 易
                           ᯥ稢 ⢨ ॠ CRC   
                           ᨢ    ᨢ   
                           CRC   F = X^16 + X^12 + X^5 + 1

                            訡筮 CRC ᨭ᪨ ᯮᮡ,
                            ஢  䠩 FDI, ४
                           ந   ࠦ C = RC^0xFFFF,
                            C - crc  㦭 , RC - crc
                           ᨭ᪠, ४⭮ ᫥  
                            CRC...    ⮡   室,
                            bad CRC ࠢ    祬-,
                           廊,      ࠢ  -
                           砥 ॠ쭮 bad' CRC 㤥 ।
                            訡 


*** 㣨 ଠ⮢ ஦ ( #00):

#0003+tlen      2       MTIL -  , 뢠饣 ଠ ஦

#0005+tlen      MTIL      뢠騩 ଠ ஦

--------------------------------------------------------------------------------


祬 ⨯筠  ஦ 6250 ?
稢 楤 ଠ஢  TR-DOS  ⨫ FUT  ᭨, 
ॠ쭠  ( ⢥   )    
 6208...6464 ,  㣨  ந 訡. , 
⠢ timing, 뢠     ଠ樨 室 4 - 砥 
६ 32  ; ६    ᪠ ⭮ - 200000 ; 
  ⠥  ஦: 200000 / 32 = 6250 .


    ࠧࠡ稪 ஢:  졠 - ᢮ ४⨢ 
ଠ UDI  ᮣᮢ  ஬  .

-------------------------------------------------------------------------------

                             1

                ᠭ ⠭⭮ ஢ 
                ଠ ஦  ०  MFM
                     (C)2001...2002 Alex Makeev


 ஦:
                                                  .....
  4E  4E .... 4E  00  00 .... 00  C2  C2  C2  FC  .....  4E  4E .... 4E 
  ..... 
      GAP4A        ய஡        IAM        .....       GAP4B     
      (80)          (12)                      .....  (  .)
                                                  .....
                                                  .....

 ᥪ:

                                                                                                                      F8                                         
  4E  4E .... 4E  00  00 .... 00  A1  A1  A1  FE  cc  hh  rr  nn  k1  k2  4E  4E .... 4E  00  00 .... 00  A1  A1  A1  FB  xx  xx .... xx  k1  k2  4E  4E .... 4E 
 
       GAP1        ய஡        IDAM         ID ᥪ      CRC         GAP2       ய஡       DATA AM                 CRC         GAP3     
      (50)          (12)                        ()       (22)         (12)                          ᥪ            (ࠧ.)   


 #A1  #C2  IAM, IDAM  DATA AM  થ묨  뢠 
ᮡ ࠧ.    ⬥  ⮢ ᨢ 䠩 UDI.


GAPx - ஡
IAM -  થ ஦
IDAM -  થ 
DATA AM -  થ  ᥪ
ய஡ - ᫥⥫쭮 㫥 , 室 
               ன   䠧 ᨭண ஫
               ᪮

 ஡  ᨭய஡   ࠧ筮,    1 .
⢮ થ  #C2  IAM  #A1  IDAM  DATA AM   
ࠧ,    1 .
  ஫஢ (181893)  થ ஦ 
⢮. 㣨 ஫ (PC-ᮢ⨬) 筮 ⪠뢠
 ᪨  ᭮ થ ஦.
⪨ ᨭய஡ ਢ  㬥襭  ⥭ 
(᫥⢨ 宩 ன   䠧 ᨭண ஫).
쭠  ᨭய஡,  ன ᯥ稢 ன
ᨭண ஫ - 8  (.. 1 ).
஡ (GAPx)  ᮤঠ ⫨  #4E ,   ᯮ
   ஢.


ID ᥪ ⮨ :

cc = C  -> 
hh = H  -> 
rr = R  ->  ᥪ
nn   N  ->   ᥪ 
k1      -> 訩  CRC16  IDAM  ID ᥪ ⥫쭮
k2      -> 訩  CRC16  IDAM  ID ᥪ ⥫쭮


ID ᥪ  ᮤঠ ந 祭  㦠  ᪠ 
㦭 ᥪ ஫஬ ᪮.


  ᥪ (।     CRC):

       
---     --------------
#00     128
#01     256
#02     512
#03     1024
#04     2048
#05     4096
#06     8192
#07     16384

  ᥪ  3 ᯮ  HighDensity ଠ.


CRC    DATA AM   ᥪ ⥫쭮

 DATA AM ᫥ થ  #A1  ᮤঠ 祭 #F8  #FB:
#F8 - "㤠" 
#FB - "ଠ" 

  ଠ  ⫨ ⮫쪮 ᯮᮡ 㯠   -
  ⨯  ᯮ ᢮  ஫ ᪮.


 ஡ ଠ   ⨢  ⠭
IBM System 34. 


-------------------------------------------------------------------------------

                             2

                 ᫥ CRC32  䠩 UDI


砫쭮 祭 CRC = 0xFFFFFFFF  (-1l).

㭪  CRC32    Symbol:

long CalcCRC32(long CRC, unsigned char Symbol)
{
   long temp;
   CRC ^= -1l ^ Symbol;
   for(int k = 8; k--;) 
      { temp = -(CRC & 1), CRC >>= 1, CRC ^= 0xEDB88320ul & temp; }
   CRC ^= -1l;
   return CRC;
}

 㭪 㦭 맢     䠩 UDI (᪫ ᫥
4  CRC). 

 㬥 㭪樨 - ⥪ CRC, ன 㬥 -  ,
१ -  CRC.


-------------------------------------------------------------------------------

                             3

                ࠬ ⠭⭮ ଠ TR-DOS
                       (cracked from TR-DOS)


 ଠ஢ ᪮ TR-DOS (᪮ ⥬ ZX Spectrum) ᯮ
᫥騥 ᮡ:


IAM ( થ ஦) 
 ᨭய஡ = 12 
᫮ MFM-થ஢ #A1  IDAM  DATA AM = 3 

 GAP4A = 0 
 GAP1 = 10 
 GAP2 = 22 
 GAP3 = 60 
 GAP4B =   ஦

ন  ᥪ஢:
  樫 C 稭  0.
 H ( ) ᥣ ࠢ #00.
  ᥪ R 稭  1.
 N (  ᥪ) ࠢ #01 (.. ᥪ 256 ).

16 ᥪ஢  ஦  ૥ 8 (.. 冷 ᫥
ᥪ஢  ஦ ᫥騩 1,9,2,10,3,11,4,12,5,13,6,14,7,15,8,16).

-------------------------------------------------------------------------------

                             4

                 ᯮᮡ   ஢ 
                ᯮ짮 ⠭ ଠ⮢
                ᪥
                (⢮  㬥樨  FDA)


                   ᮡ ᮧ 祢 ⮪  ᪥.

      1.  ᯮ짮     樫஢.   ⠭  5.25"   40  -
   ஦ ᪮    뢠 42 樫, 80 - ஦
   - 84  樫, , DOS  ᯮ ᮮ⢥⢥  ⮫쪮 40   80 
   . ᪮ 3.5"  ন 82 樫,   DOS ᯮ  80.
    ᯮ㥬  DOS 樫  뢠 묨.   樫 
    ந ⠭ ଠ, ਬ,  ᥣ  ᥪ
      饩     ஦      㣮 .
   ᯮ짮  樫஢  祭 㤮,  ,  ᭮,
     ᪮,   ন騥.
      2. ᮡ  ᥪ.   饭   ᪥, DOS,  뢠 뢠
   BIOS 13H, ⠥  뢠   ஦   FDC.  ⮬,
    㦥  뫮 ᪠,    ᥪ   ஦    ⠭
     ᯮ  浪 ⠭ ஢. ᫨   
   ଠ묨  ᥪࠬ   ᥪ    ⠭  , 
   㤥 ந஢   ⥭.   ᮡ  ᥪ  ᮧ
    ଠ஢ ஦  ᯮ짮  ⢥ 祢 ⪨.
      3.   祢 ଠ樨    ஬⪨. ⨬  ᯮᮡ ᮧ
        ᠬ       㤭㦨   祢  ⮪.  ⥬
   ஢ ਬ    ⪮  ଠ஢   ⪮
   ,        祢   ଠ        ஬⮪
   (GAP1...GAP4). , ⮡   祢 ଠ   GAP3 
      ᥪࠬ, ॡ ଠ஢ ஦  ଠ쭮
   ᫮ ᥪ஢      2   ଠ  GPL,   ࠬ  N 
   ࢮ ᥪ ⠭  ଠ஢   2,  3. ⥬ ந
           ᥪ  ⠪,  ⮡  ⮫쪮-⮫쪮   
     ண ᥪ  (᫨  ६    ࢠ   ,
   ன ᥪ  㤥    㤫襩     ࢮ). 
   室 ࢠ,    室    -   ⮢    IDAM ண
   ᥪ.  ⥬,  ⥬  ⪮  ଠ஢,  室  
    ࢮ ᥪ  ଠ.   १ GAP3   
    ᥪࠬ  㤥  ᮤঠ     4E,    ᠭ ଠ.
   室    ⬥,         ᯥ譮     ⢫    ᠭ
   ᫥⥫쭮  権   ॡ   ᮪   筮   ⠩.  
     ணࠬ ।  ⮫쪮  Floppy  Disk  Analyser ᯮᮡ
   ᮧ ᠭ  祢 .    ஢ન   祢 ⪨,
   饭 ⮩ ⪮  ணࠬ  ᯮ짮   FDC "⥭
   ஦".   ୮  ⪮ ଠ஢,  ᮧ
   ᥪ  ஬⪨   .  ਬ,  ᫨  ᫥ ଠ쭮
   ଠ஢,  ந  ⪮   ଠ஢  ⮩    ஦,
   ""  ⮫쪮    ᥪ    ࢠ      GAP3  
   ।᫥   ᫥  ᥪ஬,   १    ஦ ⠭
   ⮫쪮   ᥪ, 祬     砫 ஦,   㣮  -  .
       뢠  "騬  ଠ஢",  ᪮  ஥
   ⪮ ଠ஢ ᮧ   ᥪ (  ""),  ࠥ
   , ஬ ᫥.
      4.  ,  室騥   १  砫  ஦.   ᫨  ࠬ  N
   ᫥  浪 ᥪ  ஦ ⠪,  , ᮮ⢥
   ⮬ ࠬ, ॢ蠥  㬬 䨧᪮   ᥪ  GAP4B, 
    ᥪ   ଠ쭮  ,  ᪮   㤫 
    ३    ஦     IAM,     ᪮쪮
    ᥪ஢. ,  ⠪  ᥪ , 祬 㤥 ⠭
    ⮫쪮   ⮣  ᥪ,   ⮪ ஦, த騩
    ।,   । 䨧᪮   ᥪ,   室騩 १
    ஦.    , ⠭ ଠ  㤥 ୮ ⮫쪮 
   ⪥  砫     ᥪ    ஦, ᪮ 
   ந ᡮ  ᨭ஭樨 ⥭.     ⥬,  ࢠ
    ⠬  ᨭ஭樨    ࠭ ஦  뢠  ᪠箪 -
   ࠢ⢠   㦭  ஦ 楫  ࢠ 
   ⠬  ᨭ஭樨.    ⮩  稭,      ᨭ஭樨 ᫥
   ࠭ ஦       ﭭ  ᤢ   ⭮襭 
   ࠯樨   ࠭筮 ᯮ  १ ࠭.  ⥬ 
   ଠ樨,  ⠭    ᡨ⮩  ᨭ஭樨,    筮 
   ⮫쪮  "㯥쪨",  ..   窨,  ࠭稢騥  ,  
    .  ਬ,  ᫨   ப  aaaaabbbc,     
   ⥭  ᡨ⮩ ᨭ஭樥,   ந쭮 ,  
    室   a   b     b   c  ⠭ ०,   ᤢ
   ᨬ    . ᪮   ⠪  "㯥"  
   㠫  ࠬ஢  ᪮,    ஬  ந ,
   ⮬  室騥  ᥪ     㦨  祢  ⪮,  
    ᪮஢.   祢  ⪨ ⠪  ⨯    
   ஢, ,  ,   ࠩ   ⮪,  ,
   ந   १⮢       ⪨    -   砩,
   ⭮⭮ ࠪ  몮   ஦     砫.   
     ⮬   ᪮    ࠧ   ࠧ १.
     ⥭  祢  ⪨,    ᨭ஭  砩   "
   筮  ᨫ쭮  ᡨ",    ᠬ⠭  ᨭ஭樨 
   ந쭮 ,  ,  ᫥⥫쭮, ࠧ    㯥쪨. 
   ⮩ 稭,   祢  ⪨    饭
   ணࠬ,     , ᮡ,    ᮢ ࠦ஢
   饭 ᪥.   ⥬  ᪥  ஢, ⠪
   祢 ⪨ ᯮ CopyLock, Cerberus,   㣨.
      5.   訡 CRC. , , ᠬ  ᯮᮡ ᮧ
   祢 ⪨.  ,   㦥  ⬥祭,  ஢ 訡  CRC ⥬
   "窨"  ண    CRC        뢠  樨  
   襭. ,  ⠪  ᯮᮡ  ॡ   襣  ᪮ 
   ᮪  筮  ⠩  ࠢ饩   FDC  ணࠬ,      ᥣ
   ਥ.   㣮  ᯮᮡ  樨 訡  CRC  ⥬ 
     ᥪ.   ⮣  室  ଠ஢  ஦ ⠪
   ࠧ, ⮡ "訡"  ᥪ     ࠬ N  
     ॡ㥬, ਬ,  3    2-.  ⥬  ந 
       ᥪ, ⮡      ᫥饣  浪
   ᥪ, , , ந  ୮ ⪮ ଠ஢ ஦
    ଠ묨    ᥪ஢   뢠   ।   GAP2
   ॡ㥬 ᥪ.    ᯮᮡ   ,  ᪮  ॡ 
   筮     .   ⫨筠,   㤭㥬   祢  ⪠
   砥,  ᫨  ᮧ    ᫥⥫쭮  ᯮ  ᥪ 
   묨   訡 CRC  .  ⮬   ஬
    浪 祢 ᥪ 㤥 ஢ .
      6. ""  ᥪ. ᫨ ᥪ   ,   DATA  AM  
     , ⠪  ᥪ  뢠  "".  "⮩" ᥪ
      ᮧ    ᫥騬   ࠧ.    砫   ந   "饥"
   ଠ஢    ⪨  ᥪ, ⥬  ⪮ ଠ஢ 
   뢠 樨   GAP2 ॡ㥬 ᥪ.

                   ࠢ⥫ ࠪ⨪ 祢 ⮪.

      ᭮묨  ࠬࠬ,   ࠪਧ騬   ⢮   祢  ⪨
   :
      - ᮢ⨬, .. ᯮᮡ  祢 ⪨ 㢥७ 
   ᥬ ࠬ  ⨯, ਬ, PC/AT;
      -  ⮩稢  ⨢   ᠭ樮஢  ஢  ࠧ묨
   ணࠬ묨  묨 ।⢠;
      - ⠡쭮  祢 ⮪   ⢥ ७  ᪥  
    ࠬ஢ 㦠饩 ।.
      1. ⨬.  襩  ᮢ⨬    祢 ⪨,
   稥      ஢      ⠭  㭪権 BIOS
   (ᮡ  ᥪ),  ।  -  ⪨,    ஢ન    室
      FDC,   ⮫쪮   楫     ⥭   ᥪ
   ("" ᥪ),  , , 襩  - ⪨,   ஢ન 
   室   ⥫ 㭪 FDC,  ᯮ㥬 BIOS,
   ਬ,  ⥭  ஦,  ᪠஢   (  ଠ樨    GAPS).
   㤮⢮⥫쭮  ᮢ⨬,  ᨬ     ᯮᮡ  ஢ન,
   ⫨ ⪨,  ᭮   ᡮ ᨭ஭樨,  ਬ, ᥪ,
   室騥 १ 砫 ஦.   ⪨, ᮧ 襯᫥묨
   ᯮᮡ,      ஢७    ।⢠  BIOS,  ⠪    
   饭  FDC.
      2. ⮩稢  ⨢  ᠭ樮஢ ஢.   ᥣ
    ᮡ  ᥪ   ࠧ  ⠭ ଠ,  㤭 -
   ᥪ  訡 CRC  ஢મ   १,  㤭 - ଠ
    ஬⪠ (GAPS). , 室騥  १ 砫 ஦,  
   ஢ , ᫨ ஢ ᡮ ᨭ஭樨,  ⠪ ⪨ 
   .
      3. ⠡쭮.   ⥭ 祢 ⪨     
    ⥭  ⠫쭮 ଠ樨,  ᠭ ⠭ ᯮᮡ.
   ⮬ ॡ      㤮⢮ ᮡ   "" ᥪ,
   訡  CRC.     ,      㤮⢮⥫ 祢
   ⪨, ᭮     ଠ樨    GAPS, ,  , ᮢ襭
   㤮⢮⥫        ⪨,   ᭮     ᡮ
   ᨭ஭樨.       ⭮       ⮩稢  ⨢  ७,
   襭  ⥬   ,  譨     (⥫䮭,
   , ⮢ ࠤਡ).

-------------------------------------------------------------------------------


 ᠩ http://zxmak.chat.ru/   ⨫ TRX2X,
।祭  ஢ ࠧ ᪠   ଠ
()  㣮 (),  ন ଠ TRD, SCL, FDI,
UDI, TD0 (ন ⠪ ଠ hobeta,  ⮫쪮  ⥭).
⨫ TRX2X ।祭  㭪樮஢ ⮫쪮  32-ࠧ來 
 Windows, ⠪  ॡ 让 ꥬ   ࠡ...
     㬠 ZXMAK, ন騩 ଠ UDI.


                                              
                                               Alex Makeev
                                               e-mail: zxmak@mail.ru
                                               WWW:    http://zxmak.chat.ru/
                                              
