initial commit
This commit is contained in:
commit
1b60743303
274 changed files with 25866 additions and 0 deletions
14
ImageReader/DiscSectors/CDROMDataModeType.cs
Normal file
14
ImageReader/DiscSectors/CDROMDataModeType.cs
Normal file
|
@ -0,0 +1,14 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.CDROMDataModeType
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public enum CDROMDataModeType : byte
|
||||
{
|
||||
MODE1_RAW = 1,
|
||||
MODE2_RAW = 2,
|
||||
}
|
||||
}
|
58
ImageReader/DiscSectors/CDROMFrameHeaderConverter.cs
Normal file
58
ImageReader/DiscSectors/CDROMFrameHeaderConverter.cs
Normal file
|
@ -0,0 +1,58 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.CDROMFrameHeaderConverter
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public class CDROMFrameHeaderConverter
|
||||
{
|
||||
public static readonly ushort CDROM_FRAME_HEADER_SIZE = 16;
|
||||
private static readonly byte[] CDROM_FRAME_HEADER_SYNC = new byte[12]
|
||||
{
|
||||
(byte) 0,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
byte.MaxValue,
|
||||
(byte) 0
|
||||
};
|
||||
|
||||
public static CDROMDataModeType ToCDROMFrameHeader(
|
||||
byte[] buffer,
|
||||
int startIndex)
|
||||
{
|
||||
if (buffer.Length < startIndex + (int) CDROMFrameHeaderConverter.CDROM_FRAME_HEADER_SIZE)
|
||||
throw new ArgumentOutOfRangeException();
|
||||
GCHandle gcHandle = GCHandle.Alloc((object) buffer, GCHandleType.Pinned);
|
||||
CDROMFrameHeaderConverter.CDROMFrameHeader structure = (CDROMFrameHeaderConverter.CDROMFrameHeader) Marshal.PtrToStructure(gcHandle.AddrOfPinnedObject(), typeof (CDROMFrameHeaderConverter.CDROMFrameHeader));
|
||||
gcHandle.Free();
|
||||
if (((IEnumerable<byte>) CDROMFrameHeaderConverter.CDROM_FRAME_HEADER_SYNC).Where<byte>((Func<byte, int, bool>) ((t, i) => (int) t != (int) buffer[i])).Any<byte>())
|
||||
throw new FormatException();
|
||||
return Enum.IsDefined(typeof (CDROMDataModeType), (object) structure.Mode) ? structure.Mode : throw new FormatException();
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit, Size = 16)]
|
||||
private struct CDROMFrameHeader
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
public byte Sync;
|
||||
[FieldOffset(12)]
|
||||
public byte Address;
|
||||
[FieldOffset(15)]
|
||||
public CDROMDataModeType Mode;
|
||||
}
|
||||
}
|
||||
}
|
17
ImageReader/DiscSectors/CDROMMode1RawSector.cs
Normal file
17
ImageReader/DiscSectors/CDROMMode1RawSector.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.CDROMMode1RawSector
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public class CDROMMode1RawSector : DiscSectorBase
|
||||
{
|
||||
public override int Size => 2352;
|
||||
|
||||
public override int DataOffset => 16;
|
||||
|
||||
public override int DataLength => 2048;
|
||||
}
|
||||
}
|
17
ImageReader/DiscSectors/CDROMXAMode2Form1RawSector.cs
Normal file
17
ImageReader/DiscSectors/CDROMXAMode2Form1RawSector.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.CDROMXAMode2Form1RawSector
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public class CDROMXAMode2Form1RawSector : DiscSectorBase
|
||||
{
|
||||
public override int Size => 2352;
|
||||
|
||||
public override int DataOffset => 24;
|
||||
|
||||
public override int DataLength => 2048;
|
||||
}
|
||||
}
|
17
ImageReader/DiscSectors/CDROMXAMode2Form1Sector.cs
Normal file
17
ImageReader/DiscSectors/CDROMXAMode2Form1Sector.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.CDROMXAMode2Form1Sector
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public class CDROMXAMode2Form1Sector : DiscSectorBase
|
||||
{
|
||||
public override int Size => 2336;
|
||||
|
||||
public override int DataOffset => 8;
|
||||
|
||||
public override int DataLength => 2048;
|
||||
}
|
||||
}
|
33
ImageReader/DiscSectors/DiscSectorBase.cs
Normal file
33
ImageReader/DiscSectors/DiscSectorBase.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.DiscSectorBase
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
using System;
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public abstract class DiscSectorBase : IDiscSector
|
||||
{
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (!(obj is IDiscSector))
|
||||
return false;
|
||||
IDiscSector discSector = obj as IDiscSector;
|
||||
return this.Size == discSector.Size && this.DataOffset == discSector.DataOffset && this.DataLength == discSector.DataLength;
|
||||
}
|
||||
|
||||
public override int GetHashCode() => ((17 * 23 + this.Size) * 23 + this.DataOffset) * 23 + this.DataLength;
|
||||
|
||||
public virtual int Size => throw new NotImplementedException();
|
||||
|
||||
public virtual int DataOffset => throw new NotImplementedException();
|
||||
|
||||
public virtual int DataLength => throw new NotImplementedException();
|
||||
}
|
||||
}
|
14
ImageReader/DiscSectors/DiscSectorCommon.cs
Normal file
14
ImageReader/DiscSectors/DiscSectorCommon.cs
Normal file
|
@ -0,0 +1,14 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.DiscSectorCommon
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public class DiscSectorCommon
|
||||
{
|
||||
public static readonly int RawSectorSize = 2352;
|
||||
public static readonly int LogicalSectorSize = 2048;
|
||||
}
|
||||
}
|
17
ImageReader/DiscSectors/IDiscSector.cs
Normal file
17
ImageReader/DiscSectors/IDiscSector.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.IDiscSector
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public interface IDiscSector
|
||||
{
|
||||
int Size { get; }
|
||||
|
||||
int DataOffset { get; }
|
||||
|
||||
int DataLength { get; }
|
||||
}
|
||||
}
|
17
ImageReader/DiscSectors/ISO9660Sector.cs
Normal file
17
ImageReader/DiscSectors/ISO9660Sector.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.ISO9660Sector
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public class ISO9660Sector : DiscSectorBase
|
||||
{
|
||||
public override int Size => 2048;
|
||||
|
||||
public override int DataOffset => 0;
|
||||
|
||||
public override int DataLength => 2048;
|
||||
}
|
||||
}
|
17
ImageReader/DiscSectors/RawSector.cs
Normal file
17
ImageReader/DiscSectors/RawSector.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
// Decompiled with JetBrains decompiler
|
||||
// Type: ImageReader.DiscSectors.RawSector
|
||||
// Assembly: ImageReader, Version=1.5.2.0, Culture=neutral, PublicKeyToken=611be24fdeb07e08
|
||||
// MVID: E0717604-B50B-4CB4-B85C-C17F43D5C04B
|
||||
// Assembly location: ImageReader.dll
|
||||
|
||||
namespace ImageReader.DiscSectors
|
||||
{
|
||||
public class RawSector : DiscSectorBase
|
||||
{
|
||||
public override int Size => 2352;
|
||||
|
||||
public override int DataOffset => 0;
|
||||
|
||||
public override int DataLength => 2352;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue