An unofficial Windows development, translation, and modding toolkit for the Japanese Nintendo DS release of RPG Tsukuru DS+.
The toolkit targets RPG Tsukuru DS+: Create the New World. It translates the editor interface, help text, generated event text, menus, and graphical interface assets while preserving the original game and save-data formats.
Release status: Active development and testing. This repository does not currently provide a public translation patch or any Nintendo ROM data.
- Extracts and edits thousands of CP932 text records from ARM9 and overlays.
- Reuses verified text storage and safely relocates longer translations within the same loaded code unit.
- Preserves runtime formatting tokens and parser-critical metadata.
- Exports, previews, and imports RPG Tsukuru DS+ CHBG graphical assets as PNGs.
- Preserves palette roles and tile IDs used by highlighted or animated UI.
- Reuses genuinely unused palette entries for suitable static artwork.
- Removes PNG metadata and validates dimensions, palette conversion, tile capacity, and decoded image size before compiling.
- Provides automatic glossary translation, online translation, abbreviation, and sentence-shortening tools.
- Saves text and replacement artwork together in a portable
.rpgdsprojproject archive. - Browses and previews all 40 BGM, 10 ambience, 10 musical-event, and 136 sound-effect sequences using the ROM's native Nintendo DS ADPCM instruments.
- Exports MIDI or the complete SSEQ/SBNK/SWAR/SWAV sound library, and imports MIDI with per-track access to every instrument in the ROM, volume, tempo, and real SSEQ loop points. Selected cross-bank instruments and samples are safely assembled into a new song-specific bank without overwriting original audio.
- Reads RPG Tsukuru DS+
.savand DeSmuME.dsvfiles, validates their four mirrored created-game slots, and builds a one-time direct-boot ROM from the selected project without changing the saved toolkit project.
| Game | Game code | Clean ROM SHA-256 |
|---|---|---|
| RPG Tsukuru DS+: Create the New World (Japan) | VEBJ |
D1FF98FE4FDE406B004D3C45986216F9EB67D3C765F1B2F16213677E005E216F |
The ROM must match the appropriate clean SHA-256. A different revision, modified dump, or damaged file should not be used.
- Run
dist\RPG Maker DS Toolkit.exe. - Use the compact navigation tabs for File, Text, Graphics, Compile, Direct Boot, and Music / SFX. The most recent valid project or ROM is reopened automatically.
- Open File, select Open Original ROM, and choose a supported clean Japanese ROM when starting new work.
- To continue from the included English translation, open File, select
Open Toolkit Project, and choose
RPG Tsukuru DS+ English.rpgdsproj. - Open Text and use Quick Auto to apply the built-in interface glossary.
- Choose a Google Translate target language, then optionally use Auto Translate or Auto Translate + Shorten for untranslated text.
- Review the results in the Text workspace and correct them in game context.
- Use Graphics to export, edit, and re-import graphical assets. It exposes
tiled
CHBGatlases and fixed-sizeBMBGbitmaps such asedit/ep67.blz. - Use Music / SFX to preview native tracks, import MIDI with searchable per-track selection from every ROM instrument plus volume and tempo setup, import ordinary WAV files as replacement sound effects, or extract the complete sound-bank library. Music previews loop until Stop is pressed. The MIDI setup dialog can separately preview the complete MIDI or play its intro once and repeat the editable loop section with the current instrument, volume, and tempo choices.
- Return to File and select Save Toolkit Project to preserve the translation work.
- Open Compile ROM to create a separate test ROM.
Build Direct-Boot ROM from Save reads the four created-game slots
from a raw .sav or DeSmuME .dsv. Only populated slots with matching redundant
safety copies and valid integrity markers can be selected. The selected slot is
used for that build only: it is not attached to or saved inside the loaded
.rpgdsproj, and the normal Compile ROM button continues producing an
ordinary translation ROM. The one-time build adds the slot to NitroFS as
embedded/project-slot.bin and enables a verified cold-boot installer. On a
blank save, the ROM copies that data into project slot 1 using the game's native
save routines and rescans it; an existing valid slot 1 is never overwritten.
The direct-boot ROM displays none of the game's boot logos, title screen, main
menu, or project picker. It enters the original Play Game / slot 1 path and
launches the embedded game automatically from a cold boot.
The online translator uses Google Translate's public web endpoint. It requires internet access and may change or become unavailable. Automatically translated text should always be reviewed before a public release.
Imported BMBG replacements retain their original dimensions, bit depth,
palette relationship, and decoded byte size.
RPG Tsukuru DS+ English.rpgdsproj is a compressed project archive. It stores:
- every extracted text record and its current English translation;
- imported replacement PNG artwork;
- imported replacement SSEQ music generated from MIDI;
- the expected source-ROM path and SHA-256; and
- metadata linking each replacement to its internal ROM asset.
It does not contain the Japanese ROM, a compiled English ROM, DeSmuME save files, save states, or untouched original graphics. The clean source ROM is still required when opening and compiling the project.
- Longer English text is relocated only within verified string storage in the same ARM9 or overlay load unit. Overlay RAM sizes, BSS addresses, executable instructions, and save-data structures are not expanded.
- Strings reached through stable layouts or computed offsets are protected from unsafe relocation.
- Runtime tokens such as
%s,%d,%02d, and~4,10are preserved. - Parser-critical suffixes such as
:NNNasset identifiers are restored and validated during compilation. - Special generated-event messages use the game's required full-width CP932 representation instead of unsafe raw ASCII.
- Imported images must retain their exact original pixel dimensions.
- EXIF, XMP, IPTC, DPI, ICC, software tags, and redundant alpha data are removed before image validation.
- Existing palette indices and tile IDs are retained where the game may animate or recolor them.
- CHBG images may use at most 150% of their original decoded size. Imports over that limit are rejected with required and available tile counts.
PNG file size and compressed .blz size may differ from the original. The
decoded CHBG allocation is the relevant safety limit for game memory.
- RPG Tsukuru DS+ profile: 4,137 exposed text records and 841 CHBG graphics.
- The DS+ project embeds its current translated text and replacement artwork in
RPG Tsukuru DS+ English.rpgdsproj.
Requirements:
- Python 3.12 or a compatible Python 3 release
- Tkinter (included with standard Windows Python; on Linux, install your
distribution's Tk package, such as
python3-tk) - CMake, Ninja, and a C++17 compiler for the accurate DS audio renderer
From PowerShell in the repository root:
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt pyinstaller
powershell -ExecutionPolicy Bypass -File .\build_exe.ps1The Windows build script installs the required packages, removes its temporary PyInstaller files, and replaces the existing application at:
dist\RPG Maker DS Toolkit.exe
Install Python, venv, and Tk using your distribution's package manager first. For Debian or Ubuntu:
sudo apt install python3 python3-venv python3-tk cmake ninja-build g++Then, from a terminal in the repository root:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt pyinstaller
cmake -S native/ncsf_preview -B native/ncsf_preview/build \
-G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build native/ncsf_preview/build
python -m PyInstaller --noconfirm --clean --onefile --windowed \
--name "RPG Maker DS Toolkit" --distpath dist --workpath build \
--add-binary "native/ncsf_preview/build/rpgds_ncsf_preview:." rpgds_gui.py
rm -rf build "RPG Maker DS Toolkit.spec"The native Linux executable is created at:
dist/RPG Maker DS Toolkit
PyInstaller produces an executable for the operating system on which it runs;
the Linux command does not produce a Windows .exe.
The command-line rpgds_text.py extractor is also available for CSV-based
workflows.
Accurate BGM/BGS/ME preview uses the BSD-licensed in_ncsf SSEQ Player by
Naram Qashat, adapted from the FeOS Sound System by fincs and incorporating
Nintendo DS audio behavior studied by the DeSmuME project. Its license is
included at native/ncsf_preview/LICENSE-in_xsf.txt.
RPG Maker and RPG Tsukuru DS+ are properties of their respective copyright holders. This is an unofficial fan project and is not affiliated with or endorsed by Nintendo or Enterbrain.
