LumaTeam / Luma3DS

Nintendo 3DS "Custom Firmware"
GNU General Public License v3.0
5.03k stars 552 forks source link

Stargate 3DS does not boot into homebrew in DS mode #2046

Open lifehackerhansol opened 3 weeks ago

lifehackerhansol commented 3 weeks ago

System model: New 3DS XL

SysNAND version (+emu/redNAND version if applicable): 11.16.0-42K

Entrypoint (How/what you're using to boot Luma3DS):

boot9strap

Luma3DS version: 13.1.1

Luma3DS configuration/options:

Default EmuNAND: ()

Screen brightness: (4)

Splash: (Off)

Splash duration: (N/A)

PIN lock: (Off)

New 3DS CPU: (Off)

--

Autoboot EmuNAND: ()

Use EmuNAND FIRM if booting with R: ( )

Enable loading external FIRMs and modules: ( )

Enable game patching: ( )

Show NAND or user string in System Settings: (x)

Show GBA boot screen in patched AGB_FIRM: ( )

Set developer UNITINFO: ( )

Disable Arm11 exception handlers: ( )

Enable Rosalina on SAFE_FIRM: ( )

--

Explanation of the issue:

The Stargate 3DS is a DS/3DS combination flash cartridge. In 3DS configuration, it behaves similarly to a Sky3DS+, where button scrolling loads an encrypted CXI. In DS configuration, it behaves as any normal DS flash cartridge, showing a modified game that launches a homebrew on the cartridge's SD card. The issue is specifically in the DS configuration; the 3DS configuration works as expected (and is also useless if Luma3DS is installed anyway.)

When booting with Luma3DS, instead of loading homebrew, instead it launches the spoofed game (which is broken, because Stargate firmware only contains a snippet of the SRL, just enough to load the injected overlay to launch the homebrew application.) This makes it impossible to use the Stargate for its intended purpose in DS mode.

When loading NATIVE_FIRM directly from the exefs (see https://github.com/hacks-guide/Guide_3DS/blob/master/gm9_scripts/safety_test.gm9), it behaves as expected.

Steps to reproduce:

  1. Have a Stargate 3DS
  2. Boot Luma3DS with default configuration
  3. Press both buttons on the Stargate together until the LED flashes, after a few seconds the spoofed SRL banner will appear
  4. Launch the cartridge, and observe that the user's homebrew application (which may be Stargate's provided kernel files or otherwise) does not show up

Dump file:

N/A (no crashes)