# Toplevel Makefile for Hachti's H316 stuff collection
+<<<<<<< Makefile
+# First we need the PC side tools. Nothing runs without them!
+SUBDIRS=pc-tools/ldc pc-tools/src-filters pc-tools/boot-maker
+
+# Now we build the libraries which are always rebuild using the original compiler and
+# assembler tapes
+SUBDIRS+=lib/iolib lib/fortran \
+
+# Here we link the assembler - via a trick
+SUBDIRS+=systems/dap
+
+# What's missing for the systems
+SUBDIRS+=programs/tools
+
+# Now we can build the super images and slst
+SUBDIRS+=systems
+
+# The compiler is rebuilt as well!
+SUBDIRS+=programs/frtn
+
+# And all other H316 tools depending on all the other stuff
+SUBDIRS+=programs/mandelbrot\
+ programs/punchomat\
+
+
+=======
SUBDIRS=pc-tools/ldc pc-tools/src-filters pc-tools/boot-maker lib/iolib lib/fortran \
lib/fortran lib/iolib programs/mandelbrot\
programs/punchomat programs/tools systems
+>>>>>>> 1.12
#lib/fortran/vpunch-help
# If you want to build the docs, too: Uncomment next line:
#SUBDIRS+=docs/manual
+cvsclean: clean
+ touch slst/* sys/*
default:
- $(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir)&&) /bin/true
+ @$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir)&&) /bin/true
%:
@echo $@
$(foreach subdir, $(SUBDIRS), $(MAKE) -C $(subdir) $@;)
-.PHONY: default
+.PHONY: default cvsclean
cat > $name.go <<EOF
rest $H316/sys/dap.sys
+r
d a 120420
d p 1000
at ptr $name.par
--- /dev/null
+#!/bin/sh
+# Assembler wrapper for simh h316
+
+if [ ! $1 ] ; then
+ echo "Argument missing!"
+ exit 2
+fi
+
+echo "Assembling $1 with original DAP 8K SLST!"
+
+for n in $*; do
+ if [ $n == "/v" ]; then
+ VERBOSE=yes
+ fi
+done
+
+name=`basename $1 .asm`
+listfile=$name.lst
+
+cat $1 | tab | paron > $name.par
+
+rm -f $name.lst
+rm -f $name.obj
+
+cat > $name.go <<EOF
+at ptr $H316/honeywell/slst/dap_8k.slst
+boot ptr
+r
+d a 120420
+d p 1000
+at ptr $name.par
+at ptp $name.obj
+at tty3 $listfile
+set tty3 uascii
+set tty3 start
+go
+d ptr pos 0
+go
+quit
+EOF
+
+if [ "$VERBOSE" == "yes" ]; then
+ h316 $name.go
+else
+ h316 $name.go > /dev/null
+fi
+
+
+if cat $name.lst | grep "NO ERRORS IN ABOVE ASSEMBLY">/dev/null 2>&1; then
+ if [ ! $2 ]; then
+ rm $name.lst
+ rm -f $name.par
+ rm -f $name.go
+ fi
+ echo "DAP-16 assembly successfull :-)"
+ exit 0
+fi
+cat $name.lst
+echo -e "\nDAP-16 assembly FAILED!"
+rm -f $name.obj
+exit 77
+
+++ /dev/null
-#!/bin/sh
-
-cat > dap-rebuild.go <<EOF
-rest $H316/sys/super3.sys
-at ptr $H316/obj/dap16.obj
-run 36000
-go
-at ptr $H316/obj/ios-16.obj
-go
-at ptr $H316/lib/iolib/lib/dap-lib.lib
-go
-echo now loaded before dumy:
-run 36002
-echo now satisfying....
-at ptr $H316/obj/dumy-x16.obj
-;IMPORTANT! THERE ARENT NO MORE UNSATISFIED IN THE FIRST
-;EXPORT BLOCK. SECOND BLOCK SEEMS NOT TO TRIGGER DUMMY!
-d p 36004
-go
-go
-
-at ptr $H316/obj/deccl.obj
-go
-at ptr $H316/obj/setsiz.obj
-go
-go
-
-
-r
-
-; Uncomment if you want an slst file
-;at ptp $H316/slst/dap-auto.slst
-;run 37000
-;d a 100
-;go
-;d a 17777
-;go
-;d p 1000
-;d a 120420
-
-save $H316/sys/dap.sys
-
-run 36002
-q
-EOF
-
-h316 dap-rebuild.go
-rm dap-rebuild.go
-
-
set tty3 uascii
set tty3 start
d a 311
+;d a 310
d p 1000
d ss1 0
d ss2 1
d ss3 0
d ss4 0
go
-quit
+;quit
EOF
h316 $name.go > /dev/null
-rm -f $name.par
-rm -f $name.go
if cat $name.lst | egrep "[*]{36,40}">/dev/null 2>&1; then
cat $name.lst
if [ ! $2 ]; then
rm $name.lst
+ rm -f $name.go
+ rm -f $name.par
+
fi
echo "FORTRAN IV compilation successfull."
exit 0
--- /dev/null
+#!/bin/sh
+# FORTRAN IV compiler wrapper for simh h316
+
+if [ ! $1 ] ; then
+ echo "Argument missing!"
+ exit 2
+fi
+
+echo "Compiling $1 with original FORTRAN 8K!"
+
+name=`basename $1 .f`
+listfile=$name.lst
+
+cat $1 | tab | paron > $name.par
+rm -f $name.lst
+rm -f $name.obj
+
+cat > $name.go <<EOF
+at ptr $H316/honeywell/slst/frtn_8k.slst
+boot ptr
+
+r
+at ptr $name.par
+at ptp $name.obj
+at tty3 $listfile
+set tty3 uascii
+set tty3 start
+d a 311
+;d a 310
+d p 1000
+d ss1 0
+d ss2 1
+d ss3 0
+d ss4 0
+go
+;quit
+EOF
+
+h316 $name.go
+#> /dev/null
+
+if cat $name.lst | egrep "[*]{36,40}">/dev/null 2>&1; then
+ cat $name.lst
+ echo -e "\n\nFORTRAN IV compilation FAILED!"
+ rm -f $name.obj
+ exit 77
+fi
+
+if [ ! $2 ]; then
+ rm $name.lst
+ rm -f $name.go
+ rm -f $name.par
+
+fi
+echo "FORTRAN IV compilation successfull."
+exit 0
+
+
+
--- /dev/null
+Here we have original objects from Honeywell
\ No newline at end of file
MODULES = uc f$$w4 f$$w1 pchar fpatch lpchar
#vpunch font
-FRTN_COMMAND = frtn
-ASM_COMMAND = asm
+FRTN_COMMAND = frtn_original
+ASM_COMMAND = asm_original
LDC_COMMAND = ldc
#############
MODULES = o$$al o$$la o$$pl o$$pb i$$pa
-FRTN_COMMAND = frtn
-ASM_COMMAND = asm
+FRTN_COMMAND = frtn_original
+ASM_COMMAND = asm_original
LDC_COMMAND = ldc
#############
# These are the selfmade modules
# Binary HS Punch routine
-#obj/O$PB
+obj/O$PB
#Paper tape listing routine
-#obj/O$PL
+obj/O$PL
# O$AL ASR comfort routine
-#obj/O$AL
+obj/O$AL
# Huge Line printer routine
-#obj/O$LA
+obj/O$LA
# Read Paper tape sources
obj/I$PA
org/O$AI
#org/O$AH Original ASR listing routine
-org/O$AH
+#org/O$AH
-default: install
+default: bmaker
bmaker: main.c
gcc -o $@ $<
clean:
- rm -f *.o bmaker ../../bin/bmaker
+ rm -f *.o bmaker
-install: bmaker
- cp bmaker ../../bin
+#install: bmaker
+# cp bmaker ../../bin
.PHONY: clean install default
-default: install
+default: ldc
%.o: %.c *.h
@echo -n Baue: $@
@gcc -o$@ $^
clean:
- rm -f *.o ldc ../../bin/ldc
+ rm -f *.o ldc
-install: ldc
- cp ldc ../../bin
+#install: ldc
+# cp ldc ../../bin
.PHONY: default all clean install
\ No newline at end of file
PROGS=paron paroff load turn zstrip tab
-install: $(PROGS)
- cp $(PROGS) ../../bin/
+default: $(PROGS)
+
+#install: $(PROGS)
+# cp $(PROGS) ../../bin/
clean:
- rm -f $(PROGS) $(foreach p, $(PROGS),../../bin/$(p))
+ rm -f $(PROGS)
+.PHONY: default clean
+++ /dev/null
-Super 2 tape:
-31000-31777 Start 31000 : cleanup.obj
-32000-32777 Start 32000 : PRNTZ
-33000-36777 Start 36000 : LDR-APM
-37000-37777 Start 37000 : PAL-AP
# Makefile for system generation
# Targets
-export SUPER3_SYS=$(H316)/systems/super3.sys
-export SUPER2_SYS=$(H316)/systems/super2.sys
-export SUPER3_SLST=$(H316)/systems/super3.slst
-export SUPER2_SLST=$(H316)/systems/super2.slst
-export DAP_SYS=$(H316)/systems/dap.sys
-export DAP_SLST=$(H316)/systems/dap.slst
+export SUPER3_SYS=super3.sys
+export SUPER2_SYS=super2.sys
+export SUPER3_SLST=super3.slst
+export SUPER2_SLST=super2.slst
+export DAP_SYS=dap.sys
+export DAP_SLST=dap.slst
+export SUPER_SIMPLE_SYS=super_simple.sys
# Used files
-export LDR_APM_8K=$(H316)/slst/ldr-apm.slst
+export LDR_APM_8K=$(H316)/slst/ldr-apm_8k.slst
export LDR_APM=$(H316)/obj/ldr-apm.obj
export LDR_DUMY=$(H316)/obj/ldr-dumy.obj
export PRNTNZ=$(H316)/obj/prntnz.obj
export DUMYX16=$(H316)/obj/dumy-x16.obj
export DECCL=$(H316)/obj/deccl.obj
export SETSIZ=$(H316)/obj/setsiz.obj
-export SUPER_SYS_FOR_DAP=$(SUPER3_SYS)
+export SUPER_SYS_FOR_DAP=$(SUPER_SIMPLE_SYS)
export MAKE
super3: $(SUPER3_SLST)
dap: $(DAP_SLST)
-$(DAP_SLST): $(DAP16) $(IOS16) $(DAP_LIBRARY) $(DUMYX16) $(DECCL) $(SETSIZ)\
+$(SUPER_SIMPLE_SYS): $(LDR_APM_8K) $(PAL_AP) $(LDR_APM) $(LDR_DUMY)
+ ./build_super_simple.sh
+
+$(DAP_SLST) $(DAP_SYS): $(DAP16) $(IOS16) $(DAP_LIBRARY) $(DUMYX16) $(DECCL) $(SETSIZ)\
$(SUPER_SYS_FOR_DAP)
./build_dap16.sh
-$(SUPER2_SLST): $(LDR_APM_8K) $(LDR_APM) $(LDR_DUMY) $(PRNTNZ)\
- $(CLEANUP) $(PAL_AP)
+$(SUPER2_SLST) $(SUPER2_SYS): $(LDR_APM_8K) $(LDR_APM) $(LDR_DUMY) $(PRNTNZ)\
+ $(CLEANUP) $(PAL_AP)
./build_super2.sh
-$(SUPER3_SLST): $(LDR_APM_8K) $(LDR_APM) $(LDR_DUMY) $(PRNTNZ)\
+$(SUPER3_SLST) $(SUPER3_SYS): $(LDR_APM_8K) $(LDR_APM) $(LDR_DUMY) $(PRNTNZ)\
$(CLEANUP2) $(BINAL) $(RESTART)
./build_super3.sh
clean:
- @rm -f $(SUPER2_SLST) $(SUPER2_SYS) $(SUPER3_SLST) $(SUPER3_SYS)
+ @rm -f $(SUPER2_SLST) $(SUPER2_SYS) $(SUPER3_SLST) $(SUPER3_SYS) $(DAP_SYS) $(DAP_SLST)\
+ $(SUPER_SIMPLE_SYS)
.PHONY: super3
\ No newline at end of file
fi
cat > $DO_FILE <<EOF
-rest $SUPER_SYS_FOR_DAP
+REST $SUPER_SYS_FOR_DAP
+
at ptr $DAP16
run 36000
go
--- /dev/null
+# A dummy makefile to keep the main Makefile's form and enable us to build the dap.sys
+# first!
+
+default:
+ $(MAKE) -C .. dap.sys
+
+
+clean:
+ @rm -f ../dap.sys ../dap.slst
+
+.PHONY: clean
+
+%:
+ @true
+