WIP [Trinket] [Rebug] [Others] SWITCHBOOT_UF2 / FUSEE_UF2 modchip software

Discussion in 'Switch - Backup Loaders & Modchips' started by mattytrog, Dec 18, 2018.

  1. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    Current version:
    Switchboot_UF2: v1.5.0
    Fusee-UF2: v3

    Mini-blog

    23/9/19: Corrected links in the below files. They were still taking you to old 1.4.3 files. v1.5.0 is now linked to the below files. Apologies to all who thought they were going mad. It wasn't you, it was me. Fail.

    23/9/19: To-do: Make video on getting into UF2 mode
    23/9/19: To-do: Put in last warning before restoring a partition in kamikaze mode.





    Intro...

    This is software for the SAMD21 range of "modchips" that we use on the Switch.
    I`m aware that "modchip" isn`t technically the correct word, but it is more modchip now than just "payload pusher".
    If you have one of these devices fitted to your console, you will know. You will also have a reset button on the chip to enable UF2 access.

    If I have fitted your chip, then these files are of course fully compatible. If you have followed my guide in the tutorials section <HERE>, your chip is fully compatible.

    If you have followed a guide from elsewhere, you will need to check your wiring and find out what "straps" you have fitted.

    What are straps?

    Nutshell... Straps are the wires that trigger RCM and maybe get you out of RCM too... Thats all.





    In a nutshell...

    • Choose a part 1 file depending on your requirements / wires you have soldered (straps)
    • Drop on to the UF2 drive (Called SWITCHBOOT if you have been with me for some time).
    • Choose a part 2 file... and drop on UF2 drive again.
    Part 1 writes a different part of the chip than part 2... So you need to drag/drop (we will say flash) BOTH FILES.


    Thats all.
    Cheers from our beautiful kingdom of Britain, Wales, Scotland and Northern Ireland!

    Credit to CTCAer for Hekate and everyone else who have assisted.






    SAMD21 Update mode - UF2 drive access

    Get into UF2 mode...

    This is a method to get into UF2 mode...

    Connect console to PC and send THIS payload using TegraRCMSmash...

    SAMD21 Update payload - No SD card required.

    Screen will go black, then double-press RESET on your chip... Your UF2 drive should pop up. If it doesn`t work the first time, try again. You can use the SAMD21 Update option in Switchboot also.






    DOWNLOADS - Generic bin payload - for TegraRCMSmash / etc


    Switchboot LATEST
    Sleep library file







    DOWNLOADS - MODCHIPS

    1) Choose your chip below.
    2) Select a part 1 file - DUAL-BOOT or PERMA_CFW_BOOT

    modchipfunction. Click this to see the difference in bootloaders...


    3) Select a part 2 file

    • Fusee-UF2 - Basic payload.bin launcher (with some extra bits)
    • Switchboot - My Hekate mod that I`ve tried to make better for modchip users

    Always latest versions. Download files here...


    Trinket M0

    Part 1 - DUAL-BOOT (modified UF2 bootloader)
    Part 1 - PERMA-CFW (modified UF2 bootloader)
    Part 2 - Fusee UF2 latest (payload.bin launcher)
    Part 2 - Switchboot_UF2 latest (CTCAer Hekate mod)



    Rebug SwitchME

    Part 1 - DUAL-BOOT (modified UF2 bootloader)
    Part 1 - PERMA-CFW (modified UF2 bootloader)
    Part 2 - Fusee UF2 latest (payload.bin launcher)
    Part 2 - Switchboot_UF2 latest (CTCAer Hekate mod)



    RCM-X86

    Part 1 - DUAL-BOOT (modified UF2 bootloader)
    Part 1 - PERMA-CFW (modified UF2 bootloader)
    Part 2 - Fusee UF2 latest (payload.bin launcher)
    Part 2 - Switchboot_UF2 latest (CTCAer Hekate mod)



    Gemma M0

    Part 1 - DUAL-BOOT (modified UF2 bootloader)
    Part 1 - PERMA-CFW (modified UF2 bootloader)
    Part 2 - Fusee UF2 latest (payload.bin launcher)
    Part 2 - Switchboot_UF2 latest (CTCAer Hekate mod)



    Itsybitsy M0

    Part 1 - DUAL-BOOT (modified UF2 bootloader)
    Part 1 - PERMA-CFW (modified UF2 bootloader)
    Part 2 - Fusee UF2 latest (payload.bin launcher)


    Feather M0 Express

    Part 1 - DUAL-BOOT (modified UF2 bootloader)
    Part 1 - PERMA-CFW (modified UF2 bootloader)
    Part 2 - Fusee UF2 latest (payload.bin launcher)
    Part 2 - Switchboot_UF2 latest (CTCAer Hekate mod)




    Legacy Methods and dongles
    Please check out my GitHub at:

    https://github.com/mattytrog/Switchboot_PART_2

    Go to the latest version and find your version in the Switchboot Part 2 UF2 folder.



    Tidy_Memloader Add-on
    Tidy memloader is HERE.

    Drag and drop the bootloader folder to your SD card. Now you can launch memloader without messing up SD root, from within the dedicated menu option



     

    Attached Files:

    Last edited by mattytrog, Sep 24, 2019
  2. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    Under reconstruction


    Whats the difference between this and Hekate?

    This is a quite in-depth modification of Hekate that is suited to our chips.

    All Hekate features, plus:

    • Browse and boot any payload / INI
    • Add payload to hekate_ipl.ini
    • SXOS MultiNAND - Have multiple SXOS EmuNANDS and choose between them (emummc is dealt with within nyx - pointless duplicating it)
    • Safe backup of BOOT0/1 & PRODINFO
    • Restore ChoiDuJour cut-down BOOT0/1
    • Restore any partition, from any location, of any size, to ANYWHERE. Use wisely!
    • Restore SXOS licence
    • Payload.bin launching and multiple payload feature(controlled by your SAMD chip) as well - like having multiple chips in your machine!

    Additional controls:

    From boot:

    Hold Vol- to override launching "payload.bin"
    Hold BOTH Vol buttons to prevent launching nyx


    Changelog: v1.5.0
    • Hekate 5.0.2 upstream changes
    • Backup / restore completely reworked. Kamikaze option of restoring any partition from anywhere, using any file. USE AT YOUR OWN RISK!!!
    • Improved standard backup options
    • Fw v9.0.0 support
    • Bugfixes galore.

    Changelog: v1.4.3
    • Fixed browser returning to wrong place. Thanks @Gismor for bringing it to my attention
    • Changed archive bit options so you can browse and set / unset bits on a folder-by-folder basis.
    • Optimised code in MultiNAND to cut down on payload stack space usage.
    • Corrected safe backup location to SD root as it should be - was in backup folder.
    • Typos and nonsensical results fixed.
    • Documented(ish) browser.c function.


    Changelog: v1.4.2
    • Almost completely re-implemented the VOL+ options
    • Made LEDs during these options RED, GREEN and BLUE
    • Launching should be faster
    • DragonInjector support refactored and should be improved
    • Changed menu options to make even clearer
    • Every option more or less has been redone
    • File browser takes you to default Hekate folders by default. You can still browse for payloads / INIs from there!
    • Added option to disable payload indication



    Changelog: v1.4.1
    • Typos fixed. Some character spacing corrected.
    • Battery and fuel gauge options added - Be careful with them!
    • Screenshot feature added.
    • New screenshots no longer overwrite old ones (like in 1.3.x)
    • Refactoring of colours. Look in gfx/gfx.h to see how to change colours to your liking.
    • Changed to black and green colour scheme again. I like it.
    • Removed dump pkg1/2 option to make space. It isn`t really required in our implementation.
    • If booting with no SD card, upon attempting to launch, you will see a stock option to launch OFW. This is just a dupe of Reboot(normal).




    Fusee-UF2 Info

    This is designed to launch a payload(Or payload1.bin).

    Flash this to your chip to read your payload from SD and boot it.

    Other options included:

    These are hidden - you would never know they are there... Unless you do one of the button combos below...

    Controls:

    From power-off:

    • BOTH VOL BUTTONS + PWR = Create a file called "paths_info.txt" which will give you information on usable paths for your payloads.

    • VOL- and PWR - PREVENT autoboot of "payload.bin" or "payload1.bin" (or indeed "payload2.bin"... ...) and launch a "tool" payload.
    • Tool payloads are: bootloader/switchboot.bin or bootloader/update.bin (for Kosmos users).
    • If neither are present, argon/argon.bin will attempt to launch.
    • If nothing can be found, the unit will automatically power off.

    • VOL+ and PWR - Attempt to regenerate your SXOS licence.dat. If it already exists, nothing will be created.
    • Keep holding during SXOS boot to take you to SXOS boot menu.

    • A file called "straps_info.txt" is made and updated automatically. This file is in "fusee/straps_info.txt".
    • This file is used by the non-UF2 version of Switchboot so it can still read and display your strap information.




    SAMD21 Modchip options

    In both UF2 version of Switchboot-UF2 and Fusee-UF2 (in the lower level SAMD21 control), there exists numerous options that you can choose / change regarding your actual chip and the settings are saved to your chips flash memory (which is an emulated EEPROM of sorts). Obviously, if you are just launching from a dongle, these options are not relavent to you.

    These are only for users who have a SAMD21 permanently fitted to the console with the VOL+ strap connected.

    To access these options, it is desirable to have an LED fitted to your chip(Rebug and Adafruit users DO have LEDs... RCMX86 users do not. Though LED support is provided for the RCMX86, you just need to fit one.)

    The options are as follows:

    At any time the chip is powered on... Can be booted playing your Switch or in RCM mode. Doesn`t matter...

    We control this by holding down the VOL+ button until we see an LED flash and selecting an option by pressing VOL+ when the appropriate option is "Flashed" by the LED...


    Hold VOL+ for 5 seconds for: Change payload. (payload1.bin, payload2.bin, payload3.bin etc). (Fusee_UF2 / Switchboot_UF2)
    Look for RED LED.

    Lets go through an example... just rename your "payload.bin" (if you are using it) to "payload1.bin". Your chip will boot "payload1.bin" every time, overriding anything else you may have on there.

    To change to "payload2.bin" as an example:
    • Hold down VOL+ for 5 seconds until you see a rapid LED flash.
    • Release VOL+ and the payloads will be "flashed" out. 1 flash = payload1.bin, 2 flashes = payload2.bin etc etc...
    • Choose the one you want by pressing VOL+ again. This will save your option to SAMD21 EEPROM.
    • This makes it possible to "hard-code" different payloads and will still persist if the SD card is EMPTY.

    Usage example:
    Have SXOS as "payload1.bin" on SD - will launch SXOS every time, until you change payload to "payload2.bin". You could leave "Payload2.bin" empty and Switchboot will boot every time, taking you to nyx if you are using it. Maybe have ReiNX as payload2.bin or payload 3.bin to change between them? Or Fusee-primary for Atmosphere.




    Hold VOL+ for 8 seconds for: Change mode. (Switchboot_UF2 ONLY. If using Fusee_UF2, this is the Change other settings option. See below.)
    Look for GREEN LED.
    • Change from Switchboot mode (mode 1) to Fusee-UF2 mode (mode 2)
    • Follow steps as above, but vold VOL+ for 5 seconds instead of 3.
    • Mode 1: 1 flash = Switchboot mode (launches Switchboot - default behaviour)
    • Mode 2: 2 flashes = Fusee-UF2 mode (launches BUILT IN Fusee-UF2, so your chip essentially is the same as just having the Fusee_UF2 on there)
    • Mode 3: 3 flashes = Switchboot Auto-increase-payload-on-fail. For people who do not have extra wires fitted. Successful boot, payload will remain the same. Press modchip reset while system powered on to change payload. It wil increase by one.
    • Mode 4: 4 flashes = as above, but in Fusee-UF2 mode.
    • Change modes as often as you wish


    Hold VOL+ for 12 seconds for: Change other settings. (Switchboot_UF2). In Fusee_UF2, this is your 5 SECOND PRESS OPTION)
    Look for BLUE LED.
    • Option 1: Flash 1 - Dotstar brightness(Adafruit boards only). Dotstar will go bright and fade to dark 3 times. Press VOL+ at your desired brightness to set your Dotstar LED brightness. Written to EEPROM.
    • Option 2: Enable / disable payload indication (the little blink / blinks just before chip sleeps)
    • Option 3: Partial EEPROM reset - Will do a partial EEPROM reset, returning most settings to default values. If you have USB strap connected, this WILL NOT be reset.
    • Option 4: Disable SAMD21 - Will disable the "payload-pushing" side until re-enabled. So if you press PWR while console switched off, RCM mode will be activated and nothing else.


    Hold VOL+ for 16 seconds for: Full EEPROM reset.
    Look for WHITE LED.

    • Let go of VOL+ during this final 10 second LONG BLINK to erase EEPROM and restore to default values - EVEN USB strap will be reset. So if you want to use your USB strap, keep your console connected to a power source during reset, or your US strap will not be detected.

     
    Last edited by mattytrog, Sep 24, 2019
  3. Frank1905

    Frank1905 GBAtemp Regular

    Member
    4
    Aug 13, 2018
    Italy
    Really great job Matty!
    ^_^

    Inviato dal mio Nexus 5X utilizzando Tapatalk
     
  4. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    Cheers sir!
    Will be when finished. Got files etc and photos to complete. But coming tomorrow. Hope it doesn`t get locked for being a "placeholder" because it isn`t! It`s under construction.
     
    Frank1905 likes this.
  5. Frank1905

    Frank1905 GBAtemp Regular

    Member
    4
    Aug 13, 2018
    Italy
    Take you time and...
    be positive! It won't get locked! :-D
    I hope I will be able to follow your guides about modchips when I'll get mine. ^_^

    Inviato dal mio Nexus 5X utilizzando Tapatalk
     
    mattytrog likes this.
  6. Deynet

    Deynet Newbie

    Newcomer
    1
    Nov 22, 2008
    Gambia, The
    Hello mattytrog,

    thanks for your great work!

    I installed my Trinket M0 yesterday following your diagram from another thread including Vol+ and Joycon. Please see attached picture below.


    I have some questions:

    What do I need to flash on the Trinket M0 now?

    First, the "Trinket_Rebug_Both_Straps.uf2" fromyour github SWITCHBOOT_BOOTLOADERS/trinket_rebug folder?

    Second, the "Mattytrog_Method3_v091_Simple-UF2.UF2" from your github Simple-UF2 folder? Or anything else? I'm not sure if this the right file for my wiring setup...

    Next, I want to boot directly into SX OS. Which payload.bin do I need to put on my SD card? Where I can find it?
     

    Attached Files:

  7. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    Payload.bin is from the sxos site. Called "SX loader".

    Yes make sure you flash the bootloader first, then the simple-uf2
     
  8. crazy_p

    crazy_p GBAtemp Regular

    Member
    5
    Sep 3, 2016
    Switzerland
    Hi @mattytrog i'm about to install a Trinket M0 into my Switch.. Im not 100% sure, if there is continuity between these spots... Will this cause any issues, or is it "OK" to install? Between the yellow and the green Connection is no continuity, i already checked that! Thanks in advance!

    trinketfail.
     
  9. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    There shouldn`t be any continuity. If there is, it should be very high impedance. They are USB data lines.
     
  10. crazy_p

    crazy_p GBAtemp Regular

    Member
    5
    Sep 3, 2016
    Switzerland
    Im not sure if there is continuity or not.. Where can i check if there is?
    trinketfinal-[1].
     
    Last edited by crazy_p, Dec 20, 2018
  11. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    Well u just check the points you have soldered against each other and against GND. Test with one point on GND and go around all your soldered points. Only GND should beep.

    Are you sure you should be attempting this if you are struggling with continuity checks?
     
  12. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    Trinket / rebug should also cover RCMX86 internal.

    Dongles added. Offsets to come to change mode...
     
    Romain80200, snam11 and Frank1905 like this.
  13. Romain80200

    Romain80200 Member

    Newcomer
    5
    Apr 13, 2013
    France
    dans ma maison
    Hello, have you solved the problem with volume+ strap on rcmx86 internal?
    Thanks.
     
  14. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    I think so. I haven`t got a chip to try. I`d like to know!
     
  15. Romain80200

    Romain80200 Member

    Newcomer
    5
    Apr 13, 2013
    France
    dans ma maison
    Ok, let's hope Snam11 will test it.

    D'accord, j'espère que snam11 pourra le tester.

    But I have one question, why do you do 2 version of the bootloader? Can't we use the version with both strap connected and only solder the wire for the joycon?
    It will be the same than the other version?
     
    Last edited by Romain80200, Dec 20, 2018
    mattytrog likes this.
  16. metaljay

    metaljay GBAtemp Fan

    Member
    6
    Jan 10, 2012
    Looking forward to this!
     
  17. snam11

    snam11 Advanced Member

    Newcomer
    6
    Jan 10, 2007
    United States
    i'm gonna try it in a few, and i'll let you know (i really hope mode2 will work fie)

    @mattytrog which bootloader i should try before flashing new uf2? feather_m0_express or trinket_rebug?
     
    Last edited by snam11, Dec 21, 2018
  18. mattytrog
    OP

    mattytrog You don`t want to listen to anything I say.

    Member
    13
    Apr 27, 2018
    United Kingdom
    Use trinket
     
  19. snam11

    snam11 Advanced Member

    Newcomer
    6
    Jan 10, 2007
    United States
    ok, i did a test:
    flashed first: Trinket_Rebug_Both_Straps.uf2
    than Trinket_Rebug_v091_Simple-UF2.UF2

    vol+ d0
    joy d3

    weird behaviour: at first try i get hekate (i had no sd on the slot). with sd in the slot i get black screen
    EDIT: plaing a bit with this conf i get same issues as before: auto cfw boot but no vol- and no flash

    joy d0
    vol+ d3

    auto boot on cfw but still vol button problems (it rise up at max vol and i cannot use vol-). No flash connection.

    if i remove vol+ and i put joy on d0 i get again flash connection (and of course at power on ofw boot, and with power+vol+ cfw boot)

    i dunno if my chip is faulty or what...
     
    Last edited by snam11, Dec 21, 2018
  20. Romain80200

    Romain80200 Member

    Newcomer
    5
    Apr 13, 2013
    France
    dans ma maison
    Ok, as soon as i receive mine, i will try.
    We will see if the chip is faulty or if it's something else.
     
Quick Reply
Draft saved Draft deleted
Loading...