Changes

193 bytes added ,  20:56, 13 April 2013
no edit summary
Line 9: Line 9:  
| 1
 
| 1
 
|-
 
|-
| KERNELVERSIONMINOR
+
| KERNEL_VERSIONMINOR
 
| 0x1FF80001
 
| 0x1FF80001
 
| 1
 
| 1
 
|-
 
|-
| KERNELVERSIONMAJOR
+
| KERNEL_VERSIONMAJOR
 
| 0x1FF80002
 
| 0x1FF80002
 
| 1
 
| 1
Line 36: Line 36:  
| 0x1FF80014
 
| 0x1FF80014
 
| 1
 
| 1
 +
|-
 +
| KERNEL_CTRSDKVERSION
 +
| 0x1FF80018
 +
| 4
 
|-
 
|-
 
| APPMEMALLOC
 
| APPMEMALLOC
Line 41: Line 45:  
| 4
 
| 4
 
|-
 
|-
| FIRMVERSIONMINOR
+
| FIRM_VERSIONMINOR
 
| 0x1FF80061
 
| 0x1FF80061
 
| 1
 
| 1
 
|-
 
|-
| FIRMVERSIONMAJOR
+
| FIRM_VERSIONMAJOR
 
| 0x1FF80062
 
| 0x1FF80062
 
| 1
 
| 1
 
|-
 
|-
| FIRMSYSCOREVER
+
| FIRM_SYSCOREVER
 
| 0x1FF80064
 
| 0x1FF80064
 +
| 4
 +
|-
 +
| FIRM_CTRSDKVERSION
 +
| 0x1FF80068
 
| 4
 
| 4
 
|-
 
|-
Line 64: Line 72:  
All of these fields are initialized by the ARM11 kernel, except for MENUTID and ACTIVEMENUTID which are set by NS.
 
All of these fields are initialized by the ARM11 kernel, except for MENUTID and ACTIVEMENUTID which are set by NS.
   −
=== KERNELVERSIONMINOR ===
+
=== KERNEL_VERSIONMINOR / FIRM_VERSIONMINOR ===
This is the kernel version-minor, this likely isn't obtained from the [[FIRM]] title-version.
+
This is the [[FIRM]] version-minor, this likely isn't obtained from the [[FIRM]] title-version.
   −
=== FIRMVERSIONMINOR ===
+
=== KERNEL_VERSIONMAJOR ===
This is the same as KERNELVERSIONMINOR.
  −
 
  −
=== KERNELVERSIONMAJOR ===
   
This is the ((title-version & 0x3FF) >> 4), for the currently running [[FIRM]].
 
This is the ((title-version & 0x3FF) >> 4), for the currently running [[FIRM]].
   −
=== FIRMVERSIONMAJOR ===
+
=== FIRM_VERSIONMAJOR ===
This is the same as KERNELVERSIONMAJOR. After [[AM:InstallNATIVEFIRM]] checks FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRMVERSIONMAJOR with the NATIVE_FIRM ((title-version & 0x3FF) >> 4), when the latter is larger than FIRMVERSIONMAJOR [[AM:InstallNATIVEFIRM]] will trigger a FIRM install.
+
This is the same as KERNEL_VERSIONMAJOR. After [[AM:InstallNATIVEFIRM]] checks FIRM_SYSCOREVER, [[AM:InstallNATIVEFIRM]] then compares FIRM_VERSIONMAJOR with the NATIVE_FIRM ((title-version & 0x3FF) >> 4), when the latter is larger than FIRM_VERSIONMAJOR [[AM:InstallNATIVEFIRM]] will trigger a [[FIRM]] install.
    
=== UPDATEFLAG ===
 
=== UPDATEFLAG ===
Line 85: Line 90:  
When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process Manager Ports|PM]] module will refuse to launch the ARM11 process. The regular ARM11 kernel sets this to 0x2, while the SAFE_MODE ARM11 kernel sets this to 0x3.
 
When launching [[NCCH#CXI|CXIs]], the value stored here must match the core version field stored in the CXI exheader. If they do not match, the [[Process Manager Ports|PM]] module will refuse to launch the ARM11 process. The regular ARM11 kernel sets this to 0x2, while the SAFE_MODE ARM11 kernel sets this to 0x3.
   −
=== FIRMSYSCOREVER ===
+
=== FIRM_SYSCOREVER ===
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRMSYSCOREVER, and these two values don't match, [[AM:InstallNATIVEFIRM]] will return an error.
+
Normally this is the same as SYSCOREVER. This used by [[AM:InstallNATIVEFIRM]] for comparing with the NATIVE_FIRM titleID-low. When the low u8 from the NATIVE_FIRM titleID-low is larger than FIRMSYSCOREVER, [[AM:InstallNATIVEFIRM]] will trigger FIRM installing. When that u8 is not larger than FIRM_SYSCOREVER, and these two values don't match, [[AM:InstallNATIVEFIRM]] will return an error.
    
=== UNITINFO ===
 
=== UNITINFO ===
Line 104: Line 109:     
Normally this register is all-zero, however bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this register are clear. [[ErrDisp]] will display development error info when bit0 is clear.
 
Normally this register is all-zero, however bit1 in this field is set by the ARM11 kernel when ARM debug CP14 DSCR bit14 is set. [[NS]] loads the menu TID from MENUTID when bits 1-7 of this register are clear. [[ErrDisp]] will display development error info when bit0 is clear.
 +
 +
=== KERNEL_CTRSDKVERSION / FIRM_CTRSDKVERSION ===
 +
This is the CTR-SDK version which was used to build the currently running [[FIRM]].
    
=== APPMEMALLOC ===
 
=== APPMEMALLOC ===