Changes

Jump to navigation Jump to search
890 bytes added ,  23:29, 21 September 2014
m
Line 7: Line 7:     
== System Titles ==
 
== System Titles ==
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 "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. 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.
+
The 0004009B00012302 USA title(and the equivalent titleIDs for the other regions) was updated. "romfs:/300000.bin" was added, "romfs:/<Region>_<Language>/300000_msbt_LZ.bin" was added for all of the directories in the RomFS too(the msbt files contain messages involving eShop).
 +
 
 +
All non-SAFE_MODE system modules were updated. The CTRSDK crt0 code was updated: code was added for using [[SVC|svcGetProcessInfo]] with type=20, the output value is written to a state field. 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. The CTRSDK LINEAR-memory vaddr->physaddr conversion code was basically replaced with code which uses the above field, however when the vaddr is within the memory for the [[NS]] SharedFont the conversion code can use either of the mappings(0x14000000/0x30000000).
    
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.
 
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.
Line 15: Line 17:  
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.*.
   −
[[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.
+
[[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 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]] ==
 
== [[FIRM]] ==
Line 23: Line 25:  
Process9 had minor / various other changes, including gamecard-related code changes. Support for new exheader/accessdesc fields were [[NCCH/Extended_Header|implemented]]. [[Filesystem_services_PXI|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.
 
Process9 had minor / various other changes, including gamecard-related code changes. Support for new exheader/accessdesc fields were [[NCCH/Extended_Header|implemented]]. [[Filesystem_services_PXI|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, however in certain cases the 0x14000000 mapping is used instead for backwards-compatibility(see [[SVC|here]] and [[Memory_layout|here]]).
+
The LINEAR memory region has been moved to virtual address 0x30000000, however in certain cases the 0x14000000 mapping is used instead for backwards-compatibility(see [[SVC|here]] and [[Memory_layout|here]]). When the v8.0 NATIVE_FIRM is running, any process which uses the new 0x30000000 LINEAR-memory mapping will not work with <v8.0 system-modules for LINEAR memory(such as GSP/CSND module).
   −
Most of the ARM11 FIRM-modules changes are likely minor. In pm-module, code was updated which handles programIDs/etc.
+
Most of the ARM11 FIRM-modules changes are likely minor. Certain code in pm-module was updated to clear bitmask 0xF0000000 in programID-lows(other code in pm-module was changed too). When handling the exheader dependency list, pm-module now skips handling titles in this list which have any bits in programID-low bitmask 0xF0000000 set(this is currently hard-coded). The exheader dependency list handling change is for the [[New 3DS]] [[Title_list|system-module]](s), which do not exist on 8.0.0-18.
    
ARM11 kernel changes(besides various other (minor) changes):
 
ARM11 kernel changes(besides various other (minor) changes):
* Multiple SVCs were [[SVC|stubbed]](that is, these only return an error now).
+
* Multiple [[SVC|SVCs]] were stubbed(that is, these only return an error now).
 
* The code for svcControlMemory was updated.
 
* 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 svcGetProcessInfo was updated: previously a total of 9 type values were handled, this now handles a total of 24 type values.
Line 37: Line 39:     
== See Also ==
 
== See Also ==
* System update [http://yls8.mtheall.com/reports.php?date=07-07-14_10-13-44&sys=ctr report]
+
* System update [http://yls8.mtheall.com/ninupdates/reports.php?date=07-07-14_10-13-44&sys=ctr report]

Navigation menu