1. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    You may ask, "Don't we already have a guide to editing the home menu"
    Yes we do, but it's severely outdated at this point and there are much better methods and software to do this.
    I created this guide to use those updated methods, as well as include better batch scripts that prevent problems that occured on the previous guide (ie hardcoding the SystemApp)
    It also avoids using 3DNUS so we don't have to constantly know what the current version of Home Menu is. We just pull the cia straight from the 3ds instead using automated gm9 scripts
    Finally, instead of installing the cia with something like FBI, we instead just replace the .app of home menu.

    MenuDump is a pack developed by @SkyQueen, and now includes my latest work to make what is currently the best and easiest solution for home menu modification (at least that I know of)
    As of such, this guide now uses the MenuDump pack!

    Prerequisites:

    - 3DS with B9S installed and latest Godmode9

    1) Download and extract the MenuDump pack: https://github.com/Arch9SK7/MenuDump/releases

    2) Copy Mod_HomeMenu.gm9 form the zip onto your 3ds SD card in the gm9/scripts folder

    3) Place your SD back into your 3ds, and boot into godmode9

    4) Once godemode9 boots, press the home button, go to scripts, and run Mod_HomeMenu

    5) When prompted, select "Grab CIA"

    6) godmode9 will work it's magic, and create HomeMenu.cia in gm9/out on your SD

    7)
    power off your 3ds, and insert your SD into your computer (or boot into SD management or FTP homebrew)

    8) Copy the HomeMenu.cia from your SD card (gm9/out) to the HomeMenuEdition folder inside the pack you extracted from the zip earlier

    9) Open the HomeMenuEdition in the pack, run Home Menu Tool.bat, and use option 7 to extract the CIA and decompress all of the files.

    10) Once it completes, you should see a message saying to do your edits

    Now you do your edits.

    For sleep_LZ color edits (the power off screen) you can simply use the SleepLZColorEditor Tool found within the MenuDump pack.
    You can set your own colors, or use either one of the two provided example color theme files or another color theme file you find online

    For text edits, You can use MSBT Editor, which is also included in the MenuDump pack.
    The file you'll want to open is menu_msbt.LZ, found in the ExtractedRomFS/message/(your language) folder.
    for the sleep menu (the power off screen we color edit above) You'll want to edit the lau_press_pow* strings

    With all your edits complete, it's time to put everything back together and install!

    11) Go back to your home menu tool prompt that is still running, and press any key to continue

    12) The files will get recompressed, and rebuilt back into a CIA, and then automatically copied to your 3ds SD card if it's still in the computer

    13) If it doesn't automatically copy, then manually copy the HomeMenu_edited.cia into the gm9/out folder on your SD card.

    14) Boot into Godmode9. Press the home button, then select scripts, and run Mod_HomeMenu

    15) When prompted, select "Install", and then select the home menu cia you wish to install. It will ask if you want to create a sysNAND backup first. I recommend doing this the first time you run the script.

    16) Once the script completes, you can reboot

    17) Done!

    If your console successfully boots, then congrats! You now have a custom home menu!

    If you console doesn't boot, then don't worry! I've designed this process to be as safe as possible, and we have a contingency plan for this! Continue on to step 18 to remove your edit!

    Restoing home menu:
    18)
    Boot into godmode9, press home button, select scripts, and run Mod_HomeMenu. Select Restore when prompted

    That's it! Now your home menu should be back to it's original version (or whatever version it was when you first ran the install_homemenu script).
    You can also use this step to remove your edits at any point if you want to.

    FAQ:
    Q:
    Can I...
    A: I probably don't know. I only really know about sleep_LZ.bin editing and modifying some text

    Updates:
    1.0.1:
    Accidentally forgot a "/" in the EUR home menu location for the gm9 scripts. which would cause them to completely not work on EUR consoles. Whoops! Fixed that up.
    1.2.0:
    Condense scripts to one single script, automatically detect console region
    1.2.1:
    Backup home menu to both SD and NAND, to prevent accidental deletion from SD
    Now uses a pack that uses works by both @SkyQueen and I to greatly simplify the home menu modding process!
     
    Last edited by TheCyberQuake, Apr 10, 2018
    JVF, SkyQueen, DarthDub and 4 others like this.
  2. bungboi

    bungboi GBAtemp Regular
    Member

    Joined:
    Oct 31, 2017
    Messages:
    100
    Country:
    United States
    Side note: If you get an error in Part2.bat saying you don't have the common key, then you are going to have to encrypt your edited CIA with Decrypt9 before installing.
     
  3. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    The install script already does that for you :)
     
  4. bungboi

    bungboi GBAtemp Regular
    Member

    Joined:
    Oct 31, 2017
    Messages:
    100
    Country:
    United States
    lmao I completely forgot about using the gm9 script. My instincts told me to install it with FBI. Well, it works both ways I guess
     
  5. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    Also to note, I've currently only tested USA region. Other regions should theoretically work, but just let me know if you experience any issues, especially with other regions.
     
  6. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    Fixed a problem with EUR consoles that was caused by a dumb mistake. If anyone with a EUR console had problems before with the gm9 scripts, they should be working now!
     
  7. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    I've got a secret project in the works that will help with part of home menu modification (like the acutal customization part I haven't really gone over yet). Hoping to have a beta version to release by the end of the week, but no guarantees. It will also be more of a PoC, and hopefully another better dev can recreate the idea in a better language.
    For now I've got most of the main parts of it done, it's mostly just copy/paste to add every part that needs to be edited.
     
  8. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    Last edited by TheCyberQuake, Apr 8, 2018
  9. YoshiOG1

    YoshiOG1 Advanced Member
    Newcomer

    Joined:
    Apr 15, 2016
    Messages:
    52
    Country:
    United States
    I get an error when trying to open the sleep_LZ.bin file I dumped using GM9:
    See the end of this message for details on invoking
    just-in-time (JIT) debugging instead of this dialog box.
    ************** Exception Text **************
    System.Exception: #FFFFFFFFFFFFFFFFFFFFFFFF is not a valid value for Int32. ---> System.OverflowException: Value was either too large or too small for a UInt32.
    at System.ParseNumbers.StringToInt(String s, Int32 radix, Int32 flags, Int32* currPos)
    at System.Convert.ToInt32(String value, Int32 fromBase)
    at System.ComponentModel.Int32Converter.FromString(String value, Int32 radix)
    at System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
    --- End of inner exception stack trace ---
    at System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
    at System.Drawing.ColorConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, Object value)
    at System.Drawing.ColorTranslator.FromHtml(String htmlColor)
    at HexEdit.Form1.StrToClr(String theColor)
    at HexEdit.Form1.Button2_Click(Object sender, EventArgs e)
    at System.Windows.Forms.Control.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnClick(EventArgs e)
    at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    at System.Windows.Forms.Control.WndProc(Message& m)
    at System.Windows.Forms.ButtonBase.WndProc(Message& m)
    at System.Windows.Forms.Button.WndProc(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
    ************** Loaded Assemblies **************
    mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2633.0 built by: NET471REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
    ----------------------------------------
    sleep_LZ Color Editor
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///D:/GitHub/sleep_LZ%20Color%20Editor.exe
    ----------------------------------------
    Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 14.7.2556.0 built by: NET471REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
    ----------------------------------------
    System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2556.0 built by: NET471REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
    ----------------------------------------
    System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2556.0 built by: NET471REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
    ----------------------------------------
    System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2556.0 built by: NET471REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
    ----------------------------------------
    System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2556.0 built by: NET471REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
    ----------------------------------------
    System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2633.0 built by: NET471REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
    ----------------------------------------
    System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2612.0 built by: NET471REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
    ----------------------------------------
    System.Runtime.Remoting
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2556.0 built by: NET471REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
    ----------------------------------------
    Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.7.2556.0 built by: NET471REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
    ----------------------------------------
    ************** JIT Debugging **************
    To enable just-in-time (JIT) debugging, the .config file for this
    application or computer (machine.config) must have the
    jitDebugging value set in the system.windows.forms section.
    The application must also be compiled with debugging
    enabled.
    For example:
    <configuration>
    <system.windows.forms jitDebugging="true" />
    </configuration>
    When JIT debugging is enabled, any unhandled exception
    will be sent to the JIT debugger registered on the computer
    rather than be handled by this dialog box.

    P.S.: I have a method of using Luma's LayeredFS with system titles such as the Home Menu, but it requires enabling "loading external FIRMS and modules" from Luma's config menu.
     
  10. Filo97

    Filo97 Pink = Best colour
    Member

    Joined:
    Oct 8, 2015
    Messages:
    4,090
    Country:
    Italy
    It's nice you are working on home menu customization! Thanks for your work! (I always wanted to personalize my home menu more but was kind of scared to mess everything up)
     
  11. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    You need to lz11 decompress the file with Msby editor reloaded
     
    YoshiOG1 likes this.
  12. Inthescene

    Inthescene Advanced Member
    Newcomer

    Joined:
    Feb 18, 2018
    Messages:
    78
    Country:
    Canada
    When I compress the sleep_LZ, it's a winrar archive. When I rebuild it says couldn't find systemapp.txt.
     
  13. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    What are you compressing with? You. Need to use the lz11 option in Msbt editor reloaded
     
  14. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    Use this github to download the latest version
    https://github.com/TheCyberQuake/SleepLZColorEditor/releases
    Lots of changes were made, so I would see if the problem persists on the latest version. I'll also be introducing some changes to handle using a compressed sleep_LZ.bin and throw an error rather than just crashing.
     
  15. SkyQueen

    SkyQueen Arch3DS Developer || B0MBrHax
    Developer

    Joined:
    Apr 23, 2016
    Messages:
    988
    Country:
    Japan
    Here i have a mini batch program from some months ago i set up to do this and it auto extracts the cia and decompresses and recompresses all the LZ files and rebuilds the cia for you with the option you pick its quick :)

    To use the decompressed sleep.LZ file it leaves you with just rename the entire thing (extension included) to sleep_LZ.bin.bin to use with Quakes Colour editor. otherwise as soon as you have used my program to decompress all this just drag it the menu file into MSBT editor and edit away.

    just rename the sleep_LZ.bin.bin back to sleep.LZ before compressing again or it will fail :D https://github.com/Arch9SK7/MenuDump/releases/tag/v3.0.0

    — Posts automatically merged - Please don't double post! —

    Also Quake i appreciate you totally crediting me for using my HomeMenuEdition folder of tools you used here but it's fine. Anyways your Script throws up an error here on my New 2DS XL USA region Firm 11.6 Arch3DS CFW ( i tried other customs on the ds and it didnt resolve)

    When i run the Mod_HomeMenu.gm9 script from its obvious placement it throws up
    0:/gm9/scripts/Mod_HomeMenu.gm9
    line 6: too many arguments
    if chk $[REGION] "USA"

    Just thought i would let ya know.
     
  16. TheCyberQuake

    OP TheCyberQuake Certified Geek
    Member

    Joined:
    Dec 2, 2014
    Messages:
    5,011
    Country:
    United States
    Firstly, I used the homemenuedition folder linked by Asia81, who didn't seem to have credited anyone so I didn't know who to credit.
    And secondly, is your godmode9 updated?
     
  17. SkyQueen

    SkyQueen Arch3DS Developer || B0MBrHax
    Developer

    Joined:
    Apr 23, 2016
    Messages:
    988
    Country:
    Japan
    Not sure. Let me check.

    — Posts automatically merged - Please don't double post! —

    Nope so ill give it a check. Forgot that Dok3 still works on it.
     
  18. Cralex

    Cralex GBAtemp Regular
    Member

    Joined:
    Jul 29, 2016
    Messages:
    203
    Country:
    United States
    Ok, so I messed up and now my N2DSXL won’t boot. (Kernel Panic) It’s completely my fault and, for reasons that I will explain shortly, I’m not expecting a perfect recovery. But I’m hoping someone can point me in the right direction to get me up and running with minimal loss.

    I used this guide and the MenuMod tools to successfully modify my home menu while on the previous system version. In preparation to update to the new system and stop the nags, I wanted to go back to the stock home menu. I used the script (whichever version I had from when I first used it) to try the “restore” option. However, I still had the customized home menu when I booted out of GM9.

    Here’s where I got stupid. I recalled being able to encrypt a home menu CIA and install it using FBI as part of an older guide. I found my unedited home menu in GM9 out and encrypted it. I tried installing it with FBI, but it gave an error about it already existing. Figuring that this hadn’t caused any harm, I decided to make a new NAND backup and see what would happen if I let it update itself with the edited home menu. So I went straight back into GM9, erased my KNOWN GOOD backups, made a new NAND backup, and rebooted. To my horror, the screen stayed dark. Attempting a hard shutdown resulted in the kernel panic error message. Apparently, trying to install the home menu with FBI bricked my system, and I was stupid enough to have my one remaining backup be AFTER doing this. I tried using the script to reinstall the edited home menu, but it didn’t work. I’m stuck.

    Now, it just so happens that this bricked system (N2DSXL) was originally system-transferred from another system (N3DSXL). Following the transfer, the tickets for my injected games and such didn’t transfer over and I was having trouble installing the tickets on my N2DSXL manually. To remedy this, I performed a CTR-NAND transfer from N3DSXL to N2DSXL. I still have my N3DSXL, and it still has the same movable file. I could just perform another CTR-NAND transfer to fix my N2DSXL, but the two have different titles installed now and I’m worried about what it’ll take to get all my previously installed titles working... Or am I overthinking this?

    I know I have options, I just want the least nuclear option possible as far as my installed titles and my saved data is concerned. I know for sure that my system was on the previous version when I broke it, if this helps. AllI know is that I’m out of my league here. Thanks for reading.

    Edit: I was tired and frazzled when this all happened. I got things going again by backing up my tickets, performing a CTR-NAND transfer, and then restoring the tickets. The only thing I’m not understanding is why I couldn’t restore my stock home menu to begin with.
     
    Last edited by Cralex, Jun 26, 2018
  19. schrmh

    schrmh Member
    Newcomer

    Joined:
    Jun 5, 2015
    Messages:
    48
    Country:
    Gambia, The
    Ok basically the script just saves some time but dungeonfire's tutorial and the documention on Google Docs goes more deep.
    The color editor is fine but I would rather see some editor that would display how it would look on the system. Also I think it's possible to move elements and the color editor just doesn't take care of that.
     
    Last edited by schrmh, Jul 29, 2018
    Inthescene likes this.
  20. Lakstava

    Lakstava Newbie
    Newcomer

    Joined:
    Sep 13, 2018
    Messages:
    3
    Country:
    United States
    I installed the cia, and when it boots it says, "An exception occurred"
    I tried your method of removal, however, "originalhomemenu.app not found!" is all it says. I did not remove or delete this file. Is there any way to generate/create/download this file? Or was is specific to this device? In that case, what would be my best method of solution?
     
  21. Lakstava

    Lakstava Newbie
    Newcomer

    Joined:
    Sep 13, 2018
    Messages:
    3
    Country:
    United States
    I installed the cia, and when it boots it says, "An exception occurred"
    I tried your method of removal, however, "originalhomemenu.app not found!" is all it says. I did not remove or delete this file. Is there any way to generate/create/download this file? Or was is specific to this device? In that case, what would be my best method of solution?
     
  22. Lakstava

    Lakstava Newbie
    Newcomer

    Joined:
    Sep 13, 2018
    Messages:
    3
    Country:
    United States
    I used FBI, that was probably the problem.
     
Loading...

Hide similar threads Similar threads with keywords - [Tutorial], Updated, Editing