@d0k3 d0k3 released this Aug 2, 2018 · 24 commits to master since this release

Assets 3

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.

@d0k3 d0k3 released this Jul 29, 2018 · 28 commits to master since this release

Assets 3

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).

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.

@d0k3 d0k3 released this Apr 4, 2018 · 91 commits to master since this release

Assets 3

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.

@d0k3 d0k3 released this Apr 1, 2018 · 109 commits to master since this release

Assets 4

Well, that was quick. Since the last release, thanks to testers, we found two bugs that could possibly cause exceptions. Although these should be rarely triggered (basically never for most users), a bugfix release is in order. This is new:

  • [new] Unhappy accidents (just joking, nothing bad will happen)
  • [fixed] Browsing TADs works again and does not cause exceptions (thanks @knight-ryu12 for the find)
  • [fixed] Crashes when running H&S injected homebrew (thanks @TurdPooCharger and @annson24)
  • [misc] Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience

Again, thanks to everyone who sends in bug reports and helps to improve GodMode9.

Additional note: Yes, this is a April fools release. It will randomly switch to one of four "glitched" modes on boot. Don't panic! You can just reboot to try a normal boot again. Also: added an archive with the splashes and fonts.

@d0k3 d0k3 released this Mar 22, 2018 · 104 commits to master since this release

Assets 3

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. 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.

@d0k3 d0k3 released this Feb 22, 2018 · 131 commits to master since this release

Assets 3

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.

@d0k3 d0k3 released this Jan 2, 2018 · 193 commits to master since this release

Assets 3

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.

@d0k3 d0k3 released this Dec 29, 2017 · 199 commits to master since this release

Assets 3

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!

@d0k3 d0k3 released this Oct 14, 2017 · 283 commits to master since this release

Assets 3

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.

@d0k3 d0k3 released this Sep 24, 2017 · 320 commits to master since this release

Assets 3

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.