From 23208140e9463411bf374e1cdba7b75e755d0860 Mon Sep 17 00:00:00 2001 From: hachti Date: Fri, 7 Nov 2008 02:14:45 +0000 Subject: [PATCH] *** empty log message *** --- lib/hachti/Makefile | 6 +-- lib/hachti/font.config | 11 +++++- lib/hachti/recipe/hachti.recipe | 12 +++--- lib/hachti/src/pl$mv.asm | 9 +++-- lib/hachti/src/pl$txt.asm | 12 ++++++ lib/hachti/src/pl$u.asm | 29 +++++++------- lib/hachti/src/stack.asm | 7 +++- lib/hachti/src/tt$low.asm | 69 +++++++++++++++++++++++++++++++++ 8 files changed, 124 insertions(+), 31 deletions(-) create mode 100644 lib/hachti/src/tt$low.asm diff --git a/lib/hachti/Makefile b/lib/hachti/Makefile index fc6ebe5..232a23b 100644 --- a/lib/hachti/Makefile +++ b/lib/hachti/Makefile @@ -12,7 +12,7 @@ export ORG_OBJDIR=org export MAKE -MODULES = font pl$$mv pl$$txt pl$$u stack matrix oct +MODULES = font pl$$mv pl$$txt pl$$u stack matrix oct liblok tt$$low F4_MODULES=pmat graphics FRTN_COMMAND = frtn @@ -42,7 +42,7 @@ F4_OBJECT_FILES=$(foreach obj, $(F4_MODULES), $(OBJ_DIR)/$(obj).obj) all: $(LIBS) # @echo $(LIBS) -# @echo '$(OBJECTS)' +# @echo '$(F4_OBJECT_FILES)' $(ORG_OBJDIR)/lastrun: $(ORG_LIBDIR)/* @if [ ! -d $(OBJ_DIR) ]; then mkdir $(OBJ_DIR); fi @@ -67,7 +67,7 @@ $(F4_OBJECT_FILES):$(OBJ_DIR)/%.obj : $(SRC_DIR)/%.f @ cd $(OBJ_DIR) && $(LDC_COMMAND) $(notdir $(subst $$,\$$,$@)) -$(LIBS):$(LIB_DIR)/%.lib: $(RECIPE_DIR)/%$(RECIPE_SUFFIX) $(OBJECT_FILES) +$(LIBS):$(LIB_DIR)/%.lib: $(RECIPE_DIR)/%$(RECIPE_SUFFIX) $(OBJECTS) @./buildlib.sh genlib $(RECIPE_DIR)/$(basename $(notdir $@))$(RECIPE_SUFFIX) src/font.asm: font.config fonts/*.asm diff --git a/lib/hachti/font.config b/lib/hachti/font.config index 83ae8d9..a464cc9 100644 --- a/lib/hachti/font.config +++ b/lib/hachti/font.config @@ -4,8 +4,13 @@ #FONT=cyrilc #FONT=futural #FONT=futuram + +# Der ist nett #FONT=gothgbt + +# Der BESTE! #FONT=gothgrt + #FONT=gothicita #FONT=gothitt #FONT=greekc @@ -15,7 +20,7 @@ #FONT=hp_charset0_1 #FONT=hp_charset0_2 #FONT=hp_charset0_3 -#FONT=hp_charset0_4 +FONT=hp_charset0_4 #FONT=hp_charset1_1 #FONT=hp_charset1_2 #FONT=hp_charset1_3 @@ -71,8 +76,10 @@ #FONT=romant #FONT=rowmand #FONT=rowmans + #FONT=rowmant -FONT=scriptc + +#FONT=scriptc #FONT=scripts #FONT=symbolic #FONT=timesg diff --git a/lib/hachti/recipe/hachti.recipe b/lib/hachti/recipe/hachti.recipe index d6e4f19..59d9d1b 100644 --- a/lib/hachti/recipe/hachti.recipe +++ b/lib/hachti/recipe/hachti.recipe @@ -1,22 +1,22 @@ # Graphics games -#obj/BOX -#obj/SQUARE + obj/BOX + obj/SQUARE # Text driver -#obj/PL$TXT +obj/PL$TXT # Movement driver obj/PL$MV # Matrix operations -#obj/MATRIX +obj/MATRIX # Low level pulse motion driver obj/PL$U # Text Font (Selected in makefile) -#obj/PL$FNT +obj/PL$FNT # Matrix debug obj/PMAT @@ -24,3 +24,5 @@ obj/PMAT # Integer output obj/OCT +# Teletype IO +obj/TT$IN diff --git a/lib/hachti/src/pl$mv.asm b/lib/hachti/src/pl$mv.asm index 36accdc..133248c 100644 --- a/lib/hachti/src/pl$mv.asm +++ b/lib/hachti/src/pl$mv.asm @@ -65,16 +65,15 @@ * CALL PL$IDN - RESET TRANSFORMATION MATRIX * ******************************************************************************** -* -* +* SUBR PL$MV,MOVE + SUBR PL$X,XU + SUBR PL$Y,YU SUBR PL$MVR,MVR SUBR PL$RST,RST SUBR PL$LN,LINE SUBR LINE SUBR PL$RMR,RMR - SUBR PL$X,UX - SUBR PL$Y,UY SUBR PL$MAT,ATRA SUBR PL$SCL,SCLE SUBR PL$SCI,SCLI @@ -136,6 +135,7 @@ INIT DAC ** STA RELA CALL T$INIT DAC ATRA + CALL PL$PU JMP* INIT * * @@ -474,6 +474,7 @@ ROT DAC ** LDA* ROT STA FCR2 IRS ROT + IRS ROT CALL T$ROT DAC ATRA FCR2 DAC 0 diff --git a/lib/hachti/src/pl$txt.asm b/lib/hachti/src/pl$txt.asm index d100b3f..9566dfa 100644 --- a/lib/hachti/src/pl$txt.asm +++ b/lib/hachti/src/pl$txt.asm @@ -1,7 +1,19 @@ * PLOTTER TEXT OUTPUT * +* PHILIPP HACHTMANN +* 06.11.2008 * * +* USAGE: +* +* CALL PL$TXT +* DAC STACK POINTER TO INITIALIZED STACK +* DAC TEXT POINTER TO TEXT +* DAC LENGTH POINTER TO TEXT LENGTH +* DAC 0 ZERO FOR FORTRAN IV COMPATIBILITY +* +* CALL PL$NL +* SUBR PL$TXT,FPTX SUBR PL$TNL,NEWL * diff --git a/lib/hachti/src/pl$u.asm b/lib/hachti/src/pl$u.asm index d828bb6..51b4981 100644 --- a/lib/hachti/src/pl$u.asm +++ b/lib/hachti/src/pl$u.asm @@ -50,19 +50,19 @@ PADR EQU '40 PORT ADDRESS OF THE PLOTTER INTERFACE * * -* SUBR PL$U,UP -* SUBR PL$D,DOWN -* SUBR PL$R,RGHT -* SUBR PL$L,LEFT -* SUBR PL$PU,PENU - SUBR PL$PD,PEND + SUBR PL$U,UP + SUBR PL$D,DOWN + SUBR PL$R,RGHT + SUBR PL$L,LEFT + SUBR PL$PU,PENU + SUBR PL$PD,PEND SUBR PL$UR,UR SUBR PL$UL,UL SUBR PL$DR,DR SUBR PL$DL,DL * * - REL THIS IS A RELOCATABLE OBJECT + REL THIS IS A RELOCATEABLE OBJECT ORG '0 * * @@ -78,7 +78,6 @@ OUT DAC ** DO THE MOVEMENT * JMP LLL * IRS CNT * JMP LLL -* * JMP* OUT * @@ -117,6 +116,7 @@ PENU DAC ** LDA CPNU JST OUT JMP* PENU +CPNU OCT '20 * * PEND DAC ** @@ -127,6 +127,7 @@ PEND DAC ** JST OUT IRS PEN JMP* PEND +CPND OCT '40 * * UL DAC ** @@ -141,6 +142,7 @@ UR DAC ** ADD CRGT JST OUT JMP* UR +CUP OCT '1 * * DL DAC ** @@ -148,6 +150,7 @@ DL DAC ** ADD CLFT JST OUT JMP* DL +CLFT OCT '4 * * DR DAC ** @@ -155,15 +158,11 @@ DR DAC ** ADD CRGT JST OUT JMP* DR -* +CRGT OCT '10 +CDWN OCT '2 +* * * CONSTANTS -CUP OCT '1 -CDWN OCT '2 -CLFT OCT '4 -CRGT OCT '10 -CPNU OCT '20 -CPND OCT '40 * PEN DEC 0 PEN STATE: 1=DOWN * diff --git a/lib/hachti/src/stack.asm b/lib/hachti/src/stack.asm index b54074f..a1d20d4 100644 --- a/lib/hachti/src/stack.asm +++ b/lib/hachti/src/stack.asm @@ -44,7 +44,7 @@ * * CALL S$INIT * DAC SDATA STACK DATA -* OCT SSIZ DATA SIZE (NOT STACK DEPTH!!!) +* DAC SSIZ DATA SIZE (NOT STACK DEPTH!!!) * * PUSHING AND POPPING THE A-REGISTER FROM AND TO THE STACK: * @@ -264,7 +264,9 @@ INIT DAC ** INITIALIZE STACK STA SPTR,1 SAVE TO STACK POINTER IRS INIT * - LDA* INIT LOAD DATA POOL SIZE + LDA* INIT LOAD DATA POOL SIZE POINTER + STA PTR DEREFERENCE POINTER + LDA* PTR LOAD DATA POOL SIZE SUB VARS VARIABLE SIZE STA SSIZ,1 SAVE TO STACK DEPTH * @@ -274,6 +276,7 @@ INIT DAC ** INITIALIZE STACK LDA ATM1 LDX XTM IRS INIT + IRS INIT FOR FORTRAN COMPATIBILITY JMP* INIT * * diff --git a/lib/hachti/src/tt$low.asm b/lib/hachti/src/tt$low.asm new file mode 100644 index 0000000..bd6eb0d --- /dev/null +++ b/lib/hachti/src/tt$low.asm @@ -0,0 +1,69 @@ +* TELETYPE LOW LEVEL I/O +* +* CALL TT$IN(BUFFER,COUNT) +* + SUBR TT$IN,KRD +* +* + REL + ORG 0 +KRD DAC * + LDA* KRD GET POINTER + STA PTR + IRS KRD + LDA* KRD + STA CNT + IRS KRD + IRS KRD +* + OCP 4 +* +********* +LOOP JST GETC + STA HI + ANA ='177 + SUB =13 + SNZ + JMP EHI + JST GETC + STA LO + ANA ='177 + SUB =13 + SNZ + JMP ELO + IRS* CNT + IRS* CNT + LDA HI + ALS 8 + ADD LO + STA* PTR + IRS PTR + JMP LOOP +*********** +EHI CRA + STA* PTR + IRS PTR + STA* PTR + JMP* KRD +* +ELO LDA HI + ALS 8 + STA* PTR + IRS PTR + CRA + STA* PTR + IRS* CNT + JMP* KRD +* +PTR DAC ** +CNT DAC ** +HI DAC 0 +LO DAC 0 +* +****** +GETC DAC * + INA '1004 + JMP *-1 + JMP* GETC +****** + END -- 2.32.0