This file format was created for my custom, fast, safe, web-centric #SPI Flasher.
Data can be translated to/from JSON and raw, with mixed support for block addresses. Other formats must be translated with other software.
The file format is best described by the self-documenting file example.hyx:
;;hyx1 ; the above line is the "magic signature" for the HYX data format. ; it must be placed at the very beginning of the file or stream. ; HYX1 is the same as HYX0 but with repeat enabled (with the dot character) ; comments start with a ';' and span the remaining characters of the line. ; you can put digits there : 0123456789ABCDEFabcdef ; empty lines are ok ; :0123 ; address specifiers are supported for non-binary outputs. ; The address is in hexa too. 01 23 45 67 89 Ab cD Ef ; data are represented in bytes, ; they must come as pairs of hexadecimal digits. ; the case is not meaningful. ; they can be separated by other characters, ; or even glued together, but a space is recommended and safest. FE FF ABCDEF ; note : this is NOT a big endian representation 00..... ; 0 is repeated 5 times (plus the first one) ; 20140907 : An optional end-of-file marker is possible with HYX1: @ After the end of file we can write anything here.The parser is very easy to write.
It is provided as an #include .c file : input_hyx.c
You must provide some callbacks for the input and output of bytes.
Look at hyx2bin.c for an example of .hyx import.
TODO: support .gz compression... see https://hackaday.io/project/7758/log/30497-todo