namespace SabreTools.Data.Models.NintendoDisc { /// public class DOLHeader { /// /// Section offsets indicate where each section's data begins relative /// to the start of this header. 0 for unused sections. /// /// /// Big-endian /// Indexes 0-6 are text sections. /// Indexes 7-17 are data sections. /// public uint[] SectionOffsetTable { get; set; } = new uint[18]; /// /// Section address indicates where each section should be copied to by /// the loader as a virtual memory address. 0 for unused sections. /// /// /// Big-endian /// Indexes 0-6 are text sections. /// Indexes 7-17 are data sections. /// public uint[] SectionAddressTable { get; set; } = new uint[18]; /// /// Section lengths indicate the size in bytes of each section. /// 0 for unused sections. /// /// /// Big-endian /// Indexes 0-6 are text sections. /// Indexes 7-17 are data sections. /// public uint[] SectionLengthsTable { get; set; } = new uint[18]; /// /// bss address indicates the start of the zero initialised (bss) range. /// /// Big-endian public uint BSSAddress { get; set; } /// /// bss length indicates the size in bytes of the zero initialised (bss) range. /// /// Big-endian public uint BSSLength { get; set; } /// /// Entry point indicates the virtual memory address of a function to run after /// the DOL has been loaded in order to start the program. /// This function should not return. /// /// Big-endian public uint EntryPoint { get; set; } /// /// Padding /// public byte[] Padding { get; set; } = new byte[0x1C]; } }