3DS Store › Tools › GodMode9

GodMode9 changelog

v2.2.3 · Mar 31, 2026

_You didn’t expect another release this soon, did you?_ Well, these things happen — the previous release v2.2.2 broke translations.

Here's what's fixed in v2.2.3:

  • [fixed] Translations work again (thanks @Epicpkmn11)

How to update GodMode9
Updating is simple: replace GodMode9.firm on your SD card with the file from the release ZIP. If you want scripts and translations as well, copy the entire ./gm9 folder from the archive to the same location on your SD card. If you skip that step, don’t complain about translations not working.

Special thanks
I’ll keep it short: special thanks to @MisterSheeple and the fine folks over at the GodMode9 Discord for the quick report, to @Epicpkmn11 for the fast fix, and to everyone who has supported the project over the years.

v2.2.2 · Mar 29, 2026

_Is it really ten years already?_ On March 22nd, 2016, a simple ARM9-based file browser was first released to the public. Back then, it was little more than a nerdy tool for curious users wanting to explore the inner workings of their 3DS. Much has happened since, and GodMode9 has evolved into the Swiss army knife you know and (hopefully) love today.

Here's what's new in 2.2.2:

  • [new] Text editor replaces the text viewer (@nevumx)
  • [new] Ability to write to nvram.mem (@Wolfvak)
  • [new] Implemented Lua io file:lines function (@ihaveamac)
  • [new] I2C device read/write support from Lua (@rosaage)
  • [improved] Lua updated to 5.4.8 (@MisterSheeple)
  • [improved] Added gyro model detection to Lua and System Info (@rosaage)
  • [improved] Proper dumping of ID2 when dumping carts (@AriA99) (explanation)
  • [fixed] Proper handling for the locale of file sizes in scripts (@Epicpkmn11)
  • [fixed] io.open read mode ("r") works properly (@ihaveamac)
  • [fixed] file:read returns nil at end of file instead of an empty string (@ihaveamac)

file:read now matches stock Lua io behavior. This improves compatibility with existing Lua modules, but it is technically a breaking change and may require script updates if they relied on the previous behavior. Please make sure to update your scripts if needed.

Trivia corner: GodMode9 origins
Decrypt9WIP is the technical predecessor of GodMode9. It started as a fork of @archshift’s Decrypt9, which had its first commit on February 1st, 2015. My first contribution to the fork came on June 23rd, 2015. Decrypt9WIP was a menu-based toolkit focused on ARM9-based decryption of gamecart dumps — essentially the foundation of many tasks you use GodMode9 for today. Over time, Decrypt9WIP fully superseded Decrypt9.
<img width="400" height="240" alt="snap005" src="https://github.com/user-attachments/assets/48e2db9e-b415-407e-b132-62889865aba3" /><img width="400" height="240" alt="snap006" src="https://github.com/user-attachments/assets/fdeb6e2c-3d3a-4ba8-8e7c-0011c37004c6" />

CTRXplorer is the conceptual predecessor of GodMode9, first released on June 7th, 2015. It is a simple, userland-based file browser (installable via CIA) with a design concept that will likely feel familiar to GodMode9 users today.
<img width="400" height="480" alt="h4CJ6SE" src="https://github.com/user-attachments/assets/dd0f5f26-8e12-4d44-b768-6758a01dd15e" /><img width="400" height="480" alt="wWe72jf" src="https://github.com/user-attachments/assets/5b2afd83-bd04-4da9-88d8-b37654e63510" />

How to update GodMode9
Updating is simple: replace GodMode9.firm on your SD card with the file from the release ZIP. If you want scripts and translations, copy the full ./gm9 folder from inside the archive to the same location on your SD card.

Special thanks
Writing this part is always tricky — not because I’m ungrateful, quite the opposite. GodMode9 has been running for 10 years, and the true number of contributors is hard to capture. GitHub lists 58 contributors, but many others have helped with advice, documentation, hosting, testing, bug reports, and more. Every contribution is valuable and helped make GodMode9 what it is today.

For this anniversary release, special thanks go out to:

  • @ihaveamac — for ongoing work on Lua and countless other contributions
  • @Epicpkmn11 — for keeping GodMode9 available in multiple languages
  • @nevumx — for contributing this release’s killer feature and for their patience
  • @Wolfvak — as a core dev at my side for almost the entire lifetime of GodMode9
  • @al3x10m — @al3x10m — for supporting the project from the beginning and helping me with many other things along the way
  • @archshift — for laying the foundation of GodMode9

v2.2.1 · Oct 24, 2025

Didn't we already have a Ninth Anniversary Release? That's what you'd be asking if you closely followed the GodMode9 repo and noticed the prerelease that came out on the proper anniversary day (March 22nd) this year. Most users, however, are still using the now three-year-old GodMode9 v2.1.1 and didn't have their ninth anniversary update yet. This release aims to bring the new goodies to a wider audience. It fixes bugs, and it even brings two small new features with it.

Here's what was new with v2.2.0:

  • [new] Translation support, thanks to @Epicpkmn11
  • [new] Lua scripting support, thanks to @ihaveamac
  • [improved?] A shiny new anniversary splash logo
  • [fixed] Numerous bug fixes and small improvements

And here's what's new in v2.2.1:

  • [new] Optional signature checking when verifying NCSD & NCCH
  • [new] Ability to restore original encryption in NCSD & NCCH
  • [new] Lua support for optional signature checking, thanks to @ihaveamac
  • [improved] Updated translations and fonts, thanks to @Epicpkmn11
  • [fixed] Numerous bug fixes and small improvements

For this release, I also suggest you read the GodMode9 v2.2.0 release notes. As for the two new features: Keep in mind that signature checking verification will always fail for modified dumps, which would be the case for Azahar-supported CCI as well (we'll get to that). Restoring the original encryption (via the Encrypt file (...) submenu entry) will effectively fix signatures, but this feature has limits and won't repair completely borked files.

Why doesn't GodMode9 dump .CCI files?
You may want to dump your game carts in a CCI format compatible with Azahar, and you may have noticed GodMode9 only offers 3DS files. Spoiler alert: 3DS is the exact same format as CCI. The only thing you need to pay attention to is that Azahar expects decrypted files. So, use the Decrypt file (...) submenu entry to let GodMode9 handle the heavy lifting. And don't forget to rename your dumped files, as Azahar will only accept files with .CCI extension. You're a GodMode9-wielding power user, you can do that, right?

How do I update GodMode9?
Updating is actually very simple: Just replace GodMode9.firm on your SD card with the file from the release ZIP. If you want scripts and translations, you should also copy the full ./gm9 folder from inside the archive to the same folder on your SD card. While you're at it, why not also grab @ihaveamac’s HelloScript.lua from the samples folder and tinker around with it?

Special thanks
And here's to the part that always gives me the biggest headache. Because, with a project running as long as GodMode9 and having as many contributors as it does, mentioning and crediting everyone — developers, bug reporters, feature suggesters, people who offer advice or web hosting—is an impossible task. Just know that I’m thankful to everyone who has supported the project over the years.

For this release, special thanks go out to:

  • @Wolfvak, for being a main dev at my side for almost the entire lifetime of GodMode9
  • @ihaveamac, for adding Lua support and greatly expanding scripting capabilities, also for giving me the original idea for encryption restoration
  • @Epicpkmn11 and all translation contributors, who have been working for years to make GodMode9 available in multiple languages
  • @luigoalma, for improving things for devkit users by finally fixing an AES key-related bug
  • @ZeroSkill1, for helping me a great deal understanding signature checking
  • @MisterSheeple, for helping me out with some testing
  • The fine folks on the GodMode9 Discord
  • All 3dbrew.org contributors
  • Martin Korth for GBATEK

v2.1.1 · Mar 22, 2022

Is it really that time of the year again? Six years ago, on March 22nd of the faraway year of 2016, GodMode9 was first released to the public. It has come a long way, reaching high stability and amassing features. Right now, there's not much left that GodMode9 can't do, and there's only the odd bug coming in from time to time. As such, this release is a rather small one, with only bugfixes and maintenance stuff.

I still wanted to celebrate the day with a release, so here is GodMode9 v2.1.1 with these changes:

  • [improved] Improved installation of DSiWare games (thanks @Epicpkmn11)
  • [scripting] Faster script loading as well as other improvements and fixes (thanks @aspargas2)
  • [fixed] Fixed a nasty bug when trimming certain DS cart dumps
  • [fixed] Some smaller bugfixes and general code maintenance

How do I update GodMode9?
(This may be the last time I tell you how to in the release notes, so please remember) You wouldn't believe how often we get that question when we do a new release. It's actually very simple: Just replace GodMode9.firm on your SD card with the file found in the release ZIP. You may also want to update scripts, which are found in the ./gm9 folder inside the archive and go to the same folder on your SD card.

Special thanks
I'll be honest, I've long given up mentioning everyone here. The sheer number of contributors (developers, people who report bugs or suggest features, people who help with advice or web hosting...) after 6 years of development is just too big. Just know, each and every contribution, no matter how big or small is highly appreciated. For this release, special thanks go to @Wolfvak, who's been a main dev with me for almost all of the lifetime of GodMode9, to @aspargas2 who did maintenance and fixed bugs, to @Epicpkmn11, who improved the save game generation and thus the installation for DSiWare CIAs and dumps and to @giiutfff who catched a really nasty bug happening when trimming certain DS cart dumps in GodMode9 (great catch!).

v2.1.0 · Nov 21, 2021

We're early for christmas this year with a new release: GodMode9 v2.1.0 comes with several new features and a truckload of bugfixes and smaller improvements.

This is new since the last release:

  • [new] Unicode support, including a special Unicode font created for GodMode9 (@Epicpkmn11)
  • [new] Support for mounting certs.db, including improvement of certs handling (@luigoalma)
  • [new] Support for SHA-1 checksums (@aspargas2)
  • [new] Raw cart dumper, accessible via R+A on cart drive
  • [improved] Wider support for flash chips on carts, including ir (@dratini0)
  • [scripting] SDSIZE, SDFREE and NANDFREE global variables
  • [scripting] Added cartdump command
  • [fixed] Numerous bugfixes and small improvements, too many to list

Killer Feature: Unicode support
GodMode9 is no longer limited to just displaying English, it now has proper support for Unicode text. To facilitate this change there's also a new font format, a simple RIFF-based format called FRF, which you can easily convert to using the ´fontriff.py´ conversion script. The default font has been updated to include the common accented Latin letters, Cyrillic for Russian, and Hiragana/Katakana for Japanese and there's also a font with complete JIS X 0208 support in the resources folder. You can also now type any character (up to U+FFFF) in the keyboard by switching to the number input mode, typing the codepoint, and pressing the U+ key. (ex. 0411 is Б and 3042 is あ).

How do I update GodMode9?
(Do I really need to add that paragraph everytime?) You wouldn't believe how often we get that question when we do a new release. It's actually very simple: Just replace GodMode9.firm on your SD card with the file found in the release ZIP. You may also want to update scripts, which are found in the ./gm9 folder inside the archive and go to the same folder on your SD card.

Special thanks
With the project now being over 5 years old, and all of us working on other stuff, additionally to also having a real life(tm), the main devs (@aspargas2, @Wolfvak and me) sometimes take the backseat, only doing smaller features, bug fixes and general project maintenance. Gladly the void was filled by other developers. Special thanks go to @Epicpkmn11 for Unicode support,@dratini0 for his continued work on supporting flash chips in the cart dumper and @luigoalma who added support for mounting certs.db in this release. It's not only the devs who we have to thank, though, it's also the numerous people who point out problems and ask for features, as well as everyone who's patient enough to help us out with testing. More special thanks go to @TimmSkiller and @mariomadproductions, who both helped us a lot to improve GodMode9. In fact, the people who helped make this release a possibility are too numerous to list - thanks, all of you!

v2.0.0 · Mar 22, 2021

Today marks the 5th anniversary of the first public GodMode9 release. With this being a special day, a proper release is in order. The conjoined changelog is long, it includes 189 commits, 437 days of development work and two prereleases. The two killer features in this one, for most users, will be the new title manager and the ability to install basically anything (read below), but there are countless other goodies in there, such as the revamped title info, better support for carts and lots of under-the-hood improvements

This is new since the last prerelease:

  • [new] Completely revamped title info, with special info for installed titles, TMDs and CIAs
  • [new] Initial CARD2 save read support for carts (thanks @dratini0!)
  • [improved] Title manager now includes a ticket dumper
  • [improved] Release ntrboot FIRMs now include scripts (thanks @gholms)
  • [improved] Software keyboard now includes firstrun instructions
  • [improved/fixed] Various smaller visual improvements and bugfixes

In addition, this is new since the last proper release:

  • [new] Possibility to install NCCH, NCSD (.3DS), DSiWare NDS, CIA, NUS/CDN, DSi CDN content to the system
  • [new] Title manager available via HOME menu
  • [new] Mount support for title.db (thanks @aspargas2)
  • [new] Support for handling variable sized tickets (thanks @luigoalma)
  • [new] Completely rewritten MCU event handler (fixes a lot of stuff) (thanks @Wolfvak)
  • [new] NDS carts can be dumped with secure area encrypted (thanks @mariomadproductions for testing)
  • [new] Gamecart drive G:/ now includes an info text file (thanks @GerbilSoft)
  • [new] Tickets can now be verified, installed and identified
  • [new] Trimming functionality for GBA rom dumps
  • [improved] Several improvements to the GM9 MegaScript (thanks @aspargas2)
  • [improved] Improved CIA builder, with stricter checks for legit builds
  • [improved] Better handling of special cases in cart dumper (thanks @GerbilSoft)
  • [improved] Tons of small performance improvements (thanks @Wolfvak)
  • [improved] Much smaller firm size (thanks @Wolfvak)
  • [improved] Proper mount support for ticket.db (thanks @aspargas2)
  • [scripting] install command for installing game images
  • [scripting] Quotes can be escaped (\") in variables*
  • [fixed] Fixed screen init (for real this time!) (thanks @Wolfvak)

Killer Feature 1: Title manager
The title manager may be the one feature most relevant to our users in this release. It enables you to get an overview of your installed titles, build CIAs and even (batch-) uninstall stuff from your system. To enter the title manager, press <HOME> and select Title manager. SD installed titles are found on the A:/ drive, system titles and DSiWare titles are found on the 1:/ drive.

Killer Feature 2: Universal installer
The other killer feature in this release is the ability to install basically anything to your system. You can install CIA (obvious), NCSD (also called .3DS files), NCCH, DSiWare .NDS dumps, 3DS CDN/ NUS contents and DSi CDN contents. It's even possible to install a title directly from one of your gamecarts. For DSi CDN contents, the Nintendo DSi (Digital) (CDN) dat-file over on No-Intro may help you get your CDN files in order. You will also need to provide a decTitlekeys.bin file (with DSi titlekeys included) inside the 0:/GM9/support/ folder.

How do I update GodMode9?
You wouldn't believe how often we get that question when we do a new release. It's actually very simple: Just replace GodMode9.firm on your SD card with the file found in the release ZIP. You may also want to update scripts, which are found in gm9 folder inside the archive and go to the same folder on your SD card.

Did you know?
We actually missed last years' anniversary release by a solid 5 months, and all you got back then was a prerelease. GodMode9 is a side project for all of our main developers (that's @Wolfvak, @aspargas2 and myself), so it has to take second place to real life(tm) at times. Gladly, we're able to get this release out in time. Thanks go out to the numerous people who helped make this possible, including contributing developers, people who submitted bug reports & feature requests and least but not last, you, the users, who motivate us to keep on improving GodMode9.

v1.9.1 · Jan 10, 2020

Time for a new GodMode9 release. The last major release, v1.9.0, was a pretty solid release to begin with, but as always there is room for improvement. This one focuses on bugfixes, fixing stuff that v1.9.0 did not do right. This is new:

  • [new] On verification, offer fixing for badly decrypted NCCH/NCSD
  • [improved] Much faster scrolling speeds in wordwrapped text view
  • [improved] Largely improved method of GBA VC save injection (thanks @TurdPooCharger)
  • [fixed] Fixed the .BPS code in scripting (thanks @Wolfvak)
  • [fixed] Fixed a crash in the DISA/DIFF handling code (thanks @aspargas2)
  • [fixed] Actually allow decrypting N3DS NATIVE_FIRM on O3DS
  • [fixed] Last search drive is back again
  • [fixed] Cart drive checking (don't show empty when it isn't
  • [fixed] Notification light handling

Did you know?
This marks the 40th release of GodMode9, with a whopping 1260 commits leading up to here. GodMode9 is now in it's fourth year of development and still going strong, thanks to all of my fellow developers, bug reporters and feature requesters.

Tsktsktsk
We've been seeing a lot of bug reports these days with people telling us they can't convert their NCSD (".3DS") files to CIA in GodMode9. It can be assumed that _all of them_ got their _badly decrypted_ .3DS files from some shady source. Shady source: please at least provide proper decrypted files. @citra-emu: maybe stop supporting these files or at least give a warning to users? We, for our part, now properly detect these files and offer fixing. To use the new fixer, just verify your files.

Credits
As always this wouldn't have been possible without some help. Thanks go to @Wolfvak, @aspargas2 and @TurdPooCharger for actively contributing to development. I also thank everyone submitting bug reports and feature requests. A special mention goes to @HIDE810 who finally pointed out that text viewer scrolling is awfully slow in some cases and needs some work. Thanks, all of you!

v1.9.0 · Oct 17, 2019

If you followed the behind the scenes progress you knew: GodMode9 development may be a bit slower than what you're used to, but it's everything but dead. Thanks to the help of numerous contributors and the tireless work of @Wolfvak (who actually did most of the hard lifting for this release), we present you a major new release today, including several long wanted features. This is new:

  • [new] Touchscreen support, used for keyboard (manual calibration is possible, but not required)
  • [new] LED support, signaling finished operations when the shell is closed
  • [new] Detecting shell opened/closed, turn off display to save battery
  • [new] Brightness configuration (in HOME menu)
  • [new] Support for mounting, reading and writing DISA and DIFF (.db) files (thanks @aspargas2!)
  • [new] Allow setting attributes for directories
  • [new] Read and write support for gamecart saves (thanks @dratini0)
  • [improved] Completely rewritten ARM11 core
  • [improved] Countless under-the-hood improvements thanks to @Wolfvak
  • [fixed] A metric fuckton of bugfixes (quoting @Wolfvak here)
  • [scripting] Allow game icons as preview

Did you know?
A lot (= almost all?) of the common user questions are already answered by the accompanying Readme.md file. If your question is about setting up GodMode9, for example, it may wise to give the Quick Setup Guide a quick peek. By the way: Unless you use GodMode9 as a bootloader, you don't actually need the aeskeydb.bin or any other additional support files (you may want the seeddb.bin and encTitleKeys.bin, though).

"I get a black screen when booting GodMode9"
That was the most common issue with the previous version (v1.8.0), and it only happened when chainloading GodMode9 via the Luma 3DS chainloader (maybe also only on N3DS, we don't know). Both the Luma 3DS and GodMode9 development teams tried to stop this from happening. You actually may not see this happen at all in this release, but we can't guarantee it. If you turn out to be one of the unlucky ones, there's a tried and true solution: Switch to fastboot3DS and let it handle that for you. The installation is quick and painless via OpenFirmInstaller. After the transition, everything will work exactly the way you were used to (you may hold HOME at boot and delve into fastboot3DS customization if you want to).

Credits
Admittably, writing that section has become harder and harder with every release, simply because more and more people got involved and helped with stuff like development, bug reports, feature requests, file hosting, channel moderation, etc... So, here's a big thank you to everyone who was involved with GodMode9 over the years. You all helped make this piece of software possible. As for this release, I can't thank my codeveloper @Wolfvak enough - he wrote almost all of the new features you see above. I also thank @aspargas2 for adding DISA/DIFF write support and @dratini0 for finally giving us the long awaited gamecart save reader/writer support. Among those reporting bugs, @TurdPooCharger and @validusername16 stood out by doing thorough testing and sending in helpful and detailed bug reports - thank you, it's highly appreciated!

v1.8.0 · Mar 21, 2019

With more than half a year since the last GodMode9, you didn't see that coming, right? Today, exactly three years have passed since the first public release of GodMode9 (v0.2.0). A lot has happened since, and GodMode9 evolved to the almighty multi purpose tool it is today. Here's what you get in this release:

  • [new] CIA Checker tool gives insights into any CIA file provided
  • [new] DSiWare NDS files can be converted to CIA
  • [new] Offer fixing for BOSS files on failed verification
  • [improved] Switched from Thumb to ARM and enabled LTO (may or may not improve performance)
  • [improved] Full verification for RomFS inside NCCH
  • [improved] Added a prompt when building CIA with a private legit ticket
  • [improved] Cart id and type is shown on gamecart drive
  • [improved] Number of explorer panes increased to 3
  • [fixed] Proper verification of CFA images (also fixes NCSD verification)
  • [fixed] Proper handling for incomplete DLC CIAs
  • [fixed] Some minor bugs in the GM9 Megascript (thanks @annson24)
  • [fixed] Countless other minor bug fixes and improvements
  • [special] Special anniversary edition splash screen
  • [scripting] textview command for viewing text files
  • [scripting] dumptxt command for dumping text to a file
  • [scripting] extrcode and cmprcode commands (to extract and compress .code, thanks @Hyarion-SS )
  • [scripting] cp -p allows appending a file to another (thanks @Hyarion-SS)
  • [scripting] filesel -x and dirsel -x enable a new file selector style (thanks @windows-server-2003)

Did you know?
By now GodMode9 releases have been downloaded over 1,000,000 times from GitHub alone, not including external downloads from sources such as WiiDatabase.de. The most downloaded release to date is GodMode9 v1.7.1 with 276,003 downloads.

Credits
Thanks for this release go to everyone who pointed out bugs, requested features, helped in development, helped with their knowledge or provided tools. This includes @Hyarion-SS, @eiiiiix, @windows-server-2003, @luigoalma, @Wolfvak, @al3x10m, @profi200, @WinterMute, @SirNapkin1334, @annson24, @RShadowhand and, last but not least, you guys, the users. The list is long and still growing, and it's almost impossible to list everyone involved. GodMode9 development will continue!

v1.7.1 · Aug 2, 2018

There's no major release without a hasty bugfix release following it, I guess. The last one broke the rather important NandManager.gm9 script, so I had to do a bugfix release quick. This is the very short list of what you get in this release:

  • [new] Fonts can be set as default (find some compatible fonts here)
  • [improved] Trimmer tool now also works in batch, for multiple files at once
  • [fixed] NANDmanager.gm9 script working again (thanks @TheGinGear)

Did you know?
GodMode9 offers building CIAs as legit or standard, and you may wonder which one to choose. For purchased titles that you intend to reinstall only to the same console they came from, choose legit. This will include your personal ticket (including identifying info in the ticket) to the CIA. Legit CIAs may not work on other consoles. CIAs that you want to install to other consoles should be build in standard mode instead, which builds a universal ticket and removes identifying info.

The exception to the above rule is system titles, cause system titles always come with a universal, non identifying, legit ticket. You should choose legit for them regardless of their purpose.

v1.7.0 · Jul 29, 2018

Almost 4 months have gone by since the last release, here's a new one for you. This one has a lot of improvements to scripting, but also some goodies for everyone else. This is new:

  • [new] NANDmanager.gm9 script by @MadScript77 - replaces the old NAND backup / restore scripts
  • [new] GM9Megascript.gm9 script by @annson24 included in the official repo
  • [new] Trimmer tool for FIRMs, NAND images, NDS images, NCCH and NCSD
  • [new] SD formatter tool can now set up multi RedNANDs
  • [improved] Faster SD read / write speeds, courtesy of @profi200's new sdmmc.c driver
  • [improved] Cleaned up internal readme (thanks @DMSalesman)
  • [fixed] Dumping DLCs to CIA (thanks @Steveice10)
  • [fixed] Don't copy card2 savedata when dumping card2 cartridges
  • [fixed] Added a workaround for handling SHIFT-JIS in mounted NDS images
  • [fixed] A whole batch of minor fixes, a lot of them thanks to @windows-server-2003
  • [scripting] support for ips, bps, bpm patches via applyips, applybps, applybpm commands (thanks @Hyarion-SS!)
  • [scripting] fget and fset commands (to read / write bytes from a file)
  • [scripting] sdump command (allows dumping encTitleKeys.bin, decTitleKeys.bin, seeddb.bin
  • [scripting] keychk command (to allow checking for user input)
  • [scripting] nextemu command and EMUBASE env var (allows checking and setting the current EmuNAND
  • [scripting] labelsel -k allows jumping to labels via a keypress

Did you know?
A very helpful feature of GodMode9 that's known by a surprisingly small number of people is the title search. Just press \<R+A\> on the 1:, 4:, A:, or B: drives to get a nice list of all titles installed on these drives (SysNAND SD titles are found on A:, of course).

Credits
Thanks go to everyone who was involved in this release, including contributors, bug reporters, feature requesters, people who helped me with issues along the way and people who helped run the websites and servers for my tools. Special thanks (in no particular order) go to @Hyarion-SS, @windows-server-2003, @SirNapkin1334, @Steveice10, @MadScript77, @annson24, @DMSalesman, @TurdPooCharger, @profi200, @derrekr, @al3x10m, @Wolfvak, @RShadowhand and @ihaveamac. With the whole number of helpful people it's a given I forgot about someone along the way, so if you feel left out don't hesitate to contact me.

v1.6.3 · Apr 4, 2018

Three releases in two weeks? Well, I need a release to replace the v1.6.2 April Fools Edition as most recent release, so here goes v1.6.3. This wouldn't be GodMode9 if there wouldn't be at least some goodies coming with it, so this is new:

  • [new] Support for PNG (for splashes, script previews, screenshots) (thanks @Wolfvak)
  • [new] Display the SD FAT volume label in the drives listing
  • [fixed] Several smaller bugfixes and improvements
  • [deprecated] Deprecated PCX support in favor of PNG

Script writers, take note that PCX is no more supported. Just convert your existing graphics to PNG and you will be good.

Also, I heard some of you actually liked what the april fools release did, so I added two new FLAVORs to the GodMode9 Makefile: GodMode64 and BrickedMode9.

v1.6.1 · Mar 22, 2018

Today, exactly two years have passed since the first public release of GodMode9 (v0.2.0). This is a small release, intended to commemorate the two year anniversary. First of all, this is what you get:

  • [new] Override the default font via 0:/gm9/support/font.pbm or 1:/gm9/support/font.pbm
  • [new] Use full FCRAM for RAM drive on N3DS (thanks @profi200 and @Wolfvak)
  • [improved] Screenshots can be taken almost everywhere and have a date/time based name
  • [fixed] Disable writing to write-locked SD cards (thanks @windows-server-2003)
  • [fixed] Proper handling of UTF-8 filenames

As for the commemorating, a lot has happened since the GodMode9 v0.2.0 release:

  • 889 commits since v0.2.0, 954 commits total, a lot more if you also count commits inside branches and local commits. Don't even try to convert that to manhours.
  • To date, GodMode9 has been downloaded a total of 662,854 times from Github.
  • GodMode9's standard binary format has switched from Brahma, over A9LH, to FIRM. As of today, GodMode9 can even be installed as a bootloader and does not require another chainloader at all.
  • GodMode9 has evolved, from a very simple proof-of-concept ARM9 file browser, to an essential 3DS hacking tool, replacing the inferior (yeah, I know, some of you still think otherwise) Decrypt9.
  • Thanks to research, some of it directly connected to GodMode9 development, we now understand the 3DS OS better than ever today. (and no, we don't understand all of it yet)
  • Get further insights into the GodMode9 development history via [the GitStats report](https://f.secretalgorithm.com/12f9kb/godmode9-stats-latest.zip

). Just unpack it to some folder and open index.html in any browser of your choice. (thanks @Wolfvak for this)

Thanks to everyone who has helped to make this possible, including contributors, testers, and users. I won't even try to start a full list here (take a look into the readme credit section for a small, condensed one), just be sure, without you guys nothing of this would have been possible. Thank you all!

As a bonus, stuff to watch out for or give a try if you haven't yet:

  • @ihaveamac keeps on improving his excellent fuse-3ds script, allowing you to mount 3DS related data on PC, similar to how GodMode9 does it. New release coming up soon.
  • @Wolfvak has finally released and keeps on improving BAX, a tool allowing you to have animated boot splashes on your console, and a big improvement over his earlier BootAnim9 tool.
  • fastboot3DS will have a new release soon, including boot splash support and FIRM from FCRAM (A9NC, A9SP) support, plus another frequently requested feature.
  • @SirNapkin1334 hosts the offical GodMode9 Discord channel, for you to discuss anything GodMode9 related. Invite link here.
  • Last but not least: GodMode9 development will continue. Possible future improvements are ZIP / PNG support, a config menu and finally getting to zero issues on Github.

v1.6.0 · Feb 22, 2018

A new release, bringing you additions to scripting, some new features, a big refactor and countless under the hood changes. This is new:

  • [new] PCX bitmap viewer
  • [new] Extracting data partition for DIFF files
  • [improved] Improved ticket.db parser, only output verified titlekeys / tickets
  • [improved] Revised font system, now allowing to switch font in runtime (1)
  • [improved] Improved handling for batch operations
  • [improved] Improved titlekey and NCCH seed extractor
  • [fixed] Compatibility with CIAs containing >= 256 contents
  • [fixed] No more crashes caused by malformed CIAs
  • [fixed] Detecting CDN/NUS downloads
  • [scripting] ntrboot detection via $[HAX] env var
  • [scripting] new $[GM9VER] env var
  • [scripting] dirsel command (works like filesel)
  • [scripting] isdir and exist commands (useful with if)
  • [scripting] for command, also works recursively
  • [deprecated] XORpad drive and ncchinfo.bin XORpad generator (2)

On top of the changes listes above, this release includes the usual countless number of smaller bugfixes and improvements. Since the last release, there was also a big refactor (using the heap instead of the earlier static memory handling). Big thanks for this release go to @profi200 and @derrekr (who provided the RSA verification code), to @wwylele (who handled the gargantuan task of properly reverse engineering DIFF and DISA), to Kazuma77 who again helped push forward scripting and to everyone who tested and opened issues on GitHub.

(1) You won't find any compatible font files inside the release archive, but if you want to try or maybe even create your own font, you can find a few compatible ones here.

(2) As for the XORpad deprecation - you don't need XORpads anymore, seriously. Any tools still generating ncchinfo.bin files are by now hopelessly outdated and there are much better alternatives around. You also don't need these NAND XORpads anymore. Use @ihaveamac's excellent 3ds-fuse script instead.

Important note for A9NC users: This release changes how A9NC and FIRM from FCRAM works, you also need to update your A9NC installation to a version equal or above 0.1.4.

v1.5.1 · Jan 2, 2018

Well, that was quick. Also a good lesson on what happens when you do a release with a fixed deadline.

As some of you mentioned, the last release had a bug which caused CIAs generated from .3DS files to be padded. As neither GM9 nor FBI can handle padded CIA (for good reason, working around this is not trivial), a new release is warranted, with some goodies on top. If you created CIAs from .3DS with v1.5.0, I suggest you redo them with v1.5.1. Also, everyone please update.

This is new:

  • [fixed] Building proper CIAs from 3DS files
  • [scripting] New HelloBranching.gm9 sample script by Kazuma77
  • [scripting] New strrep, fdummy and fill commands
  • [scripting] New not command (best used as in if not ..., elif not ...)
  • [scripting] filesel command now also allows browsing dirs

For the scripting stuff, I suggest you take a look into HelloScript.gm9, which you'll find inside the samples directory. Thanks for pointing out that bug go to (among others) TurdPooCharger, @CecilFF4 and u/timchenw.

v1.5.0 · Dec 29, 2017

Just in time for a last 2017 update, here's another major one. This is new:

  • [new] Full support for DSiWare Exports / .TAD files (thanks @ihaveamac for help)
  • [new] Limited .GBA rom image support (title info / renaming)
  • [new] Title info support for a .3DSX
  • [new] File attribute editor (thanks @angelsl)
  • [new] aeskeydb.bin can be installed to NAND, eliminating the need to have it on the SD card
  • [improved] Improved string input tool, now with alphabet preview
  • [improved] Write permission unlocker now uses random button sequences
  • [improved] PCX support for splash bitmaps, reducing GM9 .firm size (thanks @Wolfvak)
  • [improved] Slightly tweaked bootloader
  • [improved] Additional entries in system info
  • [improved] New battery color scheme (thanks @JoshuaDoes)
  • [improved] A gigaton of smaller improvements, many of them under the hood
  • [fix] Several bugfixes, fixing freeze issues with fastboot3DS (thanks, @profi200)
  • [fix] Unified handling of tar (when compiling, on all OSes), via a Python script (thanks @ihaveamac)
  • [scripting] Control flow support via if, elif, else, end, goto (thanks @windows-server-2003)
  • [scripting] labelsel command, allowing the user to select from a range of labels to jump to
  • [scripting] strsplit command, allowing to extract substrings from a string
  • [scripting] New REGION environment var

The star feature of this release is control flow support for scripting, finally giving script devs the tools needed for more advanced scripts. Thanks go to Kazuma77 for testing and advice!

As always, bug reports (if anything comes up) are appreciated. Have fun testing this, and see you in 2018!

v1.4.3 · Oct 14, 2017

This release mainly concentrates on bug fixes and improvements of earlier features. This is what you get:

  • [new] Hardcoded readme and readme viewer inside the HOME -> More... menu
  • [improved] Vastly improved GBA VC Save injection method - will now work 100% of time
  • [improved] Improved image mount handling
  • [improved] Improved text viewer colour scheme
  • [improved] Improved FIRM decryptor (only applies to N3DS original FIRMs)
  • [fix] Fixed scripts not showing up in text viewer
  • [fix] Fixed crashes when viewing certain text files
  • [scripting] Fixed and improved shaget command

For those of you building yourself, there is now a way of disabling the brightness slider (DISABLE_SLIDER), an alternative bootloader mode (SALTMODE / AL3X10MODE) and a way of piggybacking filesystem images (vram0.img), which is best used in conjunction with the script runner feature. Lazyness won't be rewarded here, so read the readme and/or check out the Makefile for info on these.

Also, important info: If you're building this yourself, force update your firmtool to the most recent nightly. Use this command line: pip install --upgrade git+https://github.com/TuxSH/firmtool.git. Thanks @AuroraWright for the recent fix.

Starting from this release, the X: drive (containing NAND xorpads) is considered legacy and may be removed at a later point. Everyone looking for a way to browse their 3DS console data on a PC or Mac, have a look at @ihaveamac's excellent FUSE-3DS scripts.

Special thanks for this release go to @AuroraWright, @TuxSH and @Wolfvak, who helped me reverse engineering process9, finally enabling me to give you that 100% stability on GBA VC save injects.

v1.4.2 · Sep 24, 2017

A pretty minor release, intended to fix a small derp most of you won't even have noticed. This is new:

  • [new] Added NAND restore scripts by Kazuma77
  • [new] Allow R+DOWN to force reload the file list
  • [new] Inject context menu entry for virtual files (only if there's exactly one entry in the clipboard)
  • [fix] Fixed ntrboot detection. GM9 now again works as intended when flashed directly to a ntrboot card. Thanks @ihaveamac for finding this bug.
  • [fix] Don't allow mounting already mounted drive images.
  • [fix] Fixed vanishing top bar on GodMode9TD (thanks @MelonGX for the find)

The derp here only concerns those of you who directly flashed GM9 to their ntrboot cards, which will be a small minority of you guys. In those cases, ntrboot was not correctly detected, thus making GM9 default to the bootloader behaviour (which is not what you want there).

As for everyone who will be asking how to update now - you know, there's a readme, and there's a quick start guide in there. Updating just means replacing the GodMode9.firm with the newer version. You may also want to follow the quick start guide and copy the new scripts for this release.

v1.4.1 · Sep 22, 2017

Only a week later, and already a new release (not a small one). This is new:

  • [new] Current battery state is visible via an icon on the top bar
  • [new] Bootloader function (previously undocumented, read below!)
  • [new] Completely rewritten and improved method of GBA VC save dumping and injecting (read below!)
  • [new] Exceptions dumps can be transferred via QR codes (you'll most likely never ever see that)
  • [scripting] Allow customizing and disabling the script preview
  • [scripting] Added qr and chk commands
  • [scripting] Added HAX, ONTYPE and RDTYPE environment vars
  • [fix] Fix the swapped sd_cid.mem and nand_cid.mem
  • [fix] Brought back 'Copy to 0:/gm9/out' for dirs

Read about how to use the new GBA VC save dumper / injector in The Guide. Also note that this breaks earlier GodMode9 based GBA VC save injecting / dumping tutorials. Sorry, but you'll get something for it. The save format is fixed for emulators and the injection / dump has gotten much less tedious. Thanks go to @AuroraWright for pointing out issues with the earlier method and to @cheatfreak47 for testing it and providing info (also for nagging me until I rewrote it).

The bootloader function springs into action when GodMode9 is installed to FIRM0 (via the GodMode9 installer) or directly flashed to an ntrboot flashcard. I trust that this will only be done by experienced users, and that those users will at least read the readme section on it (CTRL+F for you lazy folks). Also, there's nothing in it that most users would probably use. Thanks to @al3x10m for testing the bootloader and ideas.

In short, the GodMode9 FIRM0 bootloader will act similar to boot9strap unless R+LEFT is held at boot, which will bring up a bootmenu. The GodMode9 FIRM0 bootloader is also a requirement for the latest A9NC release.

As for the exception dump QR code, if you really, really want to see it (hint) maybe try bkpt as scripting command? Also thanks to @Wolfvak for the idea and for enhancing the exception handler to support this.

v1.4.0 · Sep 14, 2017

A big release, containing the results of 89 commits since the last release. This adds a bunch of new stuff and improvements on existing features. This is the (long) list of new stuff:

  • [new] Support for mounting and browsing NDS images
  • [new] Payloads menu inside HOME menu
  • [new] Release archive contains .firms for install via ntrboot_flasher
  • [new] Exception handler (works inside GodMode9 only), thanks to @Wolfvak
  • [new] Installer for FIRM files (advanced users only, everyone else use SafeB9SInstaller)
  • [new] New system information feature in HOME menu, thanks to @Myriachan
  • [new] Access to MCU registers (read-only) via the M: drive (again, thanks @Myriachan)
  • [new] Reverse LZSS decompression of compressed .code (A button menu for CXIs)
  • [new] NAND header rebuilder - this can help with borked NANDs and lost NCSDs
  • [new] Recursive CMAC fixer for drives A:, B:, S: and E:
  • [new] Build date/time on splash screen - hold any button to keep displaying the splash screen
  • [new] File info feature for files, and improved/combined drive/dir info feature
  • [new] Nag screen if RTC is not correctly set (if year < 2017 is detected)
  • [new] Visual progress update on large batch operations (scrolling filelist)
  • [scripting] Live text preview of currently processed script
  • [scripting] Ability to build standalone script runners (see readme for info)
  • [scripting] Added fixcmac, boot, shaget, switchsd, extrcode, filesel scripting commands
  • [scripting] Enhanced the injectcommand
  • [scripting] Allow partial checks via the sha command
  • [scripting] findreturns the alphanumerical last / first match
  • [scripting] Dynamically updated environment variables
  • [fix] Vastly decreased boot times
  • [fix] Improved NDS cart dumper code
  • [fix] Improved screen init routines, fixing an array of smaller problems (thanks, @Wolfvak)
  • [fix] The usual batch of smaller improvements and fixes - hopefully I didn't forget anything big ;)

For any changes / additions to scripting, I advise you to have a look into HelloScript.gm9, where each command is explained by example. 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 tremendous amount of 2DS testing, helping to fix a particularily nasty screen init bug
  • @AnalogMan151 - for help pushing forward scripting, also take a look at his excellent Lazarus3DS script
  • @Wolfvak - for the whole ARM11 side of the GodMode9 source, for the FIRM chainloader and exception handler
  • @Myriachan - for her improvements to the virtual memory drive and the system info feature
  • @al3x10m - again, for testing, advice and ideas

v1.3.1 · Aug 8, 2017

Yes, I derped. The last release broke the very important FAT mount feature, effectively leading to certain stuff in a certain guide no more working. Sorry!

This wouldn't be GodMode9 if I wouldn't at least give you a new goody that makes the update worthwhile for you. This is new:

  • Fixed the broken FAT image mount feature
  • ISO 8601 standard used for date&time
  • Brightness is changeable via the volume slider, courtesy of @Wolfvak, with some additions by @al3x10m

Thanks everyone (all five of you, lol) who opened up an issue and pointed out this issue to me. Everyone please update, have fun.

v1.3.0 · Aug 7, 2017

New release already, with some much wanted features. This is new:

  • RTC clock support - that means (among other stuff) correct dates for FAT file modifications. Be sure to read the updated quick start guide below.
  • New DATESTAMP / TIMESTAMP variables for scripting (see HelloScript.gm9, also take note of the changed NAND backup scripts).
  • Chainloading FIRMs - big thanks go to @Wolfvak, who did all the heavy lifting. The option for this is in the A button menu.
  • Independent FIRM - this means GM9 can now run out of the FIRM0/FIRM1 partition. Don't do this if you don't know exactly what you're doing. Thanks for this go to @Wolfvak, again.
  • You can now create dummy files of any size via R+Y.
  • The usual batch of smaller fixes and improvements.

Big thanks for this release go to @Wolfvak, who made this possible, also @al3x10m, who again did a tremendous amount of testing. The RTC clock feature was, again, made possible by @profi200, with some help from RTChanger author @Storm-Eagle20. Thanks to all of you!

Important hint (1): As stated in the previous release, this release removes all entrypoints other than FIRM. Use an older release if you really have to use this from a pre-sighax entrypoint.

Important hint (2): As I get asked about what requirements an aeskeydb.bin file has to fullfil a lot, a perfect one can be found somewhere on the net, is exactly 1024 byte big and has an MD5 of A5B28945A7C051D7A0CD18AF0E580D1B. Have fun hunting! Also note that on a boot9strapped system this is purely optional.

Important hint (3): Starting with this release, it is recommended you properly set up your RTC clock once. Find the option via HOME button -> More.... Also keep in mind that you should fix your system OS clock afterwards.

v1.2.8 · Jul 29, 2017

A special release of GodMode9 this time (we'll get to that below). This is new:

  • New input, decrypt, encrypt, buildcia commands for scripting
  • New CURRDIR environment variable for scripting
  • Fix case sensitive write permission checking (critical!)
  • Fix bad line numbers in text viewer
  • Fix TWL key init on certain A9LH entrypoints
  • Miscelaneous smaller fixes and improvements

Everyone should update their GodMode9 installation because of the critical bugfix. That critical fix fixes some cases where write permissions were not checked properly (don't worry, this was still an edge case, you'd have to trigger it yourself via reckless decisions and noone I know of is affected).

Now, this is the last legacy release, meaning, starting from this release, all entrypoints older than A9LH will be removed from the source code. That includes Brahma, GW and all CakeHax variants. This is also the reason this release archive contains compiled entrypoints. Most (= basically all) users will just need GodMode9.firm. If you have still relied on these old eps up till now, finally get your hacking up to date (gdi!). Refer to The Guide.

v1.2.7 · Jul 11, 2017

A new GodMode9 release, the star feature of this being scripting support. This is new:

  • Support for running .gm9 scripts (take a look at HelloScript.gm9 to learn how it works)
  • New viewer for text files (views .gm9 scripts, too, of course)
  • Simplified EmuNAND / RedNAND creation options
  • Safety confirmation on copy / move / inject user cancels
  • Nagscreen for embedded backup if it is not found
  • Numerous bug fixes and improvements, actually too many to list here.

Scripting allows you to automate and simplify things. With the script menu inside the HOME menu it is now also possible to replicate D9 functionality in a similar menu structure (if you think that's worth the work...). A sample script and two NAND backup scripts are already included, here's some more [link removed] for you to have a look at (only run if you actually understand what they do).

Release notes

  • The standard output path is now 0:/gm9/out, and the recommended path for support files is 0:/gm9/support.
  • You may miss the NAND backup function in the HOME menu - that's now found inside the Scripts... menu after a proper setup (hint: see Quick Start Guide).
  • An embedded essential backup is highly recommended (see S:/essential.exefs once you have it). Either make one, or suffer through the nag screen every GM9 boot.
  • Entrypoints older than A9LH are no more included in the release archive (you may not even notice, but if you do, install b9s, goddammit).

Quick start guide

These short instructions apply to all users who have ARM9loaderhax or SigHax and Luma3DS installed (Luma3DS set up with standard paths), which will be the majority of all GodMode9 users. Here's how to set it up quickly:

  • [A9LH only] Rename GodMode9.bin(from the release archive) to X_GodMode9.bin(change Xto the button of your choice) and put it into sd:/luma/payloads/
  • [SigHax only] Rename GodMode9.firm(from the release archive) to X_GodMode9.firm(change Xto the button of your choice) and put it into sd:/luma/payloads/
  • Copy the gm9 folder from the release archive to your SD card. Then, get good versions of aeskeydb.bin, seeddb.bin and encTitlekeys.bin from somewhere (don't ask me!) and put these three files into sd:/gm9/support (optional but recommended for full functionality).
  • Helpful hint #1: Go here for step by steps on doing some common tasks in GodMode9. Especially users coming from Decrypt9WIP or Hourglass9 may find this to be helpful.
  • Helpful hint #2: Never unlock the red write permission level unless you know exactly what you're doing. You will notice that prompt when it comes up, it features a completely red screen. It is recommended you stay on the yellow permission level or below at all times to be completely safe. Also read more on the write permissions system below.

You may now run GodMode9 via holding the X Button (or any other button you chose) at startup.

v1.2.1 · May 31, 2017

A new release with a very important fix, sighax / b9s users - please update. This is new:

  • Reduced the N3DS ram drive size to 64MB (sighax only, cause extended FCRAM is disabled)
  • Full support for custom NCSDs (still experimental at this point)
  • Added support for upcoming boot9strap and Luma 3DS releases (thanks @TuxSH)
  • OTP is now decryptable via GM9 - look for M:/otp_dec.mem
  • Essential backup now contains the otp instead of the otp hash
  • Support for setting up GW type EmuNANDs
  • The usual stash of minor improvements and bugfixes

The last version's ram drive had a bug when running from boot9strap on N3DS, where files on the drive could get corrupted if they are written to a certain portion of memory.

As for custom NCSDs - @ApacheThunder showed us it is possible, and now custom NCSDs are also fully compatible with GM9. Don't try anything stupid if you don't know what you're doing. Maybe do your experiments on EmuNAND first? Also, take note that GM9 can only help in repartitioning, you will need other tools, too.

v1.1.8 · May 20, 2017

A big release to accompany today's big revelation. This is new:

  • FIRM entrypoint supported, use GodMode9.firm (chainload via Luma 3DS, thanks @TuxSH & @AuroraWright)
  • Ability to dump boot9, boot11 and otp (works via Boot9Strap only, thanks @SciresM)
  • New search for installed titles, just use R+A on title dirs (1:/title, 2:/title, A:/title, ....)
  • New CXI dumper (use the A button on TMD files)
  • Game file renamer included (allows to rename NCCH, NCSD, CIA and NDS files)
  • Improved topdown mode is now standard
  • Various minor improvements and bugfixes

Starting with this release, you're now able to dump bootrom from the comfort of your home (sighaxed systems only) - but don't forget @SciresM and boot9strap did all the hard work for you. Getting the OTP is no trouble anymore, either, thanks to the magic of sighax.

The new installed title search works similarily to what FBI does, in that it shows you a list of titles installed in your system, and you can dump CXIs or build CIAs right from this list.

v1.1.3 · Apr 24, 2017

Not much to see here, this is a pure bugfix release. This is new:

  • Build the output path for encTitlekeys.bin / decTitlekeys.bin / aeskeydb.bin / seed.bin if it does not exist
  • Fix some SD cards not mounting (bug introduced in v0.6.6) - thanks @Linden10 for being a patient tester
  • Some even more minor stuff

"But, I want new stuff!"
Alright, I hear you. See here:
snap000
This release also contains an experimental alternative build of GodMode9 with the top and bottom screen functionality switched. Happy?

v1.1.2 · Apr 19, 2017

It's release time again! This is new:

  • Title info display for NCCH/NCSD/CIA/TMD/SMDH/NDS
  • Decrypting / encrypting / building / mounting aeskeydb.bin
  • Decrypting / encrypting / building encTitlekeys.bin / decTitlekeys.bin
  • Building seeddb.bin
  • Improved essential backup feature, now includes NAND CID & OTP hash
  • Increased ramdrive storage size (thanks @Wolfvak)
  • Fixed mounting ticket.db (thanks @saibotu)
  • Various smaller bugfixes

The new features for encTitlekeys.bin / decTitlekeys.bin / seeddb.bin / aeskeydb.bin are found inside the A button menu. To build encTitlekeys.bin / decTitlekeys.bin / aeskeydb.bin, select / mark (with L) one or more compatible files (tickets, ticket.db, slot??Key?.bin, ...). There's a also a new entry in the HOME menu, allowing to build multiple support files at once.

Starting with this release, GodMode9 is on par with Decrypt9WIP. Every feature that is in Decrypt9WIP has an improved counterpart in GodMode9 (minor exceptions here).

v1.0.7 · Mar 24, 2017

A new release already? Yup, on @Plailect's request, cause this has something very important for The Guide. As expected (two days after the last release), the list of changes is rather small.

This is new:

  • New, improved CTRNAND transfer method
  • A minor bugfix

SafeMode9 users (really, you still want that thing?): Check the last release for info. Or compile yourself. Or let someone compile for you. Whatever.

v1.0.6 · Mar 22, 2017

A new release to accompany @Plailect's update of the Guide(tm). This is not the big update you came to expect, but this time a rather small one, including mostly minor new features, maintenance and bug fixes.

This is new:

  • New fancy splash screen and GodMode9 logo
  • CTRtransfer made possible (recommended on A9LH only, refer to the Guide)
  • New NAND backup operation in HOME menu
  • Easy restore of H&S after injection from HOME menu
  • Improved TWL cart compatibility (thanks to @Normmatt)
  • Red screen indicates extra dangerous operations now
  • Allow setting up the bonus drive even if little space is available
  • Improved devkit support for NCCH / CIA operations
  • Automatic detection of SD card insert and ejects (you still need to unmount!)
  • Dirs can be analyzed (for total size / # of files / # of subdirs) now
  • "Copy to 0:/gm9out" operation for dirs is now available
  • Images can now be mounted from ram drive and bonus drive

As always, thanks everyone involved in this release, and especially to @Plailect for putting his trust in GodMode9!

And now, something else entirely: Why you don't need SafeMode9.

  • First of all, know that, when running software from ARM9, a NAND backup is essential. That goes for everything, for Decrypt9, for Hourglass9, for Luma 3DS, for GodMode9 and for SafeMode9. It's not like these tools are not well tested and considered safe, but doing low level operations in ARM9 software without a NAND backup is considered foolish. You don't even have to keep your NAND backup up to date (you can, of course!), but you're supposed to have one.
  • Permission unlock screens only turn up when required, and tell you about possible dangers. These should be paid attention to before unlocking, and that goes for SafeMode9 and GodMode9.
  • Now, do you trust yourself to do this? When a completely red screen turns up, telling you about the dangers of unlocking that write permission and asking you to enter that button sequence, press B and do not enter that button sequence unless you know exactly what you're doing. If so, congratulations, you may now use GodMode9 instead of SafeMode9.

The one difference between SafeMode9 and GodMode9 is that SafeMode9 automatically stops before even reaching the screen mentioned under the last bullet point. Accidental entry of unlock sequences is not possible (the probability for that is somewhere in the realm of 0.001%, and that ignores several variables that make it even more improbable to happen, you also have to actually try something stupid to even reach that screen). If you're still convinced you need SafeMode9, alright, I can't stop you, but prepare to be ridiculed by your splash screen.

v1.0.0 · Feb 24, 2017

A new release of GodMode9, and, as always, a big one. By now, GM9 can do almost everything that D9 can, and most of it faster or better (also refer to this list). The list below contains only major changes, in fact there is even more in the total 85 commits since the last release.

This is new:

  • A9LH preserving NAND restore (A button on NAND dumps)
  • Injecting and dumping the virtual GBA save (Virtual SysNAND drive)
  • Virtual Gamecart drive (C:, allows access to CTR/TWL/NTR) carts
  • Bonus drive, utilizing the unused space on NAND (home menu)
  • NCCH/NCSD/CIA encryption (in A button menu)
  • BOSS file decryption/encryption/verification (in A button menu)
  • Health & Safety injection for CXIs (also inside CIAs)
  • Decrypting / verifying / building CIA from NUS/CDN downloads (check the readme)
  • Mounting ticket.db files (for access to tickets)
  • Calculating and fixing CMACs for basically all files that have it
  • Generating XORpads from ncchinfo.bin files
  • Launching ARM9 payloads (thanks @Wolfvak)
  • Embedding essential backups into NAND files
  • Handling Multi EmuNAND setups (check the home menu)
  • ETA displayed for large / long operations
  • Completely revised and improved permission system (check the readme)
  • Changed drive order, to group SysNAND / EmuNAND stuff
  • Countless minor improvements and bug fixes

If you happen to stumble upon a bug, please open an issue on GitHub. Thanks for testing und using GodMode9! Also, SafeMode9 users, take note that SafeMode9's capabilities have increased. You're still kept safe, read the paragraph about write permissions in the readme for more info.

v0.9.2 · Dec 26, 2016

This is a big one, adding tons of functionality, improving stability, and fixing bugs. Since the last release, this had 96 commits, and the changelog shows:

  • This is a major rewrite for most of the code GM9 consists of
  • Verify support for CIA, NCSD, NCCH, TMD and FIRMs
  • Decrypt support for CIA, NCSD, NCCH, FIRMs
  • Building CIAs from NCSD, NCCH and TMD (that includes building CIAs from SD installed and system contents)
  • Batch support for all of the above
  • Mount support for CIA, NCSD (.3DS), NCCH, ExeFS, RomFS and FIRMs (from system and SD installed content, too)
  • New X: drive for NAND XORpads
  • Persistent RAM drive on 9:, not coupled to image handling
  • No SD mode - GodMode9 can now run without an SD card inserted
  • Readme finally provides actual useful information
  • Countless smaller improvements and bug fixes

Big thanks go to Al3x_10m of freenode #Cakey fame for helping me with some last minute testing of this release.

By the way: are people still scared of this? Really? SafeMode9 (same as GM9, but SysNAND / A9LH write permissions are not unlockable) is also attached to this release, just in case someone needs it.

v0.7.3 · Nov 2, 2016

A new major release with access to new drives and other improvements. This is new:

  • New SD data drives (A:/B:), for unencrypted access to data installed to your SD card
  • Selection of cluster size enabled in SD formatter
  • Simplified RedNAND setup after SD format
  • New HOME menu (just press the HOME button) with shutdown / restart / SD format options
  • POWER button is now functional and shuts down the console
  • Improved permissions system
  • Multiple minor improvements and fixes

If you didn't know, the SD formatter can be accessed after SD unmount or via the HOME menu. Also take note that GodMode9 is now a superior alternative to EmuNAND9, as it can easily be used to fully setup a new SD card with a RedNAND.

v0.6.6 · Jul 28, 2016

A new major release, and a big one, too. New in this:

  • New 6x10 font, and various improvements to the UI
  • Search for file via wildcard patterns (R+A on drives/folders)
  • SD card formatter (unmount via R+B first) (auto copies GM9 A9LH payload)
  • Goto offset feature in hex editor
  • Search for strings and data in hex editor
  • Added handling and verification for .SHA files
  • Removed slot0x05keyY.bin requirement on A9LH v2
  • Injecting files into files (must have exactly one file in clipboard)
  • Faster encryption/decryption of NAND partitions
  • Tweaked button react times
  • Half copied files are now properly removed
  • Countless smaller fixes and improvements
  • More stuff I possibly forgot

As always, have fun and be sure to report bugs.

Also, to everyone who is still scared of GM9 (certain news sites included): Grow some balls. While I still would not recommend having this on a childs' console, the write permissions system protects you every step along the way, and as long as you use your brain just a little bit and actually read what is on screen, you won't break anything.

v0.5.1 · May 30, 2016

New major release, this is new:

  • Simple hex editor is now included (only single byte changes, no inserts / deletes)
  • New hex view, utilizing both screens
  • Totally revised write permission system, now allowing granular permissions
  • Writing to memory is now allowed (when the permission is unlocked)
  • Improved handling when copying / moving to existing files
  • Encrypting / decrypting sector0x96 is supported (needs otp.bin on entrypoints other than a9lh)
  • Auto-scroll when holding arrow buttons, thanks to the ARM9 timer register
  • Multiple minor bugfixes

This release also introduces SafeMode9, a safe variant of GodMode9 which makes it impossible to brick. SysNAND and memory write permissions are permanently locked in SafeMode9.

Big thanks for this release, for testing features and for valuable ideas, go to Al3x_10m of #Cakey fame.

v0.4.0 · May 2, 2016

A major release, this is new:

  • No more additional files are required for GM9 to work (=> no more slot0x05keyY.bin / aeskeydb.bin)
  • You can mount a RAMdrive in root via R+X (28MB for O3DS / 128MB for N3DS)
  • You can now calculate & compare file SHA-256s
  • Moving FAT files and folders is now possible
  • Safety check for A9LH when trying to overwrite A9LH regions
  • Extended and fixed the virtual memory feature
  • GW Launcher.dat support is deprecated and the Launcher.dat no more included in the archive.
  • Countless smaller fixes and improvements

v0.3.5 · Apr 13, 2016

A new major release. This is new:

  • You can now mount NAND and FAT images and use them as additional drive(s)
  • Hexviewer for files from any locations
  • Virtual Memory drive added (allows you to view and dump certain memory regions)
  • Dual pane handling added, switch with R + (Right / Left)
  • Vastly improved button react times on O3DS (thanks @AuroraWright)
  • More useful info displayed in directory view
  • Fixed filename input dialogue (this would fail on rare occasions)
  • Fixed case sensitive renaming
  • Some minor bugfixes

v0.2.0 · Mar 22, 2016

Initial, full-featured release