Projects/Liberty/File Formats/Husqvarna HUS: Difference between revisions
Appearance
Purple-bobby (talk | contribs) →Husqvarna HUS: added detailed table |
|||
Line 40: | Line 40: | ||
|- | |- | ||
| 42 (0x2a) | | 42 (0x2a) | ||
| start of colour/thread definitions (2 bytes each) | |||
|} | |||
===X=== | |||
{| class="wikitable" | |||
! Offset | |||
! Size | |||
! Type | |||
! Description | |||
|- | |||
| 0 | |||
| 2 | |||
| Byte | |||
| Signature-1 = 0x5d 0xfc | |||
|- | |||
| 0 | |||
| 2 | |||
| Int | |||
| Signature-2 = (little endian) 200 HUS or 400 VIP | |||
|- | |||
| 4 | |||
| 4 | |||
| Int | |||
| Stitch/Time Count | |||
|- | |||
| 8 | |||
| 4 | |||
| Int | |||
| Thread/Colour Count | |||
|- | |||
| 12 | |||
| 2 | |||
| Int | |||
| maximum coordinates (16-bit, little endian, signed) | |||
|- | |||
| 14 | |||
| 2 | |||
| Int | |||
| maximum coordinates (16-bit, little endian, signed) | |||
|- | |||
| 16 (0x10) | |||
| 2 | |||
| Int | |||
| minimum coordinates (16-bit, little endian, signed) | |||
|- | |||
| 18 (0x12) | |||
| 2 | |||
| Int | |||
| minimum coordinates (16-bit, little endian, signed) | |||
|- | |||
| 20 (0x14) | |||
| 4 | |||
| Int | |||
| file offset to compressed stitch attribute data | |||
|- | |||
| 24 (0x18) | |||
| 4 | |||
| Int | |||
| file offset to compressed stitch x data | |||
|- | |||
| 28 (0x1c) | |||
| 4 | |||
| Int | |||
| file offset to compressed stitch y data | |||
|- | |||
| 32 | |||
| 4 | |||
| Int | |||
| Unknown = 0 | |||
|- | |||
| 36 | |||
| 4 | |||
| Int | |||
| Unknown = 0 | |||
|- | |||
| 40 (0x28) | |||
| 2 | |||
| Byte | |||
| two zero bytes | |||
|- | |||
| 42 (0x2a) | |||
| N1 | |||
| Colour | |||
| start of colour/thread definitions (2 bytes each) | | start of colour/thread definitions (2 bytes each) | ||
|} | |} |
Revision as of 00:47, 28 August 2012
Husqvarna HUS
This file format appears to describe a stitch out similar to that used in JEF files.
A source of information about this format can be found on this external page: HUS and VIP File Formats. However, as described in that document, the compression technique used seems to be both proprietary and closed, so encoding and decoding of stitch information may prove to be difficult. It depends on whether or not the compression methods used in the ARJ archive format are closely related to those provided in the library used for HUS files.
Offset | Description |
---|---|
0 | magic number? (0x00c8fc5d for HUS; 0x0190fc5d for VIP) |
4 | (looks like an offset into the file, but can be larger than the file extent) |
8 | number of threads/colours |
12, 14 | maximum coordinates (16-bit, little endian, signed) |
16 (0x10), 18 | minimum coordinates (16-bit, little endian, signed) |
20 (0x14) | offset to data past colour/thread definitions |
24 (0x18) | unknown (looking at a file with an odd number of bytes where this field is also an odd number suggests that this could be the start of thread position data) |
28 (0x1c) | unknown (looks like a length or offset) |
32-40 (0x20-0x28) | Pattern name or null bytes - VIP format includes extra data at 40 (0x28) |
40 (0x28) | two zero bytes |
42 (0x2a) | start of colour/thread definitions (2 bytes each) |
X
Offset | Size | Type | Description |
---|---|---|---|
0 | 2 | Byte | Signature-1 = 0x5d 0xfc |
0 | 2 | Int | Signature-2 = (little endian) 200 HUS or 400 VIP |
4 | 4 | Int | Stitch/Time Count |
8 | 4 | Int | Thread/Colour Count |
12 | 2 | Int | maximum coordinates (16-bit, little endian, signed) |
14 | 2 | Int | maximum coordinates (16-bit, little endian, signed) |
16 (0x10) | 2 | Int | minimum coordinates (16-bit, little endian, signed) |
18 (0x12) | 2 | Int | minimum coordinates (16-bit, little endian, signed) |
20 (0x14) | 4 | Int | file offset to compressed stitch attribute data |
24 (0x18) | 4 | Int | file offset to compressed stitch x data |
28 (0x1c) | 4 | Int | file offset to compressed stitch y data |
32 | 4 | Int | Unknown = 0 |
36 | 4 | Int | Unknown = 0 |
40 (0x28) | 2 | Byte | two zero bytes |
42 (0x2a) | N1 | Colour | start of colour/thread definitions (2 bytes each) |