Move to file scoped namespaces.

This commit is contained in:
2022-03-06 13:29:37 +00:00
parent c7178d94c6
commit 3b6091c02c
119 changed files with 38048 additions and 38172 deletions

View File

@@ -33,107 +33,105 @@
using System.Diagnostics.CodeAnalysis;
using System.Runtime.InteropServices;
namespace Aaru.Decoders.Floppy
namespace Aaru.Decoders.Floppy;
// Information from:
// National Semiconductor PC87332VLJ datasheet
// SMsC FDC37C78 datasheet
// Intel 82078 datasheet
// Intel 82077AA datasheet
// Toshiba TC8566AF datasheet
// Fujitsu MB8876A datasheet
// ECMA-147
// ECMA-100
/// <summary>Methods and structures for IBM System 34 floppy decoding</summary>
[SuppressMessage("ReSharper", "InconsistentNaming"), SuppressMessage("ReSharper", "MemberCanBeInternal"),
SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class System34
{
// Information from:
// National Semiconductor PC87332VLJ datasheet
// SMsC FDC37C78 datasheet
// Intel 82078 datasheet
// Intel 82077AA datasheet
// Toshiba TC8566AF datasheet
// Fujitsu MB8876A datasheet
// ECMA-147
// ECMA-100
/// <summary>Methods and structures for IBM System 34 floppy decoding</summary>
[SuppressMessage("ReSharper", "InconsistentNaming"), SuppressMessage("ReSharper", "MemberCanBeInternal"),
SuppressMessage("ReSharper", "MemberCanBePrivate.Global")]
public static class System34
/// <summary>Track format for IBM System 34 floppy Used by IBM PC, Apple Macintosh (high-density only), and a lot others</summary>
public struct Track
{
/// <summary>Track format for IBM System 34 floppy Used by IBM PC, Apple Macintosh (high-density only), and a lot others</summary>
public struct Track
{
/// <summary>Start of track</summary>
public TrackPreamble trackStart;
/// <summary>Track sectors</summary>
public Sector[] sectors;
/// <summary>Undefined size</summary>
public byte[] gap;
}
/// <summary>Start of track</summary>
public TrackPreamble trackStart;
/// <summary>Track sectors</summary>
public Sector[] sectors;
/// <summary>Undefined size</summary>
public byte[] gap;
}
/// <summary>Start of IBM PC MFM floppy track Used by IBM PC, Apple Macintosh (high-density only), and a lot others</summary>
public struct TrackPreamble
{
/// <summary>Gap from index pulse, 80 bytes set to 0x4E</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 80)]
public byte[] gap;
/// <summary>12 bytes set to 0x00</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
public byte[] zero;
/// <summary>3 bytes set to 0xC2</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] ctwo;
/// <summary>Set to <see cref="IBMIdType.IndexMark" /></summary>
public IBMIdType type;
/// <summary>Gap until first sector, 50 bytes to 0x4E</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50)]
public byte[] gap1;
}
/// <summary>Start of IBM PC MFM floppy track Used by IBM PC, Apple Macintosh (high-density only), and a lot others</summary>
public struct TrackPreamble
{
/// <summary>Gap from index pulse, 80 bytes set to 0x4E</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 80)]
public byte[] gap;
/// <summary>12 bytes set to 0x00</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
public byte[] zero;
/// <summary>3 bytes set to 0xC2</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] ctwo;
/// <summary>Set to <see cref="IBMIdType.IndexMark" /></summary>
public IBMIdType type;
/// <summary>Gap until first sector, 50 bytes to 0x4E</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 50)]
public byte[] gap1;
}
/// <summary>Raw demodulated format for IBM System 34 floppies</summary>
public struct Sector
{
/// <summary>Sector address mark</summary>
public AddressMark addressMark;
/// <summary>22 bytes set to 0x4E, set to 0x22 on Commodore 1581</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 22)]
public byte[] innerGap;
/// <summary>Sector data block</summary>
public DataBlock dataBlock;
/// <summary>Variable bytes set to 0x4E, ECMA defines 54</summary>
public byte[] outerGap;
}
/// <summary>Raw demodulated format for IBM System 34 floppies</summary>
public struct Sector
{
/// <summary>Sector address mark</summary>
public AddressMark addressMark;
/// <summary>22 bytes set to 0x4E, set to 0x22 on Commodore 1581</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 22)]
public byte[] innerGap;
/// <summary>Sector data block</summary>
public DataBlock dataBlock;
/// <summary>Variable bytes set to 0x4E, ECMA defines 54</summary>
public byte[] outerGap;
}
/// <summary>Sector address mark for IBM System 34 floppies, contains sync word</summary>
public struct AddressMark
{
/// <summary>12 bytes set to 0</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
public byte[] zero;
/// <summary>3 bytes set to 0xA1</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] aone;
/// <summary>Set to <see cref="IBMIdType.AddressMark" /></summary>
public IBMIdType type;
/// <summary>Track number</summary>
public byte track;
/// <summary>Side number</summary>
public byte side;
/// <summary>Sector number</summary>
public byte sector;
/// <summary>
/// <see cref="IBMSectorSizeCode" />
/// </summary>
public IBMSectorSizeCode sectorSize;
/// <summary>CRC16 from <see cref="aone" /> to end of <see cref="sectorSize" /></summary>
public ushort crc;
}
/// <summary>Sector address mark for IBM System 34 floppies, contains sync word</summary>
public struct AddressMark
{
/// <summary>12 bytes set to 0</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
public byte[] zero;
/// <summary>3 bytes set to 0xA1</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] aone;
/// <summary>Set to <see cref="IBMIdType.AddressMark" /></summary>
public IBMIdType type;
/// <summary>Track number</summary>
public byte track;
/// <summary>Side number</summary>
public byte side;
/// <summary>Sector number</summary>
public byte sector;
/// <summary>
/// <see cref="IBMSectorSizeCode" />
/// </summary>
public IBMSectorSizeCode sectorSize;
/// <summary>CRC16 from <see cref="aone" /> to end of <see cref="sectorSize" /></summary>
public ushort crc;
}
/// <summary>Sector data block for IBM System 34 floppies</summary>
public struct DataBlock
{
/// <summary>12 bytes set to 0</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
public byte[] zero;
/// <summary>3 bytes set to 0xA1</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] aone;
/// <summary>Set to <see cref="IBMIdType.DataMark" /> or to <see cref="IBMIdType.DeletedDataMark" /></summary>
public IBMIdType type;
/// <summary>User data</summary>
public byte[] data;
/// <summary>CRC16 from <see cref="aone" /> to end of <see cref="data" /></summary>
public ushort crc;
}
/// <summary>Sector data block for IBM System 34 floppies</summary>
public struct DataBlock
{
/// <summary>12 bytes set to 0</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 12)]
public byte[] zero;
/// <summary>3 bytes set to 0xA1</summary>
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] aone;
/// <summary>Set to <see cref="IBMIdType.DataMark" /> or to <see cref="IBMIdType.DeletedDataMark" /></summary>
public IBMIdType type;
/// <summary>User data</summary>
public byte[] data;
/// <summary>CRC16 from <see cref="aone" /> to end of <see cref="data" /></summary>
public ushort crc;
}
}