summaryrefslogtreecommitdiffstats
path: root/doc/fiasco
diff options
context:
space:
mode:
authorpancake <pancake@dazo>2007-10-20 02:32:24 +0200
committerpancake <pancake@dazo>2007-10-20 02:32:24 +0200
commitfbdac811fc7694ca936607590cb19fd930528f5e (patch)
tree3e192325f3e7a70fca31e235363a374b5c2192f0 /doc/fiasco
parentd15412a788cacc7108bf94151896ded19b5f504d (diff)
download0xFFFF-fbdac811fc7694ca936607590cb19fd930528f5e.tar.bz2
* Make the fiasco writing api work (some hardcoded things, but mostly ok)
* Move documentation of fiasco format to doc/ * 0.3 release
Diffstat (limited to 'doc/fiasco')
-rw-r--r--doc/fiasco30
1 files changed, 30 insertions, 0 deletions
diff --git a/doc/fiasco b/doc/fiasco
new file mode 100644
index 0000000..ef8cf00
--- /dev/null
+++ b/doc/fiasco
@@ -0,0 +1,30 @@
+SPECS FOR TEH FIASCO FIRMWARE FILE FORMAT ffff!
+-----------------------------------------------
+
+ These notes has not been taken properly and may be wrong. It must
+ be revised to fit the reality. But this is mostly a general idea:
+
+
+FILE HEADER
+
+ 1 byte = 0xb4 -- signature
+ 4 bytes -- firmware name length (big endian)
+ 6 bytes -- versioning info ( byte 4 is format version )
+ N-6 bytes -- firmware name (zero fill)
+
+
+PIECE HEADER
+
+ 1 byte = 0x54 -- piece signature
+ 6 bytes -- unknown
+ 2 bytes -- checksum for the piece contents (xorpair)
+ 12 bytes -- piece name (first byte is FF if is the last)
+ 4 bytes -- piece size (big endian)
+ 4 bytes -- unknown
+ block {
+ 1 byte -- if (value '1'-'9') { ..there's a comment.. }
+ 1 byte -- length of comment
+ N bytes -- comment
+ }
+ N bytes -- piece data
+