SciresM / boot9strap

Boot9/Boot11 code execution.
GNU General Public License v3.0
944 stars 64 forks source link

Suggestion: Pass loader name/version as arg to loaded firm #13

Closed svanheulen closed 7 years ago

svanheulen commented 7 years ago

I think it would be useful to have loaders/chainloaders pass a string with their name and version as an argument to the firm they load. Then the firm could display that information to the user (for instance in Luma3DS's config menu).

This was something that always annoyed me about A9LH. Not being able to see what version I had installed. This way you'll also be able to tell if you're running the official b9s or a fork or some other loader.

Obviously a change like this will effect lots of other software, but I figured this was the best place to bring it up.

svanheulen commented 7 years ago

Another idea, that would be less disruptive, is store the name/version string in the "reserved" section in FIRM header. Edit: oh... I guess b9s already does that, but profi200 made the point that Nintendo could start using the reserved section if they wanted to mess with us.

TuxSH commented 7 years ago

See the value passed to r2 (for version).

svanheulen commented 7 years ago

@TuxSH But that doesn't tell us if it's b9s or a fork or a different loader. Luma3DS passed the same value (0x2BEEF) when it chainloads a firm. So it seem like you intended that to be more of an API version then to give any info about what software is doing the loading.