Difference between revisions of "8.0.0-18"

From 3dbrew
Jump to navigation Jump to search
Line 9: Line 9:
 
eShop, [[NVer]], [[CVer]], and the [[Nintendo_Zone|NZone]] hotspots list were updated. The 0004009B00012302 USA title(and the equivalent titleIDs for the other regions) was updated. The "masterkey.bin" [[CVer|file]] in the CVer RomFS was updated(different u32 value at offset 0x0 and different random data). The "cup_list" file was removed from the CVer RomFS as well.
 
eShop, [[NVer]], [[CVer]], and the [[Nintendo_Zone|NZone]] hotspots list were updated. The 0004009B00012302 USA title(and the equivalent titleIDs for the other regions) was updated. The "masterkey.bin" [[CVer|file]] in the CVer RomFS was updated(different u32 value at offset 0x0 and different random data). The "cup_list" file was removed from the CVer RomFS as well.
  
All non-SAFE_MODE system modules were updated. In certain system modules, code was added for using [[SVC|svcGetProcessInfo]] with type=20, the output value is written to a state field. Since this function is called from the crt0 code, this is likely a CTRSDK change, therefore all system modules likely have this change. Certain modules had the actual module code updated as well, such as [[GSP_Services|GSP]] and [[IR_Services|IR]], and likely others. GSP and CSND modules were updated to support LINEAR addresses in the range 0x30000000-0x40000000.
+
All non-SAFE_MODE system modules were updated. In certain system modules, code was added for using [[SVC|svcGetProcessInfo]] with type=20, the output value is written to a state field. Since this function is called from the crt0 code, this is likely a CTRSDK change, therefore all system modules likely have this change. Due to this change, any titles using this additional new code will not work on pre-v8.0 NATIVE_FIRM: this triggers a [[ErrDisp|fatal-error]], when ErrDisp was launched successfully to begin with.
 +
 
 +
Certain modules had the actual module code updated as well, such as [[GSP_Services|GSP]] and [[IR_Services|IR]], and likely others. GSP and CSND modules were updated to support LINEAR addresses in the range 0x30000000-0x40000000.
  
 
Note that unlike past CTRSDK versions(specifically CTRSDK v7.* for system-version v7.x), the CTRSDK version for system-version v8.x is v9.*.
 
Note that unlike past CTRSDK versions(specifically CTRSDK v7.* for system-version v7.x), the CTRSDK version for system-version v8.x is v9.*.

Revision as of 05:59, 19 July 2014

The 8.0.0-18 system update was released on July 7, 2014.

Change-log

Official change-log:

  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience.

System Titles

eShop, NVer, CVer, and the NZone hotspots list were updated. The 0004009B00012302 USA title(and the equivalent titleIDs for the other regions) was updated. The "masterkey.bin" file in the CVer RomFS was updated(different u32 value at offset 0x0 and different random data). The "cup_list" file was removed from the CVer RomFS as well.

All non-SAFE_MODE system modules were updated. In certain system modules, code was added for using svcGetProcessInfo with type=20, the output value is written to a state field. Since this function is called from the crt0 code, this is likely a CTRSDK change, therefore all system modules likely have this change. Due to this change, any titles using this additional new code will not work on pre-v8.0 NATIVE_FIRM: this triggers a fatal-error, when ErrDisp was launched successfully to begin with.

Certain modules had the actual module code updated as well, such as GSP and IR, and likely others. GSP and CSND modules were updated to support LINEAR addresses in the range 0x30000000-0x40000000.

Note that unlike past CTRSDK versions(specifically CTRSDK v7.* for system-version v7.x), the CTRSDK version for system-version v8.x is v9.*.

ErrDisp, eShop mint applet(used for accessing eShop outside of the eShop application, like DLC), and SNOTE_AP were updated, these now use the v7.0 NCCH encryption. None of the other updated titles use the v7.0 NCCH encryption(besides the ones which use it already). Due to ErrDisp being updated, this likely breaks booting 8.0.0-18 on physical <=v4.x systems where the key-data for the v7.0 NCCH crypto wasn't initialized correctly.

FIRM

NATIVE_FIRM was updated. The ARM9-kernel, Process9, the ARM11-kernel, and all of the ARM11 FIRM-modules were updated.

Process9 had minor / various other changes, including gamecard-related code changes. Support for new exheader/accessdesc fields were implemented. FSPXI:GetSpecialContentIndex was updated to add support for a new value(unknown where the field for that originates). Process9 now uses VRAM size 0x600000 instead of 0x400000 for FIRM(during FIRM launch) section address+size verification, and for the memory-clear code for the FIRM-launch panic function.

The LINEAR memory region has been moved to virtual address 0x30000000.

Most of the ARM11 FIRM-modules changes are likely minor. In pm-module, code was updated which handles programIDs/etc.

ARM11 kernel changes(besides various other (minor) changes):

  • Multiple SVCs were stubbed(that is, these only return an error now).
  • The code for svcControlMemory was updated.
  • The code for svcGetProcessInfo was updated: previously a total of 9 type values were handled, this now handles a total of 24 type values.
  • The code for svcStartInterProcessDma was updated. When the DmaConfig userland->kernelmode data-copy fails(like when the DmaConfig address is not readable from userland), this SVC now returns an error. Certain fields in the DmaConfig structure are now validated.
  • The end-address for process memory has been changed from virtual-address 0x20000000, to 0x40000000. Therefore, the L1 MMU table size for each process is now 0x1000-bytes, previously it was 0x800-bytes.
  • The KProcess structure was changed.
  • The privileged-mode memory layout was changed, see here.

See Also