Started adding image formats support.

git-svn-id: svn://claunia.com/FileSystemIDandChk@23 17725271-3d32-4980-a8cb-9ff532f270ba
This commit is contained in:
2013-12-14 20:35:03 +00:00
parent 1781df1451
commit 846e241523
3 changed files with 21 additions and 0 deletions

View File

@@ -67,11 +67,13 @@
<Compile Include="Plugins\SolarFS.cs" />
<Compile Include="Plugins\UNIXBFS.cs" />
<Compile Include="Plugins\SysV.cs" />
<Compile Include="ImagePlugins\ImagePlugin.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<Folder Include="Plugins\" />
<Folder Include="PartPlugins\" />
<Folder Include="ImagePlugins\" />
</ItemGroup>
<ProjectExtensions>
<MonoDevelop>

View File

@@ -826,6 +826,8 @@ namespace FileSystemIDandChk.PartPlugins
return "NetWare NSS";
case 0x70:
return "DiskSecure Multi-Boot";
case 0x72:
return "UNIX 7th Edition";
case 0x75:
return "IBM PC/IX";
case 0x80:

View File

@@ -253,6 +253,23 @@ namespace FileSystemIDandChk.Plugins
public UInt32 hsectors; // 0x1C, Hidden sectors before BPB
public UInt32 big_sectors; // 0x20, Sectors in volume if > 65535
}
// This only applies for bootable disks
// From http://info-coach.fr/atari/software/FD-Soft.php
public struct AtariBootBlock
{
public UInt16 hsectors; // 0x01C, Atari ST use 16 bit for hidden sectors, probably so did old DOS
public UInt16 xflag; // 0x01E, indicates if COMMAND.PRG must be executed after OS load
public UInt16 ldmode; // 0x020, load mode for, or 0 if fname indicates boot file
public UInt16 bsect; // 0x022, sector from which to boot
public UInt16 bsects_no; // 0x024, how many sectors to boot
public UInt32 ldaddr; // 0x026, RAM address where boot should be located
public UInt32 fatbuf; // 0x02A, RAM address to copy the FAT and root directory
public string fname; // 0x02E, 11 bytes, name of boot file
public UInt16 reserved; // 0x039, unused
public byte[] boot_code; // 0x03B, 451 bytes boot code
public UInt16 checksum; // 0x1FE, the sum of all the BPB+ABB must be 0x1234, so this bigendian value works as adjustment
}
public struct ExtendedParameterBlock
{