mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Move all localizable strings from Aaru.Filesystems project to resources.
This commit is contained in:
@@ -134,10 +134,10 @@ public sealed partial class ISO9660
|
||||
|
||||
while(true)
|
||||
{
|
||||
AaruConsole.DebugWriteLine("ISO9660 plugin", "Processing VD loop no. {0}", counter);
|
||||
AaruConsole.DebugWriteLine("ISO9660 plugin", Localization.Processing_VD_loop_no_0, counter);
|
||||
|
||||
// Seek to Volume Descriptor
|
||||
AaruConsole.DebugWriteLine("ISO9660 plugin", "Reading sector {0}", 16 + counter + partition.Start);
|
||||
AaruConsole.DebugWriteLine("ISO9660 plugin", Localization.Reading_sector_0, 16 + counter + partition.Start);
|
||||
errno = imagePlugin.ReadSector(16 + counter + partition.Start, out byte[] vdSectorTmp);
|
||||
|
||||
if(errno != ErrorNumber.NoError)
|
||||
@@ -178,7 +178,7 @@ public sealed partial class ISO9660
|
||||
{
|
||||
bvd = Marshal.ByteArrayToStructureLittleEndian<BootRecord>(vdSector, hsOff, 2048 - hsOff);
|
||||
|
||||
bootSpec = "Unknown";
|
||||
bootSpec = Localization.Unknown_specification;
|
||||
|
||||
if(Encoding.GetString(bvd.Value.system_id)[..23] == "EL TORITO SPECIFICATION")
|
||||
{
|
||||
@@ -219,7 +219,7 @@ public sealed partial class ISO9660
|
||||
jolietvd = svd;
|
||||
else
|
||||
AaruConsole.WriteLine("ISO9660 plugin",
|
||||
"Found unknown supplementary volume descriptor");
|
||||
Localization.Found_unknown_supplementary_volume_descriptor);
|
||||
}
|
||||
else
|
||||
evd = true;
|
||||
@@ -247,7 +247,7 @@ public sealed partial class ISO9660
|
||||
hsvd == null &&
|
||||
fsvd == null)
|
||||
{
|
||||
information = "ERROR: Could not find primary volume descriptor";
|
||||
information = Localization.ERROR_Could_not_find_primary_volume_descriptor;
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -513,9 +513,9 @@ public sealed partial class ISO9660
|
||||
|
||||
if(refareas.Count > 0)
|
||||
{
|
||||
suspInformation.AppendLine("----------------------------------------");
|
||||
suspInformation.AppendLine("SYSTEM USE SHARING PROTOCOL INFORMATION:");
|
||||
suspInformation.AppendLine("----------------------------------------");
|
||||
suspInformation.AppendLine(Localization.SYSTEM_USE_SHARING_PROTOCOL_INFORMATION_border);
|
||||
suspInformation.AppendLine(Localization.SYSTEM_USE_SHARING_PROTOCOL_INFORMATION);
|
||||
suspInformation.AppendLine(Localization.SYSTEM_USE_SHARING_PROTOCOL_INFORMATION_border);
|
||||
|
||||
counter = 1;
|
||||
|
||||
@@ -529,10 +529,10 @@ public sealed partial class ISO9660
|
||||
string extSrc = Encoding.GetString(erb, Marshal.SizeOf<ReferenceArea>() + er.id_len + er.des_len,
|
||||
er.src_len);
|
||||
|
||||
suspInformation.AppendFormat("Extension: {0}", counter).AppendLine();
|
||||
suspInformation.AppendFormat("\tID: {0}, version {1}", extId, er.ext_ver).AppendLine();
|
||||
suspInformation.AppendFormat("\tDescription: {0}", extDes).AppendLine();
|
||||
suspInformation.AppendFormat("\tSource: {0}", extSrc).AppendLine();
|
||||
suspInformation.AppendFormat(Localization.Extension_0, counter).AppendLine();
|
||||
suspInformation.AppendFormat("\t" + Localization.ID_0_version_1, extId, er.ext_ver).AppendLine();
|
||||
suspInformation.AppendFormat("\t" + Localization.Description_0, extDes).AppendLine();
|
||||
suspInformation.AppendFormat("\t" + Localization.Source_0, extSrc).AppendLine();
|
||||
counter++;
|
||||
}
|
||||
}
|
||||
@@ -546,134 +546,146 @@ public sealed partial class ISO9660
|
||||
Saturn.IPBin? saturn = Saturn.DecodeIPBin(ipbinSector);
|
||||
Dreamcast.IPBin? dreamcast = Dreamcast.DecodeIPBin(ipbinSector);
|
||||
|
||||
string fsFormat;
|
||||
|
||||
if(highSierraInfo)
|
||||
fsFormat = "High Sierra Format";
|
||||
isoMetadata.AppendLine(Localization.High_Sierra_Format_file_system);
|
||||
else if(cdiInfo)
|
||||
fsFormat = "CD-i";
|
||||
isoMetadata.AppendLine(Localization.CD_i_file_system);
|
||||
else
|
||||
fsFormat = "ISO9660";
|
||||
|
||||
isoMetadata.AppendFormat("{0} file system", fsFormat).AppendLine();
|
||||
isoMetadata.AppendLine(Localization.ISO9660_file_system);
|
||||
|
||||
if(xaExtensions)
|
||||
isoMetadata.AppendLine("CD-ROM XA extensions present.");
|
||||
isoMetadata.AppendLine(Localization.CD_ROM_XA_extensions_present);
|
||||
|
||||
if(amiga)
|
||||
isoMetadata.AppendLine("Amiga extensions present.");
|
||||
isoMetadata.AppendLine(Localization.Amiga_extensions_present);
|
||||
|
||||
if(apple)
|
||||
isoMetadata.AppendLine("Apple extensions present.");
|
||||
isoMetadata.AppendLine(Localization.Apple_extensions_present);
|
||||
|
||||
if(jolietvd != null)
|
||||
isoMetadata.AppendLine("Joliet extensions present.");
|
||||
isoMetadata.AppendLine(Localization.Joliet_extensions_present);
|
||||
|
||||
if(susp)
|
||||
isoMetadata.AppendLine("System Use Sharing Protocol present.");
|
||||
isoMetadata.AppendLine(Localization.System_Use_Sharing_Protocol_present);
|
||||
|
||||
if(rrip)
|
||||
isoMetadata.AppendLine("Rock Ridge Interchange Protocol present.");
|
||||
isoMetadata.AppendLine(Localization.Rock_Ridge_Interchange_Protocol_present);
|
||||
|
||||
if(aaip)
|
||||
isoMetadata.AppendLine("Arbitrary Attribute Interchange Protocol present.");
|
||||
isoMetadata.AppendLine(Localization.Arbitrary_Attribute_Interchange_Protocol_present);
|
||||
|
||||
if(ziso)
|
||||
isoMetadata.AppendLine("zisofs compression present.");
|
||||
isoMetadata.AppendLine(Localization.zisofs_compression_present);
|
||||
|
||||
if(evd)
|
||||
isoMetadata.AppendLine("Contains Enhanced Volume Descriptor.");
|
||||
isoMetadata.AppendLine(Localization.Contains_Enhanced_Volume_Descriptor);
|
||||
|
||||
if(vpd)
|
||||
isoMetadata.AppendLine("Contains Volume Partition Descriptor.");
|
||||
isoMetadata.AppendLine(Localization.Contains_Volume_Partition_Descriptor);
|
||||
|
||||
if(bvd != null)
|
||||
isoMetadata.AppendFormat("Disc bootable following {0} specifications.", bootSpec).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Disc_bootable_following_0_specifications, bootSpec).AppendLine();
|
||||
|
||||
if(segaCd != null)
|
||||
{
|
||||
isoMetadata.AppendLine("This is a SegaCD / MegaCD disc.");
|
||||
isoMetadata.AppendLine(Localization.This_is_a_SegaCD_MegaCD_disc);
|
||||
isoMetadata.AppendLine(CD.Prettify(segaCd));
|
||||
}
|
||||
|
||||
if(saturn != null)
|
||||
{
|
||||
isoMetadata.AppendLine("This is a Sega Saturn disc.");
|
||||
isoMetadata.AppendLine(Localization.This_is_a_Sega_Saturn_disc);
|
||||
isoMetadata.AppendLine(Saturn.Prettify(saturn));
|
||||
}
|
||||
|
||||
if(dreamcast != null)
|
||||
{
|
||||
isoMetadata.AppendLine("This is a Sega Dreamcast disc.");
|
||||
isoMetadata.AppendLine(Localization.This_is_a_Sega_Dreamcast_disc);
|
||||
isoMetadata.AppendLine(Dreamcast.Prettify(dreamcast));
|
||||
}
|
||||
|
||||
isoMetadata.AppendFormat("{0}------------------------------", cdiInfo ? "---------------" : "").AppendLine();
|
||||
if(cdiInfo)
|
||||
{
|
||||
isoMetadata.AppendLine(Localization.FILE_STRUCTURE_VOLUME_DESCRIPTOR_INFORMATION_border);
|
||||
isoMetadata.AppendLine(Localization.FILE_STRUCTURE_VOLUME_DESCRIPTOR_INFORMATION);
|
||||
isoMetadata.AppendLine(Localization.FILE_STRUCTURE_VOLUME_DESCRIPTOR_INFORMATION_border);
|
||||
}
|
||||
else
|
||||
{
|
||||
isoMetadata.AppendLine(Localization.VOLUME_DESCRIPTOR_INFORMATION_border);
|
||||
isoMetadata.AppendLine(Localization.VOLUME_DESCRIPTOR_INFORMATION);
|
||||
isoMetadata.AppendLine(Localization.VOLUME_DESCRIPTOR_INFORMATION_border);
|
||||
}
|
||||
|
||||
isoMetadata.AppendFormat("{0}VOLUME DESCRIPTOR INFORMATION:", cdiInfo ? "FILE STRUCTURE " : "").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.System_identifier_0, decodedVd.SystemIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_identifier_0, decodedVd.VolumeIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_set_identifier_0, decodedVd.VolumeSetIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Publisher_identifier_0, decodedVd.PublisherIdentifier).AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("{0}------------------------------", cdiInfo ? "---------------" : "").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Data_preparer_identifier_0, decodedVd.DataPreparerIdentifier).
|
||||
AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("System identifier: {0}", decodedVd.SystemIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat("Volume identifier: {0}", decodedVd.VolumeIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat("Volume set identifier: {0}", decodedVd.VolumeSetIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat("Publisher identifier: {0}", decodedVd.PublisherIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat("Data preparer identifier: {0}", decodedVd.DataPreparerIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat("Application identifier: {0}", decodedVd.ApplicationIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat("Volume creation date: {0}", decodedVd.CreationTime).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Application_identifier_0, decodedVd.ApplicationIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_creation_date_0, decodedVd.CreationTime).AppendLine();
|
||||
|
||||
if(decodedVd.HasModificationTime)
|
||||
isoMetadata.AppendFormat("Volume modification date: {0}", decodedVd.ModificationTime).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_modification_date_0, decodedVd.ModificationTime).AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("Volume has not been modified.").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_has_not_been_modified).AppendLine();
|
||||
|
||||
if(decodedVd.HasExpirationTime)
|
||||
isoMetadata.AppendFormat("Volume expiration date: {0}", decodedVd.ExpirationTime).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_expiration_date_0, decodedVd.ExpirationTime).AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("Volume does not expire.").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_does_not_expire).AppendLine();
|
||||
|
||||
if(decodedVd.HasEffectiveTime)
|
||||
isoMetadata.AppendFormat("Volume effective date: {0}", decodedVd.EffectiveTime).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_effective_date_0, decodedVd.EffectiveTime).AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("Volume has always been effective.").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_has_always_been_effective).AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("Volume has {0} blocks of {1} bytes each", decodedVd.Blocks, decodedVd.BlockSize).
|
||||
AppendLine();
|
||||
isoMetadata.
|
||||
AppendFormat(Localization.Volume_has_0_blocks_of_1_bytes_each, decodedVd.Blocks, decodedVd.BlockSize).
|
||||
AppendLine();
|
||||
|
||||
if(jolietvd != null)
|
||||
{
|
||||
isoMetadata.AppendLine("-------------------------------------");
|
||||
isoMetadata.AppendLine("JOLIET VOLUME DESCRIPTOR INFORMATION:");
|
||||
isoMetadata.AppendLine("-------------------------------------");
|
||||
isoMetadata.AppendFormat("System identifier: {0}", decodedJolietVd.SystemIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat("Volume identifier: {0}", decodedJolietVd.VolumeIdentifier).AppendLine();
|
||||
isoMetadata.AppendLine(Localization.JOLIET_VOLUME_DESCRIPTOR_INFORMATION_border);
|
||||
isoMetadata.AppendLine(Localization.JOLIET_VOLUME_DESCRIPTOR_INFORMATION);
|
||||
isoMetadata.AppendLine(Localization.JOLIET_VOLUME_DESCRIPTOR_INFORMATION_border);
|
||||
isoMetadata.AppendFormat(Localization.System_identifier_0, decodedJolietVd.SystemIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_identifier_0, decodedJolietVd.VolumeIdentifier).AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("Volume set identifier: {0}", decodedJolietVd.VolumeSetIdentifier).AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("Publisher identifier: {0}", decodedJolietVd.PublisherIdentifier).AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("Data preparer identifier: {0}", decodedJolietVd.DataPreparerIdentifier).
|
||||
isoMetadata.AppendFormat(Localization.Volume_set_identifier_0, decodedJolietVd.VolumeSetIdentifier).
|
||||
AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("Application identifier: {0}", decodedJolietVd.ApplicationIdentifier).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Publisher_identifier_0, decodedJolietVd.PublisherIdentifier).
|
||||
AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("Volume creation date: {0}", decodedJolietVd.CreationTime).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Data_preparer_identifier_0, decodedJolietVd.DataPreparerIdentifier).
|
||||
AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat(Localization.Application_identifier_0, decodedJolietVd.ApplicationIdentifier).
|
||||
AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat(Localization.Volume_creation_date_0, decodedJolietVd.CreationTime).AppendLine();
|
||||
|
||||
if(decodedJolietVd.HasModificationTime)
|
||||
isoMetadata.AppendFormat("Volume modification date: {0}", decodedJolietVd.ModificationTime).
|
||||
isoMetadata.AppendFormat(Localization.Volume_modification_date_0, decodedJolietVd.ModificationTime).
|
||||
AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("Volume has not been modified.").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_has_not_been_modified).AppendLine();
|
||||
|
||||
if(decodedJolietVd.HasExpirationTime)
|
||||
isoMetadata.AppendFormat("Volume expiration date: {0}", decodedJolietVd.ExpirationTime).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_expiration_date_0, decodedJolietVd.ExpirationTime).
|
||||
AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("Volume does not expire.").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_does_not_expire).AppendLine();
|
||||
|
||||
if(decodedJolietVd.HasEffectiveTime)
|
||||
isoMetadata.AppendFormat("Volume effective date: {0}", decodedJolietVd.EffectiveTime).AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_effective_date_0, decodedJolietVd.EffectiveTime).
|
||||
AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("Volume has always been effective.").AppendLine();
|
||||
isoMetadata.AppendFormat(Localization.Volume_has_always_been_effective).AppendLine();
|
||||
}
|
||||
|
||||
if(torito != null)
|
||||
@@ -714,60 +726,63 @@ public sealed partial class ISO9660
|
||||
imagePlugin.ReadSectors(initialEntry.load_rba + partition.Start, initialEntry.sector_count,
|
||||
out bootImage);
|
||||
|
||||
isoMetadata.AppendLine("----------------------");
|
||||
isoMetadata.AppendLine("EL TORITO INFORMATION:");
|
||||
isoMetadata.AppendLine("----------------------");
|
||||
isoMetadata.AppendLine(Localization.EL_TORITO_INFORMATION_border);
|
||||
isoMetadata.AppendLine(Localization.EL_TORITO_INFORMATION);
|
||||
isoMetadata.AppendLine(Localization.EL_TORITO_INFORMATION_border);
|
||||
|
||||
isoMetadata.AppendLine("Initial entry:");
|
||||
isoMetadata.AppendFormat("\tDeveloper ID: {0}", Encoding.GetString(valentry.developer_id)).AppendLine();
|
||||
isoMetadata.AppendLine(Localization.Initial_entry);
|
||||
|
||||
isoMetadata.AppendFormat("\t" + Localization.Developer_ID_0, Encoding.GetString(valentry.developer_id)).
|
||||
AppendLine();
|
||||
|
||||
if(initialEntry.bootable == ElToritoIndicator.Bootable)
|
||||
{
|
||||
isoMetadata.AppendFormat("\tBootable on {0}", valentry.platform_id).AppendLine();
|
||||
isoMetadata.AppendFormat("\t" + Localization.Bootable_on_0, valentry.platform_id).AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("\tBootable image starts at sector {0} and runs for {1} sectors",
|
||||
isoMetadata.AppendFormat("\t" + Localization.Bootable_image_starts_at_sector_0_and_runs_for_1_sectors,
|
||||
initialEntry.load_rba, initialEntry.sector_count).AppendLine();
|
||||
|
||||
if(valentry.platform_id == ElToritoPlatform.x86)
|
||||
isoMetadata.AppendFormat("\tBootable image will be loaded at segment {0:X4}h",
|
||||
isoMetadata.AppendFormat("\t" + Localization.Bootable_image_will_be_loaded_at_segment_0,
|
||||
initialEntry.load_seg == 0 ? 0x7C0 : initialEntry.load_seg).AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("\tBootable image will be loaded at 0x{0:X8}",
|
||||
isoMetadata.AppendFormat("\t" + Localization.Bootable_image_will_be_loaded_at_0,
|
||||
(uint)initialEntry.load_seg * 10).AppendLine();
|
||||
|
||||
switch(initialEntry.boot_type)
|
||||
{
|
||||
case ElToritoEmulation.None:
|
||||
isoMetadata.AppendLine("\tImage uses no emulation");
|
||||
isoMetadata.AppendLine("\t" + Localization.Image_uses_no_emulation);
|
||||
|
||||
break;
|
||||
case ElToritoEmulation.Md2Hd:
|
||||
isoMetadata.AppendLine("\tImage emulates a 5.25\" high-density (MD2HD, 1.2Mb) floppy");
|
||||
isoMetadata.AppendLine("\t" + Localization.Image_emulates_a_high_density_MD2HD_floppy);
|
||||
|
||||
break;
|
||||
case ElToritoEmulation.Mf2Hd:
|
||||
isoMetadata.AppendLine("\tImage emulates a 3.5\" high-density (MF2HD, 1.44Mb) floppy");
|
||||
isoMetadata.AppendLine("\t" + Localization.Image_emulates_a_high_density_MF2HD_floppy);
|
||||
|
||||
break;
|
||||
case ElToritoEmulation.Mf2Ed:
|
||||
isoMetadata.AppendLine("\tImage emulates a 3.5\" extra-density (MF2ED, 2.88Mb) floppy");
|
||||
isoMetadata.AppendLine("\t" + Localization.Image_emulates_a_extra_density_MF2ED_floppy);
|
||||
|
||||
break;
|
||||
default:
|
||||
isoMetadata.AppendFormat("\tImage uses unknown emulation type {0}",
|
||||
isoMetadata.AppendFormat("\t" + Localization.Image_uses_unknown_emulation_type_0,
|
||||
(byte)initialEntry.boot_type).AppendLine();
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
isoMetadata.AppendFormat("\tSystem type: 0x{0:X2}", initialEntry.system_type).AppendLine();
|
||||
isoMetadata.AppendFormat("\t" + Localization.System_type_0, initialEntry.system_type).AppendLine();
|
||||
|
||||
if(bootImage != null)
|
||||
isoMetadata.AppendFormat("\tBootable image's SHA1: {0}", Sha1Context.Data(bootImage, out _)).
|
||||
AppendLine();
|
||||
isoMetadata.
|
||||
AppendFormat("\t" + Localization.Bootable_image_SHA1_0, Sha1Context.Data(bootImage, out _)).
|
||||
AppendLine();
|
||||
}
|
||||
else
|
||||
isoMetadata.AppendLine("\tNot bootable");
|
||||
isoMetadata.AppendLine("\t" + Localization.Not_bootable);
|
||||
|
||||
toritoOff += EL_TORITO_ENTRY_SIZE;
|
||||
|
||||
@@ -783,10 +798,11 @@ public sealed partial class ISO9660
|
||||
|
||||
toritoOff += EL_TORITO_ENTRY_SIZE;
|
||||
|
||||
isoMetadata.AppendFormat("Boot section {0}:", sectionCounter);
|
||||
isoMetadata.AppendFormat(Localization.Boot_section_0, sectionCounter);
|
||||
|
||||
isoMetadata.AppendFormat("\tSection ID: {0}", Encoding.GetString(sectionHeader.identifier)).
|
||||
AppendLine();
|
||||
isoMetadata.
|
||||
AppendFormat("\t" + Localization.Section_ID_0, Encoding.GetString(sectionHeader.identifier)).
|
||||
AppendLine();
|
||||
|
||||
for(int entryCounter = 1; entryCounter <= sectionHeader.entries && toritoOff < vdSector.Length;
|
||||
entryCounter++)
|
||||
@@ -797,7 +813,7 @@ public sealed partial class ISO9660
|
||||
|
||||
toritoOff += EL_TORITO_ENTRY_SIZE;
|
||||
|
||||
isoMetadata.AppendFormat("\tEntry {0}:", entryCounter);
|
||||
isoMetadata.AppendFormat("\t" + Localization.Entry_0, entryCounter);
|
||||
|
||||
if(sectionEntry.bootable == ElToritoIndicator.Bootable)
|
||||
{
|
||||
@@ -807,66 +823,69 @@ public sealed partial class ISO9660
|
||||
imagePlugin.ReadSectors(sectionEntry.load_rba + partition.Start, sectionEntry.sector_count,
|
||||
out bootImage);
|
||||
|
||||
isoMetadata.AppendFormat("\t\tBootable on {0}", sectionHeader.platform_id).AppendLine();
|
||||
isoMetadata.AppendFormat("\t\t" + Localization.Bootable_on_0, sectionHeader.platform_id).
|
||||
AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("\t\tBootable image starts at sector {0} and runs for {1} sectors",
|
||||
sectionEntry.load_rba, sectionEntry.sector_count).AppendLine();
|
||||
isoMetadata.
|
||||
AppendFormat("\t\t" + Localization.Bootable_image_starts_at_sector_0_and_runs_for_1_sectors,
|
||||
sectionEntry.load_rba, sectionEntry.sector_count).AppendLine();
|
||||
|
||||
if(valentry.platform_id == ElToritoPlatform.x86)
|
||||
isoMetadata.AppendFormat("\t\tBootable image will be loaded at segment {0:X4}h",
|
||||
isoMetadata.AppendFormat("\t\t" + Localization.Bootable_image_will_be_loaded_at_segment_0,
|
||||
sectionEntry.load_seg == 0 ? 0x7C0 : sectionEntry.load_seg).
|
||||
AppendLine();
|
||||
else
|
||||
isoMetadata.AppendFormat("\t\tBootable image will be loaded at 0x{0:X8}",
|
||||
isoMetadata.AppendFormat("\t\t" + Localization.Bootable_image_will_be_loaded_at_0,
|
||||
(uint)sectionEntry.load_seg * 10).AppendLine();
|
||||
|
||||
switch((ElToritoEmulation)((byte)sectionEntry.boot_type & 0xF))
|
||||
{
|
||||
case ElToritoEmulation.None:
|
||||
isoMetadata.AppendLine("\t\tImage uses no emulation");
|
||||
isoMetadata.AppendLine("\t\t" + Localization.Image_uses_no_emulation);
|
||||
|
||||
break;
|
||||
case ElToritoEmulation.Md2Hd:
|
||||
isoMetadata.
|
||||
AppendLine("\t\tImage emulates a 5.25\" high-density (MD2HD, 1.2Mb) floppy");
|
||||
isoMetadata.AppendLine("\t\t" + Localization.
|
||||
Image_emulates_a_high_density_MD2HD_floppy);
|
||||
|
||||
break;
|
||||
case ElToritoEmulation.Mf2Hd:
|
||||
isoMetadata.
|
||||
AppendLine("\t\tImage emulates a 3.5\" high-density (MF2HD, 1.44Mb) floppy");
|
||||
isoMetadata.AppendLine("\t\t" + Localization.
|
||||
Image_emulates_a_high_density_MF2HD_floppy);
|
||||
|
||||
break;
|
||||
case ElToritoEmulation.Mf2Ed:
|
||||
isoMetadata.
|
||||
AppendLine("\t\tImage emulates a 3.5\" extra-density (MF2ED, 2.88Mb) floppy");
|
||||
isoMetadata.AppendLine("\t\t" + Localization.
|
||||
Image_emulates_a_extra_density_MF2ED_floppy);
|
||||
|
||||
break;
|
||||
default:
|
||||
isoMetadata.AppendFormat("\t\tImage uses unknown emulation type {0}",
|
||||
isoMetadata.AppendFormat("\t\t" + Localization.Image_uses_unknown_emulation_type_0,
|
||||
(byte)initialEntry.boot_type).AppendLine();
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
isoMetadata.AppendFormat("\t\tSelection criteria type: {0}",
|
||||
isoMetadata.AppendFormat("\t\t" + Localization.Selection_criteria_type_0,
|
||||
sectionEntry.selection_criteria_type).AppendLine();
|
||||
|
||||
isoMetadata.AppendFormat("\t\tSystem type: 0x{0:X2}", sectionEntry.system_type).AppendLine();
|
||||
isoMetadata.AppendFormat("\t\t" + Localization.System_type_0, sectionEntry.system_type).
|
||||
AppendLine();
|
||||
|
||||
if(bootImage != null)
|
||||
isoMetadata.AppendFormat("\t\tBootable image's SHA1: {0}",
|
||||
isoMetadata.AppendFormat("\t\t" + Localization.Bootable_image_SHA1_0,
|
||||
Sha1Context.Data(bootImage, out _)).AppendLine();
|
||||
}
|
||||
else
|
||||
isoMetadata.AppendLine("\t\tNot bootable");
|
||||
isoMetadata.AppendLine("\t\t" + Localization.Not_bootable);
|
||||
|
||||
var flags = (ElToritoFlags)((byte)sectionEntry.boot_type & 0xF0);
|
||||
|
||||
if(flags.HasFlag(ElToritoFlags.ATAPI))
|
||||
isoMetadata.AppendLine("\t\tImage contains ATAPI drivers");
|
||||
isoMetadata.AppendLine("\t\t" + Localization.Image_contains_ATAPI_drivers);
|
||||
|
||||
if(flags.HasFlag(ElToritoFlags.SCSI))
|
||||
isoMetadata.AppendLine("\t\tImage contains SCSI drivers");
|
||||
isoMetadata.AppendLine("\t\t" + Localization.Image_contains_SCSI_drivers);
|
||||
|
||||
if(!flags.HasFlag(ElToritoFlags.Continued))
|
||||
continue;
|
||||
@@ -894,7 +913,12 @@ public sealed partial class ISO9660
|
||||
if(refareas.Count > 0)
|
||||
isoMetadata.Append(suspInformation);
|
||||
|
||||
XmlFsType.Type = fsFormat;
|
||||
if(_highSierra)
|
||||
XmlFsType.Type = FS_TYPE_HSF;
|
||||
else if(_cdi)
|
||||
XmlFsType.Type = FS_TYPE_CDI;
|
||||
else
|
||||
XmlFsType.Type = FS_TYPE_ISO;
|
||||
|
||||
if(jolietvd != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user