5.0.0: Difference between revisions

TuxSH (talk | contribs)
No edit summary
 
(10 intermediate revisions by 5 users not shown)
Line 5: Line 5:
==Change-log==
==Change-log==
[http://en-americas-support.nintendo.com/app/answers/detail/a_id/22525/p/897 Official] ALL change-log:
[http://en-americas-support.nintendo.com/app/answers/detail/a_id/22525/p/897 Official] ALL change-log:
* Added the following system functionality
*Added the following system functionality
* Facebook and Twitter friends that also use Nintendo Switch can now be added through Friend Suggestions  
:* Facebook and Twitter friends that also use Nintendo Switch can now be added through Friend Suggestions  
* Friend suggestions are based on the Facebook and Twitter accounts you have linked to your Nintendo Account
::* Friend suggestions are based on the Facebook and Twitter accounts you ''have linked to your Nintendo Account''
* To view your friend suggestions, from the top left of the HOME Menu head to your User Page  > Friend Suggestions
::* To view your friend suggestions, from the top left of the HOME Menu head to your User Page  > Friend Suggestions
* You must be 13 or older to use this feature
::* You must be 13 or older to use this feature
* Select from 24 new ARMS and the Kirby series icons for your user
:* Select from 24 new ARMS and the Kirby series icons for your user
* To edit your user icon, head to your My Page on the top left of the Home Menu > Profile
::* To edit your user icon, head to your My Page on the top left of the Home Menu > Profile
* Digital software purchases made from a PC or smart device will start downloading sooner than previously, even if the Nintendo Switch console is in Sleep Mode  
:* Digital software purchases made from a PC or smart device will start downloading sooner than previously, even if the Nintendo Switch console is in Sleep Mode
* Filter News to view only unread news or news from specific channels
:* Filter News to view only unread news or news from specific channels
* To keep the Parental Controls PIN private, the default method for PIN entry has been changed to entering using the Control Stick and buttons instead of the on-screen number pad
:* To keep the Parental Controls PIN private, the default method for PIN entry has been changed to entering using the Control Stick and buttons instead of the on-screen number pad
* When prompted to enter you Parental Controls PIN, press and hold the + Button to change between input methods  
::* When prompted to enter you Parental Controls PIN, press and hold the + Button to change between input methods  
* Captured videos in the Album will be restricted by Parental Controls depending on the Restricted Software setting and Software Rating Organization
:* Captured videos in the Album will be restricted by Parental Controls depending on the Restricted Software setting and Software Rating Organization
* Using the Nintendo Switch Parental Controls app, add specific software titles to your whitelist to exclude them from the console’s Parental Controls Restricted Software setting
:* ''Using the Nintendo Switch Parental Controls app'', add specific software titles to your whitelist to exclude them from the console’s Parental Controls Restricted Software setting
* Play-Time Limit restrictions will still apply even when the software title has been whitelisted.
::* Play-Time Limit restrictions will still apply even when the software title has been whitelisted.
* Receive notification when pre-purchased software is ready to play
:* Receive notification when pre-purchased software is ready to play
* Nintendo Switch Pro Controller grip colors will now display in the Controllers menu
:* Nintendo Switch Pro Controller grip colors will now display in the Controllers menu
* General system stability improvements to enhance the user's experience, including:
* General system stability improvements to enhance the user's experience, including:
* Resolved an issue that caused Play Activity to display incorrectly in the Profile section of your User Page
:* Resolved an issue that caused Play Activity to display incorrectly in the Profile section of your User Page


==System Titles==
==System Titles==
Line 55: Line 55:
* 823
* 823


The built codebins now have padding in .text after every function for 0x10-byte alignment.
The built codebins now have padding in .text after every function for 0x10-byte alignment (and other compiler changes).


The SDK included with titles (main-codebin) for NV changed/updated NVIDIA hw strings:
The SDK included with titles (main-codebin) for NV changed/updated NVIDIA hw strings:
Line 82: Line 82:


A new folder "a" was added, in addition to the existing "nx" folder, containing a separate "bct" and "package1". Both of these seem encrypted/meant for the new "Mariko" hardware that support was added for.
A new folder "a" was added, in addition to the existing "nx" folder, containing a separate "bct" and "package1". Both of these seem encrypted/meant for the new "Mariko" hardware that support was added for.
The following firm-sysmodules was added to both safemode-firm, which were originally in separate sysmodule-titles: [[Bus_services|Bus]], [[PCV_services|PCV]], and [[PSC_services|psc]].
All firm-sysmodules were updated (might be due to updated (?) rtld).


====Secure Monitor====
====Secure Monitor====
Line 94: Line 90:
In addition, there were changes to the [[SMC]] interface:
In addition, there were changes to the [[SMC]] interface:


* smcGenerateSpecificAesKey was updated to support generating previous 4.x+ device key(s).
* smcLoadSecureExpModKey/smcLoadRsaOaepKey/smcDecryptRsaPrivateKey no longer exist.
* smcLoadSecureExpModKey/smcLoadRsaOaepKey/smcDecryptRsaPrivateKey no longer exist.
* smcLoadRsaOaepKey was replaced with smcEncryptRsaPrivateKeyForImport.
* smcLoadRsaOaepKey was replaced with smcEncryptRsaPrivateKeyForImport.
Line 101: Line 98:
** GetConfig(16), which seems to check whether the Switch is running on a Tegra 210:
** GetConfig(16), which seems to check whether the Switch is running on a Tegra 210:
     return (FUSE_RESERVED_ODM4 & 0x800) &&  FUSE_RESERVED_ODM0 == 0x8E61ECAE &&  FUSE_RESERVED_ODM1  == 0xF2BA3BB2 ?  (FUSE_RESERVED_ODM2 & 0x1F) : 0
     return (FUSE_RESERVED_ODM4 & 0x800) &&  FUSE_RESERVED_ODM0 == 0x8E61ECAE &&  FUSE_RESERVED_ODM1  == 0xF2BA3BB2 ?  (FUSE_RESERVED_ODM2 & 0x1F) : 0
** Getconfig(17), which returns the Package2 meta fields (first 4 words) if package2 is plaintext.
** Getconfig(17), which returns the Package2 hash if booting from recovery mode.


<fill in the rest later>
<fill in the rest later>
Line 108: Line 105:
* Kernel Address Space Layout Randomization was added.
* Kernel Address Space Layout Randomization was added.
** Instead of using a hardcoded address for per-CPU region, they now use x18 to point to the per-CPU region.
** Instead of using a hardcoded address for per-CPU region, they now use x18 to point to the per-CPU region.
* When using most [[SMC]]s, IRQs are now disabled first then restored to original state afterwards. x18 is also reinitialized right after most SMCs (see above).
* 5 new syscalls.
* 5 new syscalls.
** Syscalls 0x48+0x49 are used by [[AM_services|AM]]-sysmodule.
** Syscalls 0x48+0x49 (svcAllocateUserHeapMemory+svcFreeUserHeapMemory) are used by [[AM_services|AM]]-sysmodule.
** Syscall 0x4A is used by [[Process_Manager_services|PM]]-sysmodule.
*** This is used to allocate Application pool.
** Syscall 0x6F is used by FS, SM, and PM.
** Syscall 0x4A (svcSetUserHeapMemoryAllocationMax) is used by [[Process_Manager_services|PM]]-sysmodule.
*** This allows PM to set a limit on the number of bytes AM can allocate from Application pool.
** Syscall 0x6F (svcGetMemoryInfo) is used by FS, SM, and PM.
** Syscall 0x2E (svcGetNextThreadInfo) was added, but it only works on dev units.
*** Allows fetching how many bytes free/occupied by the different pools.
** svcControlCodeMemory was [[SVC#svcControlCodeMemory|updated]].
* NPDM irq_id's are no longer checked to be < 0x100, instead max-value is loaded from per-cpu state.
* NPDM irq_id's are no longer checked to be < 0x100, instead max-value is loaded from per-cpu state.
* The order slabheaps are laid out in memory is now randomized.
* The order slabheaps are laid out in memory is now randomized.
* There are now 4 memory pool partitions.
** This fixes sysmodule takeover with GMMU hax.


===[[Internet Browser]]===
===[[Internet Browser]]===
Line 143: Line 148:
** "IcoPctl.bntx"
** "IcoPctl.bntx"
** "LogoMoon{region/language-text}.bntx", for every region/language.
** "LogoMoon{region/language-text}.bntx", for every region/language.
===System Config===
New fields were added to [[Settings_services#System_Config|System Config]].


==[[NPDM]]==
==[[NPDM]]==