aboutsummaryrefslogtreecommitdiff
path: root/docs/history/15-o3/code/mkgenome.c
blob: 8fb2cc53bc1ce45c574f6f4838954e45cf547dfe (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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;
}