2018-08-29 13:09:04 +02:00
|
|
|
// /***************************************************************************
|
2020-02-27 12:31:25 +00:00
|
|
|
// Aaru Data Preservation Suite
|
2018-08-29 13:09:04 +02:00
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
//
|
|
|
|
|
// Filename : WCDiskImage.cs
|
|
|
|
|
// Author(s) : Michael Drüing <michael@drueing.de>
|
|
|
|
|
//
|
|
|
|
|
// Component : Disk image plugins.
|
|
|
|
|
//
|
|
|
|
|
// --[ Description ] ----------------------------------------------------------
|
|
|
|
|
//
|
|
|
|
|
// Manages floppy disk images created with d2f by DataPackRat
|
|
|
|
|
//
|
|
|
|
|
// --[ License ] --------------------------------------------------------------
|
|
|
|
|
//
|
|
|
|
|
// This library is free software; you can redistribute it and/or modify
|
|
|
|
|
// it under the terms of the GNU Lesser General Public License as
|
|
|
|
|
// published by the Free Software Foundation; either version 2.1 of the
|
|
|
|
|
// License, or (at your option) any later version.
|
|
|
|
|
//
|
|
|
|
|
// This library is distributed in the hope that it will be useful, but
|
|
|
|
|
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
|
// Lesser General Public License for more details.
|
|
|
|
|
//
|
|
|
|
|
// You should have received a copy of the GNU Lesser General Public
|
|
|
|
|
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
//
|
|
|
|
|
// ----------------------------------------------------------------------------
|
2018-12-29 17:34:38 +00:00
|
|
|
// Copyright © 2018-2019 Michael Drüing
|
2020-01-03 17:51:30 +00:00
|
|
|
// Copyright © 2011-2020 Natalia Portillo
|
2018-08-29 13:09:04 +02:00
|
|
|
// ****************************************************************************/
|
|
|
|
|
|
|
|
|
|
using System.Collections.Generic;
|
2020-02-27 00:33:26 +00:00
|
|
|
using Aaru.CommonTypes.Enums;
|
|
|
|
|
using Aaru.CommonTypes.Interfaces;
|
|
|
|
|
using Aaru.CommonTypes.Structs;
|
2018-08-29 13:09:04 +02:00
|
|
|
|
2020-02-27 00:33:26 +00:00
|
|
|
namespace Aaru.DiscImages
|
2018-08-29 13:09:04 +02:00
|
|
|
{
|
|
|
|
|
public partial class WCDiskImage : IMediaImage
|
|
|
|
|
{
|
2018-12-31 13:17:27 +00:00
|
|
|
public Dictionary<(int cylinder, int head, int sector), bool> badSectors =
|
|
|
|
|
new Dictionary<(int cylinder, int head, int sector), bool>();
|
2020-02-29 18:03:35 +00:00
|
|
|
/// <summary>The file header after the image has been opened</summary>
|
2018-08-29 13:09:04 +02:00
|
|
|
WCDiskImageFileHeader fileHeader;
|
2018-12-31 13:17:27 +00:00
|
|
|
ImageInfo imageInfo;
|
|
|
|
|
|
|
|
|
|
/* the sectors are cached here */
|
|
|
|
|
public Dictionary<(int cylinder, int head, int sector), byte[]> sectorCache =
|
|
|
|
|
new Dictionary<(int cylinder, int head, int sector), byte[]>();
|
2018-08-29 13:09:04 +02:00
|
|
|
|
2020-02-29 18:03:35 +00:00
|
|
|
/// <summary>The ImageFilter we're reading from, after the file has been opened</summary>
|
2018-08-29 13:09:04 +02:00
|
|
|
IFilter wcImageFilter;
|
|
|
|
|
|
2020-02-29 18:03:35 +00:00
|
|
|
public WCDiskImage() => imageInfo = new ImageInfo
|
2018-08-29 13:09:04 +02:00
|
|
|
{
|
2020-02-29 18:03:35 +00:00
|
|
|
ReadableSectorTags = new List<SectorTagType>(), ReadableMediaTags = new List<MediaTagType>(),
|
|
|
|
|
HasPartitions = false, HasSessions = false, Version = null,
|
|
|
|
|
Application = null,
|
|
|
|
|
ApplicationVersion = null, Creator = null, Comments = null,
|
|
|
|
|
MediaManufacturer = null,
|
|
|
|
|
MediaModel = null, MediaSerialNumber = null, MediaBarcode = null,
|
|
|
|
|
MediaPartNumber = null,
|
|
|
|
|
MediaSequence = 0, LastMediaSequence = 0, DriveManufacturer = null,
|
|
|
|
|
DriveModel = null,
|
|
|
|
|
DriveSerialNumber = null, DriveFirmwareRevision = null
|
|
|
|
|
};
|
2018-08-29 13:09:04 +02:00
|
|
|
}
|
|
|
|
|
}
|