From aa497292fbc3844fc8f1977c7034a03bef455cac Mon Sep 17 00:00:00 2001 From: alpine9000 Date: Tue, 1 Mar 2016 15:29:46 +1100 Subject: [PATCH] Converted makeadf to be consistent with imagecon --- 000.trackdisk/Makefile | 1 - Makefile | 2 +- base.mk | 6 ++-- tools/bitmap.pyc | Bin 2638 -> 0 bytes tools/makeadf.c | 64 ----------------------------------------- tools/sum-bootblock.py | 29 ------------------- 6 files changed, 5 insertions(+), 97 deletions(-) delete mode 100644 tools/bitmap.pyc delete mode 100644 tools/makeadf.c delete mode 100755 tools/sum-bootblock.py diff --git a/000.trackdisk/Makefile b/000.trackdisk/Makefile index 64cc409..3b85472 100644 --- a/000.trackdisk/Makefile +++ b/000.trackdisk/Makefile @@ -1,4 +1,3 @@ -MAKEADF=../tools/makeadf FLOPPY=bin/test.adf MODULE=main.s diff --git a/Makefile b/Makefile index cf4828f..7b299a8 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -SUBDIRS=000.trackdisk 001.simple_image 002.sprite_display 003.music 004.copper_bars 005.copper_vert +SUBDIRS=tools/makeadf tools/imagecon 000.trackdisk 001.simple_image 002.sprite_display 003.music 004.copper_bars 005.copper_vert .PHONY: subdirs $(SUBDIRS) diff --git a/base.mk b/base.mk index e2935c4..7d80d2c 100644 --- a/base.mk +++ b/base.mk @@ -1,3 +1,5 @@ +MAKEADFDIR=../tools/makeadf/ +MAKEADF=$(MAKEADFDIR)/bin/makeadf HOST_WARNINGS=-pedantic-errors -Wfatal-errors -Wall -Werror -Wextra -Wno-unused-parameter -Wshadow HOST_CFLAGS=-g $(HOST_WARNINGS) IMAGECONDIR=../tools/imagecon @@ -26,8 +28,8 @@ out: $(IMAGECON): make -C $(IMAGECONDIR) -$(MAKEADF): ../tools/makeadf.c - gcc ../tools/makeadf.c -o $(MAKEADF) +$(MAKEADF): + make -C $(MAKEADFDIR) $(FLOPPY): out/bootblock.bin $(MAKEADF) out/bootblock.bin > $(FLOPPY) diff --git a/tools/bitmap.pyc b/tools/bitmap.pyc deleted file mode 100644 index 748acdb5836c4062f89687b57b720bf9dd2220d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2638 zcmb_eO>-MX5ba%AvgO!`lem&NP{lexp$bNV6da&ZPH=n)MLDT;1s5h}Yo#5@t6J^K zyW?a-Nf*Lj;Ko1T!ighSj-2=zocICoUa$O-b0TS4Ju^KsJ>9S0ZtdUY#b18?>zkg; zJ~jN`M=N$9BK#alL`EX}B2MIrais4^RFj`XUW$CX?@Bbs&VEgzx+-%LHB_lfG_OiS zq6OJ)HL+#;hH?L7c`m2pFJ(?ugUGxAL|!NW+l{0(CtIMp<;6pzG82%oEjK z&mEs((kt`24X4LHW{Z*0Sl@=l0CCZXzjS2#;EGILvB;An=zs6Z(Xvc6_Cr^mx-y-U zX)oD}8L(XHpF4>pq zBGWs>K`^YzDtDhO%8kjq^j#WFFG%?@6Nn9T%`KTO$)qWhCBePcCKssP1BmZq-R7g( z-J{=S@90O_D?8_xt?M$Jvm|T7x&SZL9&6YXKj-Kltm>jYl07>w6U^hf@UsTkF+;^y z5Q`o@53=-`$*mW9j~{;R#YDarr#ACWLDybXL*LlrJS|{YA*Hfy>l{KY(u?OIV}c__ zlbC}ob`{TM9;O51bEZOY{DV=b4U8SfrAf3H)ky8b@z|u1CA@owxuT%Ow5yr=c~Toe zWX32O9v5gOsEJlmRUJf(Zj@)w^=y`!9-`%5=p1gPBrrzBSX5%1My9kEuvCqz{u#1g z57hPw_SH)SHVaNe&C`mT5Yl+xx#V1QuR2$qWwdp)_s~9Y75=PBrcvP!R+Msg2LIs< zSX-BeSipF|PU!XH#I$!>bkrxgoh9O2hPa`cXi~VuU!mL(zxYrQ%6{kn=u`vc3>l;uQFXi+#1bY^-vq*81 zS){xoP6vrO4c9A?;g%W-|1D_BtNz;@V+8C)h!a%2VdQb^>gp#4+{Q>jf5h#vh)Arb z==vEQGOHp3*StA(NVY&%S(0KA4M1l5U`T?+1Pp;G7_Rb<^a^!-`(SB?Ig;@Md0Ha@ zgLT2OpeB&zJuvGgh)UI(Y;J)xsc(UFfn$Ieq^jV2SN1TltH3GnR`4p1-T9R9_Ig>8 zWI#*@h zXFinOa+L#>-HOl#-8WVfmv~GToOh*zp@LVD`ij#4|9s}$axS|&Encdkasnmm^6f$? r+9!MYeEad&DL#Za^H8 -#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/tools/sum-bootblock.py b/tools/sum-bootblock.py deleted file mode 100755 index 65a4433..0000000 --- a/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')