diff options
Diffstat (limited to 'docs/history/13-gap-fixes/code/mkgenome.c')
| -rw-r--r-- | docs/history/13-gap-fixes/code/mkgenome.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/history/13-gap-fixes/code/mkgenome.c b/docs/history/13-gap-fixes/code/mkgenome.c new file mode 100644 index 0000000..8fb2cc5 --- /dev/null +++ b/docs/history/13-gap-fixes/code/mkgenome.c @@ -0,0 +1,16 @@ +/* turns a genome image (little-endian 32-bit words on stdin, as written by + tools/build.zc) into genome.h */ +#include <stdio.h> +#define GORG 0xC0000 +int main(void) +{ + unsigned char b[4]; int n = 0; + printf("#define GORG %d\nstatic const int genome[] = {", GORG); + while (fread(b, 1, 4, stdin) == 4) { + int w = (int)(b[0] | b[1] << 8 | b[2] << 16 | (unsigned)b[3] << 24); + printf("%s%d", !n ? "\n" : n % 16 ? "," : ",\n", w); + n++; + } + printf("\n};\n#define GLEN %d\n", n); + return n ? 0 : 1; +} |
