152a38012Sejakowatz/*
252a38012Sejakowatz** Copyright 2001, Travis Geiselbrecht. All rights reserved.
352a38012Sejakowatz** Distributed under the terms of the NewOS License.
452a38012Sejakowatz*/
552a38012Sejakowatz#include <stdio.h>
652a38012Sejakowatz#include <stdlib.h>
752a38012Sejakowatz
852a38012Sejakowatz#define NUM_COLUMNS 16
952a38012Sejakowatz
1052a38012Sejakowatzint main(int argc, char **argv)
1152a38012Sejakowatz{
1252a38012Sejakowatz	FILE *infp = stdin;
1352a38012Sejakowatz	char c;
1452a38012Sejakowatz	int column = 0;
1552a38012Sejakowatz	int start = 1;
1652a38012Sejakowatz
1752a38012Sejakowatz	while(!feof(infp)) {
1852a38012Sejakowatz		int err;
1952a38012Sejakowatz		err = fread(&c, sizeof(c), 1, infp);
2052a38012Sejakowatz		if(err != 1)
2152a38012Sejakowatz			break;
2252a38012Sejakowatz
2352a38012Sejakowatz		if((column % NUM_COLUMNS) == 0) {
2452a38012Sejakowatz			if(!start) {
2552a38012Sejakowatz				printf("\n");
2652a38012Sejakowatz			} else {
2752a38012Sejakowatz				start = 0;
2852a38012Sejakowatz			}
2952a38012Sejakowatz			printf(".byte\t");
3052a38012Sejakowatz		} else {
3152a38012Sejakowatz			printf(",");
3252a38012Sejakowatz		}
3352a38012Sejakowatz
3452a38012Sejakowatz		printf("0x%02x", ((int)c) & 0xff);
3552a38012Sejakowatz
3652a38012Sejakowatz		column++;
3752a38012Sejakowatz	}
3852a38012Sejakowatz	printf("\n");
3952a38012Sejakowatz
4052a38012Sejakowatz	return 0;
4152a38012Sejakowatz}
4252a38012Sejakowatz
43