20.1.0: Difference between revisions
|  Add ro diff | |||
| (17 intermediate revisions by the same user not shown) | |||
| Line 21: | Line 21: | ||
| 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): | 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, jit, ... | * bcat, nifm, audio, ldn, account, psc, am, vi, pctl, es, ro, migration, ... | ||
| The sysmodules which only have changes from updated SDK / logging-constants-update, are: | |||
| * bluetooth, bsdsocket, capmtp, nfc, btm, glue, grc, creport, sdb, jit, safemode, ... | |||
| RomFs changes: | RomFs changes: | ||
| Line 136: | Line 139: | ||
| * Unknown Interface prev-version: 0x71000055E0 | * Unknown Interface prev-version: 0x71000055E0 | ||
| * Unknown Interface cur-version: 0x71000055E0 | * Unknown Interface cur-version: 0x71000055E0 | ||
| * Interface Changed: nn::ns::detail::IApplicationManagerInterface | * Interface Changed: nn::ns::detail::IApplicationManagerInterface | ||
| ** Added:     933 - buffers: [0x6], inbytes: 0x90, outbytes: 0x4 | ** Added:     933 - buffers: [0x6], inbytes: 0x90, outbytes: 0x4 | ||
| ** Added:    2183 - inbytes: 0x8, outbytes: 0x0 | ** Added:    2183 - inbytes: 0x8, outbytes: 0x0 | ||
| * Interface Changed: nn::ns::detail::IContentManagementInterface | * Interface Changed: nn::ns::detail::IContentManagementInterface | ||
| ** Added:      58 - inbytes: 0x0, outbytes: 0x0 | ** Added:      58 - inbytes: 0x0, outbytes: 0x0 | ||
| Line 181: | Line 147: | ||
| * Interface Changed: nn::ns::detail::IReadOnlyApplicationControlDataInterface | * Interface Changed: nn::ns::detail::IReadOnlyApplicationControlDataInterface | ||
| ** Added:      17 - buffers: [0x6], inbytes: 0x90, outbytes: 0x4 | ** Added:      17 - buffers: [0x6], inbytes: 0x90, outbytes: 0x4 | ||
| * Interface Changed: nn::nim::detail::INetworkInstallManager | * Interface Changed: nn::nim::detail::INetworkInstallManager | ||
| ** Added:     173 - buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0 | ** Added:     173 - buffer_entry_sizes: [0x10], buffers: [0x5], inbytes: 0x0, outbytes: 0x0 | ||
| * Unknown Interface prev-version: 0x7100097948 [ID = 0xfe214da9] | * Unknown Interface prev-version: 0x7100097948 [ID = 0xfe214da9] | ||
| * Unknown Interface cur-version: 0x7100097948 [ID = 0xfe214da9] | * Unknown Interface cur-version: 0x7100097948 [ID = 0xfe214da9] | ||
| * Unknown Interface prev-version: 0x710005ECA0 [ID = 0xef2a5618] | * Unknown Interface prev-version: 0x710005ECA0 [ID = 0xef2a5618] | ||
| * Unknown Interface cur-version: 0x710005ECA0 [ID = 0xef2a5618] | * Unknown Interface cur-version: 0x710005ECA0 [ID = 0xef2a5618] | ||
| * Unknown Interface prev-version: 0x710014064C [ID = 0x29d8801c] | * Unknown Interface prev-version: 0x710014064C [ID = 0x29d8801c] | ||
| * Unknown Interface cur-version: 0x71001408F8 [ID = 0x29d8801c] | * Unknown Interface cur-version: 0x71001408F8 [ID = 0x29d8801c] | ||
| * Interface Changed: nn::migration::user::IService | * Interface Changed: nn::migration::user::IService | ||
| ** Changed:  2250 - outinterfaces: ['0x710014064C [ID = 0x29d8801c]'] -> ['0x71001408F8 [ID = 0x29d8801c]'] (final state: inbytes: 0x18, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]']) | ** 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:  2260 - outinterfaces: ['0x710014064C [ID = 0x29d8801c]'] -> ['0x71001408F8 [ID = 0x29d8801c]'] (final state: inbytes: 0x4, inhandles: [1], outbytes: 0x0, outinterfaces: ['0x71001408F8 [ID = 0x29d8801c]']) | ||
| * Interface Changed: nn::olsc::srv::ITransferTaskListController | * Interface Changed: nn::olsc::srv::ITransferTaskListController | ||
| ** Added:      26 - inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IRemoteStorageController'] | ** Added:      26 - inbytes: 0x0, outbytes: 0x0, outinterfaces: ['nn::olsc::srv::IRemoteStorageController'] | ||
| Line 248: | Line 182: | ||
| * KInterruptController::SaveLocalState/RestoreLocalState now saves and restores spendsgir | * KInterruptController::SaveLocalState/RestoreLocalState now saves and restores spendsgir | ||
| === [[ | === [[BCAT_services|bcat]] === | ||
| * Updated L_8bc30, prev ver @ L_8bc30. | |||
| * The  | ** 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. | |||
| === [[Network_Interface_services|nifm]] === | |||
| * 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_services|wlan]] cmd was updated. | |||
| === [[Audio_services|audio]] === | |||
| 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_services|ldn]] === | |||
| Besides SDK related changes: | |||
| * Updated L_57000, prev ver @ L_56ffc. | |||
| * Updated L_767f0, prev ver @ L_76690. | |||
| ** The code "if ({any byte at inx1+0x8 size 0x6-bytes} != 0xFF) return L_76fe0(...);" from prev ver was removed. | |||
| * 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_services|psc]] === | |||
| The only change was [[PSC_services|updating]] the cmd impl for srepo NotifyApplicationRightsInfo, with additional bits handled for the input u32. | |||
| === [[Display_services|vi]] === | |||
| All updated functionality is related to updating [[Display_services|caps:sc RequestTakingScreenShotEx1]]. | |||
| === [[RO_services|ro]] === | === [[RO_services|ro]] === | ||
| Line 256: | Line 252: | ||
| ** These are initialized for both JitPlugin and User servers to point to an array of size 1, containing only Platform 0 (NX). | ** 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. | * 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. | ||
| === [[Migration_services|migration]] === | |||
| Besides SDK related changes: | |||
| * Updated L_130a9c, prev ver @ L_13085c. | |||
| ** This is the async task func started by IDownloader cmd500. | |||
| ** Added code at 0x130b28 for calling L_1a6bf0. On fail, calls L_2e4 and L_30e24, then returns ret. | |||
| * Updated L_131bf8, prev ver @ L_131984. | |||
| ** This is the actual task impl func, for the async task started by IDownloader cmd900. | |||
| ** Added code at 0x131c64 for calling L_1a6bf0. On fail, calls L_2e4 and L_30e24, then returns ret. | |||
| * Updated L_146590, prev ver @ L_1462f0. | |||
| ** The code at 0x1465f4 now checks for inw0>0x1400ff, instead of inw0>0x100000. | |||
| * New func L_1a6bf0, only called by the above. | |||
| === [[JIT_services|jit]] === | |||
| 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]]) was swapped. | |||
| ==See Also== | ==See Also== | ||