github d0k3/GodMode9 v2.2.0
GodMode9 v2.2.0 Ninth Anniversary Release

pre-release11 days ago

On the faraway date of March 22nd, 2016, a simple ARM9-based file browser with one very cool feature (browsing your 3DS NAND file system) was released to the general public. At that point, no one would have thought that, nine years later, the project would be one of the most important 3DS homebrew tools—capable of doing basically everything—and, nonetheless, would still be alive and kicking. Still, on its 9th birthday, here's GodMode9 v2.2.0, and it even comes with not one, but two major new features.

Here's what you can expect:

  • [new] Translations support, thanks to @Epicpkmn11
  • [new] Lua scriping support, thanks to @ihaveamac
  • [improved?] A shiny new anniversary splash logo
  • [fixed] Numerous bugfixes and small improvements

For this release, I decided to be lazy and asked the main authors of the two big new features to write their own introductions.

Lua scripting support
This release implements Lua scripting! Compared to GM9Script, Lua brings numerous advantages, including functions, better control flow, tables, improved file I/O, floating point math, modules, error handling, and much more. Every GM9Script feature has an equivalent Lua API.

A simple HelloScript.lua is included in the release archive, as well as in the repo at resources/sample. This script demonstrates basic Lua (both stock and GM9) features. Full documentation for every GM9 function is available in lua-doc.md, also in the release archive and the repo under resources. For standard Lua functions, refer to the Lua 5.4 Reference Manual.

GM9Script is still included but is now considered legacy and will no longer be developed further.

Translations support
GodMode9 now speaks your language! You no longer need to download a fork of GodMode9 and wonder whether it's up to date to get a different language. If you don’t see your language or notice issues and would like to help, head over to the GodMode9 Crowdin project.

A simple "TRF" format is used to store translations. If you want to test new translations, you’ll need to convert the file. Simply place your JSON file from Crowdin into the resources/languages folder and build GodMode9 to automatically convert and include the TRF in the output folder. Alternatively, you can use the transriff.py script directly from the utils folder.

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
Let’s be honest: 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 making this release possible and being a main dev at my side for almost the entire lifetime of GodMode9
  • @ihaveamac, for adding Lua support and greatly expanding scripting capabilities
  • @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

Don't miss a new GodMode9 release

NewReleases is sending notifications on new releases.