Homebrew [Release] GM9link - Run GM9 from the comfort of your homemenu

  • Thread starter d0k3
  • Start date
  • Views 13,869
  • Replies 49
  • Likes 24

The Catboy

GBAtemp Official Catboy™: Boywife
Member
Joined
Sep 13, 2009
Messages
27,946
Trophies
4
Location
Making a non-binary fuss
XP
39,324
Country
Antarctica
Exactly. If bootonce.bin exists on the SD card, it will be run, then deleted. This is a clunky solution, but it works very well. My A9NC project uses this as well.
That actually seems like a useful feature, especially for apps like SafeB9SInstaller. No reason to keep it around if I am only going to use it once.
 
  • Like
Reactions: Quantumcat

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,386
Country
Uruguay
I would prefer the memory version, wouldn't use flash cycles.
Sadly there's no real, standardized way to go from the regular firmware to an arbitrary payload (after all, that's what an exploit is for). There haven been some efforts in the form of arm9hook but that died off due to lack of interest.

Your best bet is to write to a *very* specific memory location in FCRAM and hope that a modified b9s would catch it on next boot... still doesn't fix the problem and it's messy at best, hacky at worst. There should've been a way to run binaries on baremetal on both CPUs since the early CFWs (svc 0x7B fixed the problem for the MPCore but since it was official nintendo code there's no guarantee it'd remain there).
 
  • Like
Reactions: Joel16

gudenau

Largely ignored
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,379
Country
United States
Sadly there's no real, standardized way to go from the regular firmware to an arbitrary payload (after all, that's what an exploit is for). There haven been some efforts in the form of arm9hook but that died off due to lack of interest.

Your best bet is to write to a *very* specific memory location in FCRAM and hope that a modified b9s would catch it on next boot... still doesn't fix the problem and it's messy at best, hacky at worst. There should've been a way to run binaries on baremetal on both CPUs since the early CFWs (svc 0x7B fixed the problem for the MPCore but since it was official nintendo code there's no guarantee it'd remain there).
How does Nintendo tell the console to reboot into DSi and GBA titles?
 

MiePx3

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
130
Trophies
0
XP
352
Country
Gambia, The
Quick question, but is it normal for GM9 to not use the top screen when starting it via GM9link?
Using the .3dsx version.
 
Last edited by MiePx3,

MiePx3

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
130
Trophies
0
XP
352
Country
Gambia, The
Nope, that's very strange. Does it happen everytime?
Just tried again. Yep, third time in a row now.
I added that im using the .3dsx version.

/edit.
Now this is funny. I made a screenshot and it shows the top side of the screen. So its there, but I just cant see it.
RtPqoRN.png
uzmI4dS.jpg
 
Last edited by MiePx3,
  • Like
Reactions: Quantumcat

Ryccardo

Penguin accelerator
Member
Joined
Feb 13, 2015
Messages
7,690
Trophies
1
Age
28
Location
Imola
XP
6,911
Country
Italy
How does Nintendo tell the console to reboot into DSi and GBA titles?
https://www.3dbrew.org/wiki/NSS:LaunchApplicationFIRM
The launcher (Home or any other app with the right permissions) just asks for a title to be run and the caveat that a different kernel may be required, the currently running kernel and the called one do all the real work
https://www.3dbrew.org/wiki/FIRM#FIRM_Launch_Parameters
The newly run kernel can receive parameters (mainly TitleID of the requested app and memory layout) by checking fixed positions in RAM

If you were really bored, you could (at least on paper) package a .firm homebrew (one that runs if flashed directly as kernel, or any?) as a fifth/sixth/etc kernel, then also create a forwarder that requests being run with that kernel...
 

gudenau

Largely ignored
Member
Joined
Jul 7, 2010
Messages
3,882
Trophies
2
Location
/dev/random
Website
www.gudenau.net
XP
5,379
Country
United States
https://www.3dbrew.org/wiki/NSS:LaunchApplicationFIRM
The launcher (Home or any other app with the right permissions) just asks for a title to be run and the caveat that a different kernel may be required, the currently running kernel and the called one do all the real work
https://www.3dbrew.org/wiki/FIRM#FIRM_Launch_Parameters
The newly run kernel can receive parameters (mainly TitleID of the requested app and memory layout) by checking fixed positions in RAM

If you were really bored, you could (at least on paper) package a .firm homebrew (one that runs if flashed directly as kernel, or any?) as a fifth/sixth/etc kernel, then also create a forwarder that requests being run with that kernel...
Does not sound like a bad idea, just would take a lot of work.
 

Giodude

GBAtemp's official rock
Member
Joined
May 17, 2015
Messages
5,094
Trophies
1
Age
23
Location
New York
XP
2,761
Country
United States
It's odd why so many people use the .3dsx version. Nintendo is able to see an invalid title Id sure, but the 3ds has to reboot into godmode9, and never actually runs the application, if not for a split second.
 

MiePx3

Well-Known Member
Member
Joined
Jan 4, 2016
Messages
130
Trophies
0
XP
352
Country
Gambia, The
It's odd why so many people use the .3dsx version. Nintendo is able to see an invalid title Id sure, but the 3ds has to reboot into godmode9, and never actually runs the application, if not for a split second.
I dont care about what nintendo sees and whatnot, but thats how I organize my stuff. For almost everything hombrew related I want to use I use the hombrew launcher. Its how I first did it and I kinda like it that way. Except for things like FBI or NTR
 
  • Like
Reactions: Giodude

Giodude

GBAtemp's official rock
Member
Joined
May 17, 2015
Messages
5,094
Trophies
1
Age
23
Location
New York
XP
2,761
Country
United States
Nicely done. Been reading code source and i'm surprised, how does the 3DS run GM9 on a hardware reboot? (i'm a noob :P)
To my understanding, when loading the godmode9 app, it creates a file on the sd card, that when the 3ds reboots prioritizes over boot.firm. then godmode9 deletes that file.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
Quick question, but is it normal for GM9 to not use the top screen when starting it via GM9link?
Using the .3dsx version.
I'm already looking into this. Will be fixed soon.

@d0k3 What firmtool version did you use to compile this boot9strap fork? I'm having a hard time compiling it due to an unknown command --b9s=2
Duh. There have been some changes that I was not aware of, I guess. Will look into that later, too.
 
  • Like
Reactions: MiePx3 and Joel16

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Lol looks about as fun as a root canal