*** empty log message ***
authorhachti <hachti>
Fri, 7 Nov 2008 02:14:45 +0000 (02:14 +0000)
committerhachti <hachti>
Fri, 7 Nov 2008 02:14:45 +0000 (02:14 +0000)
lib/hachti/Makefile
lib/hachti/font.config
lib/hachti/recipe/hachti.recipe
lib/hachti/src/pl$mv.asm
lib/hachti/src/pl$txt.asm
lib/hachti/src/pl$u.asm
lib/hachti/src/stack.asm
lib/hachti/src/tt$low.asm [new file with mode: 0644]

index fc6ebe5aff1945931684b1d9b75054353af12a7e..232a23bfbc0b4c22f587cd6fcb059a92d41ead5a 100644 (file)
@@ -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
index 83ae8d97e8426c6522dee86455dd1c701138a8e4..a464cc935c823952d858f101440581d859dec1ff 100644 (file)
@@ -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
 #FONT=romant
 #FONT=rowmand
 #FONT=rowmans
+
 #FONT=rowmant
-FONT=scriptc
+
+#FONT=scriptc
 #FONT=scripts
 #FONT=symbolic
 #FONT=timesg
index d6e4f197667839b63bd8333fec89888bb818eecb..59d9d1b07d2d9d7965dd26ae0a98cbcbde8fd246 100644 (file)
@@ -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
index 36accdc9a7fe25bf6fdc25cd3db45044bae89205..133248cabcaf55c0a35b2ac8137ee5e569cfef24 100644 (file)
 *              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
index d100b3f692454b9033594b87937088cbb942df39..9566dfadb61a7efbbc086740a539b990af81ab04 100644 (file)
@@ -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
 *
index d828bb6d2b4a1f5a0a2149360df3ad4d0fca1a66..51b49812f61f8be0acaa9a4790537fd7bf5bbba3 100644 (file)
 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
 *
index b54074f0a3ee9272b5e40ee3b54347487aaffc5a..a1d20d424d220164cf88d878f23a496146dd3f96 100644 (file)
@@ -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 (file)
index 0000000..bd6eb0d
--- /dev/null
@@ -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