From 325547c41c97f16f4f6d8a0c430caf68f7fb64b6 Mon Sep 17 00:00:00 2001 From: hachti Date: Mon, 1 May 2006 03:23:28 +0000 Subject: [PATCH] *** empty log message *** --- Makefile | 2 +- bin/super3_create.do | 21 ++++++++++++++++ lib/fortran/Makefile | 9 +++---- lib/fortran/buildlib.sh | 11 ++++++-- lib/fortran/src/{vpunch.1 => vpunch.asm} | 15 +++++------ lib/fortran/vpunch-help/use.c | 2 +- programs/tools/Makefile | 32 ++++++++++++++++++++++++ programs/tools/src/binal.asm | 2 +- 8 files changed, 76 insertions(+), 18 deletions(-) create mode 100644 bin/super3_create.do rename lib/fortran/src/{vpunch.1 => vpunch.asm} (70%) create mode 100644 programs/tools/Makefile 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.asm similarity index 70% rename from lib/fortran/src/vpunch.1 rename to lib/fortran/src/vpunch.asm index 2a7ce7f..977461c 100644 --- a/lib/fortran/src/vpunch.1 +++ b/lib/fortran/src/vpunch.asm @@ -12,12 +12,12 @@ * DAC ARG * * - SUBR VPUNCH,STRT + SUBR VPUNCH,VPUN REL * -STRT DAC ** - LDA* STRT ARGUMENT HOLEN - IRS STRT RUECKSPRUNG KORRIGIEREN +VPUN DAC ** + LDA* VPUN ARGUMENT HOLEN + IRS VPUN RUECKSPRUNG KORRIGIEREN ALS 3 ZEICHENOFFSET GENERIEREN ADD FP FONTADRESSE ADDIEREN STA POS UND IN POINTER TUN @@ -34,11 +34,12 @@ LOOP LDA* POS IRS POS IRS CNT JMP LOOP - JMP* STRT RETURN + JMP* VPUN RETURN * * POS DEC 0 CNT DEC 0 -FP DAC FONT POINTER TO THE FONT BASE (8X16) +FP XAC FONT POINTER TO THE FONT BASE (8X16) * -**** HIER WIRD ANGEBAUT ***** + 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 * -- 2.32.0