Nintendo DS(i) ROM editor for the Nintendo DS(i) consoles themselves

Overview

NitroEdit

NDS(i) ROM editor for the Nintendo DS(i) consoles themselves

0 1 2 3 4 5 6 7

NitroEdit is a NDS(i) ROM editor for the Nintendo DS(i) consoles themselves, which can be used in flashcarts, TwilightMenu, etc. to make custom edits of ROMs with the simplicity and the portability of this console family.

NitroEdit is the result of bringing the concept of already existing Nintendo DS(i) ROM editors to the DS(i) consoles themselves.

While it's still a work-in-progress project, it's quite close for an initial release with some basic features.

Any suggestions, ideas and contributions are always welcome.

Supported formats

NDS(i) ROMs

  • View/edit info (game title, game code, maker code)

  • View/edit icon

  • Browse it's NitroFs filesystem

Archives (NARC, CARC, etc.)

  • Browse it's NitroFs filesystem

NCGR, NCLR, NSCR

  • View/edit the texture formed by NCGR + NCLR

  • View the texture formed by a NCGR + NCLR + NSCR (saving is not supported yet)

SDAT

  • Explore wave archives (SWAR) and their wave samples

  • Play/edit those wave samples (SWAV), recording with the console's microphone!

BMG

  • View/edit it's strings

Building

  • Like with most DS(i) homebrew projects, this project basically requires devkitARM, libnds and libfat to be installed. Then, executing make will compile the project into an executable NDS file.

TODO / known issues

  • Move from temporary graphics to proper ones

  • Improve loading/saving times, can't do much better due to technical limitations existing ROM editors don't have...

  • Detect file formats with a better system than just checking the extension (checking headers, etc.)

  • Implement zoom for large textures in the graphic editor

  • Allow changing colors in the color palette in the graphic editor

  • Implement saving texture as NCGR+NCLR+NSCR

  • Support other formats within SDATs (STRM, SSEQ, etc.)

  • Models and model textures (NSBMD, NSBTX), maybe support editing those textures at least?

  • Implement utility.bin support (contains a filesystem inside)

  • For multiple palette NCGR+NCLR textures, allow choosing the palette to load

  • Improve menu code (flickering can get annoying)

  • Support ignored attributes in NSCR data (check the links credited below)

  • Support PMCP section in NCLRs

  • Add hex/text editors/viewers?

  • File exporting and importing support from NitroFs filesystems?

  • Support more special characters (é, à, etc.) on the keyboard.

  • Improve LZ77 (de)compression? Currently using a ported implementation from C#, there might be more optimal implementations out there...

Credits

You might also like...
civilized Game Boy Advance development from the comfort of your own editor
civilized Game Boy Advance development from the comfort of your own editor

Rath - civilized Game Boy Advance development from the comfort of your own editor what is it Rath is an interactive development environment for the Ga

an AI and gameplay editor for game development, written by c++ , suppport lua and python

an AI and gameplay editor for game development, written by c++ , suppport lua and python

A Tiny 2D OpenGL based C++ Game Engine that is fast, lightweight and comes with a level editor.
A Tiny 2D OpenGL based C++ Game Engine that is fast, lightweight and comes with a level editor.

A Tiny 2D OpenGL based C++ Game Engine that is fast, lightweight and comes with a level editor.

Plugin to generate landscapes and oceans from the Unreal editor shader graph. Supports collisions, assets spawning, landscape layers. UE 4.26 / 4.27 / 5.0
Plugin to generate landscapes and oceans from the Unreal editor shader graph. Supports collisions, assets spawning, landscape layers. UE 4.26 / 4.27 / 5.0

Procedural Landscapes and Oceans as a plugin for unreal engine 4.26/4.27/5.0 using Editor Shader Graph Using the Editor Shader Graph, creating landsca

Creating Unreal Engine infinite landscapes/oceans using the editor shader graph and rendering them using Geometry ClipMap. It also allows to spawn mesh on landscape surface. UE5 required
Creating Unreal Engine infinite landscapes/oceans using the editor shader graph and rendering them using Geometry ClipMap. It also allows to spawn mesh on landscape surface. UE5 required

Procedural Landscapes and Oceans in Unreal Engine 5 using Editor Shader Graph Latest version of this project is available as a plugin for UE 4.26+ on

python scripting engine for the gd editor

Python interpreter embedded into the game Geometry Dash, designed for helping people automate tasks for creating

TrenchBroom is a modern cross-platform level editor for Quake-engine based games.
TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

TrenchBroom is a modern cross-platform level editor for Quake-engine based games.

✔️The smallest header-only GUI library(4 KLOC) for all platforms
✔️The smallest header-only GUI library(4 KLOC) for all platforms

Welcome to GUI-lite The smallest header-only GUI library (4 KLOC) for all platforms. 中文 Lightweight ✂️ Small: 4,000+ lines of C++ code, zero dependenc

This repo does not contain any skins that work by themselves, but rather addons to already existing skins like CakeOS and Polybar
This repo does not contain any skins that work by themselves, but rather addons to already existing skins like CakeOS and Polybar

Rainmeter-addons ⚠ This repo does not contain any skins that work by themselves, but rather addons to already existing skins like CakeOS and Polybar E

Simple text editor in C++ - Simple editor built upon kilo editor.

GUMBO editor Simple editor built upon kilo editor. Still big work in progress although this is just fun side project to learn more C/C++. From 0.0.2-

The DSiLanguagePatcher increases accessibility to foreign region DSi consoles by providing a mean to change the user interface language.
The DSiLanguagePatcher increases accessibility to foreign region DSi consoles by providing a mean to change the user interface language.

DSi Language Patcher The DSi Language patcher is a small tool, which runs on your DSi (homebrew execution required) and create a copy of your original

The Game Boy ROM of the Game Boy bitcoin miner!

game-boy-bitcoin-miner The Game Boy ROM of the Game Boy bitcoin miner! To build this, currently this patch needs to be applied to GBDK: https://gist.g

Microcontroller based switchless ROM switcher for the Commodore 1541-II disk drive

Retroninja 1541-II Switchless Multi-ROM A microcontroller based switchless ROM switcher for the Commodore 1541-II disk drive. Switch between stock CBM

Dump the ROM from an Original Xbox DVD Movie Playback IR Dongle

Dongle Dumper. Dump the firmware off a Original Xbox DVD Movie Playback Dongle straight from the console. The dongle contains a ROM with an XBE which

How To Build The NeXT ROM Monitor From Sources

How To Build The NeXT ROM Monitor From Sources

Bloopair allows connecting controllers from other consoles like native Wii U Pro Controllers on the Wii U.
Bloopair allows connecting controllers from other consoles like native Wii U Pro Controllers on the Wii U.

Bloopair Bloopair allows connecting controllers from other consoles like native Wii U Pro Controllers on the Wii U. It temporarily applies patches to

🎮 Cross platform development kit for Z80 and SM83 based consoles.

cdk 🎮 Cross platform development kit for Z80 and SM83 based consoles. Platform We planned to support the following consoles: Nintendo Game Boy Ninten

A homebrew software suite for video game consoles developed to help in the evaluation of upscalers, upscan converters

A homebrew software suite for video game consoles developed to help in the evaluation of upscalers, upscan converters, line doublers and of course TV processing of 240p video. The Wii and Dreamcast versions have modes for 480i and 480p evaluation as well.

Add tensilica esp32 cpu and a board to qemu and dump the rom to learn more about esp-idf

qemu_esp32 Add tensilica esp32 cpu and a board to qemu and dump the rom to learn more about esp-idf ESP32 in QEMU. This documents how to add an esp32

Comments
  • Don't quit ROM if B is pressed at ROM name screen

    Don't quit ROM if B is pressed at ROM name screen

    If you press B while giving a file name for an edited ROM, instead of going back to Edit ROM Icon etc, it will send you directly to the filemenu, erasing your progress entirely, while the intention of the user may have been to go back to change the ROM info or something along those lines.

    opened by spellboundtriangle 1
Releases(0.1)
Owner
XorTroll
Nintendo homebrew developer (C++ mainly), videogame enthusiast - switching between my 2DS and my Switch
XorTroll
A homebrew game for Nintendo Switch

Sblerky's Game Arcade A little Game and Watch compilation for Nintendo Switch Presentation video : https://youtu.be/MeM5cFiT9bY Sblerky's Game Arcade

null 31 Sep 11, 2022
Custom Deflemask .vgm based playback engine for the Nintendo Game Boy

-DeflemaskGBVGM- Custom Deflemask .vgm based playback engine for the Nintendo Game Boy. Now the official Deflemask ROM exporter as of v1.0.3. this eng

Daniel Chu 10 Feb 20, 2022
MVS64 -- A NeoGeo emulator for Nintendo 64

MVS64 -- A NeoGeo emulator for Nintendo 64 Status This emulator is in VERY EARLY STAGE. Only a handful of games boot or work. Performance on N64 is st

Giovanni Bajo 22 Mar 15, 2022
yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra.

yuzu (Nintendo Switch Emulator) yuzu is an experimental open-source emulator for the Nintendo Switch from the creators of Citra. It is written in C++

null 428 Sep 26, 2022
Open-source flog (Nintendo Switch's Golf NES easter egg) reimplementation

This repository is dedicated to flog, an easter egg present on Nintendo Switch consoles, containing various tools and information, which are the result of progressive reverse-engineering of the easter egg.

XorTroll 8 Sep 29, 2022
Experimental Nintendo 64 emulator in C11

shibumi | 渋味 "Shibui (adjective), shibumi (noun) or shibusa (noun) are Japanese words that refer to a particular aesthetic or beauty that is simple, s

Simone Coco 8 Sep 8, 2022
A randomizer for Majora's Mask 3D on the Nintendo 3DS

Majora's Mask 3D Randomizer This is an item randomizer for The Legend of Zelda: Majora's Mask 3D for the Nintendo 3DS. Installation On 3DS Console wit

null 19 Sep 11, 2022
bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.

bsnes is a Super Nintendo (SNES) emulator focused on performance, features, and ease of use.

bsnes 1.2k Oct 3, 2022
A CTRPF plugin for the Nintendo 3DS Pokémon games in which, supports both the 6th and 7th generations.

Multi-Pokémon Framework Multi-Pokémon Framework is a Pokémon plugin developed by Jared0714 that is based off of Nanquitas' CTRPluginFramework. This pl

null 24 Sep 4, 2022
Design-agnostic node editor for scripting game’s flow in Unreal Engine

Flow plug-in for Unreal Engine provides a graph editor tailored for scripting flow of events in virtual worlds. It's based on a decade of experie

Moth Cocoon 488 Sep 28, 2022