This implementation has been tested but is not guaranteed to be complete.
Simple UNIX-system calls have been implemented but anything except
terminal I/O has not been thoroughly tested.
-Please send any errors in the implementation to
-Hans van Staveren
-Vrije Universiteit
-Wiskundig Seminarium
-De Boelelaan 1081
-1081 HV Amsterdam
-Holland
-..!decvax!mcvax!vu44!sater
Also, some changes have been made to convert the interpreter to the
new assembler syntax. This has never been tested, because we don't have
var NAME=em22
var LIB=lib/em22/tail_
var RT=lib/em22/head_
-var SIZE_FLAG=-sm
-var CPP_F=-DCPM=CPM
-var INCLUDES=-I{EM}/include/_tail_cc -I{EM}/include/_tail_mon
+var SIZE_FLAG=
+var CPP_F=-Dunix
+var INCLUDES=-I{EM}/include/_tail_mon
+var C_LIB={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g
+var OLD_C_LIB={C_LIB}
name asld
from .k.m.a.g
to .out
mapflag -+* ASS_F={ASS_F?} -+*
mapflag --* ASS_F={ASS_F?} --*
mapflag -s* SIZE_FLAG=-s*
+ mapflag -ansi C_LIB={EM}/{LIB}ac
args {SIZE_FLAG} \
- ({RTS}:.b.c={EM}/{RT}cc) ({RTS}:.p={EM}/{RT}pc) -o > < \
+ ({RTS}:.ocm.b={EM}/{RT}cc) \
+ ({RTS}{ANSI?}:.c={EM}/{RT}cc) \
+ ({RTS}{ANSI?}:.cansi={EM}/{RT}ac) \
+ ({RTS}:.mod={EM}/{RT}m2) \
+ ({RTS}:.p={EM}/{RT}pc) \
+ -o > < \
(.p:{TAIL}={EM}/{LIB}pc) \
(.b:{TAIL}={EM}/{LIB}bc) \
- (.b.c:{TAIL}={EM}/{LIB}cc.1s {EM}/{LIB}cc.2g) \
- (.b.c.p:{TAIL}={EM}/{LIB}mon)
+ (.ocm:{TAIL}={EM}/{LIB}ocm) \
+ (.mod:{TAIL}={EM}/{LIB}m2) \
+ (.ocm.b:{TAIL}={OLD_C_LIB}) \
+ (.c:{TAIL}={C_LIB}) \
+ (.b.c.ocm.mod.p.e:{TAIL}={EM}/{LIB}mon) \
+ ({RTS}{ANSI?}:.cansi={EM}/lib/em22/end_em)
linker
end
--- /dev/null
+# $Header$
+
+#PARAMS do not remove this line!
+
+SRC_DIR = $(SRC_HOME)/mach/z80/int
+
+SRC = $(SRC_DIR)/em.s $(SRC_DIR)/atof.s $(SRC_DIR)/fpp.s $(SRC_DIR)/mli4.s \
+ $(SRC_DIR)/dvu4.s $(SRC_DIR)/dvi4.s $(SRC_DIR)/eb.s
+OBJ = em.o atof.o fpp.o mli4.o dvu4.o dvi4.o eb.o
+
+DLSRC = $(SRC_DIR)/dl.c $(SRC_DIR)/dlbin.c
+LIBOBJ = $(UTIL_HOME)/modules/lib/libobject.$(ULIBSUF)
+
+ULDFLAGS = $(ULDOPTIONS)
+UCFLAGS = -I$(UTIL_HOME)/h $(UCOPTIONS)
+
+all: int.hex dl dlbin cv
+
+install: all
+ @echo "nothing is installed"
+
+cmp: all
+ @echo "nothing is compared"
+
+clean:
+ rm -f *.o a.out dl dlbin *.hex cv
+ rm -f *.$(USUF)
+
+pr:
+ @pr $(SRC_DIR)/proto.make $(SRC) $(DLSRC) $(SRC_DIR)/cv.c
+
+opr:
+ make pr | opr
+
+a.out: $(OBJ)
+ $(UTIL_HOME)/lib.bin/em_led -b0:0x100 -a0:2 -a1:2 -a2:2 -a3:2 $(OBJ)
+
+int.hex: a.out dlbin
+ ./dlbin a.out > int.hex
+ ./dosort int.hex
+
+dl: dl.$(USUF)
+ $(UCC) $(ULDFLAGS) -o dl dl.$(USUF)
+
+dl.$(USUF): $(SRC_DIR)/dl.c
+ $(UCC) $(UCFLAGS) -c $(SRC_DIR)/dl.c
+
+dlbin: dlbin.$(USUF)
+ $(UCC) $(ULDFLAGS) -o dlbin dlbin.$(USUF) $(LIBOBJ)
+
+dlbin.$(USUF): $(SRC_DIR)/dlbin.c
+ $(UCC) $(UCFLAGS) -c $(SRC_DIR)/dlbin.c
+
+cv: cv.$(USUF)
+ $(CC) $(ULDFLAGS) -o cv cv.$(USUF)
+
+cv.$(USUF): $(SRC_DIR)/cv.c
+ $(UCC) $(UCFLAGS) -c $(SRC_DIR)/cv.c
+
+atof.o: $(SRC_DIR)/atof.s
+ z80 -I$(TARGET_HOME)/h -c $(SRC_DIR)/atof.s
+fpp.o: $(SRC_DIR)/fpp.s
+ z80 -I$(TARGET_HOME)/h -c $(SRC_DIR)/fpp.s
+mli4.o: $(SRC_DIR)/mli4.s
+ z80 -I$(TARGET_HOME)/h -c $(SRC_DIR)/mli4.s
+dvu4.o: $(SRC_DIR)/dvu4.s
+ z80 -I$(TARGET_HOME)/h -c $(SRC_DIR)/dvu4.s
+dvi4.o: $(SRC_DIR)/dvi4.s
+ z80 -I$(TARGET_HOME)/h -c $(SRC_DIR)/dvi4.s
+eb.o: $(SRC_DIR)/eb.s
+ z80 -I$(TARGET_HOME)/h -c $(SRC_DIR)/eb.s