[Aaru.Filesystems] Reformat and cleanup.

This commit is contained in:
2023-10-03 23:22:08 +01:00
parent 51f35c80d9
commit 7a608e0061
296 changed files with 21000 additions and 18286 deletions

View File

@@ -40,6 +40,8 @@ namespace Aaru.Filesystems;
/// <summary>Implements detection of the Locus filesystem</summary>
public sealed partial class RBF : IFilesystem
{
#region IFilesystem Members
/// <inheritdoc />
public bool Identify(IMediaImage imagePlugin, Partition partition)
{
@@ -49,14 +51,11 @@ public sealed partial class RBF : IFilesystem
// Documentation says ID should be sector 0
// I've found that OS-9/X68000 has it on sector 4
// I've read OS-9/Apple2 has it on sector 15
foreach(int i in new[]
{
0, 4, 15
})
foreach(int i in new[] { 0, 4, 15 })
{
ulong location = (ulong)i;
var location = (ulong)i;
uint sbSize = (uint)(Marshal.SizeOf<IdSector>() / imagePlugin.Info.SectorSize);
var sbSize = (uint)(Marshal.SizeOf<IdSector>() / imagePlugin.Info.SectorSize);
if(Marshal.SizeOf<IdSector>() % imagePlugin.Info.SectorSize != 0)
sbSize++;
@@ -100,13 +99,10 @@ public sealed partial class RBF : IFilesystem
var rbfSb = new IdSector();
var rbf9000Sb = new NewIdSector();
foreach(int i in new[]
{
0, 4, 15
})
foreach(int i in new[] { 0, 4, 15 })
{
ulong location = (ulong)i;
uint sbSize = (uint)(Marshal.SizeOf<IdSector>() / imagePlugin.Info.SectorSize);
var location = (ulong)i;
var sbSize = (uint)(Marshal.SizeOf<IdSector>() / imagePlugin.Info.SectorSize);
if(Marshal.SizeOf<IdSector>() % imagePlugin.Info.SectorSize != 0)
sbSize++;
@@ -144,19 +140,21 @@ public sealed partial class RBF : IFilesystem
if(rbf9000Sb.rid_sync == RBF_SYNC)
{
sb.AppendFormat(Localization.Volume_ID_0_X8, rbf9000Sb.rid_diskid).AppendLine();
sb.AppendFormat(Localization._0_blocks_in_volume, rbf9000Sb.rid_totblocks).AppendLine();
sb.AppendFormat(Localization._0_cylinders, rbf9000Sb.rid_cylinders).AppendLine();
sb.AppendFormat(Localization.Volume_ID_0_X8, rbf9000Sb.rid_diskid).AppendLine();
sb.AppendFormat(Localization._0_blocks_in_volume, rbf9000Sb.rid_totblocks).AppendLine();
sb.AppendFormat(Localization._0_cylinders, rbf9000Sb.rid_cylinders).AppendLine();
sb.AppendFormat(Localization._0_blocks_in_cylinder_zero, rbf9000Sb.rid_cyl0size).AppendLine();
sb.AppendFormat(Localization._0_blocks_per_cylinder, rbf9000Sb.rid_cylsize).AppendLine();
sb.AppendFormat(Localization._0_heads, rbf9000Sb.rid_heads).AppendLine();
sb.AppendFormat(Localization._0_bytes_per_block, rbf9000Sb.rid_blocksize).AppendLine();
sb.AppendFormat(Localization._0_blocks_per_cylinder, rbf9000Sb.rid_cylsize).AppendLine();
sb.AppendFormat(Localization._0_heads, rbf9000Sb.rid_heads).AppendLine();
sb.AppendFormat(Localization._0_bytes_per_block, rbf9000Sb.rid_blocksize).AppendLine();
// TODO: Convert to flags?
sb.AppendLine((rbf9000Sb.rid_format & 0x01) == 0x01 ? Localization.Disk_is_double_sided
sb.AppendLine((rbf9000Sb.rid_format & 0x01) == 0x01
? Localization.Disk_is_double_sided
: Localization.Disk_is_single_sided);
sb.AppendLine((rbf9000Sb.rid_format & 0x02) == 0x02 ? Localization.Disk_is_double_density
sb.AppendLine((rbf9000Sb.rid_format & 0x02) == 0x02
? Localization.Disk_is_double_density
: Localization.Disk_is_single_density);
if((rbf9000Sb.rid_format & 0x10) == 0x10)
@@ -172,12 +170,16 @@ public sealed partial class RBF : IFilesystem
rbf9000Sb.rid_bitmap == 0 ? 1 : rbf9000Sb.rid_bitmap).AppendLine();
if(rbf9000Sb.rid_firstboot > 0)
{
sb.AppendFormat(Localization.Debugger_descriptor_starts_at_block_0, rbf9000Sb.rid_firstboot).
AppendLine();
}
if(rbf9000Sb.rid_bootfile > 0)
{
sb.AppendFormat(Localization.Boot_file_descriptor_starts_at_block_0, rbf9000Sb.rid_bootfile).
AppendLine();
}
sb.AppendFormat(Localization.Root_directory_descriptor_starts_at_block_0, rbf9000Sb.rid_rootdir).
AppendLine();
@@ -208,20 +210,22 @@ public sealed partial class RBF : IFilesystem
}
else
{
sb.AppendFormat(Localization.Volume_ID_0_X4, rbfSb.dd_dsk).AppendLine();
sb.AppendFormat(Localization._0_blocks_in_volume, LSNToUInt32(rbfSb.dd_tot)).AppendLine();
sb.AppendFormat(Localization._0_tracks, rbfSb.dd_tks).AppendLine();
sb.AppendFormat(Localization.Volume_ID_0_X4, rbfSb.dd_dsk).AppendLine();
sb.AppendFormat(Localization._0_blocks_in_volume, LSNToUInt32(rbfSb.dd_tot)).AppendLine();
sb.AppendFormat(Localization._0_tracks, rbfSb.dd_tks).AppendLine();
sb.AppendFormat(Localization._0_sectors_per_track, rbfSb.dd_spt).AppendLine();
sb.AppendFormat(Localization._0_bytes_per_sector, 256 << rbfSb.dd_lsnsize).AppendLine();
sb.AppendFormat(Localization._0_bytes_per_sector, 256 << rbfSb.dd_lsnsize).AppendLine();
sb.AppendFormat(Localization._0_sectors_per_cluster_1_bytes, rbfSb.dd_bit,
rbfSb.dd_bit * (256 << rbfSb.dd_lsnsize)).AppendLine();
// TODO: Convert to flags?
sb.AppendLine((rbfSb.dd_fmt & 0x01) == 0x01 ? Localization.Disk_is_double_sided
sb.AppendLine((rbfSb.dd_fmt & 0x01) == 0x01
? Localization.Disk_is_double_sided
: Localization.Disk_is_single_sided);
sb.AppendLine((rbfSb.dd_fmt & 0x02) == 0x02 ? Localization.Disk_is_double_density
sb.AppendLine((rbfSb.dd_fmt & 0x02) == 0x02
? Localization.Disk_is_double_density
: Localization.Disk_is_single_density);
if((rbfSb.dd_fmt & 0x10) == 0x10)
@@ -240,8 +244,10 @@ public sealed partial class RBF : IFilesystem
if(LSNToUInt32(rbfSb.dd_bt) > 0 &&
rbfSb.dd_bsz > 0)
{
sb.AppendFormat(Localization.Boot_file_starts_at_block_0_and_has_1_bytes, LSNToUInt32(rbfSb.dd_bt),
rbfSb.dd_bsz).AppendLine();
}
sb.AppendFormat(Localization.Root_directory_descriptor_starts_at_block_0, LSNToUInt32(rbfSb.dd_dir)).
AppendLine();
@@ -271,4 +277,6 @@ public sealed partial class RBF : IFilesystem
information = sb.ToString();
}
#endregion
}

View File

@@ -35,11 +35,18 @@ namespace Aaru.Filesystems;
/// <summary>Implements detection of the Locus filesystem</summary>
public sealed partial class RBF : IFilesystem
{
const string MODULE_NAME = "RBF plugin";
#region IFilesystem Members
/// <inheritdoc />
public string Name => Localization.RBF_Name;
/// <inheritdoc />
public Guid Id => new("E864E45B-0B52-4D29-A858-7BDFA9199FB2");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
const string MODULE_NAME = "RBF plugin";
#endregion
}

View File

@@ -34,6 +34,8 @@ namespace Aaru.Filesystems;
/// <summary>Implements detection of the Locus filesystem</summary>
public sealed partial class RBF
{
#region Nested type: IdSector
/// <summary>Identification sector. Wherever the sector this resides on, becomes LSN 0.</summary>
[StructLayout(LayoutKind.Sequential, Pack = 1)]
readonly struct IdSector
@@ -88,6 +90,10 @@ public sealed partial class RBF
public readonly ushort dd_versid;
}
#endregion
#region Nested type: NewIdSector
/// <summary>
/// Identification sector. Wherever the sector this resides on, becomes LSN 0. Introduced on OS-9000, this can be
/// big or little endian.
@@ -144,4 +150,6 @@ public sealed partial class RBF
/// <summary>Parity</summary>
public readonly uint rid_parity;
}
#endregion
}