Line 1: |
Line 1: |
− | This is the system "flog" 01008BB00013C000 [[Title_list|title]]. This is a NES emulator. Installed on retail systems since [[1.0.0]]. | + | This is the system "flog" 01008BB00013C000 [[Title_list|title]]. "flog" is a full-fledged NES emulator and is installed on retail systems since [[1.0.0]]. |
| | | |
− | The titleID for "flog" is used by 3 funcs in [[qlaunch]]: 1 for checking whether to launch it, 1 for launching(?), and 1 that compares flog titleID with a field. | + | The titleID for "flog" is used by 3 functions in [[qlaunch]]: 1 for checking whether to launch it, 1 for registering it as an [[AM_services#appletAE|applet]] and 1 to launch it. |
| | | |
| The ROM is not loaded via [[Filesystem_services|FS]] but is embedded in the main binary. | | The ROM is not loaded via [[Filesystem_services|FS]] but is embedded in the main binary. |
Line 8: |
Line 8: |
| | | |
| ==Official Launch== | | ==Official Launch== |
− | The checks for this only run while Home Menu is active, aka main-menu. | + | [[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. |
| + | * "StartSixAxisSensor" [[HID_services#hid|hid]] command is called for each Joy-Con so 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 in a small state machine consisting of a total of 7 steps and the motion itself is a reference to [https://www.youtube.com/watch?time_continue=17&v=BdQg43n2OaM Iwata's Direct gesture]. Hold the Joy-Cons pointing forwards/downwards, then move Joy-Cons to a vertical position, and hold it there for a bit. The Joy-Con grip can be used for this. |
| + | * The system's month and day must be July 11th, which is the date of Iwata's [https://en.wikipedia.org/wiki/Satoru_Iwata passing]. The loaded date originates from network-time-sync'd time, regardless of whether the user has it enabled or not. When the system was never connected to the Internet, it comes from the user-specified date instead. This is loaded from the [[PCV_services|time]] service-cmds, with the actual time-sync being handled by [[NIM_services|NIM]]. |
| + | * A wrapper for "GetLanguageCode" [[Settings_services#set|set]] command is called and the returned code must be 0 (JPja), 1 (USen) or 2 (EUen). Any other combination of region and language will fail. |
| + | * Lastly, "IsSystemProgramInstalled" [[NS_Services#ns:am|ns:am]] command is called, which should return 1 if the "flog" title is installed. |
| | | |
− | It checks exactly the following:
| + | Once everything passes it continues to the code which launches "flog". When "flog" is launched a small audio clip named "SeTestTone" is played which matches [https://www.youtube.com/watch?v=SeVTJu_Yn2Y&feature=youtu.be&t=17s this]. |
− | * Both Joy-Cons must be detached from the system.
| |
− | * The same motion checks for both Joy-Cons must pass, at the same time. The motion seems to be a reference to [https://www.youtube.com/watch?time_continue=17&v=BdQg43n2OaM this]. Hold the Joy-Cons pointing forwards/downwards, then move Joy-Cons to a vertical position, and hold it there for a bit. The Joy-Con grip can be used for this.
| |
− | * The month+day must match the date of Iwata's [https://en.wikipedia.org/wiki/Satoru_Iwata death]: July 11. The loaded date originates from network-time-sync'd time, regardless of whether the user has it enabled or not. When the system was never connected to the Internet, it comes from the user-specified date instead. This is loaded from the [[PCV_services|time]] service-cmds, with the actual time-sync being handled by [[NIM_services|NIM]].
| |
− | * The output from a certain function must return 0, 1, or 2. On one system this was tested with, this check would pass.
| |
− | * Lastly a [[NS_Services|nsam]] cmd is used. Probably to verify that the title is installed?
| |
− | | |
− | Once everything passes it continues to the code which launches flog. When flog is launched, audio is played which matches [https://www.youtube.com/watch?v=SeVTJu_Yn2Y&feature=youtu.be&t=17s this]. | |
| | | |
| ==Screenshots== | | ==Screenshots== |