Talk:LDN services

From Nintendo Switch Brew
Revision as of 19:55, 5 February 2021 by CFSworks (talk | contribs) (→‎PlatformIdFuji -> PlatformIdRcd?)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

PlatformIdFuji -> PlatformIdRcd?

I noticed that Hexkyz made this edit which dubs SupportedPlatform=1 as "PlatformIdFuji."

Does this come from a string in a system binary somewhere, or is it merely what we're calling it? If the latter, I think "PlatformIdRcd" fits better. The rationale being that Fuji appears to be the codename of the mklive kart/firmware, while "rcd" seems to be the part of the Switch SDK - albeit not (yet) part of sdknso - which handles communication with remote controlled devices which are paired via LP2P link. And I would bet that there's an rcd device-side component as well. If this is a general-purpose framework (which "Fuji" is merely the first released product to leverage) then it would make sense for that to be what gets special treatment by the LDN sysmodule.

Thoughts? CFSworks (talk) 20:28, 4 February 2021 (UTC)

That's a very good point. The string "PlatformIdFuji" is official, it was found in a leftover dev title (can't remember which one but I believe it was a version of DevMenuCommand) around the time service "ndd" was added (and later removed) to "ldn" by mistake. However, this was way before mklive was released. I only came to learn about the "rcd" namespace from mklive strings and my best guess is that "rcd" is indeed an umbrella namespace for the framework itself. "Fuji" was most likely a pre-release codename and might have been deprecated since, but no new strings/symbols have surfaced again so it's difficult to tell for sure.
Hexkyz (talk) 15:48, 5 February 2021 (UTC)

For what it's worth, the kart is still called "Fuji." The "rcd" toolkit that appears in mklive implements a whole RPC protocol; the typename strings suggest it's fairly templated, and some of the templates implementing remote services are called "FujiControlClient," "FujiUpdateClient," "FujiPairingClient," and so on. There's also a "handshake" protocol which lacks any references to "Fuji," which suggests the Fuji*Client are specific to the kart, while the "handshake" is more generic. And to top it off, the kart calls itself "Fuji" (in an ASCII string, no less!) while handshaking.
From what you've said, it feels to me like Nintendo were originally intending the kart to be a one-off gimmick (hence the rcd tech wasn't considered separate from the "Fuji" project yet), but then decided they liked the idea of making RC toys that interoperate with the Switch, so they decided to spin off "rcd" as its own thing. I'm going to go ahead and make that edit; feel free to revert if you disagree.
CFSworks (talk) 20:55, 5 February 2021 (CET)