Qlaunch: Difference between revisions

No edit summary
m Forgot to close the parentheses :p
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This is the title with process-name "qlaunch" launched by [[NS_Services|NS]] with TID loaded from system-config.
This is the title with process name "qlaunch" (Quick Launch), launched by [[NS_services|NS services]], with its [[NCM_services#ProgramId|Program ID]] being loaded from system config.
 
This contains multiple "applets" under one title, which, at minimum, contains the following:


This is multiple "applets" under one title, with at minimum the following:
* Home Menu
* Home Menu
* [[System Settings]]
* [[System Settings]]
* [[News_Applet|News]]
* [[News_Applet|News]]


This title can also launch [[flog]] and [[Title_list#System_Applications|0100069000078000]].
= Hidden Features =
 
== Flog ==
qlaunch periodically checks if the user is in "/RootScene/SceneResidentMenu", which represents the Home Menu (aka main-menu).
 
 
 
If so, the following checks are then performed, in order:
 
* The Joy-Cons' state is read from [[HID_Shared_Memory|HID shared memory]] and both must be active and detached from the console.
** (The "StartSixAxisSensor" [[HID_services#hid|HID]] command is called for each Joy-Con so that motion data can be captured).
 
* After capturing the motion data, the same motion checks for both Joy-Cons must pass at the same time:
** (This motion data is analyzed via a 7-step process; the motion itself is a reference to [https://www.youtube.com/watch?v=BdQg43n2OaM&t=17s Iwata's 'Nintendo Direct' gesture], and may take a few attempts to get right)
*** 1) Hold the Joy-Cons in your hand as if you were gripping a steering wheel.
*** 2) Point the Joy-Cons away from you, and hold it there for a bit.
**** (It's recommended to, upon failure to activate the check, reset the Joy-Cons back to a neutral state by pointing them down towards the floor, then trying again from Step 1).
 
* After verifying that the correct inputs have been done, the system's month and day must be July 11th, which is the date of [https://en.wikipedia.org/wiki/Satoru_Iwata Iwata's passing]; the exact year and time doesn't have to be specific.
** The loaded date ALSO must originate from time-sync'd time, regardless of whether the user has it enabled or not, UNLESS certain conditions are met; the certain conditions are as follows:
*** If the system is on [[1.0.0]] and has never been connected to the internet, the user-specified date is used instead.
*** If the system is on a newer firmware, the system will still attempt to read the network time from Nintendo's servers even if the system has never been connected to the internet; if the system can't read the network time from Nintendo's servers, it will result in an error.
**** (The date-and-time itself is loaded from [[PCV_services|PCV]] commands, with the actual time-sync being handled by [[NIM_services|NIM]]).
***** Because of this, the only way to manually activate this feature without homebrew is via having a system that is still on 1.0.0, which has also never been connected to the internet; otherwise, the time must come from time-sync'd time, which requires an internet connection.
 
* After this, a wrapper for the "GetLanguageCode" [[Settings_services#set|SET]] command is called:
** The returned code must be 0 (JPja) (Japanese), 1 (US-en) (American English) or 2 (EUen) (European English).
*** Other combinations of region and language may have its code converted to a valid one, which seems to be the case for 12 (CNzh) (Simplified Chinese), 13 (KRko) (Korean), and 14 (TWzh) (Traditional Chinese).
 
* Lastly, the "IsSystemProgramInstalled" [[NS_Services#ns:am|AM]] command is called:
** If the [[Flog|flog]] title is installed, this returns 1 and launches flog.
** If the [[Flog|flog]] title isn't installed, this returns 0 and will not proceed.
 
 
 
Once everything passes, it continues to the code which launches [[Flog|flog]], which does the following steps, in order:
 
* The Home Menu fades to black.
* A small audio clip lasting less than a second named "SeTestTone" is played.
** (The audio clip is sourced from [https://www.youtube.com/watch?v=NWbYvzjAst8&t=17s this], which comes from the Japanese Nintendo Direct Presentation from December 5th, 2012).
* [[Flog]] is launched, which is a built-in emulator of Golf for the NES.
 
 
 
A video of flog being activated (using the 1.0.0 firmware method) can be seen [https://www.youtube.com/watch?v=CGN6QXv7sfs&t=1m46s here].
 
As of [[4.0.0]], this feature has been removed from qlaunch, with flog itself being stubbed and no longer being able to be launched, even via homebrew.
 
== Save Data Repair ==
 
As of [[9.0.0]], qlaunch includes a hidden menu for sending and receiving [Savegames|save data] for manual repair.
This menu is likely to be used by Nintendo when a console is sent to them to be fixed, or when refurbishing a console sent to them by a customer.
 
To access the menu, the following conditions must be met:
 
* Open the "Settings" app from the Home Menu.
* Navigate to the "Data Management" section.
* Highlight "Quick Archive" with the cursor.
* Press and hold the Left Analog Trigger (L3) Button and the Plus (+) Button until the menu shows up.
 
This will call various [[OLSC_services#olsc:s|OLSC services]], which in turn will issue requests to [[Network#storage|repair services]].
 
(Without specific authorization from the server, this will always display a message stating "This feature is currently unavailable", and the menu will not appear).