Files
SabreTools.Serialization/SabreTools.Data.Models/AtariLynx/Header.cs
Matt Nadareski 7689c6dd07 Libraries
This change looks dramatic, but it's just separating out the already-split namespaces into separate top-level folders. In theory, every single one could be built into their own Nuget package. `SabreTools.Serialization` still builds the normal Nuget package that is used by all other projects and includes all namespaces.
2026-03-21 16:26:56 -04:00

55 lines
1.4 KiB
C#

namespace SabreTools.Data.Models.AtariLynx
{
/// <summary>
/// Atari Lynx emulator header
/// </summary>
/// <see href="https://github.com/mozzwald/handy-sdl/blob/master/src/handy-0.95/cart.h"/>
public class Header
{
/// <summary>
/// "LYNX"
/// </summary>
/// <remarks>4 bytes</remarks>
public byte[] Magic { get; set; } = new byte[4];
/// <summary>
/// Page size for bank 0
/// </summary>
public ushort Bank0PageSize { get; set; }
/// <summary>
/// Page size for bank 1
/// </summary>
public ushort Bank1PageSize { get; set; }
/// <summary>
/// Header version
/// </summary>
/// <remarks>Must be 0x0001</remarks>
public ushort Version { get; set; }
/// <summary>
/// Game title (Null-padded ASCII)
/// </summary>
/// <remarks>32 bytes</remarks>
public byte[] CartName { get; set; } = new byte[32];
/// <summary>
/// Publisher name
/// </summary>
/// <remarks>16 bytes</remarks>
public byte[] Manufacturer { get; set; } = new byte[16];
/// <summary>
/// Screen rotation
/// </summary>
public Rotation Rotation { get; set; }
/// <summary>
/// Padding
/// </summary>
/// <remarks>5 bytes</remarks>
public byte[] Spare { get; set; } = new byte[5];
}
}