NdsForge.NET 1.0.1
Read, validate, edit, compare, and build Nintendo DS and DSi images from .NET
Loading...
Searching...
No Matches
NdsForge.NdsHeader Class Referencesealed

Projects the common cartridge header into typed fields while retaining every byte needed for lossless work. More...

Properties

ReadOnlyMemory< byte > RawData [get]
 Preserves reserved and currently unmodeled fields for byte-exact extraction and copy-on-write editing.
string Title [get]
 Decodes the padded 12-byte ASCII label shown by low-level cartridge inspection tools.
string GameCode [get]
 Decodes the four-byte product code used for title identity, region suffixes, and encryption derivation.
string MakerCode [get]
 Decodes the two-byte publisher identifier; Nintendo-authored retail images commonly use 01.
NdsImageKind Kind [get]
 Interprets unit code 0, 2, or 3 as DS, DSi-enhanced, or DSi-exclusive.
byte EncryptionSeedSelect [get]
 Preserves the raw seed-selection byte consumed by cartridge secure-area protocols.
byte DeviceCapacityExponent [get]
 Stores the power-of-two exponent that scales the 128 KiB base cartridge capacity.
long DeviceCapacityBytes [get]
 Computes the nominal power-of-two cartridge capacity independently from physical or used image length.
byte DsiFlags [get]
 Preserves the DSi flags at offset 0x1C; DS-only software normally leaves them zero.
byte RegionCode [get]
 Preserves the header's region byte, whose defined interpretation depends on DS versus DSi mode.
byte Version [get]
 Exposes the publisher-controlled one-byte software revision rather than the banner or format version.
byte AutoStart [get]
 Preserves the boot-control byte at offset 0x1F, including reserved bits for lossless rewriting.
NdsProgram Arm9 [get]
 Locates the primary processor payload and its entry/load addresses from header offsets 0x20-0x2F.
NdsProgram Arm7 [get]
 Locates the secondary processor payload and its entry/load addresses from header offsets 0x30-0x3F.
NdsProgramArm9i [get]
 Locates the DSi-mode ARM9i payload when the unit code selects an extended header.
NdsProgramArm7i [get]
 Locates the DSi-mode ARM7i payload when the unit code selects an extended header.
NdsDsiHeaderDsi [get]
 Gets the extended DSi header, or null for DS-only images.
NdsRegion FileNameTable [get]
 Locates the FNT main records and name subtables that give FAT identifiers a hierarchy and names.
NdsRegion FileAllocationTable [get]
 Locates the flat array of eight-byte start/end records used by NitroFS files and overlays.
NdsRegion Arm9OverlayTable [get]
 Locates fixed 32-byte records describing dynamically loaded ARM9 code and their FAT payload IDs.
NdsRegion Arm7OverlayTable [get]
 Locates fixed 32-byte records describing dynamically loaded ARM7 code and their FAT payload IDs.
uint NormalCardControl [get]
 Preserves the raw ROM-control timing word used for ordinary cartridge transfers.
uint SecureCardControl [get]
 Preserves the raw ROM-control timing word used during secure-area cartridge transfers.
uint BannerOffset [get]
 Gets the banner offset, or zero when no banner is present.
ushort SecureAreaCrc [get]
 Contains the header's CRC16 for the secure area; interpretation requires secure-area encryption state.
ushort SecureTransferTimeout [get]
 Preserves the cartridge-transfer timeout value used while accessing the secure area.
uint Arm9AutoLoad [get]
 Identifies the ARM9 SDK autoload-list address used by the runtime initialization process.
uint Arm7AutoLoad [get]
 Identifies the ARM7 SDK autoload-list address used by the runtime initialization process.
ulong SecureDisable [get]
 Combines the two header words forming the raw 64-bit secure-area disable token.
uint UsedImageSize [get]
 Reports the builder-declared meaningful end of image, excluding optional capacity padding.
uint HeaderSize [get]
 Reports the header byte count claimed on cartridge, commonly 0x4000 despite a smaller parsed prefix.
ushort NintendoLogoCrc [get]
 Contains the CRC16 protecting the 156-byte Nintendo logo at header offset 0xC0.
ushort HeaderCrc [get]
 Contains the CRC16 over bytes 0x000-0x15D, excluding this field itself.

Detailed Description

Projects the common cartridge header into typed fields while retaining every byte needed for lossless work.

Definition at line 4 of file NdsHeader.cs.

Property Documentation

◆ Arm7

NdsProgram NdsForge.NdsHeader.Arm7
get

Locates the secondary processor payload and its entry/load addresses from header offsets 0x30-0x3F.

Definition at line 89 of file NdsHeader.cs.

◆ Arm7AutoLoad

uint NdsForge.NdsHeader.Arm7AutoLoad
get

Identifies the ARM7 SDK autoload-list address used by the runtime initialization process.

Definition at line 131 of file NdsHeader.cs.

◆ Arm7i

NdsProgram? NdsForge.NdsHeader.Arm7i
get

Locates the DSi-mode ARM7i payload when the unit code selects an extended header.

Definition at line 95 of file NdsHeader.cs.

◆ Arm7OverlayTable

NdsRegion NdsForge.NdsHeader.Arm7OverlayTable
get

Locates fixed 32-byte records describing dynamically loaded ARM7 code and their FAT payload IDs.

Definition at line 110 of file NdsHeader.cs.

◆ Arm9

NdsProgram NdsForge.NdsHeader.Arm9
get

Locates the primary processor payload and its entry/load addresses from header offsets 0x20-0x2F.

Definition at line 86 of file NdsHeader.cs.

◆ Arm9AutoLoad

uint NdsForge.NdsHeader.Arm9AutoLoad
get

Identifies the ARM9 SDK autoload-list address used by the runtime initialization process.

Definition at line 128 of file NdsHeader.cs.

◆ Arm9i

NdsProgram? NdsForge.NdsHeader.Arm9i
get

Locates the DSi-mode ARM9i payload when the unit code selects an extended header.

Definition at line 92 of file NdsHeader.cs.

◆ Arm9OverlayTable

NdsRegion NdsForge.NdsHeader.Arm9OverlayTable
get

Locates fixed 32-byte records describing dynamically loaded ARM9 code and their FAT payload IDs.

Definition at line 107 of file NdsHeader.cs.

◆ AutoStart

byte NdsForge.NdsHeader.AutoStart
get

Preserves the boot-control byte at offset 0x1F, including reserved bits for lossless rewriting.

Definition at line 83 of file NdsHeader.cs.

◆ BannerOffset

uint NdsForge.NdsHeader.BannerOffset
get

Gets the banner offset, or zero when no banner is present.

Definition at line 119 of file NdsHeader.cs.

◆ DeviceCapacityBytes

long NdsForge.NdsHeader.DeviceCapacityBytes
get

Computes the nominal power-of-two cartridge capacity independently from physical or used image length.

Definition at line 71 of file NdsHeader.cs.

◆ DeviceCapacityExponent

byte NdsForge.NdsHeader.DeviceCapacityExponent
get

Stores the power-of-two exponent that scales the 128 KiB base cartridge capacity.

Definition at line 68 of file NdsHeader.cs.

◆ Dsi

NdsDsiHeader? NdsForge.NdsHeader.Dsi
get

Gets the extended DSi header, or null for DS-only images.

Definition at line 98 of file NdsHeader.cs.

◆ DsiFlags

byte NdsForge.NdsHeader.DsiFlags
get

Preserves the DSi flags at offset 0x1C; DS-only software normally leaves them zero.

Definition at line 74 of file NdsHeader.cs.

◆ EncryptionSeedSelect

byte NdsForge.NdsHeader.EncryptionSeedSelect
get

Preserves the raw seed-selection byte consumed by cartridge secure-area protocols.

Definition at line 65 of file NdsHeader.cs.

◆ FileAllocationTable

NdsRegion NdsForge.NdsHeader.FileAllocationTable
get

Locates the flat array of eight-byte start/end records used by NitroFS files and overlays.

Definition at line 104 of file NdsHeader.cs.

◆ FileNameTable

NdsRegion NdsForge.NdsHeader.FileNameTable
get

Locates the FNT main records and name subtables that give FAT identifiers a hierarchy and names.

Definition at line 101 of file NdsHeader.cs.

◆ GameCode

string NdsForge.NdsHeader.GameCode
get

Decodes the four-byte product code used for title identity, region suffixes, and encryption derivation.

Definition at line 56 of file NdsHeader.cs.

◆ HeaderCrc

ushort NdsForge.NdsHeader.HeaderCrc
get

Contains the CRC16 over bytes 0x000-0x15D, excluding this field itself.

Definition at line 146 of file NdsHeader.cs.

◆ HeaderSize

uint NdsForge.NdsHeader.HeaderSize
get

Reports the header byte count claimed on cartridge, commonly 0x4000 despite a smaller parsed prefix.

Definition at line 140 of file NdsHeader.cs.

◆ Kind

NdsImageKind NdsForge.NdsHeader.Kind
get

Interprets unit code 0, 2, or 3 as DS, DSi-enhanced, or DSi-exclusive.

Definition at line 62 of file NdsHeader.cs.

◆ MakerCode

string NdsForge.NdsHeader.MakerCode
get

Decodes the two-byte publisher identifier; Nintendo-authored retail images commonly use 01.

Definition at line 59 of file NdsHeader.cs.

◆ NintendoLogoCrc

ushort NdsForge.NdsHeader.NintendoLogoCrc
get

Contains the CRC16 protecting the 156-byte Nintendo logo at header offset 0xC0.

Definition at line 143 of file NdsHeader.cs.

◆ NormalCardControl

uint NdsForge.NdsHeader.NormalCardControl
get

Preserves the raw ROM-control timing word used for ordinary cartridge transfers.

Definition at line 113 of file NdsHeader.cs.

◆ RawData

ReadOnlyMemory<byte> NdsForge.NdsHeader.RawData
get

Preserves reserved and currently unmodeled fields for byte-exact extraction and copy-on-write editing.

Definition at line 50 of file NdsHeader.cs.

◆ RegionCode

byte NdsForge.NdsHeader.RegionCode
get

Preserves the header's region byte, whose defined interpretation depends on DS versus DSi mode.

Definition at line 77 of file NdsHeader.cs.

◆ SecureAreaCrc

ushort NdsForge.NdsHeader.SecureAreaCrc
get

Contains the header's CRC16 for the secure area; interpretation requires secure-area encryption state.

Definition at line 122 of file NdsHeader.cs.

◆ SecureCardControl

uint NdsForge.NdsHeader.SecureCardControl
get

Preserves the raw ROM-control timing word used during secure-area cartridge transfers.

Definition at line 116 of file NdsHeader.cs.

◆ SecureDisable

ulong NdsForge.NdsHeader.SecureDisable
get

Combines the two header words forming the raw 64-bit secure-area disable token.

Definition at line 134 of file NdsHeader.cs.

◆ SecureTransferTimeout

ushort NdsForge.NdsHeader.SecureTransferTimeout
get

Preserves the cartridge-transfer timeout value used while accessing the secure area.

Definition at line 125 of file NdsHeader.cs.

◆ Title

string NdsForge.NdsHeader.Title
get

Decodes the padded 12-byte ASCII label shown by low-level cartridge inspection tools.

Definition at line 53 of file NdsHeader.cs.

◆ UsedImageSize

uint NdsForge.NdsHeader.UsedImageSize
get

Reports the builder-declared meaningful end of image, excluding optional capacity padding.

Definition at line 137 of file NdsHeader.cs.

◆ Version

byte NdsForge.NdsHeader.Version
get

Exposes the publisher-controlled one-byte software revision rather than the banner or format version.

Definition at line 80 of file NdsHeader.cs.


The documentation for this class was generated from the following file: