= = = = = = = = = = ⥬ 맮 ࠩ  FAT32 (R8FAT) = = = = = = = = =
-------------------------------------------------------------------------------
- - - - - - - - - - - - - - ⥬ 맮  #00-#xx - - - - - - - - - - - - -
-------------------------------------------------------------------------------
 ࠡ ࠩ   訡, 易  ⠥ ᪠,
ᮮ⢥⢨ ⨯,  ⠪  㣨.  ⮬ 砥 ᫥ 
 ணࠬ 짮⥫ 㤥 ⠭ 䫠 ७ CY,  ॣ A 㤥
饭  訡
 樨 믮  ⥪騬 ࠧ, ⥪饣 /
-------------------------------------------------------------------------------
#00(00) (DeinitFAT) 樠 ६ ࠧ FAT
:  c=#00(00)
: ॣ  

-------------------------------------------------------------------------------
#01(01) (InitFAT) 樠 ६ ࠧ FAT, ᫨   
	樠஢
:  c=#01(01)
     a -  ࠧ
: cy=1, ᫨ 뫨 訡,  訡 頥  
       a=errRWnum
       a=errInvalidPart
     cy =0, nz - ࠧ 樠஢
     cy =0, z - ࠧ  ॡ 樠樨
     hl,de -  
     bc - ???

-------------------------------------------------------------------------------
#02(02) (ReadDIR) ⥭ ᥪ஢ ⥪饣 ⠫
:  c=#02(02)
     hl -   ⥭
     de - ⭮⥫  ࢮ ᥪ ⠫  ⥭ [0..nn]
     b - ᨬ쭮 ⢮ ᥪ஢  ⥭
: cy=1, ᫨ 뫨 訡,  訡 頥  
       a=errRWnum
       a=errInvalidPart
       a=errFileEmpty
     cy=0, a=errEoF - ⠫ 稫
       hl - ᫥騩   
       de -  ࢮ ⠭ ᥪ
       b -  ⠭ ᥪ஢
     cy=0 - ⠭ ᯥ譮
       hl - ᫥騩   
       de -  ࢮ ⠭ ᥪ
       b=#00

-------------------------------------------------------------------------------
#03(03) (SetRoot) ⠭ ୥ ⠫ ⥪騬
:  c=#03(03)
: ॣ  

-------------------------------------------------------------------------------
#04(04) (FindPath)  䠩     ⥪饬 ⠫  室 
	⠫  ஢મ ᨭ⠪ ( ⠭  ⠫
	⥪騬)
:  c=#04(04)
     hl -   䠩  ଠ ASCIZ (  250 , 稢 㫥)
	  ଠ : \[DIR\DIR\..\DIR\]filename.ext
     de -   (#20 )  ਯ  䠩/⠫
     a=#00/#FF -  ⠭ ⠫/ ⠭  ⠫ ⥪騬
: cy=1 訡 ⥭/  ⠫  / ⮩
       z  -  ⮩, ⥪騩 ⠫  
         a=errPathEmpty
       nz - 訡 ⥭/  ⠫  
         a=errInvFileName
         a=errRWnum
         a=errInvalidPart
         a=errEoF - 䠩 ࢠ
         a=errFileEmpty - ⮩ ୥ ⠫
         a=errFileNotFound
     cy=0   ⠫ 
       z  -> a=#00 -  ⠫, ⠭ ⥪騬 ( cy=1)
       nz -> a=#00 -  䠩,   ᫥  
                      ⥪騩 ⠫ = த⥫᪮ ⠫ ( cy=1)
       nz -> a<>#00 -  䠩,   ᫥  
                      ⥪騩 ⠫ = த⥫᪮ ⠫ ( cy=1)
       b - ࠡ⠭  
       c -  ப 
       hl -   (#20 )  ਯ஬
       de -  砫    ASCIZ (ᨬ ॢ  孨
            ॣ)

-------------------------------------------------------------------------------
#05(05) (OpenDir) 室  ⠫/室  த⥫᪨ ⠫
	᫨   㪠 ந ⮫쪮 ன ६ ࠩ,
	 ⮬ ᫨ । ਯ 䠩, ⥪騩 ⠫  )
	᫨  㪠,      ⠫ (᫨ 
	室  த⥫᪨, ᫥    㤠).
	᫨ । ਯ 䠩, ⥪騩 ⠫  ,  
	  䠩
:  c=#05(05)
     hl -   (=#0000 -  )
     de -  ਯ ४ਨ/䠩
: a - ᫨   㪠,   

-------------------------------------------------------------------------------
#06(06) (SetFcb) ஥ fcb   ᭮ ਯ 䠩
	ਯ 䠩  ਭ ⥪饬 ⠫
:  c=#06(06)
     de -  fcb 
     hl -  ਯ 䠩
: hl,de -  

-------------------------------------------------------------------------------
#07(07) (FileOpen)  䠩  ᫥ 権  
:  c=#07(07)
     de -   fcb
     hl -  ப, ᮤঠ饩   䠩  asciz
        ଠ : [part:]\[DIR\DIR\..\DIR\][filename.ext]
        ᫨ ࠧ  㪠,    ⥪饣 ⠫
        ᫨    䠩, 㤥  ᫥ ⠫    䠩
: cy=1 訡 ⥭/  ⠫  / ⮩
       a=errPathEmpty
       a=errInvFileName
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty - ⮩ ୥ ⠫
       a=errFileNotFound
       a=errPartNotFound
     cy=0  fcb ⠭

-------------------------------------------------------------------------------
#08(08) (FileRead) ⥭   䠩  
	䠩    㭪樥 #07 (FileOpen)
	⥭ ந  ᬥ饭  砫 䠩  㪠⥫   fcb
	 fcb   ⠭: fcbClsFile, fcbOffset
:  c=#08(08)
     de -  fcb
     hl -   ⥭
     ba - ⢮   ⥭
: cy=1 뫨 訡
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty
     cy=0  ⠭
       hl ᫥騩   ⥭

-------------------------------------------------------------------------------
#09(09) (FileWrite)      䠩
	䠩    㭪樥 #07 (FileOpen)
	 ந  ᬥ饭  砫 䠩  㪠⥫   fcb
	 fcb   ⠭: fcbName, fcbExt, fcbClsFile, fcbClsDIR,
	fcbSize, fcbOffset, fcbPart
:  c=#09(09)
     de -  fcb
     hl -     
     ba - ⢮   
: cy=1 訡
        a=errNumTooBig - ᫨誮 让 ࠧ,  #FFFF ஢
        a=errRWnum -  訡
        a=errFileEmpty - 㫥 ࠧ 䠩
        a=errDiskNoSpace
        a=errInvalidPart
        a=errEoF - 䠩 ࢠ
        a=errFileNotFound
     cy=0  ᠭ
       hl ᫥騩   

-------------------------------------------------------------------------------
#0A(10) (RunSnaSpg) 㧪   .sna/.spg 䠩
	䠩    㭪樥 #07 (FileOpen)
:  c=#0A(10)
     de - fcb   ⠭묨 ࠬࠬ 䠩
:  , ࠢ । 㦥 ணࠬ

-------------------------------------------------------------------------------
#0B(11) (FindFile)  䠩/⠫  ⥪饬 ⠫  
	   ᮤঠ ⨬ ᨬ    ॢ
	 孨 ॣ
:  c=#0B(11)
     hl -    ଠ name[.][ext]\
     de -   (#20 )  ਯ  䠩/⠫
: cy=1 訡 ⥭/
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty - ⮩ ୥ ⠫
     nc, z  
       hl -  ᫥饣    (㪠뢠  "\")
       de -   (#20 )  ਯ஬
       bc -  ஢塞   ⠫
     nc, nz   
       hl -  ᫥饣   
       bc -  ᫥   ⠫

-------------------------------------------------------------------------------
#0C(12) (CheckName) ஢ઠ  䠩  ⨬ ᨬ  ॢ
	㪢  孨 ॣ
	ଠ : filename.ext
	ᨬ  ப <#20
	⮫쪮  ⪨ ,     訡
	᫨  稢 ᨬ "\" "/",    ७
	 ஢
:  c=#0C(12)
     hl -  ப   䠩  ଠ ASCIZZ
: cy=1  ᮤন ⨬ ᨬ,  ᫨誮 ,  ⮩
     cy=0 ᨭ⠪ ஢ઠ ன

-------------------------------------------------------------------------------
#0D(13) (CheckPath) ஢ઠ   䠩/⠫  ⨬ ᨬ 
	ॢ 㪢  孨 ॣ
	ଠ ப: [\][DIR\DIR\..\DIR\][filename.ext]
	᫨ ப 稢 ᨬ "\" "/",   䠩 
	७  ஢
	ᨬ  ப <#20
:  c=#0D(13)
     hl -  ப  ⥬  ଠ ASCIZZ
: cy=1  ᮤন ⨬ ᨬ,  ᫨誮 
     cy=0 ᨭ⠪ ஢ઠ ன
       z -  ⮩ -> a,e=#00
       nz -   ⮩ 
         a -  (a=#00 ⮫쪮  䠩  )
         b=c=#00  稢 ࠧ⥫ "\" "/"

-------------------------------------------------------------------------------
#0E(14) (CreateFileLFN) ᮧ 䠩     ⥪饬 ⠫
	 hl=#FFFF  㭪樨 CreateFileSFN
	 fcb   ⠭: fcbName, fcbExt, fcbSize
	஫  㡫஢   
:  c=#0E(14)
     de - fcb   ⠭묨 ࠬࠬ 䠩
     hl -  ப    ( fcbName, fcbExt ⠭ 
        㦭)
     hl=#FFFF ᯮ짮 ⪮   fcb ( fcbName, fcbExt 
         ⠭)
: cy=1 뫨 訡
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty - ⮩ ୥ ⠫
       a=errDiskNoSpace
       a=errNumTooBig - ᫨誮 让 ࠧ
     cy=0  ᥭ  ⠫
          fcb  ⠭ (fcbOffset =0)

-------------------------------------------------------------------------------
#0F(15) (CreateFileSFN) ᮧ 䠩   8+3  ⥪饬 ⠫
	 fcb   ⠭: fcbName, fcbExt, fcbSize
:  c=#0F(15)
     de - fcb   ⠭묨 ࠬࠬ 䠩
: cy=1 뫨 訡
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty - ⮩ ୥ ⠫
       a=errFileExist
       a=errDiskNoSpace
       a=errNumTooBig - ᫨誮 让 ࠧ
     cy=0  ᥭ  ⠫
          fcb  ⠭ (fcbOffset =0)

-------------------------------------------------------------------------------
#10(16) (CreateDirLFN) ᮧ ⠫     ⥪饬 ⠫
	 hl=#FFFF  㭪樨 CreateDirSFN
	 fcb   ⠭: fcbName, fcbExt (⮫쪮  hl=#FFFF)
	஫  㡫஢   
:  c=#10(16)
:  de - fcb   ⠭묨 ࠬࠬ 䠩
     hl -  ப    ( fcbName, fcbExt ⠭ 
        㦭)
     hl=#FFFF ᯮ짮 ⪮   fcb ( fcbName, fcbExt 
         ⠭)
: cy=1 뫨 訡
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty - ⮩ ୥ ⠫
       a=errDiskNoSpace
       a=errNumTooBig - ᫨誮 让 ࠧ
     cy=0  ᥭ  ⠫
          fcb  ⠭ (fcbOffset =0)

-------------------------------------------------------------------------------
#11(17) (CreateDirSFN) ᮧ ⠫   8+3  ⥪饬 ⠫
	 fcb   ⠭: fcbName, fcbExt 
:  c=#11(17)
:  de - fcb   ⠭묨 ࠬࠬ 䠩
: cy=1 뫨 訡
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty - ⮩ ୥ ⠫
       a=errFileExist
       a=errDiskNoSpace
       a=errNumTooBig - ᫨誮 让 ࠧ
     cy=0  ᥭ  ⠫
          fcb  ⠭ (fcbOffset =0)

-------------------------------------------------------------------------------
#12(18) (EraseFile) 㤠 䠩/⮣ ⠫  ⥪饬 ⠫
	 fcb   ⠭: fcbName, fcbExt 
:  c=#12(18)
     de - fcb   ⠭묨 ࠬࠬ
: cy=1 訡 ⥭/
       a=errRWnum
       a=errInvalidPart
       a=errEoF - 䠩 ࢠ
       a=errFileEmpty - ⮩ ୥ ⠫
       a=errDirNotEmpty
     cy=0, nz - 䠩     
       a=errFileNotFound
     cy=0, z - 䠩/⠫ 㤠

-------------------------------------------------------------------------------
- - - - - - - - - - - - - - -  ᨨ v4(5/6).42 - - - - - - - - - - - - - - -
-------------------------------------------------------------------------------
#13(19) (GetPath) 祭 ⥪饣 
:  c=#13(19)
     hl -    ࠧ饭 ⥪饣  (256 )
: cy=1 ࠧ  ⠭
     cy=0  祭
     a -  ⥪饣 ࠧ
       1-0,a -  ࠧ [0..3]
       2,a =0/1  HDD: master/slave
       3,a =0/1 Hdd/SD card
     de=hl+1
     㣨 ॣ  

-------------------------------------------------------------------------------
#14(20) (GetLFN) 祭   䠩
:  c=#14(20)
     hl -    
     de -    ⥪饬 ⠫
: cy=1 訡 ⥭ -> a -  訡 
     hl -     ଠ ASCIZ (᫨   , 
          頥 ⪮ )
     a -  ,  ⮬ 
     de,bc -  ।

-------------------------------------------------------------------------------
#15(21) (CheckLFN) ஢ઠ    ⨬ ᨬ
:  c=#15(21)
     hl - ப  
: cy=1 ⨬ 
     a -  ।
     㣨 ॣ  

-------------------------------------------------------------------------------
#16(22) (GetLFNfcb) 祭   䠩
:  c=#16(22)
:  hl -    
     de - fcb   ⠭묨 ࠬࠬ
: cy=1 訡 ⥭ -> a -  訡 
     hl -     ଠ ASCIZ (᫨   , 
          頥 ⪮ )
     a -  ,  ⮬ 
     de,bc -  ।

-------------------------------------------------------------------------------
#17(23) ()
:  c=#17(23)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
