Changes

319 bytes added ,  02:10, 17 December 2015
no edit summary
Line 148: Line 148:  
| Added keyX initialization for keyslot 0x16(see above), and added code for clearing keyslot 0x11 immediately after the code finishes using keyslot 0x11. The keyslot used for arm9bin decryption was changed from 0x15 to 0x16. Added code for clearing keyslot 0x16 when control-block decryption fails. Added code for using arm9bin_hdr+0x50 with a nop instruction, at the very beginning of the main arm9-loader function. Added two new 0x10-blocks to the arm9bin-hdr.
 
| Added keyX initialization for keyslot 0x16(see above), and added code for clearing keyslot 0x11 immediately after the code finishes using keyslot 0x11. The keyslot used for arm9bin decryption was changed from 0x15 to 0x16. Added code for clearing keyslot 0x16 when control-block decryption fails. Added code for using arm9bin_hdr+0x50 with a nop instruction, at the very beginning of the main arm9-loader function. Added two new 0x10-blocks to the arm9bin-hdr.
 
|-
 
|-
| [[9.6.0-24|9.6.0-X]] - [[10.0.0-27|10.0.0-X]]
+
| [[9.6.0-24|9.6.0-X]] - [[10.2.0-28|10.2.0-X]]
 
| See above and [[9.6.0-24|here]].
 
| See above and [[9.6.0-24|here]].
 
|}
 
|}
Line 416: Line 416:  
| 0x3
 
| 0x3
 
| 0x1
 
| 0x1
| [[Cfg:SecureInfoGetRegion|Region from SecureInfo]].
+
| [[Cfg:SecureInfoGetRegion|Region from SecureInfo]] ("pseudo-block" 0x140000 in LGY FIRM).
 
|-
 
|-
 
| 0x4
 
| 0x4
 
| 0xF
 
| 0xF
| [[CfgS:SecureInfoGetSerialNo|Serial number from SecureInfo]].
+
| [[CfgS:SecureInfoGetSerialNo|Serial number from SecureInfo]] ("pseudo-block" 0x140001 in LGY FIRM).
 
|-
 
|-
 
| 0x13
 
| 0x13
Line 488: Line 488:  
| 0x288
 
| 0x288
 
| 0x2
 
| 0x2
| CRC16 over the above fields from offset 0x0, size 0x288.
+
| CRC16 over the above fields from offset 0x0, size 0x288. If not valid, LGY FIRM uses dummy data from .(ro)data.
 
|-
 
|-
 
| 0x28A
 
| 0x28A
 
| 0x2
 
| 0x2
| Cleared to zero.
+
| If non-zero, the size (below) is hardcoded (currently) to value 0x288, otherwise the size field below is used.
 
|-
 
|-
 
| 0x28C
 
| 0x28C
 
| 0x4
 
| 0x4
| Value 0x288 (size).
+
| Value 0x288 (size used for verifying the CRC16).
 
|}
 
|}
 +
 +
"Cleared to zero" fields above are not read at all by LGY FIRM.
254

edits