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

Discussion in '3DS - Homebrew Development and Emulators' started by d0k3, Mar 22, 2016.

  1. Kazuma77

    Kazuma77 GBAtemp Advanced Fan

    Member
    936
    385
    May 11, 2008
    United States
    As I said, I haven't really messed with GBA injection. I initially had decided not to convert it because it was ripped straight from D9 anyway. But then I thought, well, it does go straight to the option, so, some people might find it convenient. But doing the conversion right is far more important to me. So, thanks for letting me know. I'll definitely be removing it with that being the case.

    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.

    Usefulness aside, I was hoping an fc/b would be revealing. That said, Puma and Cakes are smaller. I'll have an easier time finding the right hex pattern with them anyway. Maybe I can do a "left-handed re-compile" of GW.
     
    Last edited by Kazuma77, Oct 9, 2017


  2. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,628
    2,649
    Dec 3, 2004
    Gambia, The
    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.
     
    klear likes this.
  3. TheFIrstAv3nger

    TheFIrstAv3nger Member

    Newcomer
    28
    4
    Apr 2, 2017
    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, Oct 11, 2017 at 12:33 AM
  4. Kazuma77

    Kazuma77 GBAtemp Advanced Fan

    Member
    936
    385
    May 11, 2008
    United States
    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.

    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, Oct 11, 2017 at 1:30 AM
  5. TheFIrstAv3nger

    TheFIrstAv3nger Member

    Newcomer
    28
    4
    Apr 2, 2017
    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.
     
  6. RustInPeace

    RustInPeace Samurai Cop

    Member
    2,847
    2,171
    Oct 13, 2014
    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.
     
  7. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,628
    2,649
    Dec 3, 2004
    Gambia, The
    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.
     
  8. Kazuma77

    Kazuma77 GBAtemp Advanced Fan

    Member
    936
    385
    May 11, 2008
    United States
    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).

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

    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, Oct 11, 2017 at 10:23 PM
  9. Eix

    Eix The™ Crap Artist Megumin

    Member
    235
    111
    May 27, 2017
    United States
    GBAtemp
    can I make gm9 boot to bootloader mode without loading from firm1firm0?
     
  10. RustInPeace

    RustInPeace Samurai Cop

    Member
    2,847
    2,171
    Oct 13, 2014
    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.
     
  11. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,628
    2,649
    Dec 3, 2004
    Gambia, The
    Why would you want that?
     
  12. Eix

    Eix The™ Crap Artist Megumin

    Member
    235
    111
    May 27, 2017
    United States
    GBAtemp
    im modding the bootmenu but i dont want to install a potential brick to my firms
     
  13. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,628
    2,649
    Dec 3, 2004
    Gambia, The
    Got no ntrboot card? You just need to edit the bool bootloader check (in godmode()) to your liking.
     
    Eix likes this.
  14. Eix

    Eix The™ Crap Artist Megumin

    Member
    235
    111
    May 27, 2017
    United States
    GBAtemp
    ok thanks i was wondering if it could do that but i didnt want to try if i didnt know if it would work
     
  15. Kazuma77

    Kazuma77 GBAtemp Advanced Fan

    Member
    936
    385
    May 11, 2008
    United States
    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.

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

    Eix The™ Crap Artist Megumin

    Member
    235
    111
    May 27, 2017
    United States
    GBAtemp
    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
     
  17. flow349

    flow349 Advanced Member

    Newcomer
    72
    8
    Aug 18, 2015
    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.
     
  18. Eix

    Eix The™ Crap Artist Megumin

    Member
    235
    111
    May 27, 2017
    United States
    GBAtemp
    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)