diff --git a/src/mkatr.c b/src/mkatr.c index d01ccc4..d7e1725 100644 --- a/src/mkatr.c +++ b/src/mkatr.c @@ -27,7 +27,7 @@ static void write_atr(const char *out, const char *data, int ssec, int nsec) { - int size = ssec * nsec; + int size = (nsec > 3) ? ssec * (nsec - 3) + 128 * 3 : 128 * nsec; show_msg("writing image with %d sectors of %d bytes, total %d bytes.\n", nsec, ssec, size); FILE *f = fopen(out, "wb"); @@ -49,8 +49,17 @@ static void write_atr(const char *out, const char *data, int ssec, int nsec) putc(0, f); putc(0, f); putc(0, f); - fwrite(data, ssec, nsec, f); - fclose(f); + + for(int i=0; i