FIRM: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
|  added FIRM file specs from ctrtool | |||
| Line 1: | Line 1: | ||
| == Overview == | == Overview == | ||
| This is the file format for the [[Title list#00040138 - System Firmware|3DS' Firmware]], it contains four 'sections' of ARM code (ARM9 and ARM11). | This is the file format for the [[Title list#00040138 - System Firmware|3DS' Firmware]], it contains four 'sections' of ARM code (ARM9 and ARM11). The firmware sections do not appear to be encrypted in the FIRM format. | ||
Revision as of 11:03, 23 August 2012
Overview
This is the file format for the 3DS' Firmware, it contains four 'sections' of ARM code (ARM9 and ARM11). The firmware sections do not appear to be encrypted in the FIRM format.
A structural example of a FIRM file (created using the specs in ctrtool) can be found here (Note does not contain ARM code, it's just a structural example)
FIRM Header
| OFFSET | SIZE | DESCRIPTION | 
|---|---|---|
| 0x000 | 4 | Magic 'FIRM' | 
| 0x004 | 4 | Reserved1 | 
| 0x008 | 4 | ARM11 Entrypoint | 
| 0x00C | 4 | ARM9 Entrypoint | 
| 0x010 | 0x030 | Reserved2 | 
| 0x040 | 0x0C0 (0x030*4) | Firmware Section Headers | 
| 0x100 | 0x100 | Header Signature | 
Firmware Section Headers
| OFFSET | SIZE | DESCRIPTION | 
|---|---|---|
| 0x000 | 4 | Offset | 
| 0x004 | 4 | Address | 
| 0x008 | 4 | Size | 
| 0x00C | 4 | Firmware Type ('0'=ARM9/'1'=ARM11) | 
| 0x010 | 0x020 | SHA-256 Hash of Firmware Section |