From this release, all access points older than A9LH will be removed from the source code. Includes Brahma, GW and all variants of CakeHax.
For all users who have installed ARM9loaderhax and Luma3DS
- Rename GodMode9.bin to X_GodMode9.bin and put it in sd: / luma / payloads /
- Look for the aeskeydb.bin, seeddb.bin and encTitlekeys.bin files somewhere on google (don’t ask me!) And put these three files in sd: / or sd: / files9 (optional but recommended for full functionality).
Additional installation information you can read the Github page here
- [new] Touchscreen support, used for the keyboard (manual calibration is possible, but not required)
- [new] LED support, which indicates finished operations
- [new] Open / closed shell detection, disables display to save battery
- [new] Brightness configuration (in the HOME menu)
- [new] Support for editing, reading and writing of DISA and DIFF (.db) files (thanks @ aspargas2 !)
- [new] Allows setting attributes for directories
- [news] Reading and writing support for gamecart saves (thanks @ dratini0 )
- [improved] ARM11 core completely rewritten
- [improved] Countless improvements thanks to @Wolfvak
- [solved] A metric fuckton of bug fixes (quoting @Wolfvak here)
- [scripting] Allows game icons as a preview
- [new] Characters can be set as default (find some compatible characters here )
- [Improved] The Trimmer tool now works also in batch, for multiple files simultaneously
- [repaired] the script
NANDmanager.gm9works again (thanks @TheGinGear )
Almost 4 months have passed since the last version, here is a new one for you. This has a lot of improvements in scripting, but also some extras for everyone else. Here is the changelog:
- [new] script
NANDmanager.gm9to @ MadScript77 – replaces the old backup script / restore NAND
- [new] script
GM9Megascript.gm9to @ annson24 included in the official repository
- [new] Trimmer tool for FIRM, NAND images, NDS images, NCCH and NCSD
- [new] The SD formatter tool can now configure more RedNAND
- [Improved] Faster SD read / write speed, thanks to the new sdmmc.c driver by @ profi200
- [Improved] Internal readme file (thanks @DMSalesman )
- [repaired] Dumping DLCs CIA (thanks @ Steveice10 )
- [correct] Did not copy the saved card2 when downloading card2 cartridges
- [solved] Added an alternative solution for managing SHIFT-JIS in mounted NDS images
- [correct] A whole bunch of minor fixes, many of them thanks to @ windows-server-2003
- [script] support for ips, bps, via patch bpm
applybpmcommands (thanks @ Hyarion-SS !)
- [scripting] commands
fset(to read / write bytes from a file)
- [scripting] command
keychk[scripting] (to allow user input control)
- [scripting] command
EMUBASEenv var (allows you to check and set the current EmuNAND
labelsel -kallows you to jump to labels with a pressed button
Did you know?
A very useful feature of GodMode9 that is known by a surprisingly low number of people is the title search. Just press <R + A> on the
B:unit to get a nice list of all the titles installed on these units (SysNAND SD titles are on
A:, of course).
- [new] Support for PNG (for splash, script previews, screenshots) (thanks @Wolfvak )
- [new] Displays the FAT SD volume label in the list of units
- [correct] Numerous errors and minor improvements
- [deprecated] Deprecated PCX support in favor of PNG
For scriptwriters, note that PCX is no longer supported. Just convert existing graphics to PNG.
Well, it was fast. Since the last version, thanks to the testers, we have detected two bugs that could cause exceptions. Although these should rarely be activated (practically never for most users), a bugfix version has just been released. This new version fixa:
- [correct] Navigation TADs work again and do not cause exceptions
- [solved] Crashes when running H & S injected homebrew (thanks to @TurdPooCharger and @ annson24 )
- [misc] Further improvements have been made to the overall stability of the system and other minor adjustments to improve the user experience
Today, exactly two years have passed since the first public version of GodMode9 (v0.2.0) . This is a small version, intended to commemorate the second anniversary.
- [new] Replace the default character with
- [new] Use full FCRAM for RAM drive on N3DS (thanks to @ profi200 and @Wolfvak )
- [improved] Screenshots can be captured almost anywhere and have a name based on date / time
- [solved] Writing to SD cards blocked from writing is disabled (thanks @ windows-server-2003 )
- [correct] Proper handling of UTF-8 file names
Thanks to all those who have helped make this possible, including contributors, testers and users. I won’t even try to start a complete list here (take a look at the readme credits section) Thanks everyone!
A new version, which adds to the scripting, some new features, a great refactoring and countless changes.
- [new] PCX bitmap viewer
- [new] Data partition extraction for DIFF files
- [Improved] improved ticket.db parser, only verified titlekeys output / tickets
- [Improved] Revised font system, now lets you change fonts in runtime (1)
- [Improved] Better management for batch operations
- [Improved] Improved the title and the NCCH seed extractor
- [solved] Compatibility with CIA containing> = 256 contents
- [repaired] No other CIA arrests not compliant
- [repaired] CDN / NUS download detection
- [scripting] ntrboot detection via
dirselcommand [scripting] (works like
- [scripting] the commands
- [script] command
for, also works recursively
ncchinfo.binXORpad unit and XORpad generator (2)
In addition to the changes listed above, this version includes the usual infinite number of minor fixes and improvements. From the last version, there was also a large refactor (using the heap instead of the previous static memory management). A big thank you for this version to @ profi200 and @derrekr (which provided the RSA verification code), to @wwylele (who managed the gigantic task of DIFF and DISA reverse engineering), to Kazuma77 who helped push the scripting and everyone who has tested and opened problems on GitHub.
(1) You will not find compatible font files in the release archive, but if you want to try or maybe even create your own font, you can find some compatible ones here .
(2) Regarding the deprecation of XORpad, you no longer need XORpads seriously. All the tools that continue to generate
ncchinfo.binfiles are now irretrievably obsolete and there are better alternatives around. Furthermore you no longer need these XANDpad NANDs. Instead, use @ihaveamac’s excellent 3ds-fuse script .
As some of you mentioned, the latest version had a bug that caused the CIAs generated by .3DS files to be filled. Given that neither GM9 nor FBI can handle the CIAs (for a good reason, it is not trivial to circumvent them), a new version is justified, with some goodies at the top. If you created CIA from .3DS with v1.5.0, I suggest you redo them with v1.5.1. Also, please update.
- [correct] Creation of appropriate CIAs from 3DS files
- [scripting] New
HelloBranching.gm9example script from Kazuma77
- [script] New commands
- [scripting] New command
not(best used as in
if not ...,
elif not ...)
filesel[scripting] command now also allows browsing in directories
For scripts, I suggest you take a look at
HelloScript.gm9, which you’ll find in the examples directory. Thank you for reporting that the error to TurdPooCharger, @ CecilFF4 eu / timchenw.
- [new] Full support for DSiWare Exports / .TAD files (thanks to @ihaveamac for help)
- [new] Limited support for .GBA rom images (title information / renaming)
- [new] Support for title information for .3DSX
- [new] File Attribute Editor (thanks to @angelsl )
- [new] aeskeydb.bin can be installed on NAND, eliminating the need to have it on the SD card
- [Improved] Improved input tool for strings, now with alphabet preview
- [improved] Unblocking write permissions now uses random button sequences
- [Improved] PCX support for splash bitmaps, reducing the .firm GM9 size (thanks to @Wolfvak )
- [Improved] Bootloader slightly optimized
- [Improved] Additional entries in system information
- [Improved] New combination of colors of battery (thanks to @JoshuaDoes )
- [improved] A gigaton of minor improvements, many of them under the hood
- [fix] Several bugs fixed , solving the problems of freeze with fastboot3DS (thanks, @ profi200 )
- [correction] Unified management of tar (during compilation, on all operating systems), through a Python script (thanks to @ihaveamac )
- [script] support via control flow
goto(thanks @ windows-server-2003 )
labelselcommand [scripting], which allows the user to select from a range of labels to jump to
strsplitcommand [scripting], which allows extracting substrings from a string
- [scripting] New
The main feature of this version is the support of the scripting control flow, finally giving script developers the tools needed for more advanced scripts. Thanks to Kazuma77 for tests and advice!
This version focuses primarily on bug fixes and improvements to previous features.
- [new] Hardcoded readme and readme viewer within
- [improved] Improved GBA VC Save injection method – now it will work 100%
- [improved] Improved image management
- [improved] Improvement in the text viewer color scheme
- [improved] Improved FIRM decryptore (applies only to original N3DS FIRMs)
- [fix] Physical scripts are not displayed in the text viewer
- [fix] Fixed a block when viewing some text files
- [scripting] Fixed and improved command
- [new] Added NAND recovery scripts from Kazuma77
- [new] Enables to
R+GIUforce reload the file list
- [new] Added the context menu item for virtual files (only if exactly one entry exists in the appropriate block)
- [fix] Fixed ntrboot detection. GM9 now works again as expected directly on an ntrboot card. Thanks @ihaveamac for finding this bug.
- [fix] It did not allow installation of images of already mounted units.
- [fix] Fixed the top bar that was still on GodMode9TD (thanks @MelonGx for the search)
- [new] The current battery status is visible via an icon on the top bar
- [new] The bootloader function (previously undocumented, read below!)
- [new] Completely rewritten and improved method of GBA VC saves dumping and injection (see below!)
- [new] Exceptions can be transferred via QR codes
- [scripting] Allows customization and deactivation of the script preview
- [scripting] Added commands
- [scripting] Added
- [fix] Fixed the swapped
- [fix] Reported ‘Copy to 0: / gm9 / out’ for dirs
Read on how to use the new GBA VC dumper / injector in the Guide .
The bootloader function is activated when GodMode9 is installed in FIRM0 (via the GodMode9 installer) or directly in a ntrboot flash card. I think this will only be done by experienced users and that those users at least read the readme section on it (CTRL + F for you lazy). Furthermore, there is nothing that most users would probably use. Thanks to @ al3x10m to test the bootloader and ideas.
A large release containing the results of 89 commits since the last release. This adds a bunch of new things and improvements to existing features. This is the (long) list of new things:
- [new] Support for editing and browsing NDS images
- [new] Payloads menu in the HOME menu
- [new] The release archive contains .firms for installation via ntrboot_flasher
- [new] Handler manager (only works within GodMode9), thanks to @Wolfvak
- [new] Installer for FIRM files (advanced users / only ntrboot, all others use SafeB9SInstaller )
- [new] New system information feature in the HOME menu, thanks to @Myriachan
- [new] Access to MCU registers (read only) via the
M:unit (again, thanks to @Myriachan )
- [new] LZSS inverse decompression of compressed codes (button A for CXI)
- [new] Rebuilding NAND headers – this can help with lost NANDs and NCSDs
- [new] Fixed recursive CMAC for the units
- [new] Build date / time on the splash screen – press and hold a button to continue displaying the splash screen
- [new] File info file functionality and enhanced / combined drive / dir info functionality
- [new] Nag screen if RTC is not set correctly (if year <2017) is detected
- [new] Visual update of progress on large batch operations (scroll filelist)
- [scripting] Preview of the live text of the currently processed script
- [scripting] Possibility of creating autonomous script corridors (see readme for information)
- [script] Added
- [scripting] Enhanced
- [scripting] Allows partial checks by command
findreturns the last / first alphanumeric match
- [scripting] Dynamically updated environmental variables
- [fix] Various boot times have decreased
- [fix] Improved NDS dumper code
- [fix] Improved screen init routines, solving a series of smaller problems (thanks, @Wolfvak )
- [fix] The usual lot of small improvements and corrections – I hope I don’t forget anything big;)
For any changes / additions to the script, I suggest you take a look at
HelloScript.gm9where each command is explained by example. The GodMode9 v1.3.1 scripts are still fully compatible with this.
Special thanks for this release go to (in no particular order):
- @ JaySea77 – for a huge amount of 2DS tests, helping to solve a particularly bad video init bug
- @ AnalogMan151 – to help push forward scripting, also to take a look at his excellent script Lazarus3DS
- @Wolfvak – for the entire ARM11 side of the GodMode9 source, for the chain loader and the FIRM handler manager
- @Myriachan – for its improvements to the virtual memory unit and the info system functionality
- @ al3x10m – again, to test, tips and ideas
- – Fixed a graphic error in the position of the bar
- Large batch operations: cursor updating and scrolling list
- less restriction on FIRM section in the whitelisting address
- fixes some problems with NDS roms
- allows you to load Luma 8 once more
- Fixed FAT image editing function
- ISO 8601 standard used for date and time
- It is possible to change the brightness using the volume slider, courtesy of @Wolfvak , with some additions of @ al3x10m
- RTC clock support – this means (among other things) the correct dates for FAT file changes. Be sure to read the updated guide below.
- New variables DATESTAMP / TIMESTAMP for scripting (see
HelloScript.gm9, and take note of modified NAND backup scripts).
- FIRM chain loading – thanks to @Wolfvak , who did all the work. The option for this is in the menu by pressing the A button.
- Independent FIRM – this means that GM9 can now exhaust the FIRM0 / FIRM1 partition. Don’t do this unless you know exactly what you are doing. Thanks for this to @Wolfvak , once again.
- Now you can create dummy files of any size via R + Y.
- The usual batch of smaller fixes and improvements.
A big thank you for this release goes to @Wolfvak , which made this possible, even @ al3x10m , which still did a great deal of testing. The RTC clock function was, once again, made possible by @ profi200 , with some help from RTChanger and @ Storm-Eagle20 . Thank you all!
Important suggestion (1) : as indicated in the previous version, this release removes all insertion points other than FIRM.
Important tip (2) : When asked what requirements, you need the file
aeskeydb.binto be found somewhere on the network, it is exactly 1024 bytes and has an MD5 of A5B28945A7C051D7A0CD18AF0E580D1B. Have fun hunting! It should also be noted that on a boot9strapped system this is purely optional.
Important suggestion (3) : Starting from this release, it is recommended to set the RTC clock correctly at least once. Find the option using the HOME -> button
More.... Also remember that you need to update the system’s OS clock later.
- New commands for scripting
- New environment variable
- Resolves writing permission checking (critical!)
- Corrects defective line numbers in the text viewer
- Corrects the init TWL init on certain entry points in A9LH
- Smaller corrections and improvements
Everyone should update to this new version of GodMode9 due to the critical bugfix. That critical fix corrects write permissions that have not been checked correctly in some cases.
This is the last legacy version , that is, starting from this release, all access points older than A9LH will be removed from the source code. This includes Brahma, GW and all variants of CakeHax. Most users (= basically all) need only
- Support for running .gm9 scripts (take a look to
HelloScript.gm9learn how it works)
- New viewer for text files (also .gm9 scripts, of course)
- Simplified creation options EmuNAND / RedNAND
- Security confirmation on copy / move / inject / cancel
- Nagscreen for built-in backup if not found
- Numerous bug fixes and improvements, actually too many to be listed here.
Scripting allows you to automate and simplify things. With the script menu in the HOME menu it is now possible to replicate the D9 functionality in a similar menu structure. An example script and two NAND backup scripts are already included, here are some examples (run only if they actually do what).
- The standard output path is now
0:/gm9/outand the recommended path for support files is
- You can lose the NAND backup function in the HOME menu, which is now present in the script … after an appropriate setup (hint: see Quick Start Guide ).
- A built-in essential backup is highly recommended (see
S:/essential.exefsonce you have it). Either make one, or suffer through the nag screen, every time you start GM9.
- The destination points older than A9LH are no longer included in the release archive (you can’t even notice, but if you do, install the b9s , goddammit ).
These instructions apply to all users who have installed ARM9loaderhax or SigHax and Luma3DS (Luma3DS set with standard paths). Here’s how to set it up quickly:
- SigHax / Boot9Strap : Copy
GodMode9.firmsomewhere on your SD card and launch it from there. FIRM payloads can be executed by Luma3DS or Boot9Strap .
- [A9LH only] Rename
GodMode9.bin(from the release archive) to
Xto the button of your choice) and enter it
- [SigHax only] Rename
GodMode9.firm(from the release archive) to
Xto the button of your choice) and enter it
- Copy the folder
gm9to the SD card. Then, find the versions of
encTitlekeys.binsomewhere (don’t ask me!) And put these three files in
sd:/gm9/support(optional but recommended for full functionality).
- Helpful Tip # 1 : Go here for a step by step guide to doing some common activities in GodMode9. Especially users coming from Decrypt9WIP or Hourglass9 could be useful.
- Helpful Tip # 2 : Never unlock the red write permission level unless you know exactly what you are doing . You will notice that the prompt when it comes up has a completely red screen. It is advisable to always remain at the yellow authorization level or below to be completely safe. Also read more about the write permission system below.
Now you can run GodMode9 by holding down the X button (or any other selected button) at startup.