By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Kindly read the below message of use and consent to the use.
The following cookies are stored and shared when accessing this website:
- Internal cookies for the MediaWiki site. This is used for user authentication and article modifications.
- Third-party cookies from Google providing services for Google AdSense and Google Analytics
We will never use data collected outside of the above scope.
This was the system "flog" 01008BB00013C000 [[Title_list|title]]. "flog" was a full-fledged NES emulator and was installed on all retail systems since [[1.0.0]]. Flog was removed in [[4.0.0]]
+
This is the title with process-name "flog" ("flog" == "golf" backwards) launched by [[Qlaunch|qlaunch]] with [[NCM_services#ProgramId|ProgramId]] 01008BB00013C000.
−
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.
+
"flog" is a full-fledged NES emulator and is installed on all retail systems since [[1.0.0]]. The [[NCM_services#ProgramId|ProgramId]] 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.
+
This runs the NES "Golf" game. {1/2}-player via joy-con is supported. Controls are "d-pad" buttons + stick, however motion control while holding the Z{L/R} button is also supported instead of using buttons.
−
"flog" == "golf" backwards. This runs the NES "Golf" game. {1/2}-player via joy-con is supported. Controls are "d-pad" buttons + stick, however motion control while holding the Z{L/R} button is also supported instead of using buttons.
+
[4.0.0+] Flog was stubbed and can no longer be launched.
−
==Official Launch==
+
= Launching =
−
[[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:
+
See [[Qlaunch#Hidden_Features|qlaunch's hidden features]].
−
* 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?v=BdQg43n2OaM&t=17s 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 and is on [[1.0.0]] it comes from the user-specified date instead. For newer systems, trying to load the network time if it was never set will result in an error: they won't ever be able to launch flog without a time-sync with Nintendo servers. 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). Other combinations of region and language may have it's code translated internally to a valid one (0, 1 or 2), which seems to be the case for 12 (CNzh), 13 (KRko) and 14 (TWzh).
−
* Lastly, "IsSystemProgramInstalled" [[NS_Services#ns:am|ns:am]] command is called, which should return 1 if the "flog" title is installed.
−
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/embed/SeVTJu_Yn2Y?start=17&end=18&autoplay=1 this].
+
= Screenshots =
−
−
==Screenshots==
These screenshots were originally taken by executing flog with an unofficial method.
These screenshots were originally taken by executing flog with an unofficial method.
Latest revision as of 00:39, 5 July 2024
This is the title with process-name "flog" ("flog" == "golf" backwards) launched by qlaunch with ProgramId 01008BB00013C000.
"flog" is a full-fledged NES emulator and is installed on all retail systems since 1.0.0. The ProgramId for "flog" is used by 3 functions in qlaunch: 1 for checking whether to launch it, 1 for registering it as an applet and 1 to launch it. The ROM is not loaded via FS but is embedded in the main binary.
This runs the NES "Golf" game. {1/2}-player via joy-con is supported. Controls are "d-pad" buttons + stick, however motion control while holding the Z{L/R} button is also supported instead of using buttons.
[4.0.0+] Flog was stubbed and can no longer be launched.