4.0.0: Difference between revisions
No edit summary |
→Kernel: > |
||
(15 intermediate revisions by 6 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''' | |||
* Capture video on select games | * Capture video on select games | ||
* To capture video, hold down the Capture Button during gameplay | ** To capture video, hold down the Capture Button during gameplay | ||
* Up to maximum of the previous 30 seconds will be saved in the Album. You can trim the beginning and end of each clip, and post to Facebook and Twitter. | ** Up to maximum of the previous 30 seconds will be saved in the Album. You can trim the beginning and end of each clip, and post to Facebook and Twitter. | ||
* As of October 18th, 2017, this feature is compatible with The Legend of Zelda: Breath of the Wild, Mario Kart 8 Deluxe, ARMS, and Splatoon 2 | ** As of October 18th, 2017, this feature is compatible with The Legend of Zelda: Breath of the Wild, Mario Kart 8 Deluxe, ARMS, and Splatoon 2 | ||
* Select from 12 new Super Mario Odyssey and The Legend of Zelda: Breath of the Wild icons for your user | * Select from 12 new Super Mario Odyssey and The Legend of Zelda: Breath of the Wild 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 | ||
* Transfer user and save data to another system | * Transfer user and save data to another system | ||
* To transfer, head to System Settings > Users > Transfer Your User and Save Data | ** To transfer, head to System Settings > Users > Transfer Your User and Save Data | ||
* Pre-purchase option on Nintendo eShop | * Pre-purchase option on Nintendo eShop | ||
* A pre-purchase option will be available for certain games. This option allows pre-load of the game to your system for quicker play when the game is released. | ** A pre-purchase option will be available for certain games. This option allows pre-load of the game to your system for quicker play when the game is released. | ||
* | ** This feature will be supported by future game releases | ||
* News channel updates | * News channel updates | ||
* The news feed has been updated with a new look. | ** The news feed has been updated with a new look. | ||
* Unfollowing a channel will remove that channel's content from the news feed and following the channel again will make it reappear. | ** Unfollowing a channel will remove that channel's content from the news feed and following the channel again will make it reappear. | ||
* Match software version with a group of local users | * Match software version with a group of local users | ||
* To create a group, head to the software's Options > Software Update > Match Version with Local Users | ** To create a group, head to the software's Options > Software Update > Match Version with Local Users | ||
* Everyone's software will be updated to match the most recent version in the group | ** Everyone's software will be updated to match the most recent version in the group | ||
* All users must be on system menu version 4.0.0 or later to view and join a group | ** All users must be on system menu version 4.0.0 or later to view and join a group | ||
'''General system stability improvements to enhance the user's experience, including''' | |||
* Changed the specification which hid wireless networks using TKIP security from the network search results. Wireless networks using TKIP security will now display in search results as a grayed-out selection instead of not being displayed | * Changed the specification which hid wireless networks using TKIP security from the network search results. Wireless networks using TKIP security will now display in search results as a grayed-out selection instead of not being displayed | ||
* The Nintendo Switch console supports WEP, WPA-PSK(AES), and WPA2-PSK(AES). If your router is using a different security type (e.g. WPA-PSK(TKIP)), you will need to change this security type within your router's settings. | ** The Nintendo Switch console supports WEP, WPA-PSK(AES), and WPA2-PSK(AES). If your router is using a different security type (e.g. WPA-PSK(TKIP)), you will need to change this security type within your router's settings. | ||
==Unofficial Changes== | |||
* Added support for Wii U GameCube Adapter and Headsets [[List of compatible USB devices | over USB]] | |||
==System Titles== | ==System Titles== | ||
Line 33: | Line 40: | ||
* Every single system title was updated, except for: 0100000000000805("Chinese and Korean dictionaries"), 0100000000000808("European, English and Japanese dictionaries"), and 010000000000080C("EULA"). | * Every single system title was updated, except for: 0100000000000805("Chinese and Korean dictionaries"), 0100000000000808("European, English and Japanese dictionaries"), and 010000000000080C("EULA"). | ||
* 4 new sysmodules were added, and new FIRM-package title 010000000000081C was added. | * 4 new sysmodules were added, and new FIRM-package title 010000000000081C was added. | ||
* [[Flog]] was stubbed: official code for launching it was removed from [[qlaunch|the home menu]], and *all* code was overwritten with garbage. Thus, even attempts to launch it manually will result in [[Loader services|loader]] returning error 0xA09. | |||
==Kernel== | |||
* Kernel startup code was updated: | |||
** A new (unused?) function was added, this is roughly the same as the code which originally directly read a MC register (0x70019050) for [[Memory_layout|getting]] the DRAM size, except [[SMC]] ReadWriteRegister is used for the read instead. | |||
** The code which originally read the above register directly was replaced with an inlined version of the above function. | |||
* All RTTI symbols were removed, can no longer know official name of kernel objects. :( | |||
* JIT syscalls were added. | |||
** New MemoryType bit for "JIT allowed". | |||
** New MemoryTypes for JitWritable and JitReadOnly. | |||
* New synchronization syscalls 0x34, 0x35 added: These ones allow implementation of synchronization primitives without a mutex+condvar pair. This is more efficient because when a thread wakes up from a condvar, the mutex is held and needs to perform a syscall to unlock it. If you have N threads blocking on a condvar, you need N-1 syscalls to wake all the threads. With the new syscalls, you can wake up all N with a single syscall. | |||
* Added new syscall svcDumpInfoNew, but it's stubbed. | |||
* The linked-list node for KAutoObjects was added to the struct itself instead of being a separate allocation. | |||
* svcGetInfo now exposes the first and last process id for built-in modules. | |||
** This is used by some services to make sure we can't connect to them from outside a privileged module. | |||
* svcReadWriteRegister was updated, now always goes through TZ for both PMC and MC. Whitelist for MC remains the same. | |||
* Support was added for loading non-KIP processes into the Secure pool via a flag in SvcCreateProcess. | |||
** This is used by only for es, to prevent attackers from using GPU DMA to take over the es sysmodule to pirate games. | |||
** Correspondingly, the KHeapArrange calculation of the secure pool size now has an extra 0x13A000 factored in (to ensure there is enough space for es). | |||
===FIRM=== | ===FIRM=== | ||
Line 38: | Line 67: | ||
The package1 entrypoint address specified by BCT was increased by 0x20-bytes, since there's now an additional 0x20-bytes at the start of package1. The additional data is identical to the 0x20-byte block before it. | The package1 entrypoint address specified by BCT was increased by 0x20-bytes, since there's now an additional 0x20-bytes at the start of package1. The additional data is identical to the 0x20-byte block before it. | ||
In SafeMode Firmware the [[Bus_services|Bus]], [[PCV_services|PCV]] and [[PSC_services|psc]] sysmodules are now bundled with the kernel. | |||
Sysmodules: | |||
* spl was updated to split the [[SPL services#spl:|IGeneralService]] ("spl:") into many usage-case specific services. | |||
** spl: no longer contains commands for doing AES/RSA cryptographic operations | |||
** spl:mig was added, supporting crypto commands used by the new migration sysmodule. | |||
** spl:ssl was added, supporting crypto commands used by the [[SSL services|ssl]] sysmodule | |||
** spl:es was added, supporting crypto commands used by the es sysmodule. | |||
** spl:fs was added, supporting crypto commands used by the [[Filesystem services|fs]] FIRM sysmodule. | |||
====Package1==== | ====Package1==== | ||
Line 48: | Line 87: | ||
checkFuseCoherency (LT_400106e4) | checkFuseCoherency (LT_400106e4) | ||
This func was updated to take into account the new invalid retval for getOdmFuse4Type. | This func was updated to take into account the new invalid retval for getOdmFuse4Type. | ||
Checks that were only enforced on retail prior to this update (bootROM patch must be < 0x7F and EKS must be provisionned) are now enforced for dev too. | |||
The now redundant bootROM patch version < 0x1F check was removed. | |||
decryptAndParsePK11 (LT_40010734) | decryptAndParsePK11 (LT_40010734) | ||
Line 84: | Line 124: | ||
System update report(s): | System update report(s): | ||
* [https://yls8.mtheall.com/ninupdates/reports.php?date=10-18-17_08-05-13&sys=hac] | * [https://yls8.mtheall.com/ninupdates/reports.php?date=10-18-17_08-05-13&sys=hac] | ||
{{NavboxVersions}} |