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== |
− | <fill this in (manually) later>
| + | All 01000000000010XX titles and most 01000000000008XX titles were updated. Some 8XX titles were just rebuilt with the new NCA crypto without actual RomFS-content changes. |
| | | |
| * 0100000000000824(Mariko Config), 0100000000000825, 0100000000000826 were added. | | * 0100000000000824(Mariko Config), 0100000000000825, 0100000000000826 were added. |
Line 32: |
Line 32: |
| ** 0100000000000826 contains a 0x40-byte "/version" file, this is all-zero except for '0' at offset 0x20. | | ** 0100000000000826 contains a 0x40-byte "/version" file, this is all-zero except for '0' at offset 0x20. |
| | | |
− | The built codebins now have padding in .text after every function for 0x10-byte alignment. | + | The only 8XX titles with actual changes are (besides sysver-title, see below for FIRM): |
| + | * 801 (Support Error Codes) |
| + | * 803 (web-applet "shareddata:/") |
| + | * 804 (HTML resources for "Intellectual Property Notices" / "Health & Safety Information") |
| + | ** "/legallines.htdocs/index.html" was updated with a Twitter mention, and a license section for "Software License for The Fraunhofer FDK AAC Codec Library for Android" was added. |
| + | ** "/safe.htdocs/html/EU{XX}/index.html" was updated. |
| + | * 806 (Bad words) |
| + | * 807 ([[Hotspot List]]) |
| + | ** This was updated with more hotspots (these networks use encryption): "nintendoappdebug1", "Nintendo App Debug2", "Nintendo App Debug3", and "NCL-NZSERVICE1-5GHZ". |
| + | * 80A (Chara) |
| + | * 80B (Offline news) |
| + | * 80E (Geo Zoneinfo) |
| + | * 810-814 (All fonts) |
| + | * 818 (System-config) |
| + | * 81E (Controller gfx/icon data + dummy file) |
| + | ** "/lyt/ColorTable" and "/lyt/footer/controllerIcon.bntx" were updated. The "01-00" image showing handheld-mode with detached joy-cons was replaced with a blank image. |
| + | * 81F (Icosa system config) |
| + | * 820 (Copper system config) |
| + | * 821 (Hoag system config) |
| + | * 822 (Firmware binaries for peripherals) |
| + | ** The following was updated: "FirmwareInfo.csv", "tera_ota.bin", "tera_ota_iap.bin", and "ukyosakyo_ep2_ota.bin". |
| + | * 823 |
| + | |
| + | 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: |
| + | |
| + | Previous version: |
| + | 00000000: 4e56 4944 4941 2054 6567 7261 204b 3100 NVIDIA Tegra K1. |
| + | 00000010: 4e56 4944 4941 2054 6567 7261 2058 31 NVIDIA Tegra X1 |
| + | |
| + | Current version: |
| + | 00000000: 4e56 4944 4941 2054 6567 7261 2f4e 696e NVIDIA Tegra/Nin |
| + | 00000010: 7465 6e64 6f20 5377 6974 6368 004e 5649 tendo Switch.NVI |
| + | 00000020: 4449 4120 5465 6772 6120 5832 0047 5031 DIA Tegra X2.GP1 |
| + | 00000030: 3042 0047 5031 3036 0047 5031 3036 2d41 0B.GP106.GP106-A |
| + | 00000040: 0047 6546 6f72 6365 2047 5458 2031 3036 .GeForce GTX 106 |
| + | 00000050: 3020 3347 4200 4765 466f 7263 6520 4754 0 3GB.GeForce GT |
| + | 00000060: 5820 3130 3630 2036 4742 0047 6546 6f72 X 1060 6GB.GeFor |
| + | 00000070: 6365 2047 5458 2031 3035 3000 4765 466f ce GTX 1050.GeFo |
| + | 00000080: 7263 6520 4754 5820 3130 3630 0047 6546 rce GTX 1060.GeF |
| + | 00000090: 6f72 6365 2047 5458 2031 3035 3020 5469 orce GTX 1050 Ti |
| + | 000000a0: 0047 5031 3036 474c 2d41 0051 7561 6472 .GP106GL-A.Quadr |
| + | 000000b0: 6f20 5032 3030 3000 4750 3130 362d 4200 o P2000.GP106-B. |
| + | 000000c0: 4750 3130 3647 4c2d 42 GP106GL-B |
| | | |
| ===FIRM=== | | ===FIRM=== |
− | Everything under RomFS was updated.
| + | All FIRM titles were updated, and everything under RomFS was updated. |
| | | |
| 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==== |
| The [[Memory_layout|Memory layout]] was changed significantly: | | The [[Memory_layout|Memory layout]] was changed significantly: |
− | * .text, .rodata, and .data are now separate sections, instead of being mapped RWX. | + | * .text, .rodata, and .data are now separate sections, mapped with correct permissions (RX, RO, RW, respectively), instead of being mapped RWX. |
− | * Physical layout in TZRAM changed significantly, with pk2ldr being in low TZRAM instead of high TZRAM. | + | * Physical layout in TZRAM changed significantly, with pk2ldr being in low TZRAM instead of high TZRAM, etc. |
| | | |
− | In addition, there were changes to the SMC interface: | + | In addition, there were changes to the [[SMC]] interface: |
| | | |
− | * smcLoadSecureExpModKey no longer exists. | + | * smcGenerateSpecificAesKey was updated to support generating previous 4.x+ device key(s). |
− | * smcLoadRsaOaepKey has been replaced with a new SMC (0xC300D60C) that loads two keys into TrustZone. | + | * smcLoadSecureExpModKey/smcLoadRsaOaepKey/smcDecryptRsaPrivateKey no longer exist. |
| + | * smcLoadRsaOaepKey was replaced with smcEncryptRsaPrivateKeyForImport. |
| + | * smcDecryptRsaPrivateKey was replaced with smcDecryptOrImportRsaPrivateKey. |
| + | ** All keys which were previously imported with specific keys now first call smcEncryptRsaPrivateKeyForImport with the appopriate enum member to get a sealed copy of the RSA key, then smcDecryptOrImportRsaPrivateKey to import/unseal the key when needed. |
| * smcGetConfig was extended with two new config items: | | * smcGetConfig was extended with two new config items: |
− | * -GetConfig(16) now does the following, 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) now checks whether package2 is plaintext or encrypted. | + | ** Getconfig(17), which returns the Package2 hash if booting from recovery mode. |
| | | |
| <fill in the rest later> | | <fill in the rest later> |
Line 62: |
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. |
− | * 6 new syscalls | + | * 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. |
| + | ** Syscalls 0x48+0x49 (svcAllocateUserHeapMemory+svcFreeUserHeapMemory) are used by [[AM_services|AM]]-sysmodule. |
| + | *** This is used to allocate Application pool. |
| + | ** 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. |
| + | * 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 68: |
Line 124: |
| | | |
| In the [[NPDM]], besides the RSA region the only changes were the kernel-release-version descriptor + {new ACID flag is set}. | | In the [[NPDM]], besides the RSA region the only changes were the kernel-release-version descriptor + {new ACID flag is set}. |
| + | |
| + | In the "shareddata:/" title, the NROs are now compressed: "{name}.nro.lz4" instead of "{name}.nro". |
| | | |
| ===[[qlaunch]]=== | | ===[[qlaunch]]=== |
Line 90: |
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]]== |
Line 100: |
Line 161: |
| System update report(s): | | System update report(s): |
| * [https://yls8.mtheall.com/ninupdates/reports.php?date=03-12-18_08-05-11&sys=hac] | | * [https://yls8.mtheall.com/ninupdates/reports.php?date=03-12-18_08-05-11&sys=hac] |
| + | |
| + | {{NavboxVersions}} |
| + | |
| + | [[Category:System versions]] |