Esempio n. 1
0
 private static void CopySysFiles(PC98FatFileSystem fs, PC98FatFileSystem newfs, string[] sysFiles)
 {
     foreach (var file in sysFiles)
     {
         var compressedFile = file.Substring(0, file.Length - 1) + "_";
         if (fs.FileExists(file))
         {
             using (var dst = newfs.OpenFile(file, FileMode.CreateNew)) {
                 using (var src = fs.OpenFile(file, FileMode.Open)) {
                     src.CopyTo(dst);
                 }
             }
         }
         else if (fs.FileExists(compressedFile))
         {
             using (var dst = newfs.OpenFile(file, FileMode.CreateNew)) {
                 using (var src = fs.OpenFile(compressedFile, FileMode.Open)) {
                     UnpackMSLZ(src, dst);
                 }
             }
         }
         else
         {
             throw new FileNotFoundException($"Can't find file {file} in the system disk");
         }
     }
 }
Esempio n. 2
0
 public static bool CheckSysDisk(string file)
 {
     using (var disk = Disk.OpenDisk(file, FileAccess.Read)) {
         using (var fs = new PC98FatFileSystem(disk.Content)) {
             if (fs.FileExists(@"\HDFORMAT.EXE") && fs.FileExists(@"\MSDOS.SYS"))
             {
                 return(true);
             }
         }
     }
     return(false);
 }