X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp-cpm3.git/blobdiff_plain/ea5293bb6ce484bf1ec9ab70befe10c3a36a70c2..04d6fc24a26ac00992b73417c3367414c34df70d:/cbios/Makefile diff --git a/cbios/Makefile b/cbios/Makefile index 2b7dd88..e24e41f 100644 --- a/cbios/Makefile +++ b/cbios/Makefile @@ -1,7 +1,7 @@ SRC := bioskrnl.180 boot.180 chario.180 drvtbl.180 -SRC += move.180 misc.180 time.180 mm.180 +SRC += move.180 time.180 mm.180 misc.180 utils.180 SRC += msgbuf.180 conbuf.180 ascip.180 sdio.180 SRC += scb.180 @@ -28,7 +28,7 @@ LN_QUIET = 1 #LNKCMD = LN_VERB = /V LN_PROG = 0 -LN_DATA = C000 +LN_DATA = F000 .suffixes: @@ -37,9 +37,9 @@ LN_DATA = C000 .phony: all all: sys -bios: bnkbios3.spr - +map: bnkbios3.map sys: cpm3.sys +bios: bnkbios3.spr $(OBJ): $(INC) @@ -79,8 +79,8 @@ define cpm-bioslink = OUTPUT=$$(mktemp); echo $${COMMAND};\ $${COMMAND} > $${OUTPUT} || exit 1;\ ERROR=0;\ - grep -Ev '^[@?$$. 0-9A-Z]{7} [0-9A-F]{4}' $${OUTPUT};\ - grep -q ':' $${OUTPUT} && ERROR=2; \ + grep -Ev '^[@?$$._ 0-9A-Z]{7} [0-9A-F]{4}' $${OUTPUT};\ + grep -Eq ':|UNRECOGNIZED' $${OUTPUT} && ERROR=2; \ [ "$${ERROR}" != "0" ] && rm -f $@; \ exit $${ERROR} endef @@ -98,8 +98,19 @@ if [ "$${ERROR}" != "0" ]; then cat $${OUTPUT}; rm -f $@; fi ; \ exit $${ERROR} endef +PSEG = $(call SEGMENT-ADDR, 1) +DSEG = $(call SEGMENT-ADDR, 2) + +#(call SEGMENT-ADDR,SEGNUM) +SEGMENT-ADDR = $(shell dd if=cpm3.sys bs=128 count=1 skip=1 2>/dev/null |\ + awk -vn=$(strip $1) '/BNKBIOS3/ {if (++seg == n) print $$3}') + +bnkbios3.map: cpm3.sys + ld80 -o /dev/null -ms bnkbios3.map -P $(PSEG) -D $(DSEG) $(OBJ) + + cpm3.sys: bnkbios3.spr - zxcc gencpm -auto + zxcc gencpm -AUTO @echo