Modified logic to work around FAT12 predating DOS 2.0.
Limiting it to disks supported by 86-DOS and DOS 1.x, yet
probably it will give false positives.
* FileSystemIDandChk/PrintHex.cs:
* FileSystemIDandChk/FileSystemIDandChk.csproj:
Added function to print hexadecimal output of sector, useful
for debugging with compressed disk images.
* FileSystemIDandChk.sln:
* FileSystemIDandChk/FileSystemIDandChk.csproj:
Added version and description to solution.
* FileSystemIDandChk/Plugins/Plugin.cs:
* FileSystemIDandChk/PartPlugins/PartPlugin.cs:
* FileSystemIDandChk/ImagePlugins/ImagePlugin.cs:
Converted comments to inline XML documentation.
* FileSystemIDandChk/ImagePlugins/TeleDisk.cs:
Removed unneeded "this" statements.
Removed unreachable code.
Removed spurious initialization.
* FileSystemIDandChk/README.md:
Updated readme to show TeleDisk support and new version.
* FileSystemIDandChk/FileSystemIDandChk.csproj:
Added array filling class from mykohsu.
* FileSystemIDandChk/Main.cs:
Print disk type as identified by image plugin
* FileSystemIDandChk/ImagePlugins/ImagePlugin.cs:
Added more disk types
* FileSystemIDandChk/ImagePlugins/TeleDisk.cs:
Added link to Dave's document.
Completely implemented OpenImage() for standard
(non-compressed) teledisk images.
Implemented GetImageSize(), GetSectors(), GetSectorSize(),
ReadSectors(), GetImageVersion(),
GetImageApplicationVersion(), GetImageCreationTime(),
GetImageLastModificationtime(), GetImageName(),
GetDiskType(), data sector decoders.
* FileSystemIDandChk/TODO:
Discovered a filesystem specification present on ECMA-67.
Dunno if CP/M, FAT or a different one, must check.
Teledisk plugin is working, but lacks "advanced compression"
and variable sectors per track support.
Lisa epoch is 1901 not 1904
* FileSystemIDandChk/Plugins/LisaFS.cs:
Typos corrected, now works perfectly
git-svn-id: svn://claunia.com/FileSystemIDandChk@36 17725271-3d32-4980-a8cb-9ff532f270ba
lisatime_t is unsigned
* FileSystemIDandChk/Plugins/LisaFS.cs:
Added code to search for MDDF, check some variables to be
sure it's a real MDDF, and get information about it.
git-svn-id: svn://claunia.com/FileSystemIDandChk@35 17725271-3d32-4980-a8cb-9ff532f270ba
* FileSystemIDandChk/FileSystemIDandChk.csproj:
Added LisaFS skeleton with Lisa's MDDF and tag structs
* FileSystemIDandChk/DateHandlers.cs:
Added convert function from Lisa timestamp fields to C#
DateTime
git-svn-id: svn://claunia.com/FileSystemIDandChk@34 17725271-3d32-4980-a8cb-9ff532f270ba
* FileSystemIDandChk/ImagePlugins/DiskCopy42.cs:
Added support for Apple DiskCopy 4.2 format
* FileSystemIDandChk/ImagePlugins/ImagePlugin.cs:
Added standard IBM, DEC and Apple floppy formats
git-svn-id: svn://claunia.com/FileSystemIDandChk@30 17725271-3d32-4980-a8cb-9ff532f270ba
* FileSystemIDandChk.csproj: Added support for System V filesystem
* MBR.cs: UnixWare is not the only one using the UNIX disklabel
Corrected UNIX disklabel sector.
Enhanced UNIX disklabel with structs and consts.
Added support for old UNIX disklabels.
* Swapping.cs: Added code for middle-endian (PDP-endian)
git-svn-id: svn://claunia.com/FileSystemIDandChk@22 17725271-3d32-4980-a8cb-9ff532f270ba
* FileSystemIDandChk.csproj: Added UNIX Boot filesystem.
* FAT.cs: Don't seek to FAT if value is bigger than volume size.
git-svn-id: svn://claunia.com/FileSystemIDandChk@21 17725271-3d32-4980-a8cb-9ff532f270ba
De-hardcode FAT location, use correct data from BPB or
hardcode in case data is empty.
Show volume size in bytes also.
Added offset of PB entries on comments.
git-svn-id: svn://claunia.com/FileSystemIDandChk@19 17725271-3d32-4980-a8cb-9ff532f270ba
Added code preventing it to be run on each partition,
because this filesystem will be once and only. Now it runs
only one time whenever there are partitions or how many.
* FileSystemIDandChk/Plugins/FAT.cs:
Added code to handle false positives (FATs can be 1 or 2,
maybe 0 in the wild, never bigger).
Modified for BinaryReader class.
* FileSystemIDandChk/Plugins/BFS.cs:
Missed negation operand
* FileSystemIDandChk/PartPlugins/NeXT.cs:
* FileSystemIDandChk/PartPlugins/AppleMap.cs:
Added constants and modified for EndianAwareBinaryReader
class.
git-svn-id: svn://claunia.com/FileSystemIDandChk@16 17725271-3d32-4980-a8cb-9ff532f270ba
Use StringHandlers class to prevent garbage coming from
strings (even if they are not C strings, it does not hurt).
* FileSystemIDandChk/Plugins/AppleHFS.cs:
Use constants.
* FileSystemIDandChk/Plugins/BFS.cs:
* FileSystemIDandChk/Plugins/AppleMFS.cs:
* FileSystemIDandChk/Plugins/AppleHFSPlus.cs:
Use constants and EndianAwareBinaryReader class.
* FileSystemIDandChk/Plugins/Opera.cs:
Use a superblock structure and EndianAwareBinaryReader
class, reduces lots of code.
git-svn-id: svn://claunia.com/FileSystemIDandChk@15 17725271-3d32-4980-a8cb-9ff532f270ba
* AppleHFS.cs: Modified to use EndianAwareBinaryReader and
PascalToString classes
* FileSystemIDandChk.csproj: CToString.cs renamed to StringHandlers.cs
* StringHandlers.cs: Added code to convert Pascal string to .NET
String
git-svn-id: svn://claunia.com/FileSystemIDandChk@14 17725271-3d32-4980-a8cb-9ff532f270ba
* Packages.mdproj:
* FFS.cs: Added code for detecting 42BSD, 43BSD, 44BSD, SunOS,
SunOS/x86, UFS and UFS2 filesystems. Block size is incorrect on
NeXTStep's CD UFSs, but there is no way to check for it.
* Main.cs: Disable debug by default
* FileSystemIDandChk.csproj: Moved to .NET 4 and added
EndianAwareBinaryReader class
* EndianAwareBinaryReader.cs: Override of BinaryReader class with the
ability to automatically swap endianness
git-svn-id: svn://claunia.com/FileSystemIDandChk@13 17725271-3d32-4980-a8cb-9ff532f270ba
* HPFS.cs:
* ISO9660.cs:
* AppleMFS.cs:
* AppleHFS.cs:
* AppleHFSPlus.cs: Moved datetime conversion to DateHandlers class.
* Symbian.cs: Identifies .SIS files. Yes I know it's not a filesystem
but I needed it so.
* Main.cs: Corrected typo
* FileSystemIDandChk.csproj: Added datetime conversion handling class,
Symbian .SIS installers, ext filesystem and ext2/3/4 filesystems.
* ext2FS.cs: Detects ext2, ext3 and ext4 filesystems up to Linux 3.1
kernel.
* extFS.cs: Detects ext filesystems. Untested as no Linux 2.0 was
available at time :p
* DateHandlers.cs: Moved all datetime convertions from plugins to
central class.
git-svn-id: svn://claunia.com/FileSystemIDandChk@11 17725271-3d32-4980-a8cb-9ff532f270ba