]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/blobdiff - cbios/Makefile
AVRCON --> USB0
[z180-stamp-cpm3.git] / cbios / Makefile
index 2b7dd88cf423208ec39b944e273b610560a621d7..e24e41f90ac012fd6606748aa7dc53ff6d47adfd 100644 (file)
@@ -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