Homebrew Official [Release] GodMode9 - All Access File Browser for the 3DS

  • Thread starter d0k3
  • Start date
  • Views 305,415
  • Replies 1,143
  • Likes 105

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
You're probably not going to like this suggestion, and I understand not wanting to maintain two programs, but, this seems too important not to backport to D9, since people probably aren't going to stop using it. I've been using twin panel file managers for years. But the Windows desktop has all but been the death of proper file management. So, many people probably just find D9 more natural.

As much as I understand, that will probably not happen unless someone else will take that up. By now, there's a ton of other reasons to switch, too numerous to actually begin to list. The GBA VC save dump / injection thing alone just today made a big leap forward in usability, by now granting access to the save on SD card directly. Even starting to backport stuff liek that would give me more headache than it is worth. If you're happy with what D9 / HG9 does for you, just continue using it, but, well, if you want the best, you need GM9.

Also, adding to this - the original reason for implementing scripts support was so that people can have their D9 one-click functionality back.
 
  • Like
Reactions: klear

TheFIrstAv3nger

Well-Known Member
Member
Joined
Apr 2, 2017
Messages
122
Trophies
0
Age
31
Location
Michigan
XP
225
Country
United States
Hey, so I'm trying to use the vram0.img feature and can't get it to work.

EDIT: Nevermind I got it to work. I was compiling from 1.4.2 and not the master, so the commit wasn't made yet. Working as intended so far.
 
Last edited by TheFIrstAv3nger,

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
889
Country
United States
As much as I understand, that will probably not happen unless someone else will take that up. By now, there's a ton of other reasons to switch, too numerous to actually begin to list. The GBA VC save dump / injection thing alone just today made a big leap forward in usability, by now granting access to the save on SD card directly. Even starting to backport stuff liek that would give me more headache than it is worth. If you're happy with what D9 / HG9 does for you, just continue using it, but, well, if you want the best, you need GM9.

Also, adding to this - the original reason for implementing scripts support was so that people can have their D9 one-click functionality back.

OK. No need to preach to the choir ;) I love GM9. There's only one thing left I use D9 for -- batch processing. Usually decrypting CIAs. Mainly because there's a log I can go back and check for seed decryption. If it was there, I like to add a "(CF)" to the CIA's name so I know it was "cryptofixed" so to speak. I know, technically they're all cryptofixed, but I like to keep track of which ones had a seed. But as long as it runs, I don't need updates.

I've never actually used HG9 or Safemode9. They just seemed like stripped down versions that did less. Though I did use E9, but that ultimately gave me issues both with the multi-NAND creator app and GM9, so, I went back to just letting GW format the first one. I have not messed with the GM9 format option yet because I don't see a legacy option (though I'm 99% certain that I could force it to make one by entering 1024 into the manual option, but some confirmation would be nice). I've seen minimum sized ones break Cakes and ReiNAND, so I'm hesitant to try the full option.

Hey, so I'm trying to use the vram0.img feature and can't get it to work. I have a folder that contains all the files I need for ntrboothax and the folder is only 2.8mb. I've tried converting that folder into an img and romfs file using romfs builder, imgburn and winimage and naming it appropriately. I put that in the data folder and compile. When I boot that gm9 up, and go to the vram.mem file under M:/ that file is 6mb, doesn't have a mount option and the imgmount command doesn't work either. Is there a specific way I gotta make the vram0.img file. Any help is appreciated!

Just booting it won't work. You have to INSTALL GM9 to a FIRM partition to use the piggybacked image (that's why it's limited to 3 MB). If you're not wanting to use GM9 as a firm (I like SALTMODE better than vanilla B9S myslelf), you won't find this option very useful. Also, since NTRBootHax itself doesn't need any files, you might want to specify what files you're trying to include (and why you're wanting to place them in such an unconventional location for that matter). You'd probably be better off either just mounting a conventional FAT image made by WinImage, or just placing the files in a folder and having the script copy/move that folder to "0:/" to dump it's contents into the root (assuming you're trying to do what I think you are). That said, it might be nice to have some clarification on the usage of this feature (and some practical usage examples, for that matter).

EDIT: @d0k3: You remember the bug I mentioned where an SSR ended up being shorter than the .bin file? It happened again. But this time it happens just by compiling GM9 in AL3X10MODE. The resulting .firm files are almost 20 KB smaller than the .bin file (when they should be roughly 3 KB larger). Compiling it normally or in SALTMODE does not cause this. I have not tested to see if it will run correctly or not, but it is almost certain that something is missing here. I think certain byte multiples are causing the file to become truncated. Actually, I'm thinking there's a good chance it's a bug in firmtool at this point, since it's only the .firm files that end up being the wrong size.

EDIT2: Just checked firmtool for an update. Looks like there was a typo fixed recently. But the new version does it too.
 
Last edited by Kazuma77,

TheFIrstAv3nger

Well-Known Member
Member
Joined
Apr 2, 2017
Messages
122
Trophies
0
Age
31
Location
Michigan
XP
225
Country
United States
Just booting it won't work. You have to INSTALL GM9 to a FIRM partition to use the piggybacked image (that's why it's limited to 3 MB). If you're not wanting to use GM9 as a firm (I like SALTMODE better than vanilla B9S myslelf), you won't find this option very useful. Also, since NTRBootHax itself doesn't need any files, you might want to specify what files you're trying to include (and why you're wanting to place them in such an unconventional location for that matter). You'd probably be better off either just mounting a conventional FAT image made by WinImage, or just placing the files in a folder and having the script copy/move that folder to "0:/" to dump it's contents into the root (assuming you're trying to do what I think you are). That said, it might be nice to have some clarification on the usage of this feature (and some practical usage examples, for that matter).

Well just running it from luma chainloader works and it being flashed to my r4 works also. The only usage I was trying to get out of this is speed running ntrboothax, so I was trying to get rid of the swapping SD card step. And its pretty cool to be able to shack some ones 3ds with nothing but a flashcart.
 

RustInPeace

Samurai Cop
Member
Joined
Oct 13, 2014
Messages
5,940
Trophies
1
Age
31
XP
5,119
Country
United States
About Lazarus3DS since it relies on GM9, I successfully unbricked an N3DS on it, installed B9S, after some real hassles (renaming, finding specific files that the prep script didn't account for). The problem though is after all that, my console gets an 002-0121 message. If that's intentional, an online services ban, I think there should be a disclaimer because I did not read any such thing here: https://github.com/AnalogMan151/Lazarus3DS

If there's a solution, I'd like to know.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Just booting it won't work. You have to INSTALL GM9 to a FIRM partition to use the piggybacked image (that's why it's limited to 3 MB). If you're not wanting to use GM9 as a firm (I like SALTMODE better than vanilla B9S myslelf), you won't find this option very useful. Also, since NTRBootHax itself doesn't need any files, you might want to specify what files you're trying to include (and why you're wanting to place them in such an unconventional location for that matter). You'd probably be better off either just mounting a conventional FAT image made by WinImage, or just placing the files in a folder and having the script copy/move that folder to "0:/" to dump it's contents into the root (assuming you're trying to do what I think you are). That said, it might be nice to have some clarification on the usage of this feature (and some practical usage examples, for that matter).

Not entirely correct. The limitation comes from the size of VRAM (6MB, of which 3MB is already in use). Also, the data will be taken over to M:/vram.mem regardless of how you're running GM9.

EDIT: @d0k3: You remember the bug I mentioned where an SSR ended up being shorter than the .bin file? It happened again. But this time it happens just by compiling GM9 in AL3X10MODE. The resulting .firm files are almost 20 KB smaller than the .bin file (when they should be roughly 3 KB larger). Compiling it normally or in SALTMODE does not cause this. I have not tested to see if it will run correctly or not, but it is almost certain that something is missing here. I think certain byte multiples are causing the file to become truncated. Actually, I'm thinking there's a good chance it's a bug in firmtool at this point, since it's only the .firm files that end up being the wrong size.

EDIT2: Just checked firmtool for an update. Looks like there was a typo fixed recently. But the new version does it too.

You guessed right, that's an issue in firmtool. We already found it, and it's in the progress of being fixed. Fix coming today, I guess.
 

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
889
Country
United States
Well just running it from luma chainloader works and it being flashed to my r4 works also. The only usage I was trying to get out of this is speed running ntrboothax, so I was trying to get rid of the swapping SD card step. And its pretty cool to be able to shack some ones 3ds with nothing but a flashcart.

There's no need to do all of that just to eliminate the swap step. You could just put the configuration files in a folder, then copy the folder to "0:/" and delete the folder for the last two lines. However, a same card installer can pretty much coexist with the configuration's files, with the exception of the need to overwrite "boot.firm" so the installer's payload can run. What I do is have a "boot.firm.bak" as part of the configuration, and have the installer copy it back right before it deletes all the temporary files (which I try to keep in the same folder as much as possible to reduce the number of "rm" lines).

I have a great example of a same card installer in my InScripted AIO (iso site, "CFW Discussion" section). I called it "One & Done" because it did the whole process with one script (now, one SSR, but the scripts are still included under the "source" folder so you can see what they do, and build your own variants if desired). Though it's not just for NTRBootHax. I included additional files to support Soundhax and other *hax methods so that people on 9.0 to 11.3 can use it without buying a flash cart. I've even included a launcher for MSET. So you may want to remove those if yours is just for NTRBootHax. Though it's not like the scripts waste much time deleting those extra files. They're pretty fast. Feel free to check it out and customize it for your own uses. No need to reinvent the wheel. I also have a "Shove & Shift" swap card. But it's definitely not for speed runs. I'm going for flexibility and customization, so I nearly fill the RAM drive. Though it's open to customization too. It's not even using SSRs like "One & Done" is (there's just too many scripts to compile them all and make it a CBM9-based hand-holder, and I'd expect anyone that's looking to create a swap card to know what they're doing).

Not entirely correct. The limitation comes from the size of VRAM (6MB, of which 3MB is already in use). Also, the data will be taken over to M:/vram.mem regardless of how you're running GM9.

You guessed right, that's an issue in firmtool. We already found it, and it's in the progress of being fixed. Fix coming today, I guess.

Alright, well, I hadn't actually tried it, because I have yet to come up with anything that could use it (especially with the 3 MB limitation). I suppose I could make a DSP firm "extractor" that works 100% of the time ;) but I'm not releasing my AIO here anyway, since it would no longer be an AIO with all that stuff removed.

That's great news that it was found (especially so quickly). I figured it was better to let someone they would actually listen to report it. They'd probably have just told me it "wasn't their problem" again (after the obligatory ad hominem attack, of course).

About Lazarus3DS since it relies on GM9, I successfully unbricked an N3DS on it, installed B9S, after some real hassles (renaming, finding specific files that the prep script didn't account for). The problem though is after all that, my console gets an 002-0121 message. If that's intentional, an online services ban, I think there should be a disclaimer because I did not read any such thing here: https://github.com/AnalogMan151/Lazarus3DS

If there's a solution, I'd like to know.

Well, it uses files from a donor console. So, it would be my guess that if said donor gets banned, so do you. If they came from a public source, the seed probably got used long ago. I doubt there's anything d0k3 could add to GM9 to prevent this. Don't quote me on this, but I think you should be able to unban it via the usual tricks. Still, you might want to double check with @AnalogMan since it's his project. Though I would hold off on performing an unban at this time. Based on the complaints I'm seeing pop up on various sites, it looks like a second wave is in progress.
 
Last edited by Kazuma77,

RustInPeace

Samurai Cop
Member
Joined
Oct 13, 2014
Messages
5,940
Trophies
1
Age
31
XP
5,119
Country
United States
Well, it uses files from a donor console. So, it would be my guess that if said donor gets banned, so do you. If they came from a public source, the seed probably got used long ago. I doubt there's anything d0k3 could add to GM9 to prevent this. Don't quote me on this, but I think you should be able to unban it via the usual tricks. Still, you might want to double check with @AnalogMan since it's his project. Though I would hold off on performing an unban at this time. Based on the complaints I'm seeing pop up on various sites, it looks like a second wave is in progress.

I PM'ed someone who had the same issue and their donor console was not banned, so it can't be that. I've PM'ed @AnalogMan as well, no response so far.
 
D

Deleted User

Guest
Got no ntrboot card? You just need to edit the bool bootloader check (in godmode()) to your liking.
ok thanks i was wondering if it could do that but i didnt want to try if i didnt know if it would work
 

Kazuma77

Well-Known Member
Member
Joined
May 11, 2008
Messages
1,035
Trophies
1
XP
889
Country
United States
I PM'ed someone who had the same issue and their donor console was not banned, so it can't be that. I've PM'ed @AnalogMan as well, no response so far.

Hmm, well, the LFCSB is getting transferred, regardless. This does not happen under any legitimate circumstances (not even a system transfer). Based on the information from the ban wave thread, two of the things that get sent when you go online are:
  • The console's unique hexadecimal ID used in the LocalFriendCodeSeedB, along with it's RSA-signed signature.
  • The console's serial number in which is broadcasted from the SoC and is hard coded in the SoC.
So, if I'm understanding all I've read on the subject correctly, if Nintendo cares to look for it, just using the seed file in another system could flag it for a ban (especially if the donor has ever been online, because then they have records of the same hexadecimal ID being used with two different console serial numbers). But it's not like I work for Nintendo. Just making an educated guess at what might be going on.

im modding the bootmenu but i dont want to install a potential brick to my firms

Interesting. What type of modifications? So far all I've done is change the hotkey for SALTMODE to R+X. A revision apparently added more time to hit the hotkey. That's all well and good, but I have a start payload.
 
D

Deleted User

Guest
Interesting. What type of modifications? So far all I've done is change the hotkey for SALTMODE to R+X. A revision apparently added more time to hit the hotkey. That's all well and good, but I have a start payload.
so far all ive done is switch the reboot and poweroff so i can shutdown faster when i accidently turn it on (n3ds has the power button on the outside :/)
but i was planning on adding something like the unlock perm combos to the boot menu
 

flow349

Well-Known Member
Newcomer
Joined
Aug 18, 2015
Messages
82
Trophies
0
Age
43
XP
758
Country
Gambia, The
@d0k3 would it be possible to implement something like this into gm9: https://github.com/ahezard/woodfilemanager
i think it would be useful if you can transfer files from the 3ds sd card to the flashcards micro sd without taking out the cards (for example new 3ds users have to unscrew it everytime expect FTP, dump nds games directly to the flascards sd or an easier b9s setup when everything is located on the flascard).
and you would never need a second filemanger on your flashcard.
 
D

Deleted User

Guest
@d0k3 would it be possible to implement something like this into gm9: https://github.com/ahezard/woodfilemanager
i think it would be useful if you can transfer files from the 3ds sd card to the flashcards micro sd without taking out the cards (for example new 3ds users have to unscrew it everytime expect FTP, dump nds games directly to the flascards sd or an easier b9s setup when everything is located on the flascard).
and you would never need a second filemanger on your flashcard.
I think something like that has already been suggested
iirc you would need to make special drivers? for each cart
would be nice but it would probably need a seperate drive number (idk how gm9 handles drive scrolling since I haven't added any new/nonexistent drives in my mod)
 
D

Deleted User

Guest
how would i got about creating a custom font?
gimp has a option to export as a c header but i cant open other fonts to see how they are set up
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    ShdwTakashi @ ShdwTakashi: pineapple belong on pizza? The answer is yes until proven otherwise