Replace old bigendian marshaller with new one.

This commit is contained in:
2025-10-21 11:43:05 +01:00
parent 061669a255
commit 39f4ca2998
68 changed files with 188 additions and 336 deletions

View File

@@ -103,7 +103,7 @@ public partial class AtariLynx : IByteAddressableImage
MetadataMediaType = MetadataMediaType.LinearMedia
};
HandyHeader header = Marshal.ByteArrayToStructureBigEndianGenerated<HandyHeader>(headerBytes, 0, 64);
HandyHeader header = Marshal.ByteArrayToStructureBigEndian<HandyHeader>(headerBytes, 0, 64);
if(header.Version != 256) return ErrorNumber.NotSupported;

View File

@@ -99,7 +99,7 @@ public partial class GameBoy : IByteAddressableImage
MetadataMediaType = MetadataMediaType.LinearMedia
};
Header header = Marshal.ByteArrayToStructureBigEndianGenerated<Header>(_data, 0x100, Marshal.SizeOf<Header>());
Header header = Marshal.ByteArrayToStructureBigEndian<Header>(_data, 0x100, Marshal.SizeOf<Header>());
var name = new byte[(header.Name[^1] & 0x80) == 0x80 ? 15 : 16];
Array.Copy(header.Name, 0, name, 0, name.Length);
@@ -265,7 +265,7 @@ public partial class GameBoy : IByteAddressableImage
return ErrorNumber.NotOpened;
}
Header header = Marshal.ByteArrayToStructureBigEndianGenerated<Header>(_data, 0x100, Marshal.SizeOf<Header>());
Header header = Marshal.ByteArrayToStructureBigEndian<Header>(_data, 0x100, Marshal.SizeOf<Header>());
var hasMapper = false;
var hasSaveRam = false;

View File

@@ -98,7 +98,7 @@ public partial class GameBoyAdvance : IByteAddressableImage
MetadataMediaType = MetadataMediaType.LinearMedia
};
Header header = Marshal.ByteArrayToStructureBigEndianGenerated<Header>(_data, 0, Marshal.SizeOf<Header>());
Header header = Marshal.ByteArrayToStructureBigEndian<Header>(_data, 0, Marshal.SizeOf<Header>());
_imageInfo.MediaTitle = StringHandlers.CToString(header.Name);

View File

@@ -140,7 +140,7 @@ public partial class MasterSystem : IByteAddressableImage
};
Header header =
Marshal.ByteArrayToStructureBigEndianGenerated<Header>(_data, headerPosition, Marshal.SizeOf<Header>());
Marshal.ByteArrayToStructureBigEndian<Header>(_data, headerPosition, Marshal.SizeOf<Header>());
var sb = new StringBuilder();

View File

@@ -207,7 +207,7 @@ public partial class Nintendo64 : IByteAddressableImage
_data = tmp;
}
Header header = Marshal.ByteArrayToStructureBigEndianGenerated<Header>(_data, 0, Marshal.SizeOf<Header>());
Header header = Marshal.ByteArrayToStructureBigEndian<Header>(_data, 0, Marshal.SizeOf<Header>());
Encoding encoding;
try
@@ -306,7 +306,7 @@ public partial class Nintendo64 : IByteAddressableImage
LinearMemoryType saveType = LinearMemoryType.Unknown;
ulong saveLength = 0;
Header header = Marshal.ByteArrayToStructureBigEndianGenerated<Header>(_data, 0, Marshal.SizeOf<Header>());
Header header = Marshal.ByteArrayToStructureBigEndian<Header>(_data, 0, Marshal.SizeOf<Header>());
switch((char)header.CartridgeType)
{

View File

@@ -225,7 +225,7 @@ public partial class SegaMegaDrive : IByteAddressableImage
}
SegaHeader header =
Marshal.ByteArrayToStructureBigEndianGenerated<SegaHeader>(_data, 0x100, Marshal.SizeOf<SegaHeader>());
Marshal.ByteArrayToStructureBigEndian<SegaHeader>(_data, 0x100, Marshal.SizeOf<SegaHeader>());
Encoding encoding;
@@ -540,7 +540,7 @@ public partial class SegaMegaDrive : IByteAddressableImage
}
SegaHeader header =
Marshal.ByteArrayToStructureBigEndianGenerated<SegaHeader>(_data, 0x100, Marshal.SizeOf<SegaHeader>());
Marshal.ByteArrayToStructureBigEndian<SegaHeader>(_data, 0x100, Marshal.SizeOf<SegaHeader>());
bool extraRam = header.ExtraRamPresent[0] == 0x52 && header.ExtraRamPresent[1] == 0x41;

View File

@@ -108,7 +108,7 @@ public sealed partial class Chd
case 3:
var entryBytes = new byte[16];
Array.Copy(_hunkMap, (int)(hunkNo * 16), entryBytes, 0, 16);
MapEntryV3 entry = Marshal.ByteArrayToStructureBigEndianGenerated<MapEntryV3>(entryBytes);
MapEntryV3 entry = Marshal.ByteArrayToStructureBigEndian<MapEntryV3>(entryBytes);
switch((EntryFlagsV3)(entry.flags & 0x0F))
{

View File

@@ -84,7 +84,7 @@ public sealed partial class Chd
{
case 1:
{
HeaderV1 hdrV1 = Marshal.ByteArrayToStructureBigEndianGenerated<HeaderV1>(buffer);
HeaderV1 hdrV1 = Marshal.ByteArrayToStructureBigEndian<HeaderV1>(buffer);
AaruLogging.Debug(MODULE_NAME, "hdrV1.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV1.tag));
@@ -159,7 +159,7 @@ public sealed partial class Chd
case 2:
{
HeaderV2 hdrV2 = Marshal.ByteArrayToStructureBigEndianGenerated<HeaderV2>(buffer);
HeaderV2 hdrV2 = Marshal.ByteArrayToStructureBigEndian<HeaderV2>(buffer);
AaruLogging.Debug(MODULE_NAME, "hdrV2.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV2.tag));
@@ -237,7 +237,7 @@ public sealed partial class Chd
case 3:
{
HeaderV3 hdrV3 = Marshal.ByteArrayToStructureBigEndianGenerated<HeaderV3>(buffer);
HeaderV3 hdrV3 = Marshal.ByteArrayToStructureBigEndian<HeaderV3>(buffer);
AaruLogging.Debug(MODULE_NAME, "hdrV3.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV3.tag));
@@ -293,7 +293,7 @@ public sealed partial class Chd
case 4:
{
HeaderV4 hdrV4 = Marshal.ByteArrayToStructureBigEndianGenerated<HeaderV4>(buffer);
HeaderV4 hdrV4 = Marshal.ByteArrayToStructureBigEndian<HeaderV4>(buffer);
AaruLogging.Debug(MODULE_NAME, "hdrV4.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV4.tag));
@@ -348,7 +348,7 @@ public sealed partial class Chd
return ErrorNumber.NotImplemented;
HeaderV5 hdrV5 = Marshal.ByteArrayToStructureBigEndianGenerated<HeaderV5>(buffer);
HeaderV5 hdrV5 = Marshal.ByteArrayToStructureBigEndian<HeaderV5>(buffer);
AaruLogging.Debug(MODULE_NAME, "hdrV5.tag = \"{0}\"", Encoding.ASCII.GetString(hdrV5.tag));
@@ -477,7 +477,7 @@ public sealed partial class Chd
var hdrBytes = new byte[16];
stream.Seek((long)nextMetaOff, SeekOrigin.Begin);
stream.EnsureRead(hdrBytes, 0, hdrBytes.Length);
MetadataHeader header = Marshal.ByteArrayToStructureBigEndianGenerated<MetadataHeader>(hdrBytes);
MetadataHeader header = Marshal.ByteArrayToStructureBigEndian<MetadataHeader>(hdrBytes);
var meta = new byte[header.flagsAndLength & 0xFFFFFF];
stream.EnsureRead(meta, 0, meta.Length);

View File

@@ -51,7 +51,7 @@ public sealed partial class Dart
var headerB = new byte[Marshal.SizeOf<Header>()];
stream.EnsureRead(headerB, 0, Marshal.SizeOf<Header>());
Header header = Marshal.ByteArrayToStructureBigEndianGenerated<Header>(headerB);
Header header = Marshal.ByteArrayToStructureBigEndian<Header>(headerB);
if(header.srcCmp > COMPRESS_NONE) return false;

View File

@@ -61,7 +61,7 @@ public sealed partial class Dart
var headerB = new byte[Marshal.SizeOf<Header>()];
stream.EnsureRead(headerB, 0, Marshal.SizeOf<Header>());
Header header = Marshal.ByteArrayToStructureBigEndianGenerated<Header>(headerB);
Header header = Marshal.ByteArrayToStructureBigEndian<Header>(headerB);
if(header.srcCmp > COMPRESS_NONE) return ErrorNumber.NotSupported;

View File

@@ -66,7 +66,7 @@ public sealed partial class DiscFerret
var blk = new byte[Marshal.SizeOf<BlockHeader>()];
stream.EnsureRead(blk, 0, Marshal.SizeOf<BlockHeader>());
BlockHeader blockHeader = Marshal.ByteArrayToStructureBigEndianGenerated<BlockHeader>(blk);
BlockHeader blockHeader = Marshal.ByteArrayToStructureBigEndian<BlockHeader>(blk);
AaruLogging.Debug(MODULE_NAME, "block@{0}.cylinder = {1}", thisOffset, blockHeader.cylinder);

View File

@@ -85,7 +85,7 @@ public sealed partial class Ndif
{
if(bcem.Length < 128) return ErrorNumber.InvalidArgument;
_header = Marshal.ByteArrayToStructureBigEndianGenerated<ChunkHeader>(bcem);
_header = Marshal.ByteArrayToStructureBigEndian<ChunkHeader>(bcem);
AaruLogging.Debug(MODULE_NAME, "footer.type = {0}", _header.version);
AaruLogging.Debug(MODULE_NAME, "footer.driver = {0}", _header.driver);

View File

@@ -50,7 +50,7 @@ public sealed partial class Qcow
var qHdrB = new byte[48];
stream.EnsureRead(qHdrB, 0, 48);
_qHdr = Marshal.SpanToStructureBigEndianGenerated<Header>(qHdrB);
_qHdr = Marshal.SpanToStructureBigEndian<Header>(qHdrB);
return _qHdr is { magic: QCOW_MAGIC, version: QCOW_VERSION };
}

View File

@@ -59,7 +59,7 @@ public sealed partial class Qcow
var qHdrB = new byte[48];
stream.EnsureRead(qHdrB, 0, 48);
_qHdr = Marshal.SpanToStructureBigEndianGenerated<Header>(qHdrB);
_qHdr = Marshal.SpanToStructureBigEndian<Header>(qHdrB);
AaruLogging.Debug(MODULE_NAME, "qHdr.magic = 0x{0:X8}", _qHdr.magic);
AaruLogging.Debug(MODULE_NAME, "qHdr.version = {0}", _qHdr.version);

View File

@@ -51,7 +51,7 @@ public sealed partial class Qcow2
var qHdrB = new byte[Marshal.SizeOf<Header>()];
stream.EnsureRead(qHdrB, 0, Marshal.SizeOf<Header>());
_qHdr = Marshal.SpanToStructureBigEndianGenerated<Header>(qHdrB);
_qHdr = Marshal.SpanToStructureBigEndian<Header>(qHdrB);
AaruLogging.Debug(MODULE_NAME, "qHdr.magic = 0x{0:X8}", _qHdr.magic);
AaruLogging.Debug(MODULE_NAME, "qHdr.version = {0}", _qHdr.version);

View File

@@ -59,7 +59,7 @@ public sealed partial class Qcow2
var qHdrB = new byte[Marshal.SizeOf<Header>()];
stream.EnsureRead(qHdrB, 0, Marshal.SizeOf<Header>());
_qHdr = Marshal.SpanToStructureBigEndianGenerated<Header>(qHdrB);
_qHdr = Marshal.SpanToStructureBigEndian<Header>(qHdrB);
AaruLogging.Debug(MODULE_NAME, "qHdr.magic = 0x{0:X8}", _qHdr.magic);
AaruLogging.Debug(MODULE_NAME, "qHdr.version = {0}", _qHdr.version);

View File

@@ -51,7 +51,7 @@ public sealed partial class Udif
var footerB = new byte[Marshal.SizeOf<Footer>()];
stream.EnsureRead(footerB, 0, Marshal.SizeOf<Footer>());
_footer = Marshal.ByteArrayToStructureBigEndianGenerated<Footer>(footerB);
_footer = Marshal.ByteArrayToStructureBigEndian<Footer>(footerB);
if(_footer.signature == UDIF_SIGNATURE) return true;
@@ -60,7 +60,7 @@ public sealed partial class Udif
var headerB = new byte[Marshal.SizeOf<Footer>()];
stream.EnsureRead(headerB, 0, Marshal.SizeOf<Footer>());
_footer = Marshal.ByteArrayToStructureBigEndianGenerated<Footer>(headerB);
_footer = Marshal.ByteArrayToStructureBigEndian<Footer>(headerB);
return _footer.signature == UDIF_SIGNATURE;
}

View File

@@ -65,7 +65,7 @@ public sealed partial class Udif
var footerB = new byte[Marshal.SizeOf<Footer>()];
stream.EnsureRead(footerB, 0, Marshal.SizeOf<Footer>());
_footer = Marshal.ByteArrayToStructureBigEndianGenerated<Footer>(footerB);
_footer = Marshal.ByteArrayToStructureBigEndian<Footer>(footerB);
if(_footer.signature != UDIF_SIGNATURE)
{
@@ -73,7 +73,7 @@ public sealed partial class Udif
footerB = new byte[Marshal.SizeOf<Footer>()];
stream.EnsureRead(footerB, 0, Marshal.SizeOf<Footer>());
_footer = Marshal.ByteArrayToStructureBigEndianGenerated<Footer>(footerB);
_footer = Marshal.ByteArrayToStructureBigEndian<Footer>(footerB);
if(_footer.signature != UDIF_SIGNATURE)
{
@@ -335,7 +335,7 @@ public sealed partial class Udif
{
var bHdrB = new byte[Marshal.SizeOf<BlockHeader>()];
Array.Copy(blkxBytes, 0, bHdrB, 0, Marshal.SizeOf<BlockHeader>());
BlockHeader bHdr = Marshal.ByteArrayToStructureBigEndianGenerated<BlockHeader>(bHdrB);
BlockHeader bHdr = Marshal.ByteArrayToStructureBigEndian<BlockHeader>(bHdrB);
AaruLogging.Debug(MODULE_NAME, "bHdr.signature = 0x{0:X8}", bHdr.signature);
AaruLogging.Debug(MODULE_NAME, "bHdr.version = {0}", bHdr.version);
@@ -371,7 +371,7 @@ public sealed partial class Udif
0,
Marshal.SizeOf<BlockChunk>());
BlockChunk bChnk = Marshal.ByteArrayToStructureBigEndianGenerated<BlockChunk>(bChnkB);
BlockChunk bChnk = Marshal.ByteArrayToStructureBigEndian<BlockChunk>(bChnkB);
AaruLogging.Debug(MODULE_NAME, "bHdr.chunk[{0}].type = 0x{1:X8}", i, bChnk.type);
AaruLogging.Debug(MODULE_NAME, "bHdr.chunk[{0}].comment = {1}", i, bChnk.comment);