From Nintendo Switch Brew
Revision as of 14:16, 29 January 2019 by SciresM (talk | contribs) (→‎FIRM: anti-cfw pm tactic)
Jump to navigation Jump to search

The Switch 7.0.0 system update was released on January 28, 2019. This Switch update was released for the following regions: ALL.

Security flaws fixed: <fill this in manually later, see the updatedetails page from the ninupdates-report page(s) once available for now>.


Official ALL change-log:

  • Select from six new New Super Mario Bros.™ U Deluxe icons for your user
  • To edit your user icon, head to your My Page > Profile on the top left of the HOME menu
  • Added additional language support to the HOME Menu for Chinese, Korean, and Taiwanese
  • To change the language, head to the System Settings > System > Language
  • General system stability improvements to enhance the user's experience


All files under RomFS were updated.

The only KIPs with IPC changes were FS, pm, and NCM.


NX bootloader was updated, and is now stored compressed. Before executing, a small stub now uncompresses the bootloader to 0x40004000, size 0x1C000.

Secure Monitor

The Secure Monitor was updated, and is now stored compressed. Before executing, a small stub now uncompresses the main TrustZone image to 0x7C010800 size 0xC800, and environment setup code to 0x40032000 size 0xC000.

  • The 0x100 region used for NX_BOOTLOADER <-> SecureMonitor communications is now 0x40000000 instead of 0x40002E00.
  • Memory permissions for .rodata have been fixed, it is now correctly mapped R-- instead of RW-.
  • Sealed old keys are now stored in the auxilliary data page (0x1F01FA000) instead of in .rwdata.
    • An 0x10 block in the auxilliary page is now used for intermediate key derivation, instead of a block on the stack. This block is only memcleared once at the end, instead of after every time it is used.
  • TrustZone code is now cleared from IRAM before signalling to NX_BOOTLOADER that the SecMon is awake.
  • A function for getting HardwareType based on fuses now returns 0xF whenever it would previously have returned a non-zero value.
    • This function is called by smcGetConfig when ConfigItem_HardwareType is passed in.
  • Warmboot.bin has been moved again, and is now copied from 0x4003E000 size 0x17F0 instead of 0x4003D800 size 0x1FF0
  • Code configuring what peripherals to set secure-world only now assumes that the code is a retail unit.
    • GetRetailType() is still called (though result is discarded), this probably means they now have compile-time switches for retail vs dev.


  • The firmware revision magic was changed from 0xA8 to 0x129.

FIRM Sysmodules

All FIRM sysmodules were updated. Specific diffs for a few sysmodules are below:


Resource limit initialization was changed:

  • PM now sets the maximum number of threads creatable by sysmodules to 0x60 instead of 0x260.
    • A new command was added to pm:shell to increase this limit once, on retail this doubles the number of threads creatable to 0xC0.

System Titles

All titles were updated, except: "Chinese and Korean dictionaries", "European English and Japanese dictionaries", EULA, "Blacklist URL", "Dummy file", "Hoag system config", and flog.


  • Localization data etc was updated in applets, likewise for 8XX titles.
  • CAction title: new directory "/table" was added. The new file "/table/431FA316E20941779452DD0EBFA05E0E/ApplicationId" contains string "0x01003a400c3da000" - "YouTube".
  • Web-applets were updated. "/whitelist/WhitelistEc.txt" in LibAppletShop was updated: "^https://([0-9A-Za-z\-]+\.)*eshop\.nintendo\.net($|/)" was changed to "^https://([0-9A-Za-z\-]+\.)*nintendo\.net(/|$)".
  • ControllerFirmware: "/ukyosakyo_ep2_ota.bin" and the .csv were updated.
  • Titles BrowserDll and AvatarImage were updated.
  • Both bad-word-list titles were updated.
  • HID-sysmodule RomFS added new file: "/ftmFwUpdate: NTD_4CD_xxxx.fts256".


  • New services were added.
  • bluetooth-sysmodule now has access to svcCreateSharedMemory.
  • HID-sysmodule now has access to new service usb:qdb.
  • ldn-sysmodule now has access to service psc:m.
  • account-sysmodule: now has access to service npns:s.
  • ns-sysmodule: service access to prepo:s was replaced with srepo:u. FS permissions now have bitmask 0x0000000400000000 set (CanFormatSdCard).
  • nfc-sysmodule: now has access to services: psm, i2c, and gpio.
  • am-sysmodule: now has access to services lm and nvgem:cd.
  • btm-sysmodule: now has access to service srepo:u.
  • npns-sysmodule: main thread stack size changed from 0x8000 to 0x4000. Removed service access for acc:aa and acc:u1, added access to pm:bm.
  • glue-sysmodule: now has access to service srepo:u.
  • Various applets now have access to service "banana" (which still doesn't exist on retail).

<fill this in (manually) later>

See Also

System update report(s):

Nintendo Switch System Versions