61 lines
1.2 KiB
Text
61 lines
1.2 KiB
Text
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <stdio.h>
|
|
|
|
#define CRLF "\r\n"
|
|
|
|
#define BASE 0xfe0000
|
|
#define RECLEN 32
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
FILE *e,*o,*out;
|
|
int c,i;
|
|
unsigned char eprombuf[65536];
|
|
int size;
|
|
|
|
|
|
if (argc != 4) {
|
|
fprintf(stderr,
|
|
"Combine two 8bit-EPROM files into a single merged one\n"
|
|
"and output it in 16bit binary format.\n"
|
|
"Usage: %s even.dat odd.dat output.dat\n\n", argv[0]);
|
|
exit(1);
|
|
}
|
|
|
|
e = fopen(argv[1], "rb");
|
|
o = fopen(argv[2], "rb");
|
|
out = fopen(argv[3], "wb");
|
|
|
|
if (!e) {
|
|
fprintf(stderr, "Could not open %s\n", argv[1]);
|
|
exit(1);
|
|
}
|
|
if (!o) {
|
|
fprintf(stderr, "Could not open %s\n", argv[2]);
|
|
exit(1);
|
|
}
|
|
if (!out) {
|
|
fprintf(stderr, "Could not open %s\n", argv[3]);
|
|
exit(1);
|
|
}
|
|
|
|
size = 0;
|
|
while (!feof(e)) {
|
|
if ((c = fgetc(e)) == EOF) break;
|
|
eprombuf[size++] = c;
|
|
if ((c = fgetc(o)) == EOF) break;
|
|
eprombuf[size++] = c;
|
|
}
|
|
printf("%s: Size = %d\n", argv[3], size);
|
|
fclose(e);
|
|
fclose(o);
|
|
|
|
for (i=0; i<size; i++) {
|
|
fputc(eprombuf[i],out);
|
|
}
|
|
|
|
fclose(out);
|
|
exit(0);
|
|
}
|
|
|