using System.Runtime.InteropServices;
namespace SabreTools.Models.N3DS
{
///
/// The test data is the same one encountered in development DS/DSi cartridges.
///
///
[StructLayout(LayoutKind.Sequential)]
public sealed class TestData
{
///
/// The bytes FF 00 FF 00 AA 55 AA 55.
///
/// 8 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[]? Signature;
///
/// An ascending byte sequence equal to the offset mod 256 (08 09 0A ... FE FF 00 01 ... FF).
///
/// 0x1F8 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x1F8)]
public byte[]? AscendingByteSequence;
///
/// A descending byte sequence equal to 255 minus the offset mod 256 (FF FE FD ... 00 FF DE ... 00).
///
/// 0x200 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x200)]
public byte[]? DescendingByteSequence;
///
/// Filled with 00 (0b00000000) bytes.
///
/// 0x200 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x200)]
public byte[]? Filled00;
///
/// Filled with FF (0b11111111) bytes.
///
/// 0x200 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x200)]
public byte[]? FilledFF;
///
/// Filled with 0F (0b00001111) bytes.
///
/// 0x200 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x200)]
public byte[]? Filled0F;
///
/// Filled with F0 (0b11110000) bytes.
///
/// 0x200 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x200)]
public byte[]? FilledF0;
///
/// Filled with 55 (0b01010101) bytes.
///
/// 0x200 bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x200)]
public byte[]? Filled55;
///
/// Filled with AA (0b10101010) bytes.
///
/// 0x1FF bytes
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 0x1FF)]
public byte[]? FilledAA;
///
/// The final byte is 00 (0b00000000).
///
public byte FinalByte;
}
}