| NNdsForge | |
| CINdsDsiSignatureProvider | Abstracts DSi header signing so build pipelines may use a managed private key, hardware-backed key, or remote signing authority without exposing private material to the builder. Implementations must produce the format's 128-byte RSA-1024 PKCS#1 v1.5 signature over SHA-1 of the exact supplied 0xE00 bytes |
| CNdsBanner | Represents a versioned menu icon, localized titles, and optional DSi animation |
| CNdsBannerAnimationStep | Describes one timed DSi menu-icon pose. Tile and palette frames are selected independently so an animation can recolor existing artwork without duplicating its 512-byte tile data; a zero packed word is reserved as the hardware sequence terminator and therefore cannot represent a step |
| CNdsBannerBuilder | Builds deterministic DS banners, including the DSi animated-icon layout |
| CNdsBuildFile | Holds one NitroFS payload while an image is being assembled, independently of any source ROM |
| CNdsChecksums | Calculates checksums used by Nintendo DS image structures |
| CNdsDirectory | Materializes one FNT directory record as a navigable node while preserving its encoded child order |
| CNdsDirectoryImportOptions | Bounds host-directory materialization and makes merge and link behavior explicit |
| CNdsDsiBuildMetadata | Supplies DSi-only execution, service, storage, and policy metadata while retaining unmodeled extension bytes from an optional template. Physical program, digest, banner, and total-size fields remain layout-owned |
| CNdsDsiDigestOptions | Configures the optional DSi hierarchical HMAC-SHA1 tables that cover common NTR content and DSi-mode TWL Programs. Table sizes and offsets remain layout-owned so callers cannot supply internally inconsistent values |
| CNdsDsiHeader | Projects DSi security, digest, memory, title, and save metadata while preserving the complete extension |
| CNdsDsiIntegrityOptions | Defines which DSi authentication fields a build can honestly produce. Component HMACs use caller-selected key material, while an optional signing provider keeps private-key custody outside the image builder. The built-in ndstool policy remains explicitly a homebrew compatibility identity rather than a retail trust claim |
| CNdsDsiKeyScrambler | Implements the DSi 128-bit KeyX/KeyY scrambler in cartridge-register byte order. It contains only the public arithmetic and modcrypt slot prefix; callers remain responsible for the provenance of arbitrary key components |
| CNdsDsiRsaPublicKey | Represents one explicitly trusted RSA-1024 public key for DSi header authentication. Trust is supplied by the caller; constructing this value does not imply that a modulus belongs to Nintendo or any particular publisher |
| CNdsDsiRsaSignatureProvider | Snapshots a managed RSA-1024 private key for deterministic DSi header signing. Dispose the provider after its build recipes finish so copied private parameters are cleared; the source RSA remains caller-owned |
| CNdsEditPlan | Describes semantic preservation edits before any destination is created or truncated |
| CNdsElfImportOptions | Bounds ELF ingestion and controls whether ndstool-style Overlay program headers become definitions |
| CNdsElfImportResult | Returns a builder-ready executable plus any Overlay definitions decoded from the same ELF image |
| CNdsElfProgramImporter | Imports executable ARM ELF32 files into builder-ready Program and Overlay definitions. Parsing is deliberately bounded and transactional: callers receive a complete result only after every selected range is validated |
| CNdsExtractionOptions | Controls component and NitroFS extraction |
| CNdsFile | Connects a byte-preserving FNT path and stable FAT identifier to lazily read cartridge bytes |
| CNdsFileSystem | Provides tree, path, and file-ID access to an image's NitroFS |
| CNdsFileSystemBuilder | Models structural NitroFS changes before ROM offsets and file identifiers are assigned |
| CNdsHeader | Projects the common cartridge header into typed fields while retaining every byte needed for lossless work |
| CNdsHeaderEdit | Collects validated mutable identity and card-control header fields |
| CNdsImage | Provides structured, random-access inspection of a Nintendo DS-family image |
| CNdsImageBuilder | Assembles a deterministic Nintendo DS Image from typed Programs, metadata, Banner, logo, and NitroFS tree |
| CNdsImageBuildOptions | Controls deterministic physical placement without mixing Layout policy into image metadata |
| CNdsImageBuildResult | Reports the concrete Layout identities assigned while committing a Build Recipe |
| CNdsImageComparer | Compares hash-bearing manifests so tooling can distinguish content edits from identity and layout changes |
| CNdsImageDiff | Collects deterministic semantic, identity, and layout differences between two manifest snapshots |
| CNdsImageEditor | Collects explicit image changes and saves them without mutating the source |
| CNdsImageManifest | Provides a stable, content-addressed description of one parsed image for CI artifacts, review, and semantic comparison. The manifest contains no ROM payload bytes and cannot reconstruct copyrighted or private content |
| CNdsKey1KeyTable | Holds the 18 round words and four 256-word substitution boxes consumed by the DS KEY1 algorithm. The library deliberately has no built-in retail table: callers obtain the 0x1048 bytes from a source they are authorized to use and can keep that provenance outside build recipes and logs |
| CNdsLegacyArm7Hook | Reproduces ndstool's historical trainer layout by relocating ARM7, appending caller code and a header backup, and patching boot addresses with the historical staged CRC correction. It is isolated because modern builds do not need it |
| CNdsLegacyArm7HookResult | Reports a detached legacy ARM7 hook image and the regions introduced by the compatibility transform |
| CNdsManifestAllocation | Snapshots every FAT record, including unnamed private Overlay payloads and otherwise unreferenced allocations |
| CNdsManifestBanner | Snapshots banner format, content, localized text, and physical placement without embedding rendered pixels |
| CNdsManifestDsi | Snapshots DSi-specific title, size, security-mode, and modcrypt layout metadata |
| CNdsManifestFile | Snapshots one named NitroFS allocation so path, numeric identity, layout, and payload can change independently |
| CNdsManifestHeader | Snapshots common header identity, execution policy, and size claims in serialization-stable scalar fields |
| CNdsManifestOverlay | Snapshots one Overlay record and its resolved payload identity without conflating Overlay and File IDs |
| CNdsManifestProgram | Snapshots one executable's physical placement, runtime mapping, and content identity |
| CNdsManifestRegion | Serializes a half-open image interval without relying on value-type JSON conventions |
| CNdsModcrypt | Applies the DSi AES-CTR transform with little-endian counter advancement. Encryption and decryption are the same operation; overloads support isolated buffers, arbitrary slices, and bounded caller-owned streams |
| CNdsModcryptContext | Captures the AES-128 normal key and both HMAC-derived initial counters needed to transform DSi modcrypt areas. Every byte array is copied so a reviewed context cannot change when its source buffers are reused or cleared |
| CNdsOverlay | Describes an ARM overlay-table entry and its referenced FAT payload |
| CNdsOverlayDefinition | Describes one Overlay record and its private Allocation when constructing a new Image |
| CNdsProgram | Describes an executable program region and its runtime addresses |
| CNdsProgramDefinition | Supplies one executable payload and the CPU addresses required to place it in a newly built image |
| CNdsReadOptions | Controls resource limits applied while parsing an image |
| CNdsRegion | Identifies a bounded range of bytes in an image |
| CNdsSecureArea | Provides pure inspection and KEY1 transformations for the conventional 0x4000-0x7FFF cartridge interval. Operations return new buffers and never rewrite a source image, header checksum, or caller key table |
| CNdsSecureAreaInspection | Reports secure-area presence, encryption state, and checksum evidence without modifying image bytes |
| CNdsSemanticDifference | Describes one stable manifest path whose semantic value differs between two images |
| CNdsValidationOptions | Supplies optional trust material and policy for validation checks that cannot be inferred from image bytes. Structural, CRC, digest-table, and development-marker checks remain available without external keys |
| CNdsValidationResult | Contains all diagnostics produced by a validation pass |
| CNdsWriteOptions | Controls preservation-oriented image saves |