From: hachti Date: Mon, 1 May 2006 03:23:28 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://gitweb.hachti.de/?a=commitdiff_plain;h=325547c41c97f16f4f6d8a0c430caf68f7fb64b6;p=h316.git *** empty log message *** --- diff --git a/Makefile b/Makefile index dbfe198..12731fb 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ SUBDIRS=pc-tools/ldc pc-tools/src-filters pc-tools/boot-maker lib/iolib lib/fortran \ lib/fortran lib/fortran/vpunch-help lib/iolib programs/mandelbrot\ - programs/punchomat + programs/punchomat programs/tools default: diff --git a/bin/super3_create.do b/bin/super3_create.do new file mode 100644 index 0000000..10f2723 --- /dev/null +++ b/bin/super3_create.do @@ -0,0 +1,21 @@ +rest ../../../sys/super2.sys +d 37000-37777 0 +d 31000-31777 0 +d 35000 37777 +at ptr binal.obj +d a 37000 +go +go +run 36002 +at ptr cleanup2.obj +d a 31000 +go 36000 +go +run 36002 +at ptp super3.slst +run 37000 +d a 31000 +go +d a 37577 +go + diff --git a/lib/fortran/Makefile b/lib/fortran/Makefile index 2862bf9..c4c0d03 100644 --- a/lib/fortran/Makefile +++ b/lib/fortran/Makefile @@ -33,18 +33,15 @@ $(OBJ_FILES_FULL):$(OBJ_DIR)/%.obj:$(SRC_DIR)/%.asm clean: @echo Cleaning up. @rm -rf $(OBJ_DIR) $(LIB_DIR) *.lst *.go - @rm -f $(SRC_DIR)/vpunch.asm $(SRC_DIR)/vpunch.2 + @rm -f vpunch.asm $(SRC_DIR)/font.asm @$(MAKE) -s -C vpunch-help clean @buildlib.sh clean vpunch-help/use: vpunch-help/use.c vpunch-help/font_8x16.c $(MAKE) -C vpunch-help use -src/vpunch.2: vpunch-help/use - vpunch-help/use > src/vpunch.2 - -src/vpunch.asm: src/vpunch.1 src/vpunch.2 - cat src/vpunch.1 src/vpunch.2 > src/vpunch.asm +src/font.asm: vpunch-help/use + vpunch-help/use > src/font.asm .PHONY: clean all org obj libs diff --git a/lib/fortran/buildlib.sh b/lib/fortran/buildlib.sh index 89485eb..11a9501 100755 --- a/lib/fortran/buildlib.sh +++ b/lib/fortran/buildlib.sh @@ -53,9 +53,16 @@ genlib(){ lib=$OUTPUT_DIR/`basename $recipe $RECIPE_SUFFIX`$LIB_SUFFIX echo "Building $lib:" rm -f $lib + export IFS=" +" for item in `cat $recipe`; do - echo "appending $item." - cat $item >> $lib || (echo "Error! could not find:$item") + if echo $item| egrep -vq '^[[:space:]\t]*([#;])|(//).*'; then + item=`echo $item | egrep -o '[^[:space:]].*$'` + echo "appending $item." + cat $item >> $lib || (echo "Error! could not find:$item") + else + echo Ignoriere $item + fi done cat $ENDBLOCK >> $lib done diff --git a/lib/fortran/src/vpunch.1 b/lib/fortran/src/vpunch.1 deleted file mode 100644 index 2a7ce7f..0000000 --- a/lib/fortran/src/vpunch.1 +++ /dev/null @@ -1,44 +0,0 @@ -* (VPUNCH) 27.05.2005 -* -* -* PUNCH VISIBLE TEXT ON THE PAPER TAPE PUNCH -* -* -* AUTHOR -* PHILIPP HACHTMANN -* -* USAGE -* JST VCHAR -* DAC ARG -* -* - SUBR VPUNCH,STRT - REL -* -STRT DAC ** - LDA* STRT ARGUMENT HOLEN - IRS STRT RUECKSPRUNG KORRIGIEREN - ALS 3 ZEICHENOFFSET GENERIEREN - ADD FP FONTADRESSE ADDIEREN - STA POS UND IN POINTER TUN - LDA =-8 - STA CNT LOOPCOUNTER INITIALISIEREN - OCP 2 -LOOP LDA* POS - ICA - OTA 2 - JMP *-1 - ICA - OTA 2 - JMP *-1 - IRS POS - IRS CNT - JMP LOOP - JMP* STRT RETURN -* -* -POS DEC 0 -CNT DEC 0 -FP DAC FONT POINTER TO THE FONT BASE (8X16) -* -**** HIER WIRD ANGEBAUT ***** diff --git a/lib/fortran/src/vpunch.asm b/lib/fortran/src/vpunch.asm new file mode 100644 index 0000000..977461c --- /dev/null +++ b/lib/fortran/src/vpunch.asm @@ -0,0 +1,45 @@ +* (VPUNCH) 27.05.2005 +* +* +* PUNCH VISIBLE TEXT ON THE PAPER TAPE PUNCH +* +* +* AUTHOR +* PHILIPP HACHTMANN +* +* USAGE +* JST VCHAR +* DAC ARG +* +* + SUBR VPUNCH,VPUN + REL +* +VPUN DAC ** + LDA* VPUN ARGUMENT HOLEN + IRS VPUN RUECKSPRUNG KORRIGIEREN + ALS 3 ZEICHENOFFSET GENERIEREN + ADD FP FONTADRESSE ADDIEREN + STA POS UND IN POINTER TUN + LDA =-8 + STA CNT LOOPCOUNTER INITIALISIEREN + OCP 2 +LOOP LDA* POS + ICA + OTA 2 + JMP *-1 + ICA + OTA 2 + JMP *-1 + IRS POS + IRS CNT + JMP LOOP + JMP* VPUN RETURN +* +* +POS DEC 0 +CNT DEC 0 +FP XAC FONT POINTER TO THE FONT BASE (8X16) +* + END + diff --git a/lib/fortran/vpunch-help/use.c b/lib/fortran/vpunch-help/use.c index 992c715..f914bd4 100644 --- a/lib/fortran/vpunch-help/use.c +++ b/lib/fortran/vpunch-help/use.c @@ -22,7 +22,7 @@ int main (int argc, char ** argv){ int c; int a; for (c=0; c<4096; c++) fontdata_8x16[c]=tw(fontdata_8x16[c]); -// printf("\tSUBR\tFONT\n"); + printf("\tSUBR\tFONT\n"); for (a=0; a<256; a++){ char * fd =fontdata_8x16 + (a<<4); if (a==0) printf("FONT\t"); else printf("\t"); diff --git a/programs/tools/Makefile b/programs/tools/Makefile new file mode 100644 index 0000000..436f1d5 --- /dev/null +++ b/programs/tools/Makefile @@ -0,0 +1,32 @@ +# Makefile for assembler sources + +SRC_DIR = src +OBJ_DIR = build +LIB_DIR = lib + +MODULES = binal cleanup cleanup2 + +FRTN_COMMAND = frtn +ASM_COMMAND = asm + +SRC_FILES = $(foreach obj, $(MODULES),$(obj).asm) +OBJ_FILES = $(SRC_FILES:.asm=.obj) +OBJ_FILES_FULL = $(foreach file, $(OBJ_FILES),$(OBJ_DIR)/$(file)) + +########################################## + +obj : $(OBJ_FILES_FULL) + +$(OBJ_FILES_FULL):$(OBJ_DIR)/%.obj:$(SRC_DIR)/%.asm + @echo Building: $(subst $$,\$$,$@) + @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi + @ rm -f $@ + @ cd $(OBJ_DIR) && $(ASM_COMMAND) ../$(subst $$,\$$,$^) +# @ cd $(OBJ_DIR) && ldc -s -l $(notdir $(subst $$,\$$,$@)) + +clean: + @echo Cleaning up. + @rm -rf $(OBJ_DIR) $(LIB_DIR) *.lst *.go + +.PHONY: clean all org obj libs + diff --git a/programs/tools/src/binal.asm b/programs/tools/src/binal.asm index 87de4f5..e913652 100644 --- a/programs/tools/src/binal.asm +++ b/programs/tools/src/binal.asm @@ -390,7 +390,7 @@ SWRD DAC ** B2AD DAC BO2S START ADDRESS OF SECOND STAGE LOADER B3AD DAC BO3S START ADDRESS OF THIRD STAGE LOADER * -LDRL DEC 100 LEADER LENGTH +LDRL DEC 300 LEADER LENGTH SZE SZE INSTRUCTION FOR FILL IN SNZ SNZ INSTRUCTION FOR FILL IN *