Difference between revisions of "ARC"

From 3dbrew
Jump to: navigation, search
(File table: correction...)
Line 4: Line 4:
 
== Overview ==
 
== Overview ==
  
ARC files are archives. Containers of files compressed with LZ-10 (more compression methods might be available).
+
ARC files are compressed files.  
  
This is very similiar to NARC (the DS archives).
+
Found in [[BCMA|manual files] compressed with LZ-10
  
== ARC header ==
+
(more compression methods might be available).
{| class="wikitable" border="1"
 
!  Offset !!  Size !! Type !!  Description
 
|-
 
|  0x000 || 4 || char[4] || Magic Number 'darc'
 
|-
 
|  0x004 || 2 || uint16 || Endianess (=0xFFFE: Little)
 
|-
 
|  0x006 || 2 || uint16 || Header's length
 
|-
 
|  0x008 || 4 || uint32 || Unknown (= 0x01000000 ?)
 
|-
 
|  0x00C || 4 || uint32 || File's length
 
|-
 
|  0x010 || 4 || uint32 || [[ARC#File_table|File table]] offset (from the beginning of the file)
 
|-
 
|  0x014 || 4 || uint32 || [[ARC#File_table|File table]] length
 
|-
 
|  0x018 || 4 || uint32 || [[ARC#Files_data|Files data]] offset
 
|}
 
 
 
=== File table ===
 
 
 
The file table starts at 0x01C.
 
 
 
Each file struct consists of 3 uint32:
 
{| class="wikitable" border="1"
 
!  Offset !!  Size !! Type !!  Description
 
|-
 
|  0x00C || 4 || uint32 || Compressed file name offset (from the end of the table, padded to 0x10)
 
 
 
if (offset & 0x01000000) then this is a folder (i.e. first two nodes 'null' & '.')
 
|-
 
|  0x004 || 4 || uint32 || Compressed file offset
 
|-
 
|  0x008 || 4 || uint32 || Compressed file length
 
|}
 
 
 
  * First two nodes in the file table are ‘null’ and ‘.’ both have compressed file length of 7.
 
 
 
=== Files data ===
 
 
 
  * Each file is compressed using LZ-10. (Starts with 0x10 and followed by uint24 of the uncompressed file size).
 
  * Each file's end is padded to 0x10 besides the last one which ends with EOF.
 

Revision as of 22:12, 29 November 2012

This page documents the format of ARC.

Overview

ARC files are compressed files.

Found in [[BCMA|manual files] compressed with LZ-10

(more compression methods might be available).