1. yonaikerlol

    OP yonaikerlol Member
    Newcomer

    Joined:
    Feb 7, 2018
    Messages:
    36
    Country:
    Venezuela
    Hello, I want to know if you can start a homebrew when you turn on the console, I know that you can with the ones in .firm, it is only replaced with the boot.firm or Fastboot3DS is used, but, can it be with a .3dsx homebrew?

    If possible, would the homebrew .3dsx have access to wireless?

    And in case that is not possible, would a homebrew .firm have access to wireless?
     
  2. Urbanshadow

    Urbanshadow GBAtemp Maniac
    Member

    Joined:
    Oct 16, 2015
    Messages:
    1,487
    Country:
    You cannot run 3dsx files on boot level because they are compilled for different processors. A .fim should be able to initialize wifi, but it would be very tedious since you would have to initialize the hardware manually and I don't know if it's documentated well enough for you to try that.

    The question here maybe its not the how but the why. Why would you want to do that?
     
    E1ite007 likes this.
  3. Thingley

    Thingley Member
    Newcomer

    Joined:
    Jul 6, 2019
    Messages:
    11
    Country:
    United Kingdom
    I suppose it would be useful if you wanted to write a 3ds operating system that takes less time to boot up and launch games or includes more features that the current one lacks. (Twilight menu on a DSi would be an example of homebrew set up to run at boot)

    I've no idea who would bother to do that at this point in the 3ds life (they stopped making them last week AFAIK) but that would really be the advantage. Not sure if that's what the OP had in mind though.
     
    BETA215 likes this.
  4. godreborn

    godreborn GBAtemp Legend
    Member

    Joined:
    Oct 10, 2009
    Messages:
    18,328
    Country:
    United States
    I don't know if enough is known to completely write a new operating system. the closest I've seen is the hacked dash of the 360. that is a work of genius.
     
  5. PabloMK7

    PabloMK7 Red Yoshi! ^ω^
    Developer

    Joined:
    Feb 21, 2014
    Messages:
    2,462
    Country:
    Spain
    You could patch the home menu to use the autoboot feature but with an installed title. That way you can make it launch the homebrew launcher which will boot the boot.3dsx from the SD card root.
     
    E1ite007 likes this.
  6. yonaikerlol

    OP yonaikerlol Member
    Newcomer

    Joined:
    Feb 7, 2018
    Messages:
    36
    Country:
    Venezuela
    I want to write a program that only when turning on the 3DS makes an HTTP request to an API, it returns a JSON and parses it using the jsmn library, which I have seen code using this library for 3DS, and then I show it on the screen.

    This means that you do not have to initialize Homebrew from the Homebrew Launcher, or from the HOME menu, when you turn on the 3DS directly start the homebrew.

    Not what I have in mind, but thanks anyway.

    Is that using Rosalina's "Switch the title to the current app" option in the home menu?
     
    Last edited by yonaikerlol, Sep 28, 2020
  7. PabloMK7

    PabloMK7 Red Yoshi! ^ω^
    Developer

    Joined:
    Feb 21, 2014
    Messages:
    2,462
    Country:
    Spain
    No, a patch would need to be made specifically for it (ips)
     
    E1ite007 likes this.
  8. yonaikerlol

    OP yonaikerlol Member
    Newcomer

    Joined:
    Feb 7, 2018
    Messages:
    36
    Country:
    Venezuela
    Could you show me how to do it?
     
  9. Urbanshadow

    Urbanshadow GBAtemp Maniac
    Member

    Joined:
    Oct 16, 2015
    Messages:
    1,487
    Country:
    The problem is hombrew uses the system services to do most things. For example, FBI uses system services to install titles. Every homebrew uses the SD card by using the system services, every homebrew using wifi uses it by using the system services, save reading, title database, key inputs... you name it.

    Those system services are not initialized nor created in the boot enviroment, so every call the homebrew relays on the Devkitpro SDK using any form of system services will fail catastrophically. GM9 or Luma firm files use their own manually created and initialized fs service to read and write (without restrictions) from places.

    Long story short, like wifi, nothing in the system is ready to support homebrew in 3dsx format at the time you execute a firm payload. Trying to boot everything up is like creating a whole 3DS firmware. Good luck getting shorter boot times than Ninty.
     
    yonaikerlol likes this.
  10. yonaikerlol

    OP yonaikerlol Member
    Newcomer

    Joined:
    Feb 7, 2018
    Messages:
    36
    Country:
    Venezuela
    Can't at least Boot the Homebrew Launcher like Menuhax before?
     
  11. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08
    Member

    Joined:
    Mar 17, 2010
    Messages:
    20,821
    Country:
    Norway
    menuhax can launch .3dsx homebrew on boot (only up to 11.0), there are some caveats. I don't really recommend it.
    You could probably fork Luma3DS and insert some custom code into Rosalina (which is always running in the background) to run on boot.
     
    fmkid and yonaikerlol like this.
  12. Urbanshadow

    Urbanshadow GBAtemp Maniac
    Member

    Joined:
    Oct 16, 2015
    Messages:
    1,487
    Country:
    He'll still eat the 15 seconds 3ds firmware boot time I may add.

    The homebrew launcher is a 3dsx so same rules apply as every 3dsx. No launching on boot, only through rosalina or a brahma capable exploit.

    EDIT: To be more constructive for you, you should center on going deeper instead of shallower. Make a master 3dsx application for 3ds accepting your http connections and the like to send the slave 3dsxs to the console. Make it so you launch your slave 3dsx received from the master 3dsx you did. Return to the master 3dsx when you done and await for further connections. System doesn't reboot between retries, home menu doesn't reboot between retries, homebrew launcher doesn't reboot between retries and retries are automatic. That should cover your use case.

    Documentation structure of 3dsx: https://3dbrew.org/wiki/3DSX_Format
    You can also just fork homebrew launcher, of course. As the 3dsx launching code is also there you only have to add the https launching functionality from JSON.

    EDIT2: If you end up adding the functionality to homebrew launcher, it would be nice of you to do a pull request to the actual repository and everyone would benefit from that.
     
    Last edited by Urbanshadow, Sep 29, 2020
    fmkid and yonaikerlol like this.
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - homebrew, startup,