Move comments to XML documentation.

This commit is contained in:
2015-12-06 07:37:20 +00:00
parent 14da0c7c6e
commit 01c0b9de9a
4 changed files with 148 additions and 139 deletions

View File

@@ -54,195 +54,197 @@ namespace DiscImageChef.ImagePlugins
struct CDRWinTrackFile struct CDRWinTrackFile
{ {
/// <summary>Track #</summary>
public UInt32 sequence; public UInt32 sequence;
// Track # /// <summary>Path of file containing track</summary>
public string datafile; public string datafile;
// Path of file containing track /// <summary>Offset of track start in file</summary>
public UInt64 offset; public UInt64 offset;
// Offset of track start in file /// <summary>Type of file</summary>
public string filetype; public string filetype;
// Type of file
} }
struct CDRWinTrack struct CDRWinTrack
{ {
/// <summary>Track #</summary>
public UInt32 sequence; public UInt32 sequence;
// Track # /// <summary>Track title (from CD-Text)</summary>
public string title; public string title;
// Track title (from CD-Text) /// <summary>Track genre (from CD-Text)</summary>
public string genre; public string genre;
// Track genre (from CD-Text) /// <summary>Track arranger (from CD-Text)</summary>
public string arranger; public string arranger;
// Track arranger (from CD-Text) /// <summary>Track composer (from CD-Text)</summary>
public string composer; public string composer;
// Track composer (from CD-Text) /// <summary>Track performer (from CD-Text)</summary>
public string performer; public string performer;
// Track performer (from CD-Text) /// <summary>Track song writer (from CD-Text)</summary>
public string songwriter; public string songwriter;
// Track song writer (from CD-Text) /// <summary>Track ISRC</summary>
public string isrc; public string isrc;
// Track ISRC /// <summary>File struct for this track</summary>
public CDRWinTrackFile trackfile; public CDRWinTrackFile trackfile;
// File struct for this track /// <summary>Indexes on this track</summary>
public Dictionary<int, UInt64> indexes; public Dictionary<int, UInt64> indexes;
// Indexes on this track /// <summary>Track pre-gap in sectors</summary>
public UInt64 pregap; public UInt64 pregap;
// Track pre-gap in sectors /// <summary>Track post-gap in sectors</summary>
public UInt64 postgap; public UInt64 postgap;
// Track post-gap in sectors /// <summary>Digical Copy Permitted</summary>
public bool flag_dcp; public bool flag_dcp;
// Digical Copy Permitted /// <summary>Track is quadraphonic</summary>
public bool flag_4ch; public bool flag_4ch;
// Track is quadraphonic /// <summary>Track has preemphasis</summary>
public bool flag_pre; public bool flag_pre;
// Track has preemphasis /// <summary>Track has SCMS</summary>
public bool flag_scms; public bool flag_scms;
// Track has SCMS /// <summary>Bytes per sector</summary>
public UInt16 bps; public UInt16 bps;
// Bytes per sector /// <summary>Sectors in track</summary>
public UInt64 sectors; public UInt64 sectors;
// Sectors in track /// <summary>Track type</summary>
public string tracktype; public string tracktype;
// Track type /// <summary>Track session</summary>
public UInt16 session; public UInt16 session;
// Track session
} }
#endregion #endregion
struct CDRWinDisc struct CDRWinDisc
{ {
/// <summary>Disk title (from CD-Text)</summary>
public string title; public string title;
// Disk title (from CD-Text) /// <summary>Disk genre (from CD-Text)</summary>
public string genre; public string genre;
// Disk genre (from CD-Text) /// <summary>Disk arranger (from CD-Text)</summary>
public string arranger; public string arranger;
// Disk arranger (from CD-Text) /// <summary>Disk composer (from CD-Text)</summary>
public string composer; public string composer;
// Disk composer (from CD-Text) /// <summary>Disk performer (from CD-Text)</summary>
public string performer; public string performer;
// Disk performer (from CD-Text) /// <summary>Disk song writer (from CD-Text)</summary>
public string songwriter; public string songwriter;
// Disk song writer (from CD-Text) /// <summary>Media catalog number</summary>
public string mcn; public string mcn;
// Media catalog number /// <summary>Disk type</summary>
public DiskType disktype; public DiskType disktype;
// Disk type /// <summary>Disk type string</summary>
public string disktypestr; public string disktypestr;
// Disk type string /// <summary>Disk CDDB ID</summary>
public string disk_id; public string disk_id;
// Disk CDDB ID /// <summary>Disk UPC/EAN</summary>
public string barcode; public string barcode;
// Disk UPC/EAN /// <summary>Sessions</summary>
public List<Session> sessions; public List<Session> sessions;
// Sessions /// <summary>Tracks</summary>
public List<CDRWinTrack> tracks; public List<CDRWinTrack> tracks;
// Tracks /// <summary>Disk comment</summary>
public string comment; public string comment;
// Disk comment /// <summary>File containing CD-Text</summary>
public string cdtextfile; public string cdtextfile;
// File containing CD-Text
} }
#region Internal consts #region Internal consts
// Type for FILE entity // Type for FILE entity
/// <summary>Data as-is in little-endian</summary>
const string CDRWinDiskTypeLittleEndian = "BINARY"; const string CDRWinDiskTypeLittleEndian = "BINARY";
// Data as-is in little-endian /// <summary>Data as-is in big-endian</summary>
const string CDRWinDiskTypeBigEndian = "MOTOROLA"; const string CDRWinDiskTypeBigEndian = "MOTOROLA";
// Data as-is in big-endian /// <summary>Audio in Apple AIF file</summary>
const string CDRWinDiskTypeAIFF = "AIFF"; const string CDRWinDiskTypeAIFF = "AIFF";
// Audio in Apple AIF file /// <summary>Audio in Microsoft WAV file</summary>
const string CDRWinDiskTypeRIFF = "WAVE"; const string CDRWinDiskTypeRIFF = "WAVE";
// Audio in Microsoft WAV file /// <summary>Audio in MP3 file</summary>
const string CDRWinDiskTypeMP3 = "MP3"; const string CDRWinDiskTypeMP3 = "MP3";
// Audio in MP3 file
// Type for TRACK entity // Type for TRACK entity
/// <summary>Audio track, 2352 bytes/sector</summary>
const string CDRWinTrackTypeAudio = "AUDIO"; const string CDRWinTrackTypeAudio = "AUDIO";
// Audio track, 2352 bytes/sector /// <summary>CD+G track, 2448 bytes/sector (audio+subchannel)</summary>
const string CDRWinTrackTypeCDG = "CDG"; const string CDRWinTrackTypeCDG = "CDG";
// CD+G track, 2448 bytes/sector (audio+subchannel) /// <summary>Mode 1 track, cooked, 2048 bytes/sector</summary>
const string CDRWinTrackTypeMode1 = "MODE1/2048"; const string CDRWinTrackTypeMode1 = "MODE1/2048";
// Mode 1 track, cooked, 2048 bytes/sector /// <summary>Mode 1 track, raw, 2352 bytes/sector</summary>
const string CDRWinTrackTypeMode1Raw = "MODE1/2352"; const string CDRWinTrackTypeMode1Raw = "MODE1/2352";
// Mode 1 track, raw, 2352 bytes/sector /// <summary>Mode 2 form 1 track, cooked, 2048 bytes/sector</summary>
const string CDRWinTrackTypeMode2Form1 = "MODE2/2048"; const string CDRWinTrackTypeMode2Form1 = "MODE2/2048";
// Mode 2 form 1 track, cooked, 2048 bytes/sector /// <summary>Mode 2 form 2 track, cooked, 2324 bytes/sector</summary>
const string CDRWinTrackTypeMode2Form2 = "MODE2/2324"; const string CDRWinTrackTypeMode2Form2 = "MODE2/2324";
// Mode 2 form 2 track, cooked, 2324 bytes/sector /// <summary>Mode 2 formless track, cooked, 2336 bytes/sector</summary>
const string CDRWinTrackTypeMode2Formless = "MODE2/2336"; const string CDRWinTrackTypeMode2Formless = "MODE2/2336";
// Mode 2 formless track, cooked, 2336 bytes/sector /// <summary>Mode 2 track, raw, 2352 bytes/sector</summary>
const string CDRWinTrackTypeMode2Raw = "MODE2/2352"; const string CDRWinTrackTypeMode2Raw = "MODE2/2352";
// Mode 2 track, raw, 2352 bytes/sector /// <summary>CD-i track, cooked, 2336 bytes/sector</summary>
const string CDRWinTrackTypeCDI = "CDI/2336"; const string CDRWinTrackTypeCDI = "CDI/2336";
// CD-i track, cooked, 2336 bytes/sector /// <summary>CD-i track, raw, 2352 bytes/sector</summary>
const string CDRWinTrackTypeCDIRaw = "CDI/2352"; const string CDRWinTrackTypeCDIRaw = "CDI/2352";
// CD-i track, raw, 2352 bytes/sector
// Type for REM ORIGINAL MEDIA-TYPE entity // Type for REM ORIGINAL MEDIA-TYPE entity
/// <summary>DiskType.CD</summary>
const string CDRWinDiskTypeCD = "CD"; const string CDRWinDiskTypeCD = "CD";
// DiskType.CD /// <summary>DiskType.CDRW</summary>
const string CDRWinDiskTypeCDRW = "CD-RW"; const string CDRWinDiskTypeCDRW = "CD-RW";
// DiskType.CDRW /// <summary>DiskType.CDMRW</summary>
const string CDRWinDiskTypeCDMRW = "CD-MRW"; const string CDRWinDiskTypeCDMRW = "CD-MRW";
// DiskType.CDMRW /// <summary>DiskType.CDMRW</summary>
const string CDRWinDiskTypeCDMRW2 = "CD-(MRW)"; const string CDRWinDiskTypeCDMRW2 = "CD-(MRW)";
// DiskType.CDMRW /// <summary>DiskType.DVDROM</summary>
const string CDRWinDiskTypeDVD = "DVD"; const string CDRWinDiskTypeDVD = "DVD";
// DiskType.DVDROM /// <summary>DiskType.DVDPRW</summary>
const string CDRWinDiskTypeDVDPMRW = "DVD+MRW"; const string CDRWinDiskTypeDVDPMRW = "DVD+MRW";
// DiskType.DVDPRW /// <summary>DiskType.DVDPRW</summary>
const string CDRWinDiskTypeDVDPMRW2 = "DVD+(MRW)"; const string CDRWinDiskTypeDVDPMRW2 = "DVD+(MRW)";
// DiskType.DVDPRW /// <summary>DiskType.DVDPRWDL</summary>
const string CDRWinDiskTypeDVDPMRWDL = "DVD+MRW DL"; const string CDRWinDiskTypeDVDPMRWDL = "DVD+MRW DL";
// DiskType.DVDPRWDL /// <summary>DiskType.DVDPRWDL</summary>
const string CDRWinDiskTypeDVDPMRWDL2 = "DVD+(MRW) DL"; const string CDRWinDiskTypeDVDPMRWDL2 = "DVD+(MRW) DL";
// DiskType.DVDPRWDL /// <summary>DiskType.DVDPR</summary>
const string CDRWinDiskTypeDVDPR = "DVD+R"; const string CDRWinDiskTypeDVDPR = "DVD+R";
// DiskType.DVDPR /// <summary>DiskType.DVDPRDL</summary>
const string CDRWinDiskTypeDVDPRDL = "DVD+R DL"; const string CDRWinDiskTypeDVDPRDL = "DVD+R DL";
// DiskType.DVDPRDL /// <summary>DiskType.DVDPRW</summary>
const string CDRWinDiskTypeDVDPRW = "DVD+RW"; const string CDRWinDiskTypeDVDPRW = "DVD+RW";
// DiskType.DVDPRW /// <summary>DiskType.DVDPRWDL</summary>
const string CDRWinDiskTypeDVDPRWDL = "DVD+RW DL"; const string CDRWinDiskTypeDVDPRWDL = "DVD+RW DL";
// DiskType.DVDPRWDL /// <summary>DiskType.DVDPR</summary>
const string CDRWinDiskTypeDVDPVR = "DVD+VR"; const string CDRWinDiskTypeDVDPVR = "DVD+VR";
// DiskType.DVDPR /// <summary>DiskType.DVDRAM</summary>
const string CDRWinDiskTypeDVDRAM = "DVD-RAM"; const string CDRWinDiskTypeDVDRAM = "DVD-RAM";
// DiskType.DVDRAM /// <summary>DiskType.DVDR</summary>
const string CDRWinDiskTypeDVDR = "DVD-R"; const string CDRWinDiskTypeDVDR = "DVD-R";
// DiskType.DVDR /// <summary>DiskType.DVDRDL</summary>
const string CDRWinDiskTypeDVDRDL = "DVD-R DL"; const string CDRWinDiskTypeDVDRDL = "DVD-R DL";
// DiskType.DVDRDL /// <summary>DiskType.DVDRW</summary>
const string CDRWinDiskTypeDVDRW = "DVD-RW"; const string CDRWinDiskTypeDVDRW = "DVD-RW";
// DiskType.DVDRW /// <summary>DiskType.DVDRWDL</summary>
const string CDRWinDiskTypeDVDRWDL = "DVD-RW DL"; const string CDRWinDiskTypeDVDRWDL = "DVD-RW DL";
// DiskType.DVDRWDL /// <summary>DiskType.DVDR</summary>
const string CDRWinDiskTypeDVDVR = "DVD-VR"; const string CDRWinDiskTypeDVDVR = "DVD-VR";
// DiskType.DVDR /// <summary>DiskType.DVDRW</summary>
const string CDRWinDiskTypeDVDRW2 = "DVDRW"; const string CDRWinDiskTypeDVDRW2 = "DVDRW";
// DiskType.DVDRW /// <summary>DiskType.HDDVDROM</summary>
const string CDRWinDiskTypeHDDVD = "HD DVD"; const string CDRWinDiskTypeHDDVD = "HD DVD";
// DiskType.HDDVDROM /// <summary>DiskType.HDDVDRAM</summary>
const string CDRWinDiskTypeHDDVDRAM = "HD DVD-RAM"; const string CDRWinDiskTypeHDDVDRAM = "HD DVD-RAM";
// DiskType.HDDVDRAM /// <summary>DiskType.HDDVDR</summary>
const string CDRWinDiskTypeHDDVDR = "HD DVD-R"; const string CDRWinDiskTypeHDDVDR = "HD DVD-R";
// DiskType.HDDVDR /// <summary>DiskType.HDDVDR</summary>
const string CDRWinDiskTypeHDDVDRDL = "HD DVD-R DL"; const string CDRWinDiskTypeHDDVDRDL = "HD DVD-R DL";
// DiskType.HDDVDR /// <summary>DiskType.HDDVDRW</summary>
const string CDRWinDiskTypeHDDVDRW = "HD DVD-RW"; const string CDRWinDiskTypeHDDVDRW = "HD DVD-RW";
// DiskType.HDDVDRW /// <summary>DiskType.HDDVDRW</summary>
const string CDRWinDiskTypeHDDVDRWDL = "HD DVD-RW DL"; const string CDRWinDiskTypeHDDVDRWDL = "HD DVD-RW DL";
// DiskType.HDDVDRW /// <summary>DiskType.BDROM</summary>
const string CDRWinDiskTypeBD = "BD"; const string CDRWinDiskTypeBD = "BD";
// DiskType.BDROM /// <summary>DiskType.BDR</summary>
const string CDRWinDiskTypeBDR = "BD-R"; const string CDRWinDiskTypeBDR = "BD-R";
// DiskType.BDR /// <summary>DiskType.BDRE</summary>
const string CDRWinDiskTypeBDRE = "BD-RE"; const string CDRWinDiskTypeBDRE = "BD-RE";
// DiskType.BDRE /// <summary>DiskType.BDR</summary>
const string CDRWinDiskTypeBDRDL = "BD-R DL"; const string CDRWinDiskTypeBDRDL = "BD-R DL";
// DiskType.BDR /// <summary>DiskType.BDRE</summary>
const string CDRWinDiskTypeBDREDL = "BD-RE DL"; const string CDRWinDiskTypeBDREDL = "BD-RE DL";
// DiskType.BDRE
#endregion #endregion
@@ -251,8 +253,8 @@ namespace DiscImageChef.ImagePlugins
string imagePath; string imagePath;
StreamReader cueStream; StreamReader cueStream;
FileStream imageStream; FileStream imageStream;
/// <summary>Dictionary, index is track #, value is TrackFile</summary>
Dictionary<UInt32, UInt64> offsetmap; Dictionary<UInt32, UInt64> offsetmap;
// Dictionary, index is track #, value is TrackFile
CDRWinDisc discimage; CDRWinDisc discimage;
List<CommonTypes.Partition> partitions; List<CommonTypes.Partition> partitions;
@@ -263,8 +265,8 @@ namespace DiscImageChef.ImagePlugins
const string SessionRegEx = "REM\\s+SESSION\\s+(?<number>\\d+).*$"; const string SessionRegEx = "REM\\s+SESSION\\s+(?<number>\\d+).*$";
const string DiskTypeRegEx = "REM\\s+ORIGINAL MEDIA-TYPE:\\s+(?<mediatype>.+)$"; const string DiskTypeRegEx = "REM\\s+ORIGINAL MEDIA-TYPE:\\s+(?<mediatype>.+)$";
const string LeadOutRegEx = "REM\\s+LEAD-OUT\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$"; const string LeadOutRegEx = "REM\\s+LEAD-OUT\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)$";
const string LBARegEx = "REM MSF:\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)\\s+=\\s+LBA:\\s+(?<lba>[\\d]+)$";
// Not checked // Not checked
const string LBARegEx = "REM MSF:\\s+(?<msf>[\\d]+:[\\d]+:[\\d]+)\\s+=\\s+LBA:\\s+(?<lba>[\\d]+)$";
const string DiskIDRegEx = "DISC_ID\\s+(?<diskid>[\\da-f]{8})$"; const string DiskIDRegEx = "DISC_ID\\s+(?<diskid>[\\da-f]{8})$";
const string BarCodeRegEx = "UPC_EAN\\s+(?<barcode>[\\d]{12,13})$"; const string BarCodeRegEx = "UPC_EAN\\s+(?<barcode>[\\d]{12,13})$";
const string CommentRegEx = "REM\\s+(?<comment>.+)$"; const string CommentRegEx = "REM\\s+(?<comment>.+)$";

View File

@@ -1,3 +1,10 @@
2015-12-06 Natalia Portillo <claunia@claunia.com>
* CDRWin.cs:
* TeleDisk.cs:
* DiskCopy42.cs:
Move comments to XML documentation.
2015-12-06 Natalia Portillo <claunia@claunia.com> 2015-12-06 Natalia Portillo <claunia@claunia.com>
* ImagePlugin.cs: * ImagePlugin.cs:

View File

@@ -52,23 +52,23 @@ namespace DiscImageChef.ImagePlugins
// DiskCopy 4.2 header, big-endian, data-fork, start of file, 84 bytes // DiskCopy 4.2 header, big-endian, data-fork, start of file, 84 bytes
struct DC42Header struct DC42Header
{ {
// 0x00, 64 bytes, pascal string, disk name or "-not a Macintosh disk-", filled with garbage /// <summary>0x00, 64 bytes, pascal string, disk name or "-not a Macintosh disk-", filled with garbage</summary>
public string diskName; public string diskName;
// 0x40, size of data in bytes (usually sectors*512) /// <summary>0x40, size of data in bytes (usually sectors*512)</summary>
public UInt32 dataSize; public UInt32 dataSize;
// 0x44, size of tags in bytes (usually sectors*12) /// <summary>0x44, size of tags in bytes (usually sectors*12)</summary>
public UInt32 tagSize; public UInt32 tagSize;
// 0x48, checksum of data bytes /// <summary>0x48, checksum of data bytes</summary>
public UInt32 dataChecksum; public UInt32 dataChecksum;
// 0x4C, checksum of tag bytes /// <summary>0x4C, checksum of tag bytes</summary>
public UInt32 tagChecksum; public UInt32 tagChecksum;
// 0x50, format of disk, see constants /// <summary>0x50, format of disk, see constants</summary>
public byte format; public byte format;
// 0x51, format of sectors, see constants /// <summary>0x51, format of sectors, see constants</summary>
public byte fmtByte; public byte fmtByte;
// 0x52, is disk image valid? always 0x01 /// <summary>0x52, is disk image valid? always 0x01</summary>
public byte valid; public byte valid;
// 0x53, reserved, always 0x00 /// <summary>0x53, reserved, always 0x00</summary>
public byte reserved; public byte reserved;
} }
@@ -77,53 +77,53 @@ namespace DiscImageChef.ImagePlugins
#region Internal Constants #region Internal Constants
// format byte // format byte
// 3.5", single side, double density, GCR /// <summary>3.5", single side, double density, GCR</summary>
const byte kSonyFormat400K = 0x00; const byte kSonyFormat400K = 0x00;
// 3.5", double side, double density, GCR /// <summary>3.5", double side, double density, GCR</summary>
const byte kSonyFormat800K = 0x01; const byte kSonyFormat800K = 0x01;
// 3.5", double side, double density, MFM /// <summary>3.5", double side, double density, MFM</summary>
const byte kSonyFormat720K = 0x02; const byte kSonyFormat720K = 0x02;
// 3.5", double side, high density, MFM /// <summary>3.5", double side, high density, MFM</summary>
const byte kSonyFormat1440K = 0x03; const byte kSonyFormat1440K = 0x03;
// 3.5", double side, high density, MFM, 21 sectors/track (aka, Microsoft DMF) /// <summary>3.5", double side, high density, MFM, 21 sectors/track (aka, Microsoft DMF)
// Unchecked value // Unchecked value</summary>
const byte kSonyFormat1680K = 0x04; const byte kSonyFormat1680K = 0x04;
// Defined by Sigma Seven's BLU /// <summary>Defined by Sigma Seven's BLU</summary>
const byte kSigmaFormatTwiggy = 0x54; const byte kSigmaFormatTwiggy = 0x54;
// There should be a value for Apple HD20 hard disks, unknown... // There should be a value for Apple HD20 hard disks, unknown...
// fmyByte byte // fmyByte byte
// Based on GCR nibble // Based on GCR nibble
// Always 0x02 for MFM disks // Always 0x02 for MFM disks
// Unknown for Apple HD20 // Unknown for Apple HD20
// Defined by Sigma Seven's BLU /// <summary>Defined by Sigma Seven's BLU</summary>
const byte kSigmaFmtByteTwiggy = 0x01; const byte kSigmaFmtByteTwiggy = 0x01;
// 3.5" single side double density GCR and MFM all use same code /// <summary>3.5" single side double density GCR and MFM all use same code</summary>
const byte kSonyFmtByte400K = 0x02; const byte kSonyFmtByte400K = 0x02;
const byte kSonyFmtByte720K = kSonyFmtByte400K; const byte kSonyFmtByte720K = kSonyFmtByte400K;
const byte kSonyFmtByte1440K = kSonyFmtByte400K; const byte kSonyFmtByte1440K = kSonyFmtByte400K;
const byte kSonyFmtByte1680K = kSonyFmtByte400K; const byte kSonyFmtByte1680K = kSonyFmtByte400K;
// 3.5" double side double density GCR, 512 bytes/sector, interleave 2:1 /// <summary>3.5" double side double density GCR, 512 bytes/sector, interleave 2:1</summary>
const byte kSonyFmtByte800K = 0x22; const byte kSonyFmtByte800K = 0x22;
// 3.5" double side double density GCR, 512 bytes/sector, interleave 2:1, incorrect value (but appears on official documentation) /// <summary>3.5" double side double density GCR, 512 bytes/sector, interleave 2:1, incorrect value (but appears on official documentation)</summary>
const byte kSonyFmtByte800KIncorrect = 0x12; const byte kSonyFmtByte800KIncorrect = 0x12;
// 3.5" double side double density GCR, ProDOS format, interleave 4:1 /// <summary>3.5" double side double density GCR, ProDOS format, interleave 4:1</summary>
const byte kSonyFmtByteProDos = 0x24; const byte kSonyFmtByteProDos = 0x24;
// Unformatted sectors /// <summary>Unformatted sectors</summary>
const byte kInvalidFmtByte = 0x96; const byte kInvalidFmtByte = 0x96;
#endregion #endregion
#region Internal variables #region Internal variables
// Start of data sectors in disk image, should be 0x58 /// <summary>Start of data sectors in disk image, should be 0x58</summary>
UInt32 dataOffset; UInt32 dataOffset;
// Start of tags in disk image, after data sectors /// <summary>Start of tags in disk image, after data sectors</summary>
UInt32 tagOffset; UInt32 tagOffset;
// Bytes per tag, should be 12 /// <summary>Bytes per tag, should be 12</summary>
UInt32 bptag; UInt32 bptag;
// Header of opened image /// <summary>Header of opened image</summary>
DC42Header header; DC42Header header;
// Disk image file /// <summary>Disk image file</summary>
string dc42ImagePath; string dc42ImagePath;
#endregion #endregion

View File

@@ -54,33 +54,33 @@ namespace DiscImageChef.ImagePlugins
struct TD0Header struct TD0Header
{ {
// "TD" or "td" depending on compression /// <summary>"TD" or "td" depending on compression</summary>
public UInt16 signature; public UInt16 signature;
// Sequence, but TeleDisk seems to complaing if != 0 /// <summary>Sequence, but TeleDisk seems to complaing if != 0</summary>
public byte sequence; public byte sequence;
// Random, same byte for all disks in the same set /// <summary>Random, same byte for all disks in the same set</summary>
public byte diskSet; public byte diskSet;
// TeleDisk version, major in high nibble, minor in low nibble /// <summary>TeleDisk version, major in high nibble, minor in low nibble</summary>
public byte version; public byte version;
// Data rate /// <summary>Data rate</summary>
public byte dataRate; public byte dataRate;
// BIOS drive type /// <summary>BIOS drive type</summary>
public byte driveType; public byte driveType;
// Stepping used /// <summary>Stepping used</summary>
public byte stepping; public byte stepping;
// If set means image only allocates sectors marked in-use by FAT12 /// <summary>If set means image only allocates sectors marked in-use by FAT12</summary>
public byte dosAllocation; public byte dosAllocation;
// Sides of disk /// <summary>Sides of disk</summary>
public byte sides; public byte sides;
// CRC of all the previous /// <summary>CRC of all the previous</summary>
public UInt16 crc; public UInt16 crc;
} }
struct TDCommentBlockHeader struct TDCommentBlockHeader
{ {
// CRC of comment block after crc field /// <summary>CRC of comment block after crc field</summary>
public UInt16 crc; public UInt16 crc;
// Length of comment /// <summary>Length of comment</summary>
public UInt16 length; public UInt16 length;
public byte year; public byte year;
public byte month; public byte month;
@@ -92,37 +92,37 @@ namespace DiscImageChef.ImagePlugins
struct TDTrackHeader struct TDTrackHeader
{ {
// Sectors in the track, 0xFF if end of disk image (there is no spoon) /// <summary>Sectors in the track, 0xFF if end of disk image (there is no spoon)</summary>
public byte sectors; public byte sectors;
// Cylinder the head was on /// <summary>Cylinder the head was on</summary>
public byte cylinder; public byte cylinder;
// Head/side used /// <summary>Head/side used</summary>
public byte head; public byte head;
// Lower byte of CRC of previous fields /// <summary>Lower byte of CRC of previous fields</summary>
public byte crc; public byte crc;
} }
struct TDSectorHeader struct TDSectorHeader
{ {
// Cylinder as stored on sector address mark /// <summary>Cylinder as stored on sector address mark</summary>
public byte cylinder; public byte cylinder;
// Head as stored on sector address mark /// <summary>Head as stored on sector address mark</summary>
public byte head; public byte head;
// Sector number as stored on sector address mark /// <summary>Sector number as stored on sector address mark</summary>
public byte sectorNumber; public byte sectorNumber;
// Sector size /// <summary>Sector size</summary>
public byte sectorSize; public byte sectorSize;
// Sector flags /// <summary>Sector flags</summary>
public byte flags; public byte flags;
// Lower byte of TeleDisk CRC of sector header, data header and data block /// <summary>Lower byte of TeleDisk CRC of sector header, data header and data block</summary>
public byte crc; public byte crc;
} }
struct TDDataHeader struct TDDataHeader
{ {
// Size of all data (encoded) + next field (1) /// <summary>Size of all data (encoded) + next field (1)</summary>
public UInt16 dataSize; public UInt16 dataSize;
// Encoding used for data block /// <summary>Encoding used for data block</summary>
public byte dataEncoding; public byte dataEncoding;
} }