Changes

1,049 bytes added ,  09:51, 23 August 2012
added FIRM file specs from ctrtool
== 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).


A structural example of a FIRM file (created using the specs in [https://github.com/3dshax/ctr ctrtool]) can be found [http://depositfiles.com/files/lzpo8yqyo here] (Note does not contain ARM code, it's just a structural example)

== FIRM Header ==
{| class="wikitable" border="1"
|-
! 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 ==

{| class="wikitable" border="1"
|-
! 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
|}
839

edits