[Release] Three Stage 2

Discussion in '3DS - Homebrew Development and Emulators' started by liomajor, Jun 2, 2016.

  1. liomajor
    OP

    liomajor GBAtemp Maniac

    Member
    1,463
    1,065
    Jun 10, 2008
    United States
    Easy Install using safeA9LHinstaller

    This includes only stage 1/2 files and installer!

    A hardwaremod is highly recommended - use at own RISK!

    Before installing this mod, please make a backup of your sysNAND!

    You will need your very own private otp.bin and other files.

    What will this do?

    This will install delebile's a9lh to your nand to allow three stages without bootmanager
    to start three different arm9loaderhax.bin from different folders. You can use this to
    boot gateway's arm9loaderhax.bin or change the offered source to your own desire.

    I take no credits for this as i did only little changes to have buttons and three stage2!

    Credits goes to delebile, dark_samus, aurora and alle the other who helped to make this!

    You can change the included source to your desire and needs.

    Screen_Init is set to 80 by default bcuz FF might hurt your display in long therm.

    Details for default stages:
    Code:
    Stage 2                Button    Sector         Offset                            Path       File to load
    
    payload_stage2.bin   = Default = Sector 5C000 = (5C000 * 200 hex) Offset B800000  \          arm9loaderhax.bin
    payload_stage2_2.bin = X + Y   = Sector 5A000 = (5A000 * 200 hex) Offset B400000  \a9lh\gw   arm9loaderhax.bin
    payload_stage2_3.bin = X + A   = Sector 5A100 = (5A100 * 200 hex) Offset B420000  \a9lh      arm9loaderhax.bin
    
    1. Extract the safeA9LHinstaller mod to your memorycard
    2. Copy your desired payload_stage1.bin / payload_stage2.bin / payload_stage2_2.bin / payload_stage2_3.bin to a9lh folder
    3. Copy the following files to A9LH folder: OTP.BIN (your own!) / firm0.bin / firm1.bin / secret_sector.bin

    Without listed files you will brick your nand, make sure ALL files are present!!!

    4. Either use your desired entry point to load Homebrew Launcher and start safeA9LH installer or update with included arm9loaderhax.bin
    5. Press select to install/update a9lh
    6. Place your desired arm9loaderhax.bin to the root and a9lh / gw folder.

    Already using a9lh? Use arm9loaderhax.bin to update!

    Modify src to change buttons:

    Edit payload_stage1/source/main.c with your desired texteditor.

    Example:

    Currently it's set to two buttons on the same time
    Code:
      if ((pressed & BUTTON_X) && (pressed & BUTTON_Y))
    
    To change this to only B would be:

    Code:
      if (pressed & BUTTON_B)
    
    Available buttons are listed in ' hid.h '.

    Modify screen_init brightness:

    Edit screen_init/source/screen_init/screen_init.c with your desired texteditor.

    Change '#define BRIGHTNESS 0x80' to your own value.

    Restoring NAND:

    Either, use decrypt9/emunand9 and reinstall your backup nand.bin
    or use unedited safea9lhinstaller to update the current installation.

    Backing up your sysNAND will include all changes you did!

    This is tested with new3DS XL Toshiba Nand and 'should' work for Samsung
    too since this is a VERY simple edit of the original from delebile!


    Have Fun
     

    Attached Files:

    Last edited by liomajor, Jun 2, 2016
  2. StevenLexon

    StevenLexon Member

    Newcomer
    33
    5
    Apr 28, 2016
    Switzerland
    thank u very much! that's a great work!
     
  3. Traiver

    Traiver GBAtemp Maniac

    Member
    1,122
    1,182
    Aug 1, 2014
    Germany
    Pew! *Out of the bag*
    Thanks for doing this again!
     
  4. LinkmstrYT

    LinkmstrYT ( ͡° ͜ʖ ͡°)

    Member
    1,459
    801
    Dec 16, 2013
    United States
    You wanted to see where I live? You stalker...
    Wait, so I can use Gateway's arm9loaderhax and can block FIRM writes or no? Kinda confused here... @~@;
     
  5. Tomy Sakazaki

    Tomy Sakazaki GBAtemp Advanced Fan

    Member
    766
    207
    Oct 23, 2006
    Brazil
    Blocking FIRM writes for now is responsability of the CFW itself.
    While you're running GW's launcher you'll be open to A9LH removal and/or bricks because for now it won't write protect the FIRMs.
    If you're going to run both GW and CFW I'd recommend turning wifi off while using GW or at least setting a DNS that blocks access to Nintendo's update servers.
    EDIT: updates to sysnand for now should be made only while in a trusted CFW environment, like Luma3DS' one.
     
    Last edited by Tomy Sakazaki, Jun 2, 2016
  6. Robz8

    Robz8 Coolest of TWL

    Member
    6,683
    2,825
    Oct 1, 2010
    United States
    It should be noted that N3DS users don't need secret_sector.bin.
     
  7. WiiHoney

    WiiHoney GBAtemp Regular

    Member
    102
    2
    Mar 22, 2010
    United States
  8. Salamencizer

    Salamencizer Handsome Computer Nerd

    Member
    795
    622
    Oct 3, 2015
    India
    Below
    Nice!
     
  9. wiiuser2

    wiiuser2 GBAtemp Regular

    Member
    186
    24
    Sep 12, 2009
    Netherlands
    Hi, thanks for this A9LH setup, happily using it with my GW and Luma. Great work.

    I do find myself using either GW or Luma multiple times in a series of boot sequences.
    That gave me the idea for a new feature: (ability to) assign a button to all three choices, write to a file what the last choice was when a button was pressed.
    At next boot read the last chosen option from the file and start that option as default if no key is pressed. If a key is pressed write that one the the file again.

    Makes sense?
     
  10. Emenaria

    Emenaria GBAtemp Regular

    Member
    196
    102
    Nov 6, 2015
    Thanks for this! I have a request for you. According to Aurora, the stage1 binaries which can be used with SafeA9LHInstaller 2.x are incompatible with the ones usable with 1.x, and using old stage1s with 2.x will lead to an unrecoverable brick.
    Could you please update the payload so that it will be compatible with data_input_v2 and SafeA9LHInstaller v2.x?
    https://github.com/Plailect/Guide/wiki/Updating-arm9loaderhax
     
    Last edited by Emenaria, Jun 13, 2016
    gohan127 and Fuzzeh like this.
  11. liomajor
    OP

    liomajor GBAtemp Maniac

    Member
    1,463
    1,065
    Jun 10, 2008
    United States
    Tested with both new3DS i have.

    Default = SDCARD:/arm9loaderhax.bin (BootManager / CFW)
    X + Y = SDCARD:/a9lh/gw/arm9loaderhax.bin (Gateway)
    X + A = SDCARD:/a9lh/arm9loaderhax.bin (SafeA9LHinstaller)

    DO NOT MIX THEESE STAGE FILES WITH FIRST POST FILES!!!!
     

    Attached Files:

    Last edited by liomajor, Jun 18, 2016
  12. maorninja

    maorninja GBAtemp Advanced Fan

    Member
    510
    320
    Feb 7, 2016
    United States
    Hey there. (Sorry for the bump)

    1. In the previous version of this, you can load launcher.dat using X+A. Do you still have the source of it?
    2. I made an un-official github observatory for this: https://github.com/maorninja/arm9loaderhax

    Thanks you in advance.

    ~Maorninja3ds
     
    Last edited by maorninja, Jul 24, 2016
  13. NiteSite

    NiteSite Member

    Newcomer
    38
    6
    Nov 30, 2005
    United States
    What if you dont have an OPT.bin? I have a N3ds and already followed Plailect and do not have an OPT.bin.
     
  14. urherenow

    urherenow GBAtemp Addict

    Member
    2,915
    845
    Mar 8, 2009
    United States
    Japan
    I"m so confused... I was around with the multiple stage 2 development, and I did my best to help pull GW's payload out of their files, but the thread was SEVERAL pages deep. This thread is only 1 page? and no posts from me? I haven't updated in forever and am sure I don't even use v2 of a9lh. So... is there a multi stage 2 setup that uses v2, and is there a point in upgrading to it from v1?
     
  15. urherenow

    urherenow GBAtemp Addict

    Member
    2,915
    845
    Mar 8, 2009
    United States
    Japan
    @liomajor any plans to make a multi-stage 2 for a9lh v4?