Evidence at a glance
Loading source evidence…
What was done
Nds4j is a cross-platform Java library designed to read, modify, and create various Nintendo DS file formats. It supports byte-exact round-trips for retail ROMs, though DSi-enhanced ROMs currently lack recomputed integrity signatures after editing.
Nds4j is a WIP Java library that can help you read, modify and create a few types of files used in Nintendo DS games. Written in pure Java, it is cross-platform and compatible with Java 8 or higher. The library supports a wide range of formats, including NDS ROMs, NARC archives, and various 2D/3D graphics and audio formats. All supported formats round-trip byte-for-byte across retail ROMs and were reverse-engineered natively without third-party dependencies. The project includes a 3D stack capable of authoring and exporting files, as well as a software synthesizer for audio. Regarding DSi-enhanced ROMs, the README notes: "Note: DSi-enhanced ROMs round-trip byte-exact when unedited; editing one and saving doesn't yet recompute the DSi digest/signature, so an edited DSi ROM may not pass the console's integrity check." Development has involved AI assistance, with commit logs crediting Claude Sonnet 5 for a fix related to Java 11 API compatibility and Claude Opus 4.8 for contributions to correctness fixes and the implementation of an edit-path test survey. Source
Community
Ask a question, share what worked, or follow the next milestone.