20.2.0: Difference between revisions
Jump to navigation
Jump to search
Line 78: | Line 78: | ||
* Updated L_2d520, prev ver @ L_2d4ac. | * Updated L_2d520, prev ver @ L_2d4ac. | ||
** At the end two additional decref vfunc calls are done with two objects, if needed. | ** At the end two additional decref vfunc calls are done with two objects, if needed. | ||
=== [[Account_services|account]] === | |||
The updated funcs essentially add various calls to logging funcs: | |||
* L_151a50, prev ver @ L_151a50 | |||
* L_152090, prev ver @ L_151fe0 | |||
* L_152700, prev ver @ L_152580 | |||
=== [[NS_services|ns]] === | === [[NS_services|ns]] === |
Latest revision as of 19:24, 9 September 2025
The Switch 20.2.0 system update was released on July 15, 2025 (UTC). This Switch update was released for the following regions: ALL.
Security flaws fixed: <fill this in manually later, see the updatedetails page from the ninupdates-report page(s) once available for now>.
Change-log
Official ALL change-log:
- Fixed an issue where Parental Control settings were not transferred from Nintendo Switch to Nintendo Switch 2 in certain circumstances during a system transfer.
- General system stability improvements to enhance the user's experience.
System Titles
- The following titles were updated:
- Sysmodules: wlan, ldn, account, ns, am, ssl, nim, npns, sdb, grc, migration, olsc.
- SystemData (non-sysver): BrowserDll, 0100000000000859.
- Applets: qlaunch, auth, error, netConnect, playerSelect, LibAppletWeb, LibAppletShop, overlayDisp, LibAppletOff, LibAppletLns, LibAppletAuth, "starter" application, splay.
NPDM changes (besides usual version-bump): none.
RomFs changes:
- BrowserDll:
- "/buildinfo/buildinfo.dat" updated
- "/nro/netfront/": Various data updated.
- SystemVersion: All files updated.
- qlaunch applet:
- "/icon/NaIcon_ShareFrom_ForDemo.jpg" removed
- "/icon/NaIcon_ShareFrom_ForDemo.png" removed
- "/icon/NaIcon_ShareTo_ForDemo.jpg" removed
- "/icon/NaIcon_ShareTo_ForDemo.png" removed
- "/message/": Various data updated.
- auth applet: "/message/CNzh/auth.msbt.szs" updated, "/message/CNzh/common.msbt.szs" updated, "/message/TWzh/auth.msbt.szs" updated, "/message/TWzh/common.msbt.szs" updated
- error applet: "/message/CNzh/common.msbt.szs" updated, "/message/TWzh/common.msbt.szs" updated
- netConnect applet: "/message/CNzh/common.msbt.szs" updated, "/message/CNzh/netConnect.msbt.szs" updated, "/message/TWzh/common.msbt.szs" updated, "/message/TWzh/netConnect.msbt.szs" updated
- playerSelect applet: "/icon/" added, "/message/CNzh/common.msbt.szs" updated, "/message/TWzh/common.msbt.szs" updated
- LibAppletWeb/LibAppletShop/LibAppletOff/LibAppletLns/LibAppletAuth: All files updated.
- overlayDisp applet: "/message/CNzh/common.msbt.szs" updated, "/message/CNzh/overlayDisp.msbt.szs" updated, "/message/TWzh/common.msbt.szs" updated, "/message/TWzh/overlayDisp.msbt.szs" updated
- "starter" application:
- "/message/": Various data updated.
- splay applet: "/message/CNzh/common.msbt.szs" updated, "/message/TWzh/common.msbt.szs" updated
IPC Interface Changes
- Interface Changed: nn::am::service::IApplicationFunctions
- Added: 330 - inbytes: 0x0, outbytes: 0x1
- Unknown Interface prev-version: 0x7100097948 [ID = 0xfe214da9]
- Unknown Interface cur-version: 0x7100097948 [ID = 0xfe214da9]
- Interface Changed: nn::grcsrv::IContinuousRecorder
- Changed: 5 - inbytes: 0x4 -> 0x20 (final state: inbytes: 0x20, outbytes: 0x0)
- Unknown Interface prev-version: 0x710005ECA0 [ID = 0xef2a5618]
- Unknown Interface cur-version: 0x710005EC90 [ID = 0xef2a5618]
- Interface Changed: nn::pdm::detail::INotifyService
- Changed: 100 - outinterfaces: ['0x710005ECA0 [ID = 0xef2a5618]'] -> ['0x710005EC90 [ID = 0xef2a5618]'] (final state: inbytes: 0x20, outbytes: 0x0, outinterfaces: ['0x710005EC90 [ID = 0xef2a5618]'])
- Changed: 101 - outinterfaces: ['0x710005ECA0 [ID = 0xef2a5618]'] -> ['0x710005EC90 [ID = 0xef2a5618]'] (final state: inbytes: 0x20, outbytes: 0x0, outinterfaces: ['0x710005EC90 [ID = 0xef2a5618]'])
- Unknown Interface prev-version: 0x7100140A48 [ID = 0x29d8801c]
- Unknown Interface cur-version: 0x7100140F78 [ID = 0x29d8801c]
- Interface Changed: nn::migration::user::IService
- Changed: 2250 - outinterfaces: ['0x7100140A48 [ID = 0x29d8801c]'] -> ['0x7100140F78 [ID = 0x29d8801c]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140F78 [ID = 0x29d8801c]'])
- Changed: 2260 - outinterfaces: ['0x7100140A48 [ID = 0x29d8801c]'] -> ['0x7100140F78 [ID = 0x29d8801c]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140F78 [ID = 0x29d8801c]'])
- Interface Changed: nn::olsc::srv::IOlscServiceForSystemService
- Added: 914 - inbytes: 0x10, outbytes: 0x8
- Interface Changed: nn::olsc::srv::IRemoteStorageController
- Added: 28 - inbytes: 0x8, outbytes: 0x10
- Added: 901 - inbytes: 0x8, outbytes: 0x0
wlan
- Updated L_e0a2c, prev ver @ L_e0a2c.
- At 0xe0b88 the following was added: if (state_field == 0x3) { following_state_field = 0x2; L_b0350(0x3); }
- Note that L_b0350 loads state data, but the output here is ignored.
- Updated L_e1138, prev ver @ L_e111c.
- Minor changes?
ldn
- Updated L_2c670, prev ver @ L_2c670.
- This is the func which initializes the service objects.
- More fields are cleared/initialized, etc.
- InitializePortImpl for ldn:m had max_sessions changed from 5 to 6.
- Updated L_2cdec, prev ver @ L_2cdcc. Updated L_2d0bc, prev ver @ L_2d074.
- These now support using two additional entry slots.
- Updated L_2d520, prev ver @ L_2d4ac.
- At the end two additional decref vfunc calls are done with two objects, if needed.
account
The updated funcs essentially add various calls to logging funcs:
- L_151a50, prev ver @ L_151a50
- L_152090, prev ver @ L_151fe0
- L_152700, prev ver @ L_152580
ns
- A number of funcs related to initializing async tasks were updated.
- ...
am
Besides the new IPC cmd / IPC changes from updated SDK:
- Updated L_47300, prev ver @ L_47300.
- State init was updated.
- Updated L_5bd90, prev ver @ L_5bd60.
- Updated L_5d2a8, prev ver @ L_5d258.
- Updated L_645f0, prev ver @ L_64510.
- L_6fdf0 is now called with an additional param, w2=0x1.
- Updated L_6fdf0, prev ver @ L_6fd00.
- The new inw2 param is now passed to L_138040 w2 (additional input param for hid:sys RegisterAppletResourceUserId).
- As of 20.2.0 hid:sys (on NX at least) doesn't currently handle this new param.
- Updated L_704d4, prev ver @ L_703d4.
- At the end before writing the u32 0x0 to output, this now runs the same check as immediately before the prior func call (Abort when a state field is set).
- Updated L_70600, prev ver @ L_70500. Updated L_70bc0, prev ver @ L_70aa4.
- The output from L_704d4 is now copied to inx0+0x30.
- Updated L_70af0, prev ver @ L_709e0.
- New func L_70d30.
- Called by L_5d2a8
- Updated L_70d90, prev ver @ L_70c34.
ssl
- The only change was updating L_11ab20, prev ver @ L_11ab20.
- During the loop it would originally return 1 when the func call is successful. Now when that's successful, L_4cb20 is now called, with 1 being returned when ret==1.
- Otherwise, it continues the loop.
nim
- The only actual change was updating L_e344c, prev ver @ L_e344c. Any other changes are minor.
- This is eventually called from funcs using network requests.
- This moved a code block near the end of this func which calls a cleanup func when needed etc, to after the following the func call. The state flag which is checked with this code block is also no longer cleared after calling that cleanup func. The cleanup func just clears state and does a memfree if needed.
sdb
- The only updated func was L_46c20, which is an init func eventually called by nnMain.
- Error handling was updated.
grc
The only changes are IPC related (on NX the only changed func was the IPC handler for the updated interface).
migration
Besides a SDK-related change (additional IPC vfunc) + a number of logging related changes:
- New func L_c9b30.
- Only called by L_c9ed8.
- New func L_c9e20.
- Only called by L_c9f08.
- New func L_c9ed8.
- New func L_c9f08.
- Updated L_12a834, prev ver @ L_12a354.
- This is the async task for nn::migration::device::IServer cmd400.
- Code from here was moved into L_12aa3c.
- ...
- New func L_12aa3c.
- Updated L_12b5a8, prev ver @ L_12b078.
- This is the async task for nn::migration::device::IServer cmd900.
- The code following the vfunc call where the ret is false, was replaced with just calling L_12aa3c, prior to the last func call.
- Updated L_13109c, prev ver @ L_130bec.
- This is the async task for nn::migration::device::IDownloader cmd500.
- After the first func call, added two calls to L_c9ed8.
- At the end, added two calls to L_c9f08.
- Updated L_1a3280, prev ver @ L_1a2b70.
- This is called eventually from mig:usr cmd2010 and cmd2110.
- Added various func calls at the end.
- Updated L_1a40bc, prev ver @ L_1a395c.
- This is called eventually from mig:usr cmd2010 and cmd2310.
- Added various func calls at the end.
See Also
System update report(s):
Nintendo Switch System Versions | |
---|---|
1.0.0 | |
2.0.0 • 2.1.0 • 2.2.0 • 2.3.0 | |
3.0.0 • 3.0.1 • 3.0.2 | |
4.0.0 • 4.0.1 • 4.1.0 | |
5.0.0 • 5.0.1 • 5.0.2 • 5.1.0 | |
6.0.0 • 6.0.1 • 6.1.0 • 6.2.0 | |
7.0.0 • 7.0.1 | |
8.0.0 • 8.0.1 • 8.1.0 • 8.1.1 | |
9.0.0 • 9.0.1 • 9.1.0 • 9.2.0 | |
10.0.0 • 10.0.1 • 10.0.2 • 10.0.3 • 10.0.4 • 10.1.0 • 10.1.1 • 10.2.0 | |
11.0.0 • 11.0.1 | |
12.0.0 • 12.0.1 • 12.0.2 • 12.0.3 • 12.1.0 | |
13.0.0 • 13.1.0 • 13.2.0 • 13.2.1 | |
14.0.0 • 14.1.0 • 14.1.1 • 14.1.2 | |
15.0.0 • 15.0.1 | |
16.0.0 • 16.0.1 • 16.0.2 • 16.0.3 • 16.1.0 | |
17.0.0 • 17.0.1 | |
18.0.0 • 18.0.1 • 18.1.0 | |
19.0.0 • 19.0.1 | |
20.0.0 • 20.0.1 • 20.1.0 • 20.1.1 • 20.1.5 • 20.2.0 • 20.3.0 • 20.4.0 |