mirror of
https://github.com/aaru-dps/Aaru.git
synced 2026-07-08 18:16:24 +00:00
[Aaru.Partitions] Introduced constants for module names
Introduces constant fields for respective debug module names, replacing the hardcoded ones. This is done to standardize the naming convention, reduce redundancy and potentially avoid any typos or name mismatches across the project. This change makes the code more maintainable and easier to update in case module names need to be changed.
This commit is contained in:
@@ -59,6 +59,7 @@ public sealed class AppleMap : IPartition
|
||||
const ushort APM_MAGIC_OLD = 0x5453;
|
||||
/// <summary>Old indicator for HFS partition, "TFS1"</summary>
|
||||
const uint HFS_MAGIC_OLD = 0x54465331;
|
||||
const string MODULE_NAME = "Apple Partition Map (APM) Plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.AppleMap_Name;
|
||||
@@ -100,13 +101,13 @@ public sealed class AppleMap : IPartition
|
||||
|
||||
AppleDriverDescriptorMap ddm = Marshal.ByteArrayToStructureBigEndian<AppleDriverDescriptorMap>(ddmSector);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbSig = 0x{0:X4}", ddm.sbSig);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbBlockSize = {0}", ddm.sbBlockSize);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbBlocks = {0}", ddm.sbBlocks);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbDevType = {0}", ddm.sbDevType);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbDevId = {0}", ddm.sbDevId);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbData = 0x{0:X8}", ddm.sbData);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbDrvrCount = {0}", ddm.sbDrvrCount);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbSig = 0x{0:X4}", ddm.sbSig);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbBlockSize = {0}", ddm.sbBlockSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbBlocks = {0}", ddm.sbBlocks);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbDevType = {0}", ddm.sbDevType);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbDevId = {0}", ddm.sbDevId);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbData = 0x{0:X8}", ddm.sbData);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbDrvrCount = {0}", ddm.sbDrvrCount);
|
||||
|
||||
uint sequence = 0;
|
||||
|
||||
@@ -121,13 +122,13 @@ public sealed class AppleMap : IPartition
|
||||
Array.Copy(ddmSector, 18 + (i * 8), tmp, 0, 8);
|
||||
ddm.sbMap[i] = Marshal.ByteArrayToStructureBigEndian<AppleDriverEntry>(tmp);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbMap[{1}].ddBlock = {0}", ddm.sbMap[i].ddBlock,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbMap[{1}].ddBlock = {0}", ddm.sbMap[i].ddBlock,
|
||||
i);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbMap[{1}].ddSize = {0}", ddm.sbMap[i].ddSize,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbMap[{1}].ddSize = {0}", ddm.sbMap[i].ddSize,
|
||||
i);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "ddm.sbMap[{1}].ddType = {0}", ddm.sbMap[i].ddType,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ddm.sbMap[{1}].ddType = {0}", ddm.sbMap[i].ddType,
|
||||
i);
|
||||
|
||||
if(ddm.sbMap[i].ddSize == 0)
|
||||
@@ -171,13 +172,13 @@ public sealed class AppleMap : IPartition
|
||||
AppleMapOldPartitionEntry oldEntry =
|
||||
Marshal.ByteArrayToStructureBigEndian<AppleMapOldPartitionEntry>(tmp);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "old_map.sbMap[{1}].pdStart = {0}", oldEntry.pdStart,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "old_map.sbMap[{1}].pdStart = {0}", oldEntry.pdStart,
|
||||
(i - 2) / 12);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "old_map.sbMap[{1}].pdSize = {0}", oldEntry.pdSize,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "old_map.sbMap[{1}].pdSize = {0}", oldEntry.pdSize,
|
||||
(i - 2) / 12);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "old_map.sbMap[{1}].pdFSID = 0x{0:X8}", oldEntry.pdFSID,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "old_map.sbMap[{1}].pdFSID = 0x{0:X8}", oldEntry.pdFSID,
|
||||
(i - 2) / 12);
|
||||
|
||||
if(oldEntry is { pdSize: 0, pdFSID: 0 })
|
||||
@@ -223,7 +224,7 @@ public sealed class AppleMap : IPartition
|
||||
// Check for a partition entry that's 512-byte aligned
|
||||
if(entry.signature == APM_MAGIC)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Found_misaligned_entry);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_misaligned_entry);
|
||||
entrySize = 512;
|
||||
entryCount = entry.entries;
|
||||
skipDdm = 512;
|
||||
@@ -235,7 +236,7 @@ public sealed class AppleMap : IPartition
|
||||
|
||||
if(entry.signature == APM_MAGIC)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Found_aligned_entry);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_aligned_entry);
|
||||
entrySize = sectorSize;
|
||||
entryCount = entry.entries;
|
||||
skipDdm = sectorSize;
|
||||
@@ -251,7 +252,7 @@ public sealed class AppleMap : IPartition
|
||||
|
||||
if(entry.signature == APM_MAGIC)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Found_aligned_entry);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_aligned_entry);
|
||||
entrySize = sectorSize;
|
||||
entryCount = entry.entries;
|
||||
skipDdm = sectorSize;
|
||||
@@ -266,10 +267,10 @@ public sealed class AppleMap : IPartition
|
||||
if(errno != ErrorNumber.NoError)
|
||||
return false;
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "entry_size = {0}", entrySize);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "entry_count = {0}", entryCount);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "skip_ddm = {0}", skipDdm);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "sectors_to_read = {0}", sectorsToRead);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry_size = {0}", entrySize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry_count = {0}", entryCount);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "skip_ddm = {0}", skipDdm);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "sectors_to_read = {0}", sectorsToRead);
|
||||
|
||||
byte[] copy = new byte[entries.Length - skipDdm];
|
||||
Array.Copy(entries, skipDdm, copy, 0, copy.Length);
|
||||
@@ -284,40 +285,40 @@ public sealed class AppleMap : IPartition
|
||||
if(entry.signature != APM_MAGIC)
|
||||
continue;
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].signature = 0x{1:X4}", i, entry.signature);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].reserved1 = 0x{1:X4}", i, entry.reserved1);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].entries = {1}", i, entry.entries);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].start = {1}", i, entry.start);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].sectors = {1}", i, entry.sectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].signature = 0x{1:X4}", i, entry.signature);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].reserved1 = 0x{1:X4}", i, entry.reserved1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].entries = {1}", i, entry.entries);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].start = {1}", i, entry.start);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].sectors = {1}", i, entry.sectors);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].name = \"{1}\"", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].name = \"{1}\"", i,
|
||||
StringHandlers.CToString(entry.name));
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].type = \"{1}\"", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].type = \"{1}\"", i,
|
||||
StringHandlers.CToString(entry.type));
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].first_data_block = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].first_data_block = {1}", i,
|
||||
entry.first_data_block);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].data_sectors = {1}", i, entry.data_sectors);
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].flags = {1}", i, (AppleMapFlags)entry.flags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].data_sectors = {1}", i, entry.data_sectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].flags = {1}", i, (AppleMapFlags)entry.flags);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].first_boot_block = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].first_boot_block = {1}", i,
|
||||
entry.first_boot_block);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].boot_size = {1}", i, entry.boot_size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].boot_size = {1}", i, entry.boot_size);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].load_address = 0x{1:X8}", i, entry.load_address);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].load_address = 0x{1:X8}", i, entry.load_address);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].load_address2 = 0x{1:X8}", i, entry.load_address2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].load_address2 = 0x{1:X8}", i, entry.load_address2);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].entry_point = 0x{1:X8}", i, entry.entry_point);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].entry_point = 0x{1:X8}", i, entry.entry_point);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].entry_point2 = 0x{1:X8}", i, entry.entry_point2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].entry_point2 = 0x{1:X8}", i, entry.entry_point2);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].checksum = 0x{1:X8}", i, entry.checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].checksum = 0x{1:X8}", i, entry.checksum);
|
||||
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", "dpme[{0}].processor = \"{1}\"", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dpme[{0}].processor = \"{1}\"", i,
|
||||
StringHandlers.CToString(entry.processor));
|
||||
|
||||
var flags = (AppleMapFlags)entry.flags;
|
||||
@@ -389,7 +390,7 @@ public sealed class AppleMap : IPartition
|
||||
// Some CD and DVDs end with an Apple_Free that expands beyond the disc size...
|
||||
else if(partition.Start < imagePlugin.Info.Sectors)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin", Localization.Cutting_last_partition_end_0_to_media_size_1,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Cutting_last_partition_end_0_to_media_size_1,
|
||||
partition.End, imagePlugin.Info.Sectors - 1);
|
||||
|
||||
partition.Length = imagePlugin.Info.Sectors - partition.Start;
|
||||
@@ -397,7 +398,7 @@ public sealed class AppleMap : IPartition
|
||||
sequence++;
|
||||
}
|
||||
else
|
||||
AaruConsole.DebugWriteLine("AppleMap Plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.Not_adding_partition_because_start_0_is_outside_media_size_1,
|
||||
partition.Start, imagePlugin.Info.Sectors - 1);
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace Aaru.Partitions;
|
||||
/// <summary>Implements decoding of Apricot partitions</summary>
|
||||
public sealed class Apricot : IPartition
|
||||
{
|
||||
const string MODULE_NAME = "Apricot partitions plugin";
|
||||
readonly int[] _baudRates =
|
||||
{
|
||||
50, 75, 110, 134, 150, 300, 600, 1200, 1800, 2400, 3600, 4800, 7200, 9600, 19200
|
||||
@@ -120,208 +121,208 @@ public sealed class Apricot : IPartition
|
||||
label.firstDataBlock > deviceSectors)
|
||||
return false;
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.version = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.version = \"{0}\"",
|
||||
StringHandlers.CToString(label.version));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.operatingSystem = {0} ({1})", label.operatingSystem,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.operatingSystem = {0} ({1})", label.operatingSystem,
|
||||
label.operatingSystem < _operatingSystemCodes.Length
|
||||
? _operatingSystemCodes[label.operatingSystem]
|
||||
: Localization.Unknown_operating_system);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.writeProtected = {0}", label.writeProtected);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.copyProtected = {0}", label.copyProtected);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.writeProtected = {0}", label.writeProtected);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.copyProtected = {0}", label.copyProtected);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bootType = {0} ({1})", label.bootType,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.bootType = {0} ({1})", label.bootType,
|
||||
label.bootType < _bootTypeCodes.Length ? _bootTypeCodes[label.bootType]
|
||||
: Localization.Unknown_boot_type);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitionCount = {0}", label.partitionCount);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.winchester = {0}", label.winchester);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.sectorSize = {0}", label.sectorSize);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spt = {0}", label.spt);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.cylinders = {0}", label.cylinders);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.heads = {0}", label.heads);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.interleave = {0}", label.interleave);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.skew = {0}", label.skew);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bootLocation = {0}", label.bootLocation);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bootSize = {0}", label.bootSize);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bootAddress = 0x{0:X8}", label.bootAddress);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitionCount = {0}", label.partitionCount);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.winchester = {0}", label.winchester);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.sectorSize = {0}", label.sectorSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spt = {0}", label.spt);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.cylinders = {0}", label.cylinders);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.heads = {0}", label.heads);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.interleave = {0}", label.interleave);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.skew = {0}", label.skew);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.bootLocation = {0}", label.bootLocation);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.bootSize = {0}", label.bootSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.bootAddress = 0x{0:X8}", label.bootAddress);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bootOffset:label.bootSegment = {0:X4}:{1:X4}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.bootOffset:label.bootSegment = {0:X4}:{1:X4}",
|
||||
label.bootOffset, label.bootSegment);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.firstDataBlock = {0}", label.firstDataBlock);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.generation = {0}", label.generation);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.copyCount = {0}", label.copyCount);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.maxCopies = {0}", label.maxCopies);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.firstDataBlock = {0}", label.firstDataBlock);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.generation = {0}", label.generation);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.copyCount = {0}", label.copyCount);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.maxCopies = {0}", label.maxCopies);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.serialNumber = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.serialNumber = \"{0}\"",
|
||||
StringHandlers.CToString(label.serialNumber));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partNumber = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partNumber = \"{0}\"",
|
||||
StringHandlers.CToString(label.partNumber));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.copyright = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.copyright = \"{0}\"",
|
||||
StringHandlers.CToString(label.copyright));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.bps = {0}", label.mainBPB.bps);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.spc = {0}", label.mainBPB.spc);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.rsectors = {0}", label.mainBPB.rsectors);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.fats_no = {0}", label.mainBPB.fats_no);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.root_ent = {0}", label.mainBPB.root_ent);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.sectors = {0}", label.mainBPB.sectors);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.media = {0}", label.mainBPB.media);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.spfat = {0}", label.mainBPB.spfat);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.bps = {0}", label.mainBPB.bps);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.spc = {0}", label.mainBPB.spc);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.rsectors = {0}", label.mainBPB.rsectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.fats_no = {0}", label.mainBPB.fats_no);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.root_ent = {0}", label.mainBPB.root_ent);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.sectors = {0}", label.mainBPB.sectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.media = {0}", label.mainBPB.media);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.spfat = {0}", label.mainBPB.spfat);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.diskType = {0} ({1})", label.mainBPB.diskType,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.diskType = {0} ({1})", label.mainBPB.diskType,
|
||||
label.mainBPB.diskType < _diskTypeCodes.Length
|
||||
? _diskTypeCodes[label.mainBPB.diskType] : Localization.Unknown_disk_type);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.mainBPB.startSector = {0}", label.mainBPB.startSector);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.mainBPB.startSector = {0}", label.mainBPB.startSector);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.fontName = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.fontName = \"{0}\"",
|
||||
StringHandlers.CToString(label.fontName));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.keyboardName = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.keyboardName = \"{0}\"",
|
||||
StringHandlers.CToString(label.keyboardName));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.biosMajorVersion = {0}", label.biosMajorVersion);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.biosMinorVersion = {0}", label.biosMinorVersion);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.diagnosticsFlag = {0}", label.diagnosticsFlag);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.biosMajorVersion = {0}", label.biosMajorVersion);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.biosMinorVersion = {0}", label.biosMinorVersion);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.diagnosticsFlag = {0}", label.diagnosticsFlag);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.prnDevice = {0} ({1})", label.prnDevice,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.prnDevice = {0} ({1})", label.prnDevice,
|
||||
label.prnDevice < _printDevices.Length ? _printDevices[label.prnDevice]
|
||||
: Localization.Unknown_print_device);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.bellVolume = {0}", label.bellVolume);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.enableCache = {0}", label.enableCache);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.enableGraphics = {0}", label.enableGraphics);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.dosLength = {0}", label.dosLength);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.fontLength = {0}", label.fontLength);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.keyboardLength = {0}", label.keyboardLength);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.dosStart = {0}", label.dosStart);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.fontStart = {0}", label.fontStart);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.keyboardStart = {0}", label.keyboardStart);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.keyboardVolume = {0}", label.keyboardVolume);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.autorepeat = {0}", label.autorepeat);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.autorepeatLeadIn = {0}", label.autorepeatLeadIn);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.bellVolume = {0}", label.bellVolume);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.enableCache = {0}", label.enableCache);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.enableGraphics = {0}", label.enableGraphics);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dosLength = {0}", label.dosLength);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.fontLength = {0}", label.fontLength);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.keyboardLength = {0}", label.keyboardLength);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dosStart = {0}", label.dosStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.fontStart = {0}", label.fontStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.keyboardStart = {0}", label.keyboardStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.keyboardVolume = {0}", label.keyboardVolume);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.autorepeat = {0}", label.autorepeat);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.autorepeatLeadIn = {0}", label.autorepeatLeadIn);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.autorepeatInterval = {0}", label.autorepeatInterval);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.autorepeatInterval = {0}", label.autorepeatInterval);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.microscreenMode = {0}", label.microscreenMode);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.microscreenMode = {0}", label.microscreenMode);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spareKeyboard is null? = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spareKeyboard is null? = {0}",
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(label.spareKeyboard));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.lineMode = {0} ({1} lines)", label.lineMode,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.lineMode = {0} ({1} lines)", label.lineMode,
|
||||
label.lineMode < _lineModes.Length ? _lineModes[label.lineMode] : 0);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.lineWidth = {0} ({1} columns)", label.lineWidth,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.lineWidth = {0} ({1} columns)", label.lineWidth,
|
||||
label.lineWidth < _lineWidths.Length ? _lineWidths[label.lineWidth] : 0);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.imageOff = {0}", label.imageOff);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.imageOff = {0}", label.imageOff);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spareScreen is null? = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spareScreen is null? = {0}",
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(label.spareScreen));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.txBaudRate = {0} ({1} bps)", label.txBaudRate,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.txBaudRate = {0} ({1} bps)", label.txBaudRate,
|
||||
label.txBaudRate < _baudRates.Length ? _baudRates[label.txBaudRate] : 0);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.rxBaudRate = {0} ({1} bps)", label.rxBaudRate,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.rxBaudRate = {0} ({1} bps)", label.rxBaudRate,
|
||||
label.rxBaudRate < _baudRates.Length ? _baudRates[label.rxBaudRate] : 0);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.txBits = {0}", label.txBits);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.rxBits = {0}", label.rxBits);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.txBits = {0}", label.txBits);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.rxBits = {0}", label.rxBits);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.stopBits = {0} ({1} bits)", label.stopBits,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.stopBits = {0} ({1} bits)", label.stopBits,
|
||||
label.stopBits < _stopBits.Length ? _stopBits[label.stopBits] : 0);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.parityCheck = {0}", label.parityCheck);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.parityCheck = {0}", label.parityCheck);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.parityType = {0} ({1})", label.parityType,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.parityType = {0} ({1})", label.parityType,
|
||||
label.parityType < _parityTypes.Length ? _parityTypes[label.parityType]
|
||||
: Localization.Unknown_parity_type);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.txXonXoff = {0}", label.txXonXoff);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.rxXonXoff = {0}", label.rxXonXoff);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.xonCharacter = {0}", label.xonCharacter);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.xoffCharacter = {0}", label.xoffCharacter);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.rxXonXoffBuffer = {0}", label.rxXonXoffBuffer);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.dtrDsr = {0}", label.dtrDsr);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.ctsRts = {0}", label.ctsRts);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.nullsAfterCr = {0}", label.nullsAfterCr);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.nullsAfterFF = {0}", label.nullsAfterFF);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.lfAfterCRSerial = {0}", label.lfAfterCRSerial);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.txXonXoff = {0}", label.txXonXoff);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.rxXonXoff = {0}", label.rxXonXoff);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.xonCharacter = {0}", label.xonCharacter);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.xoffCharacter = {0}", label.xoffCharacter);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.rxXonXoffBuffer = {0}", label.rxXonXoffBuffer);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dtrDsr = {0}", label.dtrDsr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.ctsRts = {0}", label.ctsRts);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.nullsAfterCr = {0}", label.nullsAfterCr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.nullsAfterFF = {0}", label.nullsAfterFF);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.lfAfterCRSerial = {0}", label.lfAfterCRSerial);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.biosErrorReportSerial = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.biosErrorReportSerial = {0}",
|
||||
label.biosErrorReportSerial);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spareSerial is null? = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spareSerial is null? = {0}",
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(label.spareSerial));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.lfAfterCrParallel = {0}", label.lfAfterCrParallel);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.selectLine = {0}", label.selectLine);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.paperEmpty = {0}", label.paperEmpty);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.faultLine = {0}", label.faultLine);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.lfAfterCrParallel = {0}", label.lfAfterCrParallel);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.selectLine = {0}", label.selectLine);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.paperEmpty = {0}", label.paperEmpty);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.faultLine = {0}", label.faultLine);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.biosErrorReportParallel = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.biosErrorReportParallel = {0}",
|
||||
label.biosErrorReportParallel);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spareParallel is null? = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spareParallel is null? = {0}",
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(label.spareParallel));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spareWinchester is null? = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spareWinchester is null? = {0}",
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(label.spareWinchester));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.parkingEnabled = {0}", label.parkingEnabled);
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.formatProtection = {0}", label.formatProtection);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.parkingEnabled = {0}", label.parkingEnabled);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.formatProtection = {0}", label.formatProtection);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spareRamDisk is null? = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spareRamDisk is null? = {0}",
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(label.spareRamDisk));
|
||||
|
||||
for(int i = 0; i < 32; i++)
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.badBlocks[{1}] = {0}", label.badBlocks[i], i);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.badBlocks[{1}] = {0}", label.badBlocks[i], i);
|
||||
|
||||
for(int i = 0; i < 8; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].bps = {0}", label.partitions[i].bps,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].bps = {0}", label.partitions[i].bps,
|
||||
i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].spc = {0}", label.partitions[i].spc,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].spc = {0}", label.partitions[i].spc,
|
||||
i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].rsectors = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].rsectors = {0}",
|
||||
label.partitions[i].rsectors, i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].fats_no = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].fats_no = {0}",
|
||||
label.partitions[i].fats_no, i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].root_ent = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].root_ent = {0}",
|
||||
label.partitions[i].root_ent, i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].sectors = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].sectors = {0}",
|
||||
label.partitions[i].sectors, i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].media = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].media = {0}",
|
||||
label.partitions[i].media, i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].spfat = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].spfat = {0}",
|
||||
label.partitions[i].spfat, i);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].diskType = {0} ({2})",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].diskType = {0} ({2})",
|
||||
label.partitions[i].diskType, i,
|
||||
label.partitions[i].diskType < _diskTypeCodes.Length
|
||||
? _diskTypeCodes[label.partitions[i].diskType]
|
||||
: Localization.Unknown_disk_type);
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.partitions[{1}].startSector = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.partitions[{1}].startSector = {0}",
|
||||
label.partitions[i].startSector, i);
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.spare is null? = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.spare is null? = {0}",
|
||||
ArrayHelpers.ArrayIsNullOrEmpty(label.spare));
|
||||
|
||||
AaruConsole.DebugWriteLine("Apricot partitions", "label.cpmDoubleSided = {0}", label.cpmDoubleSided);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.cpmDoubleSided = {0}", label.cpmDoubleSided);
|
||||
|
||||
// Only hard disks can contain partitions
|
||||
if(!label.winchester)
|
||||
|
||||
@@ -47,18 +47,19 @@ namespace Aaru.Partitions;
|
||||
/// <summary>Implements decoding of Atari GEMDOS partitions</summary>
|
||||
public sealed class AtariPartitions : IPartition
|
||||
{
|
||||
const uint TYPE_GEMDOS = 0x0047454D;
|
||||
const uint TYPE_BIG_GEMDOS = 0x0042474D;
|
||||
const uint TYPE_EXTENDED = 0x0058474D;
|
||||
const uint TYPE_LINUX = 0x004C4E58;
|
||||
const uint TYPE_SWAP = 0x00535750;
|
||||
const uint TYPE_RAW = 0x00524157;
|
||||
const uint TYPE_NETBSD = 0x004E4244;
|
||||
const uint TYPE_NETBSD_SWAP = 0x004E4253;
|
||||
const uint TYPE_SYSTEM_V = 0x00554E58;
|
||||
const uint TYPE_MAC = 0x004D4143;
|
||||
const uint TYPE_MINIX = 0x004D4958;
|
||||
const uint TYPE_MINIX2 = 0x004D4E58;
|
||||
const uint TYPE_GEMDOS = 0x0047454D;
|
||||
const uint TYPE_BIG_GEMDOS = 0x0042474D;
|
||||
const uint TYPE_EXTENDED = 0x0058474D;
|
||||
const uint TYPE_LINUX = 0x004C4E58;
|
||||
const uint TYPE_SWAP = 0x00535750;
|
||||
const uint TYPE_RAW = 0x00524157;
|
||||
const uint TYPE_NETBSD = 0x004E4244;
|
||||
const uint TYPE_NETBSD_SWAP = 0x004E4253;
|
||||
const uint TYPE_SYSTEM_V = 0x00554E58;
|
||||
const uint TYPE_MAC = 0x004D4143;
|
||||
const uint TYPE_MINIX = 0x004D4958;
|
||||
const uint TYPE_MINIX2 = 0x004D4E58;
|
||||
const string MODULE_NAME = "Atari partitions plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.AtariPartitions_Name;
|
||||
@@ -112,43 +113,43 @@ public sealed class AtariPartitions : IPartition
|
||||
|
||||
var sha1Ctx = new Sha1Context();
|
||||
sha1Ctx.Update(table.Boot);
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Localization.Boot_code_SHA1_0, sha1Ctx.End());
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Boot_code_SHA1_0, sha1Ctx.End());
|
||||
|
||||
for(int i = 0; i < 8; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.icdEntries[{0}].flag = 0x{1:X2}"),
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.icdEntries[{0}].flag = 0x{1:X2}"),
|
||||
i, (table.IcdEntries[i].Type & 0xFF000000) >> 24);
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.icdEntries[{0}].type = 0x{1:X6}"),
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.icdEntries[{0}].type = 0x{1:X6}"),
|
||||
i, table.IcdEntries[i].Type & 0x00FFFFFF);
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.icdEntries[{0}].start = {1}"), i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.icdEntries[{0}].start = {1}"), i,
|
||||
table.IcdEntries[i].Start);
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.icdEntries[{0}].length = {1}"), i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.icdEntries[{0}].length = {1}"), i,
|
||||
table.IcdEntries[i].Length);
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", "table.size = {0}", table.Size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.size = {0}", table.Size);
|
||||
|
||||
for(int i = 0; i < 4; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.entries[{0}].flag = 0x{1:X2}"), i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.entries[{0}].flag = 0x{1:X2}"), i,
|
||||
(table.Entries[i].Type & 0xFF000000) >> 24);
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.entries[{0}].type = 0x{1:X6}"), i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.entries[{0}].type = 0x{1:X6}"), i,
|
||||
table.Entries[i].Type & 0x00FFFFFF);
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.entries[{0}].start = {1}"), i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.entries[{0}].start = {1}"), i,
|
||||
table.Entries[i].Start);
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", Markup.Escape("table.entries[{0}].length = {1}"), i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Markup.Escape("table.entries[{0}].length = {1}"), i,
|
||||
table.Entries[i].Length);
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", "table.badStart = {0}", table.BadStart);
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", "table.badLength = {0}", table.BadLength);
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin", "table.checksum = 0x{0:X4}", table.Checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.badStart = {0}", table.BadStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.badLength = {0}", table.BadLength);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.checksum = 0x{0:X4}", table.Checksum);
|
||||
|
||||
bool validTable = false;
|
||||
ulong partitionSequence = 0;
|
||||
@@ -175,7 +176,7 @@ public sealed class AtariPartitions : IPartition
|
||||
if(table.Entries[i].Start <= imagePlugin.Info.Sectors)
|
||||
{
|
||||
if(table.Entries[i].Start + table.Entries[i].Length > imagePlugin.Info.Sectors)
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.WARNING_End_of_partition_goes_beyond_device_size);
|
||||
|
||||
ulong sectorSize = imagePlugin.Info.SectorSize;
|
||||
@@ -300,7 +301,7 @@ public sealed class AtariPartitions : IPartition
|
||||
continue;
|
||||
|
||||
if(extendedTable.Entries[j].Start + extendedTable.Entries[j].Length > imagePlugin.Info.Sectors)
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.WARNING_End_of_partition_goes_beyond_device_size);
|
||||
|
||||
ulong sectorSize = imagePlugin.Info.SectorSize;
|
||||
@@ -406,7 +407,7 @@ public sealed class AtariPartitions : IPartition
|
||||
continue;
|
||||
|
||||
if(table.IcdEntries[i].Start + table.IcdEntries[i].Length > imagePlugin.Info.Sectors)
|
||||
AaruConsole.DebugWriteLine("Atari partition plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.WARNING_End_of_partition_goes_beyond_device_size);
|
||||
|
||||
ulong sectorSize = imagePlugin.Info.SectorSize;
|
||||
|
||||
@@ -53,6 +53,7 @@ public sealed class BSD : IPartition
|
||||
const uint DISK_CIGAM = 0x57455682;
|
||||
/// <summary>Maximum size of a disklabel with 22 partitions</summary>
|
||||
const uint MAX_LABEL_SIZE = 500;
|
||||
const string MODULE_NAME = "BSD disklabel plugin";
|
||||
/// <summary>Known sector locations for BSD disklabel</summary>
|
||||
readonly ulong[] _labelLocations =
|
||||
{
|
||||
@@ -103,7 +104,7 @@ public sealed class BSD : IPartition
|
||||
Array.Copy(tmp, offset, sector, 0, MAX_LABEL_SIZE);
|
||||
dl = Marshal.ByteArrayToStructureLittleEndian<DiskLabel>(sector);
|
||||
|
||||
AaruConsole.DebugWriteLine("BSD plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.
|
||||
BSD_GetInformation_dl_magic_on_sector_0_at_offset_1_equals_2_X8_expected_3_X8,
|
||||
location + sectorOffset, offset, dl.d_magic, DISK_MAGIC);
|
||||
@@ -127,52 +128,52 @@ public sealed class BSD : IPartition
|
||||
if(dl is { d_magic: DISK_CIGAM, d_magic2: DISK_CIGAM })
|
||||
dl = SwapDiskLabel(dl);
|
||||
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_type = {0}", dl.d_type);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_subtype = {0}", dl.d_subtype);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_typename = {0}", StringHandlers.CToString(dl.d_typename));
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_packname = {0}", StringHandlers.CToString(dl.d_packname));
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_secsize = {0}", dl.d_secsize);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_nsectors = {0}", dl.d_nsectors);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_ntracks = {0}", dl.d_ntracks);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_ncylinders = {0}", dl.d_ncylinders);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_secpercyl = {0}", dl.d_secpercyl);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_secperunit = {0}", dl.d_secperunit);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_sparespertrack = {0}", dl.d_sparespertrack);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_sparespercyl = {0}", dl.d_sparespercyl);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_acylinders = {0}", dl.d_acylinders);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_rpm = {0}", dl.d_rpm);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_interleave = {0}", dl.d_interleave);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_trackskew = {0}", dl.d_trackskew);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_cylskeew = {0}", dl.d_cylskeew);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_headswitch = {0}", dl.d_headswitch);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_trkseek = {0}", dl.d_trkseek);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_flags = {0}", dl.d_flags);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_drivedata[0] = {0}", dl.d_drivedata[0]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_drivedata[1] = {0}", dl.d_drivedata[1]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_drivedata[2] = {0}", dl.d_drivedata[2]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_drivedata[3] = {0}", dl.d_drivedata[3]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_drivedata[4] = {0}", dl.d_drivedata[4]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_spare[0] = {0}", dl.d_spare[0]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_spare[1] = {0}", dl.d_spare[1]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_spare[2] = {0}", dl.d_spare[2]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_spare[3] = {0}", dl.d_spare[3]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_spare[4] = {0}", dl.d_spare[4]);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_magic2 = 0x{0:X8}", dl.d_magic2);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_checksum = 0x{0:X8}", dl.d_checksum);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_npartitions = {0}", dl.d_npartitions);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_bbsize = {0}", dl.d_bbsize);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_sbsize = {0}", dl.d_sbsize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_type = {0}", dl.d_type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_subtype = {0}", dl.d_subtype);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_typename = {0}", StringHandlers.CToString(dl.d_typename));
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_packname = {0}", StringHandlers.CToString(dl.d_packname));
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_secsize = {0}", dl.d_secsize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_nsectors = {0}", dl.d_nsectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_ntracks = {0}", dl.d_ntracks);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_ncylinders = {0}", dl.d_ncylinders);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_secpercyl = {0}", dl.d_secpercyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_secperunit = {0}", dl.d_secperunit);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_sparespertrack = {0}", dl.d_sparespertrack);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_sparespercyl = {0}", dl.d_sparespercyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_acylinders = {0}", dl.d_acylinders);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_rpm = {0}", dl.d_rpm);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_interleave = {0}", dl.d_interleave);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_trackskew = {0}", dl.d_trackskew);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_cylskeew = {0}", dl.d_cylskeew);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_headswitch = {0}", dl.d_headswitch);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_trkseek = {0}", dl.d_trkseek);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_flags = {0}", dl.d_flags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_drivedata[0] = {0}", dl.d_drivedata[0]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_drivedata[1] = {0}", dl.d_drivedata[1]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_drivedata[2] = {0}", dl.d_drivedata[2]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_drivedata[3] = {0}", dl.d_drivedata[3]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_drivedata[4] = {0}", dl.d_drivedata[4]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_spare[0] = {0}", dl.d_spare[0]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_spare[1] = {0}", dl.d_spare[1]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_spare[2] = {0}", dl.d_spare[2]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_spare[3] = {0}", dl.d_spare[3]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_spare[4] = {0}", dl.d_spare[4]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_magic2 = 0x{0:X8}", dl.d_magic2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_checksum = 0x{0:X8}", dl.d_checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_npartitions = {0}", dl.d_npartitions);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_bbsize = {0}", dl.d_bbsize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_sbsize = {0}", dl.d_sbsize);
|
||||
|
||||
ulong counter = 0;
|
||||
bool addSectorOffset = false;
|
||||
|
||||
for(int i = 0; i < dl.d_npartitions && i < 22; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_partitions[i].p_offset = {0}", dl.d_partitions[i].p_offset);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_partitions[i].p_offset = {0}", dl.d_partitions[i].p_offset);
|
||||
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_partitions[i].p_size = {0}", dl.d_partitions[i].p_size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_partitions[i].p_size = {0}", dl.d_partitions[i].p_size);
|
||||
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "dl.d_partitions[i].p_fstype = {0} ({1})",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dl.d_partitions[i].p_fstype = {0} ({1})",
|
||||
dl.d_partitions[i].p_fstype, FSTypeToString(dl.d_partitions[i].p_fstype));
|
||||
|
||||
var part = new Partition
|
||||
@@ -200,8 +201,8 @@ public sealed class BSD : IPartition
|
||||
part.Offset += sectorOffset * imagePlugin.Info.SectorSize;
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("BSD plugin", "part.start = {0}", part.Start);
|
||||
AaruConsole.DebugWriteLine("BSD plugin", Localization.BSD_GetInformation_Adding_it);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.start = {0}", part.Start);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.BSD_GetInformation_Adding_it);
|
||||
partitions.Add(part);
|
||||
counter++;
|
||||
}
|
||||
|
||||
@@ -48,8 +48,9 @@ namespace Aaru.Partitions;
|
||||
[SuppressMessage("ReSharper", "UnusedMember.Local")]
|
||||
public sealed class GuidPartitionTable : IPartition
|
||||
{
|
||||
const ulong GPT_MAGIC = 0x5452415020494645;
|
||||
const uint GPT_REVISION1 = 0x00010000;
|
||||
const ulong GPT_MAGIC = 0x5452415020494645;
|
||||
const uint GPT_REVISION1 = 0x00010000;
|
||||
const string MODULE_NAME = "GUID Partition Table (GPT) Plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.GuidPartitionTable_Name;
|
||||
@@ -76,7 +77,7 @@ public sealed class GuidPartitionTable : IPartition
|
||||
ulong signature = BitConverter.ToUInt64(hdrBytes, 0);
|
||||
bool misaligned = false;
|
||||
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.signature = 0x{0:X16}", signature);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.signature = 0x{0:X16}", signature);
|
||||
|
||||
if(signature != GPT_MAGIC)
|
||||
if(imagePlugin.Info.MetadataMediaType == MetadataMediaType.OpticalDisc)
|
||||
@@ -87,11 +88,11 @@ public sealed class GuidPartitionTable : IPartition
|
||||
return false;
|
||||
|
||||
signature = BitConverter.ToUInt64(hdrBytes, 512);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.signature @ 0x200 = 0x{0:X16}", signature);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.signature @ 0x200 = 0x{0:X16}", signature);
|
||||
|
||||
if(signature == GPT_MAGIC)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", Localization.Found_unaligned_signature, signature);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_unaligned_signature, signature);
|
||||
byte[] real = new byte[512];
|
||||
Array.Copy(hdrBytes, 512, real, 0, 512);
|
||||
hdrBytes = real;
|
||||
@@ -112,19 +113,19 @@ public sealed class GuidPartitionTable : IPartition
|
||||
return false;
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.revision = 0x{0:X8}", hdr.revision);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.headerSize = {0}", hdr.headerSize);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.headerCrc = 0x{0:X8}", hdr.headerCrc);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.reserved = 0x{0:X8}", hdr.reserved);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.myLBA = {0}", hdr.myLBA);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.alternateLBA = {0}", hdr.alternateLBA);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.firstUsableLBA = {0}", hdr.firstUsableLBA);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.lastUsableLBA = {0}", hdr.lastUsableLBA);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.diskGuid = {0}", hdr.diskGuid);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.entryLBA = {0}", hdr.entryLBA);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.entries = {0}", hdr.entries);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.entriesSize = {0}", hdr.entriesSize);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "hdr.entriesCrc = 0x{0:X8}", hdr.entriesCrc);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.revision = 0x{0:X8}", hdr.revision);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.headerSize = {0}", hdr.headerSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.headerCrc = 0x{0:X8}", hdr.headerCrc);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.reserved = 0x{0:X8}", hdr.reserved);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.myLBA = {0}", hdr.myLBA);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.alternateLBA = {0}", hdr.alternateLBA);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.firstUsableLBA = {0}", hdr.firstUsableLBA);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.lastUsableLBA = {0}", hdr.lastUsableLBA);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.diskGuid = {0}", hdr.diskGuid);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.entryLBA = {0}", hdr.entryLBA);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.entries = {0}", hdr.entries);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.entriesSize = {0}", hdr.entriesSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "hdr.entriesCrc = 0x{0:X8}", hdr.entriesCrc);
|
||||
|
||||
if(hdr.signature != GPT_MAGIC)
|
||||
return false;
|
||||
@@ -185,12 +186,12 @@ public sealed class GuidPartitionTable : IPartition
|
||||
foreach(Entry entry in entries.Where(entry => entry.partitionType != Guid.Empty &&
|
||||
entry.partitionId != Guid.Empty))
|
||||
{
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "entry.partitionType = {0}", entry.partitionType);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "entry.partitionId = {0}", entry.partitionId);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "entry.startLBA = {0}", entry.startLBA);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "entry.endLBA = {0}", entry.endLBA);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "entry.attributes = 0x{0:X16}", entry.attributes);
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "entry.name = {0}", entry.name);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.partitionType = {0}", entry.partitionType);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.partitionId = {0}", entry.partitionId);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.startLBA = {0}", entry.startLBA);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.endLBA = {0}", entry.endLBA);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.attributes = 0x{0:X16}", entry.attributes);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.name = {0}", entry.name);
|
||||
|
||||
if(entry.startLBA / divisor > imagePlugin.Info.Sectors ||
|
||||
entry.endLBA / divisor > imagePlugin.Info.Sectors)
|
||||
@@ -209,7 +210,7 @@ public sealed class GuidPartitionTable : IPartition
|
||||
Scheme = Name
|
||||
};
|
||||
|
||||
AaruConsole.DebugWriteLine("GPT Plugin", "part.PartitionType = {0}", part.Type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.PartitionType = {0}", part.Type);
|
||||
partitions.Add(part);
|
||||
}
|
||||
|
||||
|
||||
@@ -48,7 +48,8 @@ namespace Aaru.Partitions;
|
||||
public sealed class Human68K : IPartition
|
||||
{
|
||||
// ReSharper disable once InconsistentNaming
|
||||
const uint X68K_MAGIC = 0x5836384B;
|
||||
const uint X68K_MAGIC = 0x5836384B;
|
||||
const string MODULE_NAME = "Human68k partitions plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.Human68K_Name;
|
||||
@@ -66,7 +67,7 @@ public sealed class Human68K : IPartition
|
||||
ulong sectsPerUnit;
|
||||
ErrorNumber errno;
|
||||
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "sectorSize = {0}", imagePlugin.Info.SectorSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "sectorSize = {0}", imagePlugin.Info.SectorSize);
|
||||
|
||||
if(sectorOffset + 4 >= imagePlugin.Info.Sectors)
|
||||
return false;
|
||||
@@ -96,7 +97,7 @@ public sealed class Human68K : IPartition
|
||||
|
||||
Table table = Marshal.ByteArrayToStructureBigEndian<Table>(sector);
|
||||
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "table.magic = {0:X4}", table.magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.magic = {0:X4}", table.magic);
|
||||
|
||||
if(table.magic != X68K_MAGIC)
|
||||
return false;
|
||||
@@ -104,21 +105,21 @@ public sealed class Human68K : IPartition
|
||||
for(int i = 0; i < table.entries.Length; i++)
|
||||
table.entries[i] = (Entry)Marshal.SwapStructureMembersEndian(table.entries[i]);
|
||||
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "table.size = {0:X4}", table.size);
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "table.size2 = {0:X4}", table.size2);
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "table.unknown = {0:X4}", table.unknown);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.size = {0:X4}", table.size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.size2 = {0:X4}", table.size2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "table.unknown = {0:X4}", table.unknown);
|
||||
|
||||
ulong counter = 0;
|
||||
|
||||
foreach(Entry entry in table.entries)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "entry.name = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.name = {0}",
|
||||
StringHandlers.CToString(entry.name, Encoding.GetEncoding(932)));
|
||||
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "entry.stateStart = {0}", entry.stateStart);
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "entry.length = {0}", entry.length);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.stateStart = {0}", entry.stateStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.length = {0}", entry.length);
|
||||
|
||||
AaruConsole.DebugWriteLine("Human68k plugin", "sectsPerUnit = {0} {1}", sectsPerUnit,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "sectsPerUnit = {0} {1}", sectsPerUnit,
|
||||
imagePlugin.Info.SectorSize);
|
||||
|
||||
var part = new Partition
|
||||
|
||||
@@ -50,9 +50,10 @@ public sealed class MBR : IPartition
|
||||
{
|
||||
const ulong GPT_MAGIC = 0x5452415020494645;
|
||||
|
||||
const ushort MBR_MAGIC = 0xAA55;
|
||||
const ushort NEC_MAGIC = 0xA55A;
|
||||
const ushort DM_MAGIC = 0x55AA;
|
||||
const ushort MBR_MAGIC = 0xAA55;
|
||||
const ushort NEC_MAGIC = 0xA55A;
|
||||
const ushort DM_MAGIC = 0x55AA;
|
||||
const string MODULE_NAME = "Master Boot Record (MBR) plugin";
|
||||
|
||||
[SuppressMessage("ReSharper", "StringLiteralTypo")]
|
||||
static readonly string[] _mbrTypes =
|
||||
@@ -348,8 +349,8 @@ public sealed class MBR : IPartition
|
||||
DiskManagerMasterBootRecord mbrOntrack =
|
||||
Marshal.ByteArrayToStructureLittleEndian<DiskManagerMasterBootRecord>(sector);
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "xmlmedia = {0}", imagePlugin.Info.MetadataMediaType);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mbr.magic = {0:X4}", mbr.magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "xmlmedia = {0}", imagePlugin.Info.MetadataMediaType);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mbr.magic = {0:X4}", mbr.magic);
|
||||
|
||||
if(mbr.magic != MBR_MAGIC)
|
||||
return false; // Not MBR
|
||||
@@ -361,7 +362,7 @@ public sealed class MBR : IPartition
|
||||
|
||||
ulong signature = BitConverter.ToUInt64(hdrBytes, 0);
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR Plugin", "gpt.signature = 0x{0:X16}", signature);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "gpt.signature = 0x{0:X16}", signature);
|
||||
|
||||
if(signature == GPT_MAGIC)
|
||||
return false;
|
||||
@@ -374,7 +375,7 @@ public sealed class MBR : IPartition
|
||||
return false;
|
||||
|
||||
signature = BitConverter.ToUInt64(hdrBytes, 512);
|
||||
AaruConsole.DebugWriteLine("MBR Plugin", "gpt.signature @ 0x200 = 0x{0:X16}", signature);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "gpt.signature @ 0x200 = 0x{0:X16}", signature);
|
||||
|
||||
if(signature == GPT_MAGIC)
|
||||
return false;
|
||||
@@ -448,21 +449,21 @@ public sealed class MBR : IPartition
|
||||
if(lbaStart + lbaSectors > imagePlugin.Info.Sectors)
|
||||
lbaSectors = imagePlugin.Info.Sectors - lbaStart;
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.status {0}", entry.status);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.type {0}", entry.type);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.lba_start {0}", entry.lba_start);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.lba_sectors {0}", entry.lba_sectors);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.start_cylinder {0}", startCylinder);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.start_head {0}", entry.start_head);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.start_sector {0}", startSector);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.end_cylinder {0}", endCylinder);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.end_head {0}", entry.end_head);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.end_sector {0}", endSector);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.status {0}", entry.status);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.type {0}", entry.type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.lba_start {0}", entry.lba_start);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.lba_sectors {0}", entry.lba_sectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.start_cylinder {0}", startCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.start_head {0}", entry.start_head);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.start_sector {0}", startSector);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.end_cylinder {0}", endCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.end_head {0}", entry.end_head);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.end_sector {0}", endSector);
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.minix = {0}", minix);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.minix = {0}", minix);
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "lba_start {0}", lbaStart);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "lba_sectors {0}", lbaSectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "lba_start {0}", lbaStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "lba_sectors {0}", lbaSectors);
|
||||
|
||||
if(valid && minix) // Let's mix the fun
|
||||
if(GetMinix(imagePlugin, lbaStart, divider, sectorOffset, sectorSize, out List<Partition> mnxParts))
|
||||
@@ -499,7 +500,7 @@ public sealed class MBR : IPartition
|
||||
}
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "entry.extended = {0}", extended);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.extended = {0}", extended);
|
||||
|
||||
if(!extended)
|
||||
continue;
|
||||
@@ -516,7 +517,7 @@ public sealed class MBR : IPartition
|
||||
|
||||
ExtendedBootRecord ebr = Marshal.ByteArrayToStructureLittleEndian<ExtendedBootRecord>(sector);
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr.magic == MBR_Magic = {0}", ebr.magic == MBR_MAGIC);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr.magic == MBR_Magic = {0}", ebr.magic == MBR_MAGIC);
|
||||
|
||||
if(ebr.magic != MBR_MAGIC)
|
||||
break;
|
||||
@@ -534,16 +535,16 @@ public sealed class MBR : IPartition
|
||||
ulong extSectors = ebrEntry.lba_sectors;
|
||||
bool extMinix = false;
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.status {0}", ebrEntry.status);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.type {0}", ebrEntry.type);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.lba_start {0}", ebrEntry.lba_start);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.lba_sectors {0}", ebrEntry.lba_sectors);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.start_cylinder {0}", startCylinder);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.start_head {0}", ebrEntry.start_head);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.start_sector {0}", startSector);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.end_cylinder {0}", endCylinder);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.end_head {0}", ebrEntry.end_head);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ebr_entry.end_sector {0}", endSector);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.status {0}", ebrEntry.status);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.type {0}", ebrEntry.type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.lba_start {0}", ebrEntry.lba_start);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.lba_sectors {0}", ebrEntry.lba_sectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.start_cylinder {0}", startCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.start_head {0}", ebrEntry.start_head);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.start_sector {0}", startSector);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.end_cylinder {0}", endCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.end_head {0}", ebrEntry.end_head);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ebr_entry.end_sector {0}", endSector);
|
||||
|
||||
// Let's start the fun...
|
||||
extValid &= ebrEntry.status is 0x00 or 0x80;
|
||||
@@ -568,8 +569,8 @@ public sealed class MBR : IPartition
|
||||
extStart /= divider;
|
||||
extSectors /= divider;
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ext_start {0}", extStart);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "ext_sectors {0}", extSectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ext_start {0}", extStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "ext_sectors {0}", extSectors);
|
||||
|
||||
if(ebrEntry.type is 0x05 or 0x0F or 0x15 or 0x1F or 0x85 or 0x91 or 0x9B or 0xC5 or 0xCF or 0xD5)
|
||||
{
|
||||
@@ -620,7 +621,7 @@ public sealed class MBR : IPartition
|
||||
partitions.Add(part);
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "next_start {0}", nextStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "next_start {0}", nextStart);
|
||||
processingExtended &= nextStart != 0;
|
||||
processingExtended &= nextStart <= imagePlugin.Info.Sectors;
|
||||
lbaStart = nextStart;
|
||||
@@ -643,7 +644,7 @@ public sealed class MBR : IPartition
|
||||
|
||||
ExtendedBootRecord mnx = Marshal.ByteArrayToStructureLittleEndian<ExtendedBootRecord>(sector);
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx.magic == MBR_Magic = {0}", mnx.magic == MBR_MAGIC);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx.magic == MBR_Magic = {0}", mnx.magic == MBR_MAGIC);
|
||||
|
||||
if(mnx.magic != MBR_MAGIC)
|
||||
return false;
|
||||
@@ -660,16 +661,16 @@ public sealed class MBR : IPartition
|
||||
ulong mnxStart = mnxEntry.lba_start;
|
||||
ulong mnxSectors = mnxEntry.lba_sectors;
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.status {0}", mnxEntry.status);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.type {0}", mnxEntry.type);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.lba_start {0}", mnxEntry.lba_start);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.lba_sectors {0}", mnxEntry.lba_sectors);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.start_cylinder {0}", startCylinder);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.start_head {0}", mnxEntry.start_head);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.start_sector {0}", startSector);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.end_cylinder {0}", endCylinder);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.end_head {0}", mnxEntry.end_head);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_entry.end_sector {0}", endSector);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.status {0}", mnxEntry.status);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.type {0}", mnxEntry.type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.lba_start {0}", mnxEntry.lba_start);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.lba_sectors {0}", mnxEntry.lba_sectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.start_cylinder {0}", startCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.start_head {0}", mnxEntry.start_head);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.start_sector {0}", startSector);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.end_cylinder {0}", endCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.end_head {0}", mnxEntry.end_head);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_entry.end_sector {0}", endSector);
|
||||
|
||||
mnxValid &= mnxEntry.status is 0x00 or 0x80;
|
||||
mnxValid &= mnxEntry.type is 0x81 or 0x80;
|
||||
@@ -691,8 +692,8 @@ public sealed class MBR : IPartition
|
||||
mnxStart /= divider;
|
||||
mnxSectors /= divider;
|
||||
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_start {0}", mnxStart);
|
||||
AaruConsole.DebugWriteLine("MBR plugin", "mnx_sectors {0}", mnxSectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_start {0}", mnxStart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "mnx_sectors {0}", mnxSectors);
|
||||
|
||||
if(!mnxValid)
|
||||
continue;
|
||||
|
||||
@@ -62,6 +62,7 @@ public sealed class NeXTDisklabel : IPartition
|
||||
const ushort DISKTAB_START = 0xB4;
|
||||
/// <summary>44</summary>
|
||||
const ushort DISKTAB_ENTRY_SIZE = 0x2C;
|
||||
const string MODULE_NAME = "NeXT disklabel plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.NeXTDisklabel_Name;
|
||||
@@ -125,45 +126,45 @@ public sealed class NeXTDisklabel : IPartition
|
||||
label.dl_dt = Marshal.ByteArrayToStructureBigEndian<DiskTab>(disktabB);
|
||||
label.dl_dt.d_partitions = new Entry[8];
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_version = 0x{0:X8}", label.dl_version);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_label_blkno = {0}", label.dl_label_blkno);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_size = {0}", label.dl_size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_version = 0x{0:X8}", label.dl_version);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_label_blkno = {0}", label.dl_label_blkno);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_size = {0}", label.dl_size);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_label = \"{0}\"", StringHandlers.CToString(label.dl_label));
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_label = \"{0}\"", StringHandlers.CToString(label.dl_label));
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_flags = {0}", label.dl_flags);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_tag = 0x{0:X8}", label.dl_tag);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_flags = {0}", label.dl_flags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_tag = 0x{0:X8}", label.dl_tag);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_name = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_name = \"{0}\"",
|
||||
StringHandlers.CToString(label.dl_dt.d_name));
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_type = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_type = \"{0}\"",
|
||||
StringHandlers.CToString(label.dl_dt.d_type));
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_secsize = {0}", label.dl_dt.d_secsize);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_ntracks = {0}", label.dl_dt.d_ntracks);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_nsectors = {0}", label.dl_dt.d_nsectors);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_ncylinders = {0}", label.dl_dt.d_ncylinders);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_rpm = {0}", label.dl_dt.d_rpm);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_front = {0}", label.dl_dt.d_front);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_back = {0}", label.dl_dt.d_back);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_ngroups = {0}", label.dl_dt.d_ngroups);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_ag_size = {0}", label.dl_dt.d_ag_size);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_ag_alts = {0}", label.dl_dt.d_ag_alts);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_ag_off = {0}", label.dl_dt.d_ag_off);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_secsize = {0}", label.dl_dt.d_secsize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_ntracks = {0}", label.dl_dt.d_ntracks);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_nsectors = {0}", label.dl_dt.d_nsectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_ncylinders = {0}", label.dl_dt.d_ncylinders);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_rpm = {0}", label.dl_dt.d_rpm);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_front = {0}", label.dl_dt.d_front);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_back = {0}", label.dl_dt.d_back);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_ngroups = {0}", label.dl_dt.d_ngroups);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_ag_size = {0}", label.dl_dt.d_ag_size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_ag_alts = {0}", label.dl_dt.d_ag_alts);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_ag_off = {0}", label.dl_dt.d_ag_off);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_boot0_blkno[0] = {0}", label.dl_dt.d_boot0_blkno[0]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_boot0_blkno[0] = {0}", label.dl_dt.d_boot0_blkno[0]);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_boot0_blkno[1] = {0}", label.dl_dt.d_boot0_blkno[1]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_boot0_blkno[1] = {0}", label.dl_dt.d_boot0_blkno[1]);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_bootfile = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_bootfile = \"{0}\"",
|
||||
StringHandlers.CToString(label.dl_dt.d_bootfile));
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_hostname = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_hostname = \"{0}\"",
|
||||
StringHandlers.CToString(label.dl_dt.d_hostname));
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_rootpartition = {0}", label.dl_dt.d_rootpartition);
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_rwpartition = {0}", label.dl_dt.d_rwpartition);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_rootpartition = {0}", label.dl_dt.d_rootpartition);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_rwpartition = {0}", label.dl_dt.d_rwpartition);
|
||||
|
||||
for(int i = 0; i < 8; i++)
|
||||
{
|
||||
@@ -171,40 +172,40 @@ public sealed class NeXTDisklabel : IPartition
|
||||
Array.Copy(labelSector, 44 + 146 + (44 * i), partB, 0, 44);
|
||||
label.dl_dt.d_partitions[i] = Marshal.ByteArrayToStructureBigEndian<Entry>(partB);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_base = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_base = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_base);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_size = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_size = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_size);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_bsize = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_bsize = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_bsize);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_fsize = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_fsize = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_fsize);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_opt = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_opt = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_opt);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_cpg = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_cpg = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_cpg);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_density = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_density = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_density);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_minfree = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_minfree = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_minfree);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_newfs = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_newfs = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_newfs);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_mountpt = \"{1}\"", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_mountpt = \"{1}\"", i,
|
||||
StringHandlers.CToString(label.dl_dt.d_partitions[i].p_mountpt));
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_automnt = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_automnt = {1}", i,
|
||||
label.dl_dt.d_partitions[i].p_automnt);
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_type = \"{1}\"", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_type = \"{1}\"", i,
|
||||
StringHandlers.CToString(label.dl_dt.d_partitions[i].p_type));
|
||||
|
||||
if(label.dl_dt.d_partitions[i].p_size <= 0 ||
|
||||
@@ -229,11 +230,11 @@ public sealed class NeXTDisklabel : IPartition
|
||||
|
||||
if(part.Start + part.Length > imagePlugin.Info.Sectors)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", Localization.Partition_bigger_than_device_reducing);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Partition_bigger_than_device_reducing);
|
||||
part.Length = imagePlugin.Info.Sectors - part.Start;
|
||||
part.Size = part.Length * sectorSize;
|
||||
|
||||
AaruConsole.DebugWriteLine("NeXT Plugin", "label.dl_dt.d_partitions[{0}].p_size = {1}", i, part.Length);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "label.dl_dt.d_partitions[{0}].p_size = {1}", i, part.Length);
|
||||
}
|
||||
|
||||
sb.AppendFormat(Localization._0_bytes_per_block, label.dl_dt.d_partitions[i].p_bsize).AppendLine();
|
||||
|
||||
@@ -46,6 +46,7 @@ namespace Aaru.Partitions;
|
||||
/// <summary>Implements decoding of NEC PC-9800 partitions</summary>
|
||||
public sealed class PC98 : IPartition
|
||||
{
|
||||
const string MODULE_NAME = "PC-98 partitions plugin";
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.PC98_Name;
|
||||
/// <inheritdoc />
|
||||
@@ -83,21 +84,21 @@ public sealed class PC98 : IPartition
|
||||
|
||||
foreach(Partition entry in table.entries)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_mid = {0}", entry.dp_mid);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_sid = {0}", entry.dp_sid);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_dum1 = {0}", entry.dp_dum1);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_dum2 = {0}", entry.dp_dum2);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_ipl_sct = {0}", entry.dp_ipl_sct);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_ipl_head = {0}", entry.dp_ipl_head);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_ipl_cyl = {0}", entry.dp_ipl_cyl);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_ssect = {0}", entry.dp_ssect);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_shd = {0}", entry.dp_shd);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_scyl = {0}", entry.dp_scyl);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_esect = {0}", entry.dp_esect);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_ehd = {0}", entry.dp_ehd);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_ecyl = {0}", entry.dp_ecyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_mid = {0}", entry.dp_mid);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_sid = {0}", entry.dp_sid);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_dum1 = {0}", entry.dp_dum1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_dum2 = {0}", entry.dp_dum2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_ipl_sct = {0}", entry.dp_ipl_sct);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_ipl_head = {0}", entry.dp_ipl_head);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_ipl_cyl = {0}", entry.dp_ipl_cyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_ssect = {0}", entry.dp_ssect);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_shd = {0}", entry.dp_shd);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_scyl = {0}", entry.dp_scyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_esect = {0}", entry.dp_esect);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_ehd = {0}", entry.dp_ehd);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_ecyl = {0}", entry.dp_ecyl);
|
||||
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "entry.dp_name = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "entry.dp_name = \"{0}\"",
|
||||
StringHandlers.CToString(entry.dp_name, Encoding.GetEncoding(932)));
|
||||
|
||||
if(entry.dp_scyl == entry.dp_ecyl ||
|
||||
@@ -127,13 +128,13 @@ public sealed class PC98 : IPartition
|
||||
|
||||
part.Size = part.Length * imagePlugin.Info.SectorSize;
|
||||
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "part.Start = {0}", part.Start);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "part.Type = {0}", part.Type);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "part.Name = {0}", part.Name);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "part.Sequence = {0}", part.Sequence);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "part.Offset = {0}", part.Offset);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "part.Length = {0}", part.Length);
|
||||
AaruConsole.DebugWriteLine("PC98 plugin", "part.Size = {0}", part.Size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.Start = {0}", part.Start);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.Type = {0}", part.Type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.Name = {0}", part.Name);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.Sequence = {0}", part.Sequence);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.Offset = {0}", part.Offset);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.Length = {0}", part.Length);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "part.Size = {0}", part.Size);
|
||||
|
||||
if(((entry.dp_mid & 0x20) != 0x20 && (entry.dp_mid & 0x44) != 0x44) ||
|
||||
part.Start >= imagePlugin.Info.Sectors ||
|
||||
|
||||
@@ -176,6 +176,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
const uint FLAGS_BOOTABLE = 0x00000001;
|
||||
/// <summary>Partition should not be mounted automatically</summary>
|
||||
const uint FLAGS_NO_AUTOMOUNT = 0x00000002;
|
||||
const string MODULE_NAME = "Amiga Rigid Disk Block (RDB) plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.AmigaRigidDiskBlock_Name;
|
||||
@@ -211,12 +212,12 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
|
||||
uint magic = BigEndianBitConverter.ToUInt32(tmpSector, 0);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Possible_magic_at_block_0_is_1_X8, rdbBlock,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Possible_magic_at_block_0_is_1_X8, rdbBlock,
|
||||
magic);
|
||||
|
||||
if(magic == RIGID_DISK_BLOCK_MAGIC)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_RDB_magic_at_block_0, rdbBlock);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_RDB_magic_at_block_0, rdbBlock);
|
||||
|
||||
foundRdb = true;
|
||||
|
||||
@@ -310,61 +311,61 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
rdb.Reserved24 = BigEndianBitConverter.ToUInt32(sector, 0xF8);
|
||||
rdb.Reserved25 = BigEndianBitConverter.ToUInt32(sector, 0xFC);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.magic = 0x{0:X8}", rdb.Magic);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.size = {0} longs, {1} bytes", rdb.Size, rdb.Size * 4);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.checksum = 0x{0:X8}", rdb.Checksum);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.targetID = {0}", rdb.TargetId);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.block_size = {0}", rdb.BlockSize);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.badblock_ptr = {0}", rdb.BadblockPtr);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.partition_ptr = {0}", rdb.PartitionPtr);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.fsheader_ptr = {0}", rdb.FsheaderPtr);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.driveinitcode = {0}", rdb.Driveinitcode);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved1 = 0x{0:X8}", rdb.Reserved1);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved2 = 0x{0:X8}", rdb.Reserved2);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved3 = 0x{0:X8}", rdb.Reserved3);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved4 = 0x{0:X8}", rdb.Reserved4);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved5 = 0x{0:X8}", rdb.Reserved5);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved6 = 0x{0:X8}", rdb.Reserved6);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.cylinders = {0}", rdb.Cylinders);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.spt = {0}", rdb.Spt);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.heads = {0}", rdb.Heads);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.interleave = {0}", rdb.Interleave);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.parking = {0}", rdb.Parking);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved7 = 0x{0:X8}", rdb.Reserved7);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved8 = 0x{0:X8}", rdb.Reserved8);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved9 = 0x{0:X8}", rdb.Reserved9);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.writeprecomp = {0}", rdb.Writeprecomp);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reducedwrite = {0}", rdb.Reducedwrite);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.steprate = {0}", rdb.Steprate);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved10 = 0x{0:X8}", rdb.Reserved10);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved11 = 0x{0:X8}", rdb.Reserved11);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved12 = 0x{0:X8}", rdb.Reserved12);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved13 = 0x{0:X8}", rdb.Reserved13);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved14 = 0x{0:X8}", rdb.Reserved14);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.RDBBlockLow = {0}", rdb.RdbBlockLow);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.RDBBlockHigh = {0}", rdb.RdbBlockHigh);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.LowCylinder = {0}", rdb.LowCylinder);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.HighCylinder = {0}", rdb.HighCylinder);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.CylBlocks = {0}", rdb.CylBlocks);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.AutoParkSeconds = {0}", rdb.AutoParkSeconds);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.HighCylinder = {0}", rdb.HighCylinder);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved15 = 0x{0:X8}", rdb.Reserved15);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskVendor = \"{0}\"", rdb.DiskVendor);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskProduct = \"{0}\"", rdb.DiskProduct);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.diskRevision = \"{0}\"", rdb.DiskRevision);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerVendor = \"{0}\"", rdb.ControllerVendor);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerProduct = \"{0}\"", rdb.ControllerProduct);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.controllerRevision = \"{0}\"", rdb.ControllerRevision);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved16 = 0x{0:X8}", rdb.Reserved16);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved17 = 0x{0:X8}", rdb.Reserved17);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved18 = 0x{0:X8}", rdb.Reserved18);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved19 = 0x{0:X8}", rdb.Reserved19);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved20 = 0x{0:X8}", rdb.Reserved20);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved21 = 0x{0:X8}", rdb.Reserved21);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved22 = 0x{0:X8}", rdb.Reserved22);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved23 = 0x{0:X8}", rdb.Reserved23);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved24 = 0x{0:X8}", rdb.Reserved24);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "RDB.reserved25 = 0x{0:X8}", rdb.Reserved25);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.magic = 0x{0:X8}", rdb.Magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.size = {0} longs, {1} bytes", rdb.Size, rdb.Size * 4);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.checksum = 0x{0:X8}", rdb.Checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.targetID = {0}", rdb.TargetId);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.block_size = {0}", rdb.BlockSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.badblock_ptr = {0}", rdb.BadblockPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.partition_ptr = {0}", rdb.PartitionPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.fsheader_ptr = {0}", rdb.FsheaderPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.driveinitcode = {0}", rdb.Driveinitcode);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved1 = 0x{0:X8}", rdb.Reserved1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved2 = 0x{0:X8}", rdb.Reserved2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved3 = 0x{0:X8}", rdb.Reserved3);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved4 = 0x{0:X8}", rdb.Reserved4);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved5 = 0x{0:X8}", rdb.Reserved5);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved6 = 0x{0:X8}", rdb.Reserved6);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.cylinders = {0}", rdb.Cylinders);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.spt = {0}", rdb.Spt);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.heads = {0}", rdb.Heads);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.interleave = {0}", rdb.Interleave);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.parking = {0}", rdb.Parking);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved7 = 0x{0:X8}", rdb.Reserved7);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved8 = 0x{0:X8}", rdb.Reserved8);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved9 = 0x{0:X8}", rdb.Reserved9);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.writeprecomp = {0}", rdb.Writeprecomp);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reducedwrite = {0}", rdb.Reducedwrite);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.steprate = {0}", rdb.Steprate);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved10 = 0x{0:X8}", rdb.Reserved10);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved11 = 0x{0:X8}", rdb.Reserved11);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved12 = 0x{0:X8}", rdb.Reserved12);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved13 = 0x{0:X8}", rdb.Reserved13);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved14 = 0x{0:X8}", rdb.Reserved14);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.RDBBlockLow = {0}", rdb.RdbBlockLow);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.RDBBlockHigh = {0}", rdb.RdbBlockHigh);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.LowCylinder = {0}", rdb.LowCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.HighCylinder = {0}", rdb.HighCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.CylBlocks = {0}", rdb.CylBlocks);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.AutoParkSeconds = {0}", rdb.AutoParkSeconds);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.HighCylinder = {0}", rdb.HighCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved15 = 0x{0:X8}", rdb.Reserved15);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.diskVendor = \"{0}\"", rdb.DiskVendor);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.diskProduct = \"{0}\"", rdb.DiskProduct);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.diskRevision = \"{0}\"", rdb.DiskRevision);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.controllerVendor = \"{0}\"", rdb.ControllerVendor);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.controllerProduct = \"{0}\"", rdb.ControllerProduct);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.controllerRevision = \"{0}\"", rdb.ControllerRevision);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved16 = 0x{0:X8}", rdb.Reserved16);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved17 = 0x{0:X8}", rdb.Reserved17);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved18 = 0x{0:X8}", rdb.Reserved18);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved19 = 0x{0:X8}", rdb.Reserved19);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved20 = 0x{0:X8}", rdb.Reserved20);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved21 = 0x{0:X8}", rdb.Reserved21);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved22 = 0x{0:X8}", rdb.Reserved22);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved23 = 0x{0:X8}", rdb.Reserved23);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved24 = 0x{0:X8}", rdb.Reserved24);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "RDB.reserved25 = 0x{0:X8}", rdb.Reserved25);
|
||||
|
||||
// Reading BadBlock list
|
||||
List<BadBlockList> badBlockChain = new();
|
||||
@@ -372,7 +373,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
|
||||
while(nextBlock != 0xFFFFFFFF)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Going_to_block_0_in_search_of_a_BadBlock_block,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Going_to_block_0_in_search_of_a_BadBlock_block,
|
||||
nextBlock);
|
||||
|
||||
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
||||
@@ -385,7 +386,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
if(magic != BAD_BLOCK_LIST_MAGIC)
|
||||
break;
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_BadBlock_block);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_BadBlock_block);
|
||||
|
||||
var chainEntry = new BadBlockList
|
||||
{
|
||||
@@ -400,15 +401,15 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
ulong entries = (chainEntry.Size - 6) / 2;
|
||||
chainEntry.BlockPairs = new BadBlockEntry[entries];
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.magic = 0x{0:X8}", chainEntry.Magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "chainEntry.magic = 0x{0:X8}", chainEntry.Magic);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.size = {0} longs, {1} bytes", chainEntry.Size,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "chainEntry.size = {0} longs, {1} bytes", chainEntry.Size,
|
||||
chainEntry.Size * 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.checksum = 0x{0:X8}", chainEntry.Checksum);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.targetID = {0}", chainEntry.TargetId);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.next_ptr = {0}", chainEntry.NextPtr);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "chainEntry.reserved = 0x{0:X8}", chainEntry.Reserved);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "chainEntry.checksum = 0x{0:X8}", chainEntry.Checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "chainEntry.targetID = {0}", chainEntry.TargetId);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "chainEntry.next_ptr = {0}", chainEntry.NextPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "chainEntry.reserved = 0x{0:X8}", chainEntry.Reserved);
|
||||
|
||||
for(ulong i = 0; i < entries; i++)
|
||||
{
|
||||
@@ -416,7 +417,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
|
||||
chainEntry.BlockPairs[i].GoodBlock = BigEndianBitConverter.ToUInt32(sector, (int)(0x18 + (i * 8) + 4));
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.Bad_block_at_0_replaced_with_good_block_at_1,
|
||||
chainEntry.BlockPairs[i].BadBlock, chainEntry.BlockPairs[i].GoodBlock);
|
||||
}
|
||||
@@ -431,7 +432,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
|
||||
while(nextBlock != 0xFFFFFFFF)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.Going_to_block_0_in_search_of_a_PartitionEntry_block,
|
||||
nextBlock + sectorOffset);
|
||||
|
||||
@@ -445,7 +446,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
if(magic != PARTITION_BLOCK_MAGIC)
|
||||
break;
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_PartitionEntry_block);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_PartitionEntry_block);
|
||||
|
||||
var partEntry = new PartitionEntry
|
||||
{
|
||||
@@ -503,91 +504,91 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
Array.Copy(sector, 0x24, driveName, 0, 32);
|
||||
partEntry.DriveName = StringHandlers.PascalToString(driveName, Encoding.GetEncoding("iso-8859-1"));
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.magic = 0x{0:X8}", partEntry.Magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.magic = 0x{0:X8}", partEntry.Magic);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.size = {0} longs, {1} bytes", partEntry.Size,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.size = {0} longs, {1} bytes", partEntry.Size,
|
||||
partEntry.Size * 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.checksum = 0x{0:X8}", partEntry.Checksum);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.targetID = {0}", partEntry.TargetId);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.next_ptr = {0}", partEntry.NextPtr);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.flags = 0x{0:X8}", partEntry.Flags);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved1 = 0x{0:X8}", partEntry.Reserved1);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved2 = 0x{0:X8}", partEntry.Reserved2);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.devFlags = 0x{0:X8}", partEntry.DevFlags);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.driveNameLen = {0}", partEntry.DriveNameLen);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.driveName = \"{0}\"", partEntry.DriveName);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved3 = 0x{0:X8}", partEntry.Reserved3);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved4 = 0x{0:X8}", partEntry.Reserved4);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved5 = 0x{0:X8}", partEntry.Reserved5);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved6 = 0x{0:X8}", partEntry.Reserved6);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved7 = 0x{0:X8}", partEntry.Reserved7);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved8 = 0x{0:X8}", partEntry.Reserved8);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved9 = 0x{0:X8}", partEntry.Reserved9);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved10 = 0x{0:X8}", partEntry.Reserved10);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved11 = 0x{0:X8}", partEntry.Reserved11);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved12 = 0x{0:X8}", partEntry.Reserved12);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved13 = 0x{0:X8}", partEntry.Reserved13);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved14 = 0x{0:X8}", partEntry.Reserved14);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved15 = 0x{0:X8}", partEntry.Reserved15);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved16 = 0x{0:X8}", partEntry.Reserved16);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.reserved17 = 0x{0:X8}", partEntry.Reserved17);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.checksum = 0x{0:X8}", partEntry.Checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.targetID = {0}", partEntry.TargetId);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.next_ptr = {0}", partEntry.NextPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.flags = 0x{0:X8}", partEntry.Flags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved1 = 0x{0:X8}", partEntry.Reserved1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved2 = 0x{0:X8}", partEntry.Reserved2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.devFlags = 0x{0:X8}", partEntry.DevFlags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.driveNameLen = {0}", partEntry.DriveNameLen);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.driveName = \"{0}\"", partEntry.DriveName);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved3 = 0x{0:X8}", partEntry.Reserved3);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved4 = 0x{0:X8}", partEntry.Reserved4);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved5 = 0x{0:X8}", partEntry.Reserved5);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved6 = 0x{0:X8}", partEntry.Reserved6);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved7 = 0x{0:X8}", partEntry.Reserved7);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved8 = 0x{0:X8}", partEntry.Reserved8);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved9 = 0x{0:X8}", partEntry.Reserved9);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved10 = 0x{0:X8}", partEntry.Reserved10);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved11 = 0x{0:X8}", partEntry.Reserved11);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved12 = 0x{0:X8}", partEntry.Reserved12);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved13 = 0x{0:X8}", partEntry.Reserved13);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved14 = 0x{0:X8}", partEntry.Reserved14);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved15 = 0x{0:X8}", partEntry.Reserved15);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved16 = 0x{0:X8}", partEntry.Reserved16);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.reserved17 = 0x{0:X8}", partEntry.Reserved17);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.size = {0} longs, {1} bytes",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.size = {0} longs, {1} bytes",
|
||||
partEntry.DosEnvVec.Size, partEntry.DosEnvVec.Size * 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.block_size = {0} longs, {1} bytes",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.block_size = {0} longs, {1} bytes",
|
||||
partEntry.DosEnvVec.BlockSize, partEntry.DosEnvVec.BlockSize * 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.sec_org = 0x{0:X8}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.sec_org = 0x{0:X8}",
|
||||
partEntry.DosEnvVec.SecOrg);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.surfaces = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.surfaces = {0}",
|
||||
partEntry.DosEnvVec.Surfaces);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.spb = {0}", partEntry.DosEnvVec.Spb);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.spb = {0}", partEntry.DosEnvVec.Spb);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bpt = {0}", partEntry.DosEnvVec.Bpt);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.bpt = {0}", partEntry.DosEnvVec.Bpt);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.reservedblocks = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.reservedblocks = {0}",
|
||||
partEntry.DosEnvVec.Reservedblocks);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.prealloc = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.prealloc = {0}",
|
||||
partEntry.DosEnvVec.Prealloc);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.interleave = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.interleave = {0}",
|
||||
partEntry.DosEnvVec.Interleave);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.lowCylinder = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.lowCylinder = {0}",
|
||||
partEntry.DosEnvVec.LowCylinder);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.highCylinder = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.highCylinder = {0}",
|
||||
partEntry.DosEnvVec.HighCylinder);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.numBuffer = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.numBuffer = {0}",
|
||||
partEntry.DosEnvVec.NumBuffer);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bufMemType = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.bufMemType = {0}",
|
||||
partEntry.DosEnvVec.BufMemType);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.maxTransfer = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.maxTransfer = {0}",
|
||||
partEntry.DosEnvVec.MaxTransfer);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.Mask = 0x{0:X8}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.Mask = 0x{0:X8}",
|
||||
partEntry.DosEnvVec.Mask);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bootPriority = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.bootPriority = {0}",
|
||||
partEntry.DosEnvVec.BootPriority);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.dosType = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.dosType = {0}",
|
||||
AmigaDosTypeToString(partEntry.DosEnvVec.DosType));
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.baud = {0}", partEntry.DosEnvVec.Baud);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.baud = {0}", partEntry.DosEnvVec.Baud);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.control = 0x{0:X8}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.control = 0x{0:X8}",
|
||||
partEntry.DosEnvVec.Control);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "partEntry.dosEnvVec.bootBlocks = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "partEntry.dosEnvVec.bootBlocks = {0}",
|
||||
partEntry.DosEnvVec.BootBlocks);
|
||||
|
||||
partitionEntries.Add(partEntry);
|
||||
@@ -601,7 +602,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
|
||||
while(nextBlock != 0xFFFFFFFF)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.Going_to_block_0_in_search_of_a_FileSystemHeader_block, nextBlock);
|
||||
|
||||
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
||||
@@ -614,7 +615,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
if(magic != FILESYSTEM_HEADER_MAGIC)
|
||||
break;
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_FileSystemHeader_block);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_FileSystemHeader_block);
|
||||
|
||||
var fshd = new FileSystemHeader
|
||||
{
|
||||
@@ -643,35 +644,35 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
}
|
||||
};
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.magic = 0x{0:X8}", fshd.Magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.magic = 0x{0:X8}", fshd.Magic);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.size = {0} longs, {1} bytes", fshd.Size,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.size = {0} longs, {1} bytes", fshd.Size,
|
||||
fshd.Size * 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.checksum = 0x{0:X8}", fshd.Checksum);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.targetID = {0}", fshd.TargetId);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.next_ptr = {0}", fshd.NextPtr);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.flags = 0x{0:X8}", fshd.Flags);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.reserved1 = 0x{0:X8}", fshd.Reserved1);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.reserved2 = 0x{0:X8}", fshd.Reserved2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.checksum = 0x{0:X8}", fshd.Checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.targetID = {0}", fshd.TargetId);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.next_ptr = {0}", fshd.NextPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.flags = 0x{0:X8}", fshd.Flags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.reserved1 = 0x{0:X8}", fshd.Reserved1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.reserved2 = 0x{0:X8}", fshd.Reserved2);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dosType = {0}", AmigaDosTypeToString(fshd.DosType));
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dosType = {0}", AmigaDosTypeToString(fshd.DosType));
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.version = {0:D2}.{1:D2} (0x{2:X8})",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.version = {0:D2}.{1:D2} (0x{2:X8})",
|
||||
(fshd.Version & 0xFFFF0000) >> 16, fshd.Version & 0xFFFF, fshd.Version);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.patchFlags = 0x{0:X8}", fshd.PatchFlags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.patchFlags = 0x{0:X8}", fshd.PatchFlags);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.type = {0}", fshd.Dnode.Type);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.task = {0}", fshd.Dnode.Task);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.locked = {0}", fshd.Dnode.Locked);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.handler = {0}", fshd.Dnode.Handler);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.stackSize = {0}", fshd.Dnode.StackSize);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.priority = {0}", fshd.Dnode.Priority);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.startup = {0}", fshd.Dnode.Startup);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.seglist_ptr = {0}", fshd.Dnode.SeglistPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.type = {0}", fshd.Dnode.Type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.task = {0}", fshd.Dnode.Task);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.locked = {0}", fshd.Dnode.Locked);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.handler = {0}", fshd.Dnode.Handler);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.stackSize = {0}", fshd.Dnode.StackSize);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.priority = {0}", fshd.Dnode.Priority);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.startup = {0}", fshd.Dnode.Startup);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.seglist_ptr = {0}", fshd.Dnode.SeglistPtr);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "FSHD.dnode.global_vec = 0x{0:X8}", fshd.Dnode.GlobalVec);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "FSHD.dnode.global_vec = 0x{0:X8}", fshd.Dnode.GlobalVec);
|
||||
|
||||
nextBlock = fshd.Dnode.SeglistPtr;
|
||||
bool thereAreLoadSegments = false;
|
||||
@@ -679,7 +680,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
|
||||
while(nextBlock != 0xFFFFFFFF)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.Going_to_block_0_in_search_of_a_LoadSegment_block, nextBlock);
|
||||
|
||||
errno = imagePlugin.ReadSector(nextBlock, out sector);
|
||||
@@ -692,7 +693,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
if(magicSeg != LOAD_SEG_MAGIC)
|
||||
break;
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.Found_LoadSegment_block);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Found_LoadSegment_block);
|
||||
|
||||
thereAreLoadSegments = true;
|
||||
|
||||
@@ -708,14 +709,14 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
loadSeg.LoadData = new byte[(loadSeg.Size - 5) * 4];
|
||||
Array.Copy(sector, 0x14, loadSeg.LoadData, 0, (loadSeg.Size - 5) * 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.magic = 0x{0:X8}", loadSeg.Magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "loadSeg.magic = 0x{0:X8}", loadSeg.Magic);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.size = {0} longs, {1} bytes", loadSeg.Size,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "loadSeg.size = {0} longs, {1} bytes", loadSeg.Size,
|
||||
loadSeg.Size * 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.checksum = 0x{0:X8}", loadSeg.Checksum);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.targetID = {0}", loadSeg.TargetId);
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", "loadSeg.next_ptr = {0}", loadSeg.NextPtr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "loadSeg.checksum = 0x{0:X8}", loadSeg.Checksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "loadSeg.targetID = {0}", loadSeg.TargetId);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "loadSeg.next_ptr = {0}", loadSeg.NextPtr);
|
||||
|
||||
segmentEntries.Add(loadSeg);
|
||||
nextBlock = loadSeg.NextPtr;
|
||||
@@ -726,7 +727,7 @@ public sealed class AmigaRigidDiskBlock : IPartition
|
||||
if(thereAreLoadSegments)
|
||||
{
|
||||
string loadSegSha1 = sha1Ctx.End();
|
||||
AaruConsole.DebugWriteLine("Amiga RDB plugin", Localization.LoadSegment_data_SHA1_0, loadSegSha1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.LoadSegment_data_SHA1_0, loadSegSha1);
|
||||
}
|
||||
|
||||
fshdEntries.Add(fshd);
|
||||
|
||||
@@ -50,7 +50,8 @@ namespace Aaru.Partitions;
|
||||
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
||||
public sealed class SGI : IPartition
|
||||
{
|
||||
const int SGI_MAGIC = 0x0BE5A941;
|
||||
const int SGI_MAGIC = 0x0BE5A941;
|
||||
const string MODULE_NAME = "SGI Volume Header plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.SGI_Name;
|
||||
@@ -78,70 +79,70 @@ public sealed class SGI : IPartition
|
||||
for(int i = 0; i < dvh.partitions.Length; i++)
|
||||
dvh.partitions[i] = (Partition)Marshal.SwapStructureMembersEndian(dvh.partitions[i]);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", Localization.dvh_magic_equals_0_X8_should_be_1_X8, dvh.magic,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.dvh_magic_equals_0_X8_should_be_1_X8, dvh.magic,
|
||||
SGI_MAGIC);
|
||||
|
||||
if(dvh.magic != SGI_MAGIC)
|
||||
return false;
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.root_part_num = {0}", dvh.root_part_num);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.swap_part_num = {0}", dvh.swap_part_num);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.root_part_num = {0}", dvh.root_part_num);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.swap_part_num = {0}", dvh.swap_part_num);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.boot_file = \"{0}\"", StringHandlers.CToString(dvh.boot_file));
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.boot_file = \"{0}\"", StringHandlers.CToString(dvh.boot_file));
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_skew = {0}", dvh.device_params.dp_skew);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_gap1 = {0}", dvh.device_params.dp_gap1);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_gap2 = {0}", dvh.device_params.dp_gap2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_skew = {0}", dvh.device_params.dp_skew);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_gap1 = {0}", dvh.device_params.dp_gap1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_gap2 = {0}", dvh.device_params.dp_gap2);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_spares_cyl = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_spares_cyl = {0}",
|
||||
dvh.device_params.dp_spares_cyl);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_cyls = {0}", dvh.device_params.dp_cyls);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_shd0 = {0}", dvh.device_params.dp_shd0);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_trks0 = {0}", dvh.device_params.dp_trks0);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_cyls = {0}", dvh.device_params.dp_cyls);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_shd0 = {0}", dvh.device_params.dp_shd0);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_trks0 = {0}", dvh.device_params.dp_trks0);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_ctq_depth = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_ctq_depth = {0}",
|
||||
dvh.device_params.dp_ctq_depth);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_cylshi = {0}", dvh.device_params.dp_cylshi);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_cylshi = {0}", dvh.device_params.dp_cylshi);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_secs = {0}", dvh.device_params.dp_secs);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_secs = {0}", dvh.device_params.dp_secs);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_secbytes = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_secbytes = {0}",
|
||||
dvh.device_params.dp_secbytes);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_interleave = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_interleave = {0}",
|
||||
dvh.device_params.dp_interleave);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_flags = {0}", dvh.device_params.dp_flags);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_flags = {0}", dvh.device_params.dp_flags);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_datarate = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_datarate = {0}",
|
||||
dvh.device_params.dp_datarate);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_nretries = {0}",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_nretries = {0}",
|
||||
dvh.device_params.dp_nretries);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_mspw = {0}", dvh.device_params.dp_mspw);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_xgap1 = {0}", dvh.device_params.dp_xgap1);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_xsync = {0}", dvh.device_params.dp_xsync);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_xrdly = {0}", dvh.device_params.dp_xrdly);
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_xgap2 = {0}", dvh.device_params.dp_xgap2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_mspw = {0}", dvh.device_params.dp_mspw);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_xgap1 = {0}", dvh.device_params.dp_xgap1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_xsync = {0}", dvh.device_params.dp_xsync);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_xrdly = {0}", dvh.device_params.dp_xrdly);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_xgap2 = {0}", dvh.device_params.dp_xgap2);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_xrgate = {0}", dvh.device_params.dp_xrgate);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_xrgate = {0}", dvh.device_params.dp_xrgate);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.device_params.dp_xwcont = {0}", dvh.device_params.dp_xwcont);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.device_params.dp_xwcont = {0}", dvh.device_params.dp_xwcont);
|
||||
|
||||
ulong counter = 0;
|
||||
|
||||
for(int i = 0; i < dvh.partitions.Length; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.partitions[{0}].num_blocks = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.partitions[{0}].num_blocks = {1}", i,
|
||||
dvh.partitions[i].num_blocks);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.partitions[{0}].first_block = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.partitions[{0}].first_block = {1}", i,
|
||||
dvh.partitions[i].first_block);
|
||||
|
||||
AaruConsole.DebugWriteLine("SGIVH plugin", "dvh.partitions[{0}].type = {1}", i, dvh.partitions[i].type);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dvh.partitions[{0}].type = {1}", i, dvh.partitions[i].type);
|
||||
|
||||
var part = new CommonTypes.Partition
|
||||
{
|
||||
|
||||
@@ -74,6 +74,7 @@ public sealed class SunDisklabel : IPartition
|
||||
(NDKMAP * 8) + (14 * 2) + (2 * 2));
|
||||
const int LEN_DKL_PAD16 = DK_LABEL_SIZE - (456 + // sizeof(dk_vtoc16)
|
||||
(4 * 4) + (12 * 2) + (2 * 2));
|
||||
const string MODULE_NAME = "Sun partitions plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.SunDisklabel_Name;
|
||||
@@ -104,9 +105,9 @@ public sealed class SunDisklabel : IPartition
|
||||
dk_label8 dkl8 = Marshal.ByteArrayToStructureLittleEndian<dk_label8>(sunSector);
|
||||
dk_label16 dkl16 = Marshal.ByteArrayToStructureLittleEndian<dk_label16>(sunSector);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_magic = 0x{0:X4}", dkl.dkl_magic);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_sanity = 0x{0:X8}", dkl8.dkl_vtoc.v_sanity);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_sanity = 0x{0:X8}", dkl16.dkl_vtoc.v_sanity);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_magic = 0x{0:X4}", dkl.dkl_magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_sanity = 0x{0:X8}", dkl8.dkl_vtoc.v_sanity);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_sanity = 0x{0:X8}", dkl16.dkl_vtoc.v_sanity);
|
||||
|
||||
if(dkl.dkl_magic is DKL_MAGIC or DKL_CIGAM)
|
||||
if(dkl16.dkl_vtoc.v_sanity is VTOC_SANE or VTOC_ENAS)
|
||||
@@ -154,33 +155,33 @@ public sealed class SunDisklabel : IPartition
|
||||
{
|
||||
ulong sectorsPerCylinder = (ulong)(dkl.dkl_nsect * dkl.dkl_nhead);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_asciilabel = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_asciilabel = \"{0}\"",
|
||||
StringHandlers.CToString(dkl.dkl_asciilabel));
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_rpm = {0}", dkl.dkl_rpm);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_pcyl = {0}", dkl.dkl_pcyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_apc = {0}", dkl.dkl_apc);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_gap1 = {0}", dkl.dkl_gap1);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_gap2 = {0}", dkl.dkl_gap2);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_intrlv = {0}", dkl.dkl_intrlv);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_ncyl = {0}", dkl.dkl_ncyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_acyl = {0}", dkl.dkl_acyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_nhead = {0}", dkl.dkl_nhead);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_nsect = {0}", dkl.dkl_nsect);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_bhead = {0}", dkl.dkl_bhead);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_ppart = {0}", dkl.dkl_ppart);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_rpm = {0}", dkl.dkl_rpm);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_pcyl = {0}", dkl.dkl_pcyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_apc = {0}", dkl.dkl_apc);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_gap1 = {0}", dkl.dkl_gap1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_gap2 = {0}", dkl.dkl_gap2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_intrlv = {0}", dkl.dkl_intrlv);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_ncyl = {0}", dkl.dkl_ncyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_acyl = {0}", dkl.dkl_acyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_nhead = {0}", dkl.dkl_nhead);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_nsect = {0}", dkl.dkl_nsect);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_bhead = {0}", dkl.dkl_bhead);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_ppart = {0}", dkl.dkl_ppart);
|
||||
|
||||
for(int i = 0; i < NDKMAP; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_map[{0}].dkl_cylno = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_map[{0}].dkl_cylno = {1}", i,
|
||||
dkl.dkl_map[i].dkl_cylno);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_map[{0}].dkl_nblk = {1}", i, dkl.dkl_map[i].dkl_nblk);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_map[{0}].dkl_nblk = {1}", i, dkl.dkl_map[i].dkl_nblk);
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_magic = 0x{0:X4}", dkl.dkl_magic);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl.dkl_cksum = 0x{0:X4}", dkl.dkl_cksum);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "sectorsPerCylinder = {0}", sectorsPerCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_magic = 0x{0:X4}", dkl.dkl_magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl.dkl_cksum = 0x{0:X4}", dkl.dkl_cksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "sectorsPerCylinder = {0}", sectorsPerCylinder);
|
||||
|
||||
for(int i = 0; i < NDKMAP; i++)
|
||||
if(dkl.dkl_map[i].dkl_cylno > 0 &&
|
||||
@@ -208,52 +209,52 @@ public sealed class SunDisklabel : IPartition
|
||||
{
|
||||
ulong sectorsPerCylinder = (ulong)(dkl8.dkl_nsect * dkl8.dkl_nhead);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_asciilabel = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_asciilabel = \"{0}\"",
|
||||
StringHandlers.CToString(dkl8.dkl_asciilabel));
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_version = {0}", dkl8.dkl_vtoc.v_version);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_version = {0}", dkl8.dkl_vtoc.v_version);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_volume = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_volume = \"{0}\"",
|
||||
StringHandlers.CToString(dkl8.dkl_vtoc.v_volume));
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_nparts = {0}", dkl8.dkl_vtoc.v_nparts);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_sanity = 0x{0:X8}", dkl8.dkl_vtoc.v_sanity);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_write_reinstruct = {0}", dkl8.dkl_write_reinstruct);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_read_reinstruct = {0}", dkl8.dkl_read_reinstruct);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_rpm = {0}", dkl8.dkl_rpm);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_pcyl = {0}", dkl8.dkl_pcyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_apc = {0}", dkl8.dkl_apc);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_obs1 = {0}", dkl8.dkl_obs1);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_obs2 = {0}", dkl8.dkl_obs2);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_intrlv = {0}", dkl8.dkl_intrlv);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_ncyl = {0}", dkl8.dkl_ncyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_acyl = {0}", dkl8.dkl_acyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_nhead = {0}", dkl8.dkl_nhead);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_nsect = {0}", dkl8.dkl_nsect);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_obs3 = {0}", dkl8.dkl_obs3);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_obs4 = {0}", dkl8.dkl_obs4);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_nparts = {0}", dkl8.dkl_vtoc.v_nparts);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_sanity = 0x{0:X8}", dkl8.dkl_vtoc.v_sanity);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_write_reinstruct = {0}", dkl8.dkl_write_reinstruct);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_read_reinstruct = {0}", dkl8.dkl_read_reinstruct);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_rpm = {0}", dkl8.dkl_rpm);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_pcyl = {0}", dkl8.dkl_pcyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_apc = {0}", dkl8.dkl_apc);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_obs1 = {0}", dkl8.dkl_obs1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_obs2 = {0}", dkl8.dkl_obs2);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_intrlv = {0}", dkl8.dkl_intrlv);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_ncyl = {0}", dkl8.dkl_ncyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_acyl = {0}", dkl8.dkl_acyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_nhead = {0}", dkl8.dkl_nhead);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_nsect = {0}", dkl8.dkl_nsect);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_obs3 = {0}", dkl8.dkl_obs3);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_obs4 = {0}", dkl8.dkl_obs4);
|
||||
|
||||
for(int i = 0; i < NDKMAP; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_map[{0}].dkl_cylno = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_map[{0}].dkl_cylno = {1}", i,
|
||||
dkl8.dkl_map[i].dkl_cylno);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_map[{0}].dkl_nblk = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_map[{0}].dkl_nblk = {1}", i,
|
||||
dkl8.dkl_map[i].dkl_nblk);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_part[{0}].p_tag = {1} ({2})", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_part[{0}].p_tag = {1} ({2})", i,
|
||||
dkl8.dkl_vtoc.v_part[i].p_tag, (ushort)dkl8.dkl_vtoc.v_part[i].p_tag);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
dkl8.dkl_vtoc.v_part[i].p_flag, (ushort)dkl8.dkl_vtoc.v_part[i].p_flag);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_vtoc.v_timestamp[{0}] = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_vtoc.v_timestamp[{0}] = {1}", i,
|
||||
DateHandlers.UnixToDateTime(dkl8.dkl_vtoc.v_timestamp[i]));
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_magic = 0x{0:X4}", dkl8.dkl_magic);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl8.dkl_cksum = 0x{0:X4}", dkl8.dkl_cksum);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "sectorsPerCylinder = {0}", sectorsPerCylinder);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_magic = 0x{0:X4}", dkl8.dkl_magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl8.dkl_cksum = 0x{0:X4}", dkl8.dkl_cksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "sectorsPerCylinder = {0}", sectorsPerCylinder);
|
||||
|
||||
if(dkl8.dkl_vtoc.v_nparts > NDKMAP)
|
||||
return false;
|
||||
@@ -289,53 +290,53 @@ public sealed class SunDisklabel : IPartition
|
||||
}
|
||||
else
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_sanity = 0x{0:X8}", dkl16.dkl_vtoc.v_sanity);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_version = {0}", dkl16.dkl_vtoc.v_version);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_sanity = 0x{0:X8}", dkl16.dkl_vtoc.v_sanity);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_version = {0}", dkl16.dkl_vtoc.v_version);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_volume = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_volume = \"{0}\"",
|
||||
StringHandlers.CToString(dkl16.dkl_vtoc.v_volume));
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_sectorsz = {0}", dkl16.dkl_vtoc.v_sectorsz);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_nparts = {0}", dkl16.dkl_vtoc.v_nparts);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_sectorsz = {0}", dkl16.dkl_vtoc.v_sectorsz);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_nparts = {0}", dkl16.dkl_vtoc.v_nparts);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_asciilabel = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_asciilabel = \"{0}\"",
|
||||
StringHandlers.CToString(dkl16.dkl_vtoc.v_asciilabel));
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_pcyl = {0}", dkl16.dkl_pcyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_ncyl = {0}", dkl16.dkl_ncyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_acyl = {0}", dkl16.dkl_acyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_bcyl = {0}", dkl16.dkl_bcyl);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_nhead = {0}", dkl16.dkl_nhead);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_nsect = {0}", dkl16.dkl_nsect);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_intrlv = {0}", dkl16.dkl_intrlv);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_skew = {0}", dkl16.dkl_skew);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_apc = {0}", dkl16.dkl_apc);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_rpm = {0}", dkl16.dkl_rpm);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_pcyl = {0}", dkl16.dkl_pcyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_ncyl = {0}", dkl16.dkl_ncyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_acyl = {0}", dkl16.dkl_acyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_bcyl = {0}", dkl16.dkl_bcyl);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_nhead = {0}", dkl16.dkl_nhead);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_nsect = {0}", dkl16.dkl_nsect);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_intrlv = {0}", dkl16.dkl_intrlv);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_skew = {0}", dkl16.dkl_skew);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_apc = {0}", dkl16.dkl_apc);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_rpm = {0}", dkl16.dkl_rpm);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_write_reinstruct = {0}", dkl16.dkl_write_reinstruct);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_write_reinstruct = {0}", dkl16.dkl_write_reinstruct);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_read_reinstruct = {0}", dkl16.dkl_read_reinstruct);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_read_reinstruct = {0}", dkl16.dkl_read_reinstruct);
|
||||
|
||||
for(int i = 0; i < NDKMAP16; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_part[{0}].p_start = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_part[{0}].p_start = {1}", i,
|
||||
dkl16.dkl_vtoc.v_part[i].p_start);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_part[{0}].p_size = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_part[{0}].p_size = {1}", i,
|
||||
dkl16.dkl_vtoc.v_part[i].p_size);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_part[{0}].p_tag = {1} ({2})", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_part[{0}].p_tag = {1} ({2})", i,
|
||||
dkl16.dkl_vtoc.v_part[i].p_tag, (ushort)dkl16.dkl_vtoc.v_part[i].p_tag);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
dkl16.dkl_vtoc.v_part[i].p_flag, (ushort)dkl16.dkl_vtoc.v_part[i].p_flag);
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_vtoc.v_timestamp[{0}] = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_vtoc.v_timestamp[{0}] = {1}", i,
|
||||
DateHandlers.UnixToDateTime(dkl16.dkl_vtoc.v_timestamp[i]));
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_magic = 0x{0:X4}", dkl16.dkl_magic);
|
||||
AaruConsole.DebugWriteLine("Sun plugin", "dkl16.dkl_cksum = 0x{0:X4}", dkl16.dkl_cksum);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_magic = 0x{0:X4}", dkl16.dkl_magic);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "dkl16.dkl_cksum = 0x{0:X4}", dkl16.dkl_cksum);
|
||||
|
||||
if(dkl16.dkl_vtoc.v_nparts > NDKMAP16)
|
||||
return false;
|
||||
@@ -375,7 +376,7 @@ public sealed class SunDisklabel : IPartition
|
||||
|
||||
static dk_label SwapDiskLabel(dk_label label)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Sun plugin", Localization.Swapping_dk_label);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Swapping_dk_label);
|
||||
label = (dk_label)Marshal.SwapStructureMembersEndian(label);
|
||||
|
||||
for(int i = 0; i < label.dkl_map.Length; i++)
|
||||
@@ -386,7 +387,7 @@ public sealed class SunDisklabel : IPartition
|
||||
|
||||
static dk_label8 SwapDiskLabel(dk_label8 label)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Sun plugin", Localization.Swapping_dk_label8);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Swapping_dk_label8);
|
||||
label = (dk_label8)Marshal.SwapStructureMembersEndian(label);
|
||||
|
||||
for(int i = 0; i < label.dkl_map.Length; i++)
|
||||
@@ -412,7 +413,7 @@ public sealed class SunDisklabel : IPartition
|
||||
|
||||
static dk_label16 SwapDiskLabel(dk_label16 label)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("Sun plugin", Localization.Swapping_dk_label16);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Swapping_dk_label16);
|
||||
label = (dk_label16)Marshal.SwapStructureMembersEndian(label);
|
||||
|
||||
for(int i = 0; i < label.dkl_vtoc.v_bootinfo.Length; i++)
|
||||
|
||||
@@ -49,12 +49,13 @@ namespace Aaru.Partitions;
|
||||
[SuppressMessage("ReSharper", "UnusedMember.Local")]
|
||||
public sealed class VTOC : IPartition
|
||||
{
|
||||
const uint PD_MAGIC = 0xCA5E600D;
|
||||
const uint VTOC_SANE = 0x600DDEEE;
|
||||
const uint PD_CIGAM = 0x0D605ECA;
|
||||
const uint VTOC_ENAS = 0xEEDE0D60;
|
||||
const int V_NUMPAR = 16;
|
||||
const uint XPDVERS = 3; /* 1st version of extended pdinfo */
|
||||
const uint PD_MAGIC = 0xCA5E600D;
|
||||
const uint VTOC_SANE = 0x600DDEEE;
|
||||
const uint PD_CIGAM = 0x0D605ECA;
|
||||
const uint VTOC_ENAS = 0xEEDE0D60;
|
||||
const int V_NUMPAR = 16;
|
||||
const uint XPDVERS = 3; /* 1st version of extended pdinfo */
|
||||
const string MODULE_NAME = "UNIX VTOC plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.VTOC_Name;
|
||||
@@ -87,7 +88,7 @@ public sealed class VTOC : IPartition
|
||||
|
||||
magic = BitConverter.ToUInt32(pdsector, 4);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", Localization.sanity_at_0_is_1_X8_should_be_2_X8_or_3_X8,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.sanity_at_0_is_1_X8_should_be_2_X8_or_3_X8,
|
||||
i + sectorOffset, magic, PD_MAGIC, PD_CIGAM);
|
||||
|
||||
if(magic != PD_MAGIC &&
|
||||
@@ -117,49 +118,49 @@ public sealed class VTOC : IPartition
|
||||
pdold = Marshal.ByteArrayToStructureBigEndian<PDInfoOld>(pdsector);
|
||||
}
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.driveid = {0}", pd.driveid);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.driveid = {0}", pd.driveid);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.sanity = 0x{0:X8} (should be 0x{1:X8})", pd.sanity, PD_MAGIC);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.sanity = 0x{0:X8} (should be 0x{1:X8})", pd.sanity, PD_MAGIC);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.version = {0}", pd.version);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.serial = \"{0}\"", StringHandlers.CToString(pd.serial));
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.cyls = {0}", pd.cyls);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.tracks = {0}", pd.tracks);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.sectors = {0}", pd.sectors);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.bytes = {0}", pd.bytes);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.logicalst = {0}", pd.logicalst);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.errlogst = {0}", pd.errlogst);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.errlogsz = {0}", pd.errlogsz);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.mfgst = {0}", pd.mfgst);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.mfgsz = {0}", pd.mfgsz);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.defectst = {0}", pd.defectst);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.defectsz = {0}", pd.defectsz);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.relno = {0}", pd.relno);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.relst = {0}", pd.relst);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.relsz = {0}", pd.relsz);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.relnext = {0}", pd.relnext);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.allcstrt = {0}", pdold.allcstrt);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.allcend = {0}", pdold.allcend);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.vtoc_ptr = {0}", pd.vtoc_ptr);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.vtoc_len = {0}", pd.vtoc_len);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.vtoc_pad = {0}", pd.vtoc_pad);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.alt_ptr = {0}", pd.alt_ptr);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.alt_len = {0}", pd.alt_len);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pcyls = {0}", pd.pcyls);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.ptracks = {0}", pd.ptracks);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.psectors = {0}", pd.psectors);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pbytes = {0}", pd.pbytes);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.secovhd = {0}", pd.secovhd);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.interleave = {0}", pd.interleave);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.skew = {0}", pd.skew);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[0] = {0}", pd.pad[0]);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[1] = {0}", pd.pad[1]);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[2] = {0}", pd.pad[2]);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[3] = {0}", pd.pad[3]);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[4] = {0}", pd.pad[4]);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[5] = {0}", pd.pad[5]);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[6] = {0}", pd.pad[6]);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "pdinfo.pad[7] = {0}", pd.pad[7]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.version = {0}", pd.version);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.serial = \"{0}\"", StringHandlers.CToString(pd.serial));
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.cyls = {0}", pd.cyls);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.tracks = {0}", pd.tracks);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.sectors = {0}", pd.sectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.bytes = {0}", pd.bytes);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.logicalst = {0}", pd.logicalst);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.errlogst = {0}", pd.errlogst);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.errlogsz = {0}", pd.errlogsz);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.mfgst = {0}", pd.mfgst);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.mfgsz = {0}", pd.mfgsz);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.defectst = {0}", pd.defectst);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.defectsz = {0}", pd.defectsz);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.relno = {0}", pd.relno);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.relst = {0}", pd.relst);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.relsz = {0}", pd.relsz);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.relnext = {0}", pd.relnext);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.allcstrt = {0}", pdold.allcstrt);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.allcend = {0}", pdold.allcend);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.vtoc_ptr = {0}", pd.vtoc_ptr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.vtoc_len = {0}", pd.vtoc_len);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.vtoc_pad = {0}", pd.vtoc_pad);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.alt_ptr = {0}", pd.alt_ptr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.alt_len = {0}", pd.alt_len);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pcyls = {0}", pd.pcyls);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.ptracks = {0}", pd.ptracks);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.psectors = {0}", pd.psectors);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pbytes = {0}", pd.pbytes);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.secovhd = {0}", pd.secovhd);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.interleave = {0}", pd.interleave);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.skew = {0}", pd.skew);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[0] = {0}", pd.pad[0]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[1] = {0}", pd.pad[1]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[2] = {0}", pd.pad[2]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[3] = {0}", pd.pad[3]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[4] = {0}", pd.pad[4]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[5] = {0}", pd.pad[5]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[6] = {0}", pd.pad[6]);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "pdinfo.pad[7] = {0}", pd.pad[7]);
|
||||
|
||||
magicFound = false;
|
||||
bool useOld = false;
|
||||
@@ -175,7 +176,7 @@ public sealed class VTOC : IPartition
|
||||
if(magic is VTOC_SANE or VTOC_ENAS)
|
||||
{
|
||||
magicFound = true;
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", Localization.New_VTOC_found_at_0, pdloc + sectorOffset + 1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.New_VTOC_found_at_0, pdloc + sectorOffset + 1);
|
||||
|
||||
if(magic == VTOC_SANE)
|
||||
vtoc = Marshal.ByteArrayToStructureLittleEndian<vtoc>(vtocsector);
|
||||
@@ -203,7 +204,7 @@ public sealed class VTOC : IPartition
|
||||
{
|
||||
magicFound = true;
|
||||
useOld = true;
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Old_VTOC_found_at_0, pdloc + sectorOffset + 1);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Old_VTOC_found_at_0, pdloc + sectorOffset + 1);
|
||||
|
||||
if(magic == VTOC_SANE)
|
||||
vtocOld = Marshal.ByteArrayToStructureLittleEndian<vtocold>(vtocsector);
|
||||
@@ -225,7 +226,7 @@ public sealed class VTOC : IPartition
|
||||
|
||||
if(!magicFound)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Searching_for_VTOC_on_relative_byte_0, pd.vtoc_ptr);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Searching_for_VTOC_on_relative_byte_0, pd.vtoc_ptr);
|
||||
ulong relSecPtr = pd.vtoc_ptr / imagePlugin.Info.SectorSize;
|
||||
uint relSecOff = pd.vtoc_ptr % imagePlugin.Info.SectorSize;
|
||||
uint secCount = (relSecOff + pd.vtoc_len) / imagePlugin.Info.SectorSize;
|
||||
@@ -233,13 +234,13 @@ public sealed class VTOC : IPartition
|
||||
if((relSecOff + pd.vtoc_len) % imagePlugin.Info.SectorSize > 0)
|
||||
secCount++;
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME,
|
||||
Localization.Going_to_read_0_sectors_from_sector_1_getting_VTOC_from_byte_2,
|
||||
secCount, relSecPtr + sectorOffset, relSecOff);
|
||||
|
||||
if(relSecPtr + sectorOffset + secCount >= imagePlugin.Info.Sectors)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Going_to_read_past_device_size_aborting);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Going_to_read_past_device_size_aborting);
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -256,7 +257,7 @@ public sealed class VTOC : IPartition
|
||||
if(magic is VTOC_SANE or VTOC_ENAS)
|
||||
{
|
||||
magicFound = true;
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", Localization.New_VTOC_found);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.New_VTOC_found);
|
||||
|
||||
if(magic == VTOC_SANE)
|
||||
vtoc = Marshal.ByteArrayToStructureLittleEndian<vtoc>(vtocsector);
|
||||
@@ -278,68 +279,68 @@ public sealed class VTOC : IPartition
|
||||
|
||||
if(!magicFound)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", Localization.Cannot_find_VTOC);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, Localization.Cannot_find_VTOC);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if(useOld)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_sanity = 0x{0:X8} (should be 0x{1:X8})",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_sanity = 0x{0:X8} (should be 0x{1:X8})",
|
||||
vtocOld.v_sanity, VTOC_SANE);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_version = {0}", vtocOld.v_version);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_version = {0}", vtocOld.v_version);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_volume = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_volume = \"{0}\"",
|
||||
StringHandlers.CToString(vtocOld.v_volume));
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_sectorsz = {0}", vtocOld.v_sectorsz);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_nparts = {0}", vtocOld.v_nparts);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_sectorsz = {0}", vtocOld.v_sectorsz);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_nparts = {0}", vtocOld.v_nparts);
|
||||
|
||||
for(int i = 0; i < V_NUMPAR; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_part[{0}].p_tag = {1} ({2})", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_part[{0}].p_tag = {1} ({2})", i,
|
||||
vtocOld.v_part[i].p_tag, (ushort)vtocOld.v_part[i].p_tag);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
vtocOld.v_part[i].p_flag, (ushort)vtocOld.v_part[i].p_flag);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_part[{0}].p_start = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_part[{0}].p_start = {1}", i,
|
||||
vtocOld.v_part[i].p_start);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.v_part[{0}].p_size = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.v_part[{0}].p_size = {1}", i,
|
||||
vtocOld.v_part[i].p_size);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtocOld.timestamp[{0}] = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtocOld.timestamp[{0}] = {1}", i,
|
||||
DateHandlers.UnixToDateTime(vtocOld.timestamp[i]));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_sanity = 0x{0:X8} (should be 0x{1:X8})", vtoc.v_sanity,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_sanity = 0x{0:X8} (should be 0x{1:X8})", vtoc.v_sanity,
|
||||
VTOC_SANE);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_version = {0}", vtoc.v_version);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_version = {0}", vtoc.v_version);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_volume = \"{0}\"",
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_volume = \"{0}\"",
|
||||
StringHandlers.CToString(vtoc.v_volume));
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_pad = {0}", vtoc.v_pad);
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_nparts = {0}", vtoc.v_nparts);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_pad = {0}", vtoc.v_pad);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_nparts = {0}", vtoc.v_nparts);
|
||||
|
||||
for(int i = 0; i < V_NUMPAR; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_part[{0}].p_tag = {1} ({2})", i, vtoc.v_part[i].p_tag,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_part[{0}].p_tag = {1} ({2})", i, vtoc.v_part[i].p_tag,
|
||||
(ushort)vtoc.v_part[i].p_tag);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_part[{0}].p_flag = {1} ({2})", i,
|
||||
vtoc.v_part[i].p_flag, (ushort)vtoc.v_part[i].p_flag);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_part[{0}].p_start = {1}", i, vtoc.v_part[i].p_start);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_part[{0}].p_start = {1}", i, vtoc.v_part[i].p_start);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.v_part[{0}].p_size = {1}", i, vtoc.v_part[i].p_size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.v_part[{0}].p_size = {1}", i, vtoc.v_part[i].p_size);
|
||||
|
||||
AaruConsole.DebugWriteLine("VTOC plugin", "vtoc.timestamp[{0}] = {1}", i,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "vtoc.timestamp[{0}] = {1}", i,
|
||||
DateHandlers.UnixToDateTime(vtoc.timestamp[i]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,8 @@ public sealed class XENIX : IPartition
|
||||
const uint XENIX_BSIZE = 1024;
|
||||
|
||||
// Can't find this in any documentation but everything is aligned to this offset (in sectors)
|
||||
const uint XENIX_OFFSET = 977;
|
||||
const uint XENIX_OFFSET = 977;
|
||||
const string MODULE_NAME = "XENIX partitions plugin";
|
||||
|
||||
/// <inheritdoc />
|
||||
public string Name => Localization.XENIX_Name;
|
||||
@@ -74,7 +75,7 @@ public sealed class XENIX : IPartition
|
||||
|
||||
Partable xnxtbl = Marshal.ByteArrayToStructureLittleEndian<Partable>(tblsector);
|
||||
|
||||
AaruConsole.DebugWriteLine("XENIX plugin", "xnxtbl.p_magic = 0x{0:X4} (should be 0x{1:X4})", xnxtbl.p_magic,
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "xnxtbl.p_magic = 0x{0:X4} (should be 0x{1:X4})", xnxtbl.p_magic,
|
||||
PAMAGIC);
|
||||
|
||||
if(xnxtbl.p_magic != PAMAGIC)
|
||||
@@ -82,8 +83,8 @@ public sealed class XENIX : IPartition
|
||||
|
||||
for(int i = 0; i < MAXPARTS; i++)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("XENIX plugin", "xnxtbl.p[{0}].p_off = {1}", i, xnxtbl.p[i].p_off);
|
||||
AaruConsole.DebugWriteLine("XENIX plugin", "xnxtbl.p[{0}].p_size = {1}", i, xnxtbl.p[i].p_size);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "xnxtbl.p[{0}].p_off = {1}", i, xnxtbl.p[i].p_off);
|
||||
AaruConsole.DebugWriteLine(MODULE_NAME, "xnxtbl.p[{0}].p_size = {1}", i, xnxtbl.p[i].p_size);
|
||||
|
||||
if(xnxtbl.p[i].p_size <= 0)
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user