diff --git a/mach/z80/int/.distr b/mach/z80/int/.distr index 74d127eb2..d59fdf593 100644 --- a/mach/z80/int/.distr +++ b/mach/z80/int/.distr @@ -1,4 +1,4 @@ -Makefile +proto.make READ_ME atof.s cv.c diff --git a/mach/z80/int/READ_ME b/mach/z80/int/READ_ME index 6172a2877..8d7d54c8e 100644 --- a/mach/z80/int/READ_ME +++ b/mach/z80/int/READ_ME @@ -17,14 +17,6 @@ The resulting file.com can be used as an argument to the interpreter. 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 diff --git a/mach/z80/int/em22 b/mach/z80/int/em22 index b2c54d32b..8591c7bfc 100644 --- a/mach/z80/int/em22 +++ b/mach/z80/int/em22 @@ -9,9 +9,11 @@ var M=em22 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 @@ -21,11 +23,21 @@ name asld 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 diff --git a/mach/z80/int/proto.make b/mach/z80/int/proto.make new file mode 100644 index 000000000..3fc667917 --- /dev/null +++ b/mach/z80/int/proto.make @@ -0,0 +1,71 @@ +# $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