Created Firmware 20 (markdown)

Zoria
2025-05-31 22:09:28 +02:00
parent 87841348fb
commit c5122b4ea0

322
Firmware-20.md Normal file

@ -0,0 +1,322 @@
# System Titles
The following titles were updated:
Sysmodules: usb, htc.stub, boot2.ProdBoot, settings, Bus, bluetooth, bcat, friends, nifm, ptm, bsdsocket, hid, audio, LogManager.Prod, wlan, ldn, nvservices, pcv, capmtp, nvnflinger, pcie, account, ns, nfc, psc, capsrv, am, ssl, nim, btm, erpt, vi, pctl, npns, eupld, glue, eclct, es, fatal, creport, ro, sdb, grc, migration, jpegdec, safemode, olsc, ngct, jit, pgl, omm, eth, ngc.
SystemData (non-sysver): CertStore, ErrorMessage, MiiModel, BrowserDll, NgWord, SsidList, LocalNews, TimeZoneBinary, FontNintendoExtension, FontStandard, FontKorean, FontChineseTraditional, FontChineseSimple, FirmwareDebugSettings, BootImagePackage, BootImagePackageSafe, BootImagePackageExFat, FatalMessage, ControllerIcon, PlatformConfigIcosa, PlatformConfigCopper, PlatformConfigHoag, ControllerFirmware, NgWord2, BootImagePackageExFatSafe, PlatformConfigIcosaMariko, ContentActionTable, NgWordT, PlatformConfigAula, AulaDockFirmware, 0100000000000859, 010000000000085C.
Applets: qlaunch, auth, controller, dataErase, error, netConnect, playerSelect, LibAppletWeb, LibAppletShop, overlayDisp, photoViewer, LibAppletOff, LibAppletLns, LibAppletAuth, "starter" application, myPage, splay.
[NPDM](https://switchbrew.org/wiki/NPDM) changes (besides usual version-bump): none.
Sysmodules were rebuilt with latest SDK, unless noted otherwise the only .text changes are from sdkver-update / logging-constants-update. The sysmodules with actual changes are (besides ones with IPC changes):
bcat, nifm, audio, ldn, psc, ro, ...
The sysmodules which only have changes from updated SDK / logging-constants-update, are:
bluetooth, bsdsocket, capmtp, nfc, jit, ...
RomFs changes:
ErrorMessage: updated
BrowserDll:
"/buildinfo/buildinfo.dat" updated
"/lyt/": Various data updated.
"/nro/netfront/": Various data updated.
"/sound/cruiser.bfsar" updated
NgWord: "/version.dat" updated
[SystemVersion](https://switchbrew.org/wiki/System_Version_Title): All files updated.
LocalNews: "/image/LnMoonIntro/list.jpg" updated, "/image/LnMoonIntro/main.jpg" updated, "/message/CNzhT/" added
[FirmwareDebugSettings](https://switchbrew.org/wiki/System_Settings): All files updated.
ControllerIcon: "/lyt/ColorTable" updated
ControllerFirmware: "/FirmwareInfo.csv" updated, "/tera_fullkey_ota.bin" updated, "/tera_fullkey_ota_iap.bin" updated, "/tera_ota.bin" updated, "/tera_ota_iap.bin" updated
NgWord2: updated
RebootlessSystemUpdateVersion: All files updated.
qlaunch applet:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/qlaunch_action.bksnd" updated
"/sound/qlaunch.bfsar" updated
"/texture/LogoMoonCNzh.bntx" added
"/texture/LogoMoonEUde.bntx" updated
"/texture/LogoMoonEUen.bntx" removed
"/texture/LogoMoonEUes.bntx" removed
"/texture/LogoMoonEUfr.bntx" removed
"/texture/LogoMoonEUit.bntx" updated
"/texture/LogoMoonEUnl.bntx" updated
"/texture/LogoMoonEUpt.bntx" updated
"/texture/LogoMoonEUru.bntx" updated
"/texture/LogoMoonJPja.bntx" updated
"/texture/LogoMoonTWzh.bntx" added
"/texture/LogoMoonUSen.bntx" updated
"/texture/LogoMoonUSes.bntx" updated
"/texture/LogoMoonUSfr.bntx" updated
"/texture/LogoMoonUSpt.bntx" added
auth applet:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/auth_action.bksnd" updated
"/sound/auth.bfsar" updated
controller applet:
"/message/": Various data updated.
"/sound/controller_action.bksnd" updated
dataErase applet:
"/message/": Various data updated.
"/sound/dataErase_action.bksnd" updated
error applet:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/error_action.bksnd" updated
"/sound/error.bfsar" updated
"/texture/LogoMoonCNzh.bntx" added
"/texture/LogoMoonEUde.bntx" updated
"/texture/LogoMoonEUen.bntx" removed
"/texture/LogoMoonEUes.bntx" removed
"/texture/LogoMoonEUfr.bntx" removed
"/texture/LogoMoonEUit.bntx" updated
"/texture/LogoMoonEUnl.bntx" updated
"/texture/LogoMoonEUpt.bntx" updated
"/texture/LogoMoonEUru.bntx" updated
"/texture/LogoMoonJPja.bntx" updated
"/texture/LogoMoonTWzh.bntx" added
"/texture/LogoMoonUSen.bntx" updated
"/texture/LogoMoonUSes.bntx" updated
"/texture/LogoMoonUSfr.bntx" updated
"/texture/LogoMoonUSpt.bntx" added
netConnect applet:
"/message/": Various data updated.
"/sound/netConnect_action.bksnd" updated
playerSelect applet:
"/message/": Various data updated.
"/sound/playerSelect_action.bksnd" updated
"/sound/playerSelect.bfsar" updated
[LibAppletWeb/LibAppletShop/LibAppletOff/LibAppletLns/LibAppletAuth](https://switchbrew.org/wiki/Internet_Browser): All files updated.
overlayDisp applet:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/infoLHub.raw" updated
"/sound/infoPtcl.raw" updated
"/sound/infoTimerOver.raw" updated
"/sound/infoTimer.raw" updated
"/sound/overlayDisp_action.bksnd" updated
photoViewer applet:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/photoViewer_action.bksnd" updated
"starter" application:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/starter_action.bksnd" updated
myPage applet:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/myPage_action.bksnd" updated
"/sound/myPage.bfsar" updated
splay applet:
"/lyt/": Various data updated.
"/message/": Various data updated.
"/sound/splay_action.bksnd" updated
"/sound/splay.bfsar" updated
# IPC Interface Changes
Unknown Interface prev-version: 0x710008741C
Unknown Interface cur-version: 0x710008741C
Interface Changed: nn::hid::IHidDebugServer
Added: 214 - inbytes: 0x8, outbytes: 0x1D
Interface Changed: nn::hid::IHidSystemServer
Added: 1158 - inbytes: 0x1, outbytes: 0x0
Added: 1159 - inbytes: 0x0, outbytes: 0x0
Interface Changed: nn::wlan::detail::IWirelessCommunicationService
Changed: 120 - outbytes: 0x28 -> 0x2C (final state: inbytes: 0x0, outbytes: 0x2C)
Unknown Interface prev-version: 0x71000055E0
Unknown Interface cur-version: 0x71000055E0
Unknown Interface prev-version: 0x7100086504 [ID = 0x0919ff75]
Unknown Interface prev-version: 0x7100085DD4 [ID = 0x38f0bb3d]
Unknown Interface prev-version: 0x71000846F0 [ID = 0x107aa108]
Unknown Interface prev-version: 0x7100085B3C [ID = 0x3af03446]
Unknown Interface prev-version: 0x7100086228 [ID = 0x36f3a242]
Unknown Interface cur-version: 0x7100086504 [ID = 0x0919ff75]
Unknown Interface cur-version: 0x7100085DD4 [ID = 0x38f0bb3d]
Unknown Interface cur-version: 0x71000846F0 [ID = 0x107aa108]
Unknown Interface cur-version: 0x7100085B3C [ID = 0x3af03446]
Unknown Interface cur-version: 0x7100086228 [ID = 0x36f3a242]
Unknown Interface prev-version: 0x71001A4F60 [ID = 0x4e930893]
Unknown Interface prev-version: 0x7100264B34 [ID = 0x3af03446]
Unknown Interface prev-version: 0x7100264DCC [ID = 0x38f0bb3d]
Unknown Interface prev-version: 0x7100265220 [ID = 0x36f3a242]
Unknown Interface prev-version: 0x71002654FC [ID = 0x0919ff75]
Unknown Interface prev-version: 0x71001A495C [ID = 0x04dea048]
Unknown Interface prev-version: 0x71002636E8 [ID = 0x107aa108]
Unknown Interface cur-version: 0x7100266784 [ID = 0x3af03446]
Unknown Interface cur-version: 0x7100265338 [ID = 0x107aa108]
Unknown Interface cur-version: 0x71001A5D44 [ID = 0x04dea048]
Unknown Interface cur-version: 0x7100266A1C [ID = 0x38f0bb3d]
Unknown Interface cur-version: 0x710026714C [ID = 0x0919ff75]
Unknown Interface cur-version: 0x71001A6348 [ID = 0x4e930893]
Unknown Interface cur-version: 0x7100266E70 [ID = 0x36f3a242]
Interface Changed: nn::account::IAccountServiceForAdministrator
Changed: 292 - outinterfaces: ['0x7100264B34 [ID = 0x3af03446]'] -> ['0x7100266784 [ID = 0x3af03446]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x7100266784 [ID = 0x3af03446]'])
Changed: 293 - outinterfaces: ['0x7100264DCC [ID = 0x38f0bb3d]'] -> ['0x7100266A1C [ID = 0x38f0bb3d]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x7100266A1C [ID = 0x38f0bb3d]'])
Changed: 350 - outinterfaces: ['0x7100265220 [ID = 0x36f3a242]'] -> ['0x7100266E70 [ID = 0x36f3a242]'] (final state: inbytes: 0x1, outbytes: 0x0, outinterfaces: ['0x7100266E70 [ID = 0x36f3a242]'])
Changed: 352 - outinterfaces: ['0x71002654FC [ID = 0x0919ff75]'] -> ['0x710026714C [ID = 0x0919ff75]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710026714C [ID = 0x0919ff75]'])
Interface Changed: nn::account::baas::IAdministrator
Changed: 181 - outinterfaces: ['0x71002636E8 [ID = 0x107aa108]'] -> ['0x7100265338 [ID = 0x107aa108]'] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x7100265338 [ID = 0x107aa108]'])
Changed: 182 - outinterfaces: ['0x71002636E8 [ID = 0x107aa108]'] -> ['0x7100265338 [ID = 0x107aa108]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x7100265338 [ID = 0x107aa108]'])
Interface Changed: nn::account::baas::IManagerForSystemService
Changed: 181 - outinterfaces: ['0x71002636E8 [ID = 0x107aa108]'] -> ['0x7100265338 [ID = 0x107aa108]'] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x7100265338 [ID = 0x107aa108]'])
Changed: 182 - outinterfaces: ['0x71002636E8 [ID = 0x107aa108]'] -> ['0x7100265338 [ID = 0x107aa108]'] (final state: inbytes: 0x10, outbytes: 0x0, outinterfaces: ['0x7100265338 [ID = 0x107aa108]'])
Interface Changed: nn::ns::detail::IApplicationManagerInterface
Added: 933 - buffers: [0x6], inbytes: 0x90, outbytes: 0x4
Added: 2183 - inbytes: 0x8, outbytes: 0x0
Changed: 4026 - outinterfaces: ['0x71001A495C [ID = 0x04dea048]'] -> ['0x71001A5D44 [ID = 0x04dea048]'] (final state: inbytes: 0x8, outbytes: 0x0, outinterfaces: ['0x71001A5D44 [ID = 0x04dea048]'])
Changed: 4027 - outinterfaces: ['0x71001A4F60 [ID = 0x4e930893]'] -> ['0x71001A6348 [ID = 0x4e930893]'] (final state: inbytes: 0x8, outbytes: 0x0, outinterfaces: ['0x71001A6348 [ID = 0x4e930893]'])
Interface Changed: nn::ns::detail::IContentManagementInterface
Added: 58 - inbytes: 0x0, outbytes: 0x0
Added: 71 - inbytes: 0x1, outbytes: 0x10
Interface Changed: nn::ns::detail::IReadOnlyApplicationControlDataInterface
Added: 17 - buffers: [0x6], inbytes: 0x90, outbytes: 0x4
Unknown Interface prev-version: 0x71000CE314 [ID = 0x359536d2]
Unknown Interface cur-version: 0x71000CE4B4 [ID = 0x359536d2]
Interface Changed: nn::am::service::IAllSystemAppletProxiesService
Changed: 460 - outinterfaces: ['0x71000CE314 [ID = 0x359536d2]'] -> ['0x71000CE4B4 [ID = 0x359536d2]'] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x71000CE4B4 [ID = 0x359536d2]'])
Interface Changed: nn::nim::detail::INetworkInstallManager
Added: 173 - buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0
Unknown Interface prev-version: 0x7100097948 [ID = 0xfe214da9]
Unknown Interface prev-version: 0x7100096B3C [ID = 0xdf171f31]
Unknown Interface cur-version: 0x7100097948 [ID = 0xfe214da9]
Unknown Interface cur-version: 0x7100096B3C [ID = 0xdf171f31]
Unknown Interface prev-version: 0x710005ECA0 [ID = 0xef2a5618]
Unknown Interface cur-version: 0x710005ECA0 [ID = 0xef2a5618]
Unknown Interface prev-version: 0x710014064C [ID = 0x29d8801c]
Unknown Interface prev-version: 0x7100140AD0 [ID = 0xeb5e4ee2]
Unknown Interface prev-version: 0x710013C47C [ID = 0x6e021695]
Unknown Interface prev-version: 0x7100141A58 [ID = 0x3c7c9db7]
Unknown Interface prev-version: 0x710013E13C [ID = 0x8cf617a1]
Unknown Interface cur-version: 0x710013C728 [ID = 0x6e021695]
Unknown Interface cur-version: 0x71001408F8 [ID = 0x29d8801c]
Unknown Interface cur-version: 0x7100141D04 [ID = 0x3c7c9db7]
Unknown Interface cur-version: 0x7100140D7C [ID = 0xeb5e4ee2]
Unknown Interface cur-version: 0x710013E3E8 [ID = 0x8cf617a1]
Interface Changed: nn::migration::user::IService
Changed: 2100 - outinterfaces: ['0x710013C47C [ID = 0x6e021695]'] -> ['0x710013C728 [ID = 0x6e021695]'] (final state: buffer_entry_sizes: [0x100], buffers: [0x19], inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013C728 [ID = 0x6e021695]'])
Changed: 2110 - outinterfaces: ['0x710013C47C [ID = 0x6e021695]'] -> ['0x710013C728 [ID = 0x6e021695]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013C728 [ID = 0x6e021695]'])
Changed: 2200 - outinterfaces: ['0x710013E13C [ID = 0x8cf617a1]'] -> ['0x710013E3E8 [ID = 0x8cf617a1]'] (final state: buffer_entry_sizes: [0x100], buffers: [0x19], inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013E3E8 [ID = 0x8cf617a1]'])
Changed: 2210 - outinterfaces: ['0x710013E13C [ID = 0x8cf617a1]'] -> ['0x710013E3E8 [ID = 0x8cf617a1]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x710013E3E8 [ID = 0x8cf617a1]'])
Changed: 2250 - outinterfaces: ['0x710014064C [ID = 0x29d8801c]'] -> ['0x71001408F8 [ID = 0x29d8801c]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]'])
Changed: 2260 - outinterfaces: ['0x710014064C [ID = 0x29d8801c]'] -> ['0x71001408F8 [ID = 0x29d8801c]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]'])
Changed: 2300 - outinterfaces: ['0x7100140AD0 [ID = 0xeb5e4ee2]'] -> ['0x7100140D7C [ID = 0xeb5e4ee2]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140D7C [ID = 0xeb5e4ee2]'])
Changed: 2310 - outinterfaces: ['0x7100140AD0 [ID = 0xeb5e4ee2]'] -> ['0x7100140D7C [ID = 0xeb5e4ee2]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100140D7C [ID = 0xeb5e4ee2]'])
Changed: 2400 - outinterfaces: ['0x7100141A58 [ID = 0x3c7c9db7]'] -> ['0x7100141D04 [ID = 0x3c7c9db7]'] (final state: inbytes: 0x10, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100141D04 [ID = 0x3c7c9db7]'])
Changed: 2420 - outinterfaces: ['0x7100141A58 [ID = 0x3c7c9db7]'] -> ['0x7100141D04 [ID = 0x3c7c9db7]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x7100141D04 [ID = 0x3c7c9db7]'])
Unknown Interface prev-version: 0x7100133FE0 [ID = 0x17291af3]
Unknown Interface prev-version: 0x71001357F4 [ID = 0xa036ce80]
Unknown Interface cur-version: 0x710013A720 [ID = 0xa036ce80]
Unknown Interface cur-version: 0x7100138F0C [ID = 0x17291af3]
Interface Changed: nn::olsc::srv::IDaemonController
Changed: 13 - outinterfaces: ['0x71001357F4 [ID = 0xa036ce80]', None] -> ['0x710013A720 [ID = 0xa036ce80]', None] (final state: inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x710013A720 [ID = 0xa036ce80]', None])
Interface Changed: nn::olsc::srv::IOlscServiceForSystemService
Changed: 1000 - outinterfaces: ['0x7100133FE0 [ID = 0x17291af3]'] -> ['0x7100138F0C [ID = 0x17291af3]'] (final state: buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x7100138F0C [ID = 0x17291af3]'])
Interface Changed: nn::olsc::srv::IRemoteStorageController
Changed: 800 - outinterfaces: ['0x7100133FE0 [ID = 0x17291af3]'] -> ['0x7100138F0C [ID = 0x17291af3]'] (final state: buffer_entry_sizes: [0x8], buffers: [0x5], inbytes: 0x0, outbytes: 0x0, outinterfaces: ['0x7100138F0C [ID = 0x17291af3]'])
Interface Changed: nn::olsc::srv::ITransferTaskListController
Added: 26 - inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IRemoteStorageController']
Added: 27 - inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IRemoteStorageController']
Added: 28 - inbytes: 0x10, outbytes: 0x1
Added: 29 - inbytes: 0x0, outbytes: 0x1
Added: 30 - inbytes: 0x1, outbytes: 0x38
Interface Changed: nn::omm::detail::IOperationModeManager
Added: 50 - inbytes: 0x0, outbytes: 0x8
# BootImagePackages
RomFs changes:
"/nx/package2" updated
[INI1](https://switchbrew.org/wiki/Package2) changes:
BootImagePackage/BootImagePackageExFat:
All FIRM Sysmodules were just re-built, resulting in updated GNU build-id. The *only* changes besides this are:
Loader: Anti-downgrade list is updated.
FS: UpdateResult's logging constants/hashes were updated.
# Kernel
cpu::DoCoreInterruptBarrier now uses a KLightLock instead of a KSpinLock.
Sleep entry now waits 1920 ticks after synchronizing cores and before saving the interrupt manager
KInterruptController::SaveLocalState/RestoreLocalState now saves and restores spendsgir
# [bcat](https://switchbrew.org/wiki/BCAT_services)
Updated L_8bc30, prev ver @ L_8bc30.
Prior to the last "if (inx1)" check, this now calls L_93164, with the required init before that if needed.
Updated L_92fe4, prev ver @ L_92f84.
This now returns 1 for success, 0 for failure (previously there was no retval).
Updated L_93164, prev ver @ L_930dc.
When inx1 doesn't match any of the state fields, it now skips to calling a func and returning. Previously when the input was invalid, it would use -1 as an arrayindex.
Updated L_9b640, prev ver @ L_9b5c0.
Code was moved around, etc.
Updated L_9bc40, prev ver @ L_9bbc0.
Minor changes?
Updated L_a3d00, prev ver @ L_a3c70.
When handling value 0x12C87A, w2 is now set to 0xE10 (3600) instead of 0x12C (300).
Updated L_f1d90, prev ver @ L_f1d00.
This is error-handling/conversion related.
# [nifm](https://switchbrew.org/wiki/Network_Interface_services)
Updated L_83c80, prev ver @ L_83c80.
Code was added starting at 0x84b64.
Updated L_a11d8, prev ver @ L_a10d8.
Error handling was updated.
Updated L_a176c, prev ver @ L_a1640.
An additional state field is now cleared.
Error handling was updated.
Updated L_a1b20, prev ver @ L_a1978.
An additional state field is now cleared.
Updated L_a1c34, prev ver @ L_a1a1c.
An additional state field is now cleared.
Error handling was updated.
Updated L_c0aa0, prev ver @ L_c0820.
The call to nn::os::WaitSystemEvent was replaced with a call to nn::os::TimedWaitSystemEvent, with L_c0e70 being called if that returns false.
The IPC func for the updated [wlan](https://switchbrew.org/wiki/WLAN_services) cmd was updated.
# [audio](https://switchbrew.org/wiki/Audio_services)
Besides SDK (?) related changes:
Updated L_26190, prev ver @ L_26130.
Updated (changes seem to be minor (?)):
L_268c0 prev ver @ L_26840
L_26970 prev ver @ L_268d4
L_26b38 prev ver @ L_26a6c
L_27230 prev ver @ L_27130
L_27618 prev ver @ L_274f8
L_277a4 prev ver @ L_27654
# [ldn](https://switchbrew.org/wiki/LDN_services)
Besides SDK related changes:
Updated L_57000, prev ver @ L_56ffc.
Updated L_767f0, prev ver @ L_76690.
Updated L_7e880, prev ver @ L_7e770.
The call to nn::os::WaitSystemEvent was replaced with a call to nn::os::TimedWaitSystemEvent, with L_7ec60 being called if that returns false.
Updated L_969f0, prev ver @ L_968d0.
The func for "nn.lp2p.SendThread" branches to this func.
The following had error handling updated:
L_9beb4 prev ver @ L_9bd74
L_9c614 prev ver @ L_9c4b4
L_9c820 prev ver @ L_9c69c
# [psc](https://switchbrew.org/wiki/PSC_services)
The only change was [updating](https://switchbrew.org/wiki/PSC_services) the cmd impl for srepo NotifyApplicationRightsInfo, with additional bits handled for the input u32.
# [ro](https://switchbrew.org/wiki/RO_services)
RoServer object now has two new fields, "m_SupportedPlatforms", "m_NumSupportedPlatforms".
These are initialized for both JitPlugin and User servers to point to an array of size 1, containing only Platform 0 (NX).
During NRR validation, the NRR platform byte (NRR + 0x6) is now checked to be contained within the server's supported platforms array before header is copied onto stack, if it is not then error 0xC16 is returned.
# [jit](https://switchbrew.org/wiki/JIT_services)
The only updated func was L_177b0 (this is the SDK func called by nn::ro::RegisterModuleInfo):
The order of the validation after magicnum-check ([NRR](https://switchbrew.org/wiki/NRR)) was swapped.