diff --git a/trackdisk/makeadf.c b/trackdisk/makeadf.c deleted file mode 100644 index 52d151c..0000000 --- a/trackdisk/makeadf.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * http://eab.abime.net/showpost.php?p=895070&postcount=6 - * Makes a disk image of 901120 (0xdc000) bytes. - * Calculates boot block checksum. - */ - -#include -#include -#include - -#define DISKSIZE (0xdc000) - -uint8_t image[DISKSIZE]; - - -static void boot_chksum(uint8_t *p) -{ - uint32_t oldchk,chk=0; - int i; - - memset(p+4,0,4); - for (i=0; i<1024; i+=4) { - oldchk = chk; - chk += ((uint32_t)p[i+0] << 24) | ((uint32_t)p[i+1] << 16) | - ((uint32_t)p[i+2] << 8) | p[i+3]; - if (chk < oldchk) - ++chk; /* carry */ - } - - chk = ~chk; - p[4] = (uint8_t)((chk >> 24) & 0xff); - p[5] = (uint8_t)((chk >> 16) & 0xff); - p[6] = (uint8_t)((chk >> 8) & 0xff); - p[7] = (uint8_t)(chk & 0xff); -} - - -int main(int argc,char *argv[]) -{ - FILE *f; - int rc = 1; - size_t len; - - if (argc == 2) { - if (f = fopen(argv[1],"rb")) { - len = fread(image,1,DISKSIZE,f); - if (len > 0) { - if (len < DISKSIZE) - memset(image+len,0,DISKSIZE-len); - boot_chksum(image); - fwrite(image,1,DISKSIZE,stdout); - rc = 0; - } - else - fprintf(stderr,"Image read error!\n"); - } - else - fprintf(stderr,"Cannot open '%s'!\n",argv[0]); - } - else - fprintf(stderr,"Usage: %s \n",argv[0]); - - return rc; -} diff --git a/trackdisk/tools/make-adf.py b/trackdisk/tools/make-adf.py deleted file mode 100755 index 314fd92..0000000 --- a/trackdisk/tools/make-adf.py +++ /dev/null @@ -1,37 +0,0 @@ -#! /usr/bin/env python - -DISKSIZE = 512 * 11 * 2 * 80 - -def concat(out, fn): - f = open(fn, 'rb') - d = f.read() - f.close() - if len(d) % 512 != 0: - d = d + '\0' * (512-(len(d)%512)) - print('placing %s (%d bytes, %d secs) at pos %d (sector %d)' % (fn, len(d), len(d)/512, out.tell(), out.tell()/512)) - out.write(d) - -if __name__ == '__main__': - - import sys - - output = sys.argv[1] - bootblock = sys.argv[2] - files = sys.argv[3:] - - out = open(output, 'wb') - concat(out, bootblock) - - for f in files: - concat(out,f) - - diff = DISKSIZE - out.tell() - - if diff < 0: - sys.stderr.write('too big! %d bytes over budget' % (diff)) - sys.exit(1) - - out.write('\0' * diff) - - out.close() - diff --git a/trackdisk/tools/sum-bootblock.py b/trackdisk/tools/sum-bootblock.py deleted file mode 100755 index 65a4433..0000000 --- a/trackdisk/tools/sum-bootblock.py +++ /dev/null @@ -1,29 +0,0 @@ -#! /usr/bin/env python - -import sys -import struct - -def splice_checksum(block, chksum): - return block[0:4] + struct.pack('>I', chksum) + block[8:] - -def makeit(fn, ofn): - with open(fn, 'rb') as f: data = f.read() - - data = data + '\0' * (1024 - len(data)) - - chksum = 0 - for w in xrange(0, 1024, 4): - chksum += struct.unpack('>I', data[w:w+4])[0] - if chksum > 0xffffffff: - chksum = (chksum + 1) & 0xffffffff - - chksum = (~chksum) & 0xffffffff - - data2 = splice_checksum(data, chksum) - - with open(ofn, 'wb') as f: f.write(data2) - -if len(sys.argv) == 3: - makeit(sys.argv[1], sys.argv[2]) -else: - sys.stderr.write('need two args\n')