*** empty log message ***
[h316.git] / lib / hachti / src / pl$mv.asm
index 9d4f338823d5f118fb7e6c63711f5a6c479ce684..af939176692672853a7ea950dfefec85976ff003 100644 (file)
@@ -74,6 +74,7 @@
        SUBR    PL$Y,Y
        SUBR    PL$MAT,MTRX
        SUBR    PL$SCL,SCLE
+       SUBR    PL$ROT,ROT
        SUBR    PL$IDN,IDEN
 *
 *
 *
 LINE   DAC     0               DRAW A LINE FROM NEAR STARTING POINT
        LDA*    LINE    X1
-       STA     X1P     
-       IRS     LINE
+       STA     X1
+       LDA*    X1
+       STA     X1      
+       IRS     LINE    
        LDA*    LINE    Y1
-       STA     Y1P     
+       STA     Y1
+       LDA*    Y1
+       STA     Y1      
        IRS     LINE
        LDA*    LINE    X2
-       STA     X2P     
+       STA     X2
+       LDA*    X2
+       STA     X2      
        IRS     LINE
        LDA*    LINE    Y2
-       STA     Y2P     
+       STA     Y2
+       LDA*    Y2
+       STA     Y2      
        IRS     LINE    TALLY RETURN ADDRESS
-       NOP
        IRS     LINE    AGAIN FOR FORTRAN IV COMPATIBILITY
-       NOP
-*      
-       NOP
-       NOP
-       NOP
-*
-       CALL    M$APII
+* 
+* 
+       CALL    M$APLI
        DAC     MTRX
-*      JMP     Y2P+2
-X2P    DAC     0
-Y2P    DAC     0
+       DAC     X1
        DAC     0
-*
-       NOP
-       NOP
-       NOP
-*
-       CALL    M$APII
+* 
+       CALL    M$APLI
        DAC     MTRX
-X1P    DAC     0
-Y1P    DAC     0
+       DAC     X2
        DAC     0
-       NOP
-       NOP
-       NOP
 *
+* 
+* 
        LDA     X
-       SUB*    X1P
+       SUB     X1
        SPL             SKIP IF SIGN PLUS
        TCA             TWO'S COMPLEMENT IF NEEDED
        STA     D1
        LDA     Y
-       SUB*    Y1P
+       SUB     Y1
        SPL
        TCA
        ADD     D1
        STA     D1
 *      
        LDA     X
-       SUB*    X2P
+       SUB     X2
        SPL             SKIP IF SIGN PLUS
        TCA             TWO'S COMPLEMENT IF NEEDED
        STA     D2
        LDA     Y
-       SUB*    Y2P
+       SUB     Y2
        SPL
        TCA
        ADD     D2
@@ -150,23 +146,23 @@ Y1P       DAC     0
        JMP     D2BG    D2 IS BIGGER!
        NOP
 *
-D1BG   LDA*    X2P     DIFFERENCE 1 IS BIGGER, SO START AT POINT X2,Y2
+D1BG   LDA     X2      DIFFERENCE 1 IS BIGGER, SO START AT POINT X2,Y2
        STA     XA
-       LDA*    Y2P
+       LDA     Y2
        STA     YA
-       LDA*    X1P
+       LDA     X1
        STA     XB
-       LDA*    Y1P
+       LDA     Y1
        STA     YB
        JMP     WOKI    WORK!
 *
-D2BG   LDA*    X1P     DIFFERENCE 2 IS BIGGER, SO START AT POINT X1,Y1
+D2BG   LDA     X1      DIFFERENCE 2 IS BIGGER, SO START AT POINT X1,Y1
        STA     XA
-       LDA*    Y1P
+       LDA     Y1
        STA     YA
-       LDA*    X2P
+       LDA     X2
        STA     XB
-       LDA*    Y2P
+       LDA     Y2
        STA     YB
 *
 WOKI   LDA     X       TEST IF STARTING POINT IST CURRENT POSITION
@@ -196,21 +192,12 @@ NM1       CALL    PL$PD   WE ARE AT BEGINNING OF LINE
        JST     RMOV    REAL MOVE
        JMP*    LINE    END OF THE LINE :-)
 *
-*
-*X1P   DAC     0       ARGUMENT POINER TO X1
-*Y1P   DAC     0       ARGUMENT POINER TO Y1
-*X2P   DAC     0       ARGUMENT POINER TO X2
-*Y2P   DAC     0       ARGUMENT POINER TO Y2
-XA     DEC     0       REAL FIRST POINT X COORDINATE
-YA     DEC     0       REAL FIRST POINT Y COORDINATE
-XB     DEC     0       REAL SECOND POINT X COORDINATE
-YB     DEC     0       REAL SECOND POINT Y COORDINATE
-D1     DEC     0       ORTHOGONAL WAY LENGTH FROM CURRENT POS TO P1
-D2     DEC     0       ORTHOGONAL WAY LENGTH FROM CURRENT POS TO P2
 *      
 *
 ********************************************************************************       
 *
+**** MOVE PEN ROUTINE
+* 
 RST    DAC     **      SET POINT ZERO
        CRA
        STA     Y
@@ -362,9 +349,21 @@ SCLE       DAC     **
        CALL    M$SCLE
        DAC     MTRX
 FCTR   DAC     0
-       NOP
-       NOP
-       JMP*    SCLE    
+       DAC     0
+       JMP*    SCLE
+* 
+* 
+* 
+* 
+ROT    DAC     **
+       LDA*    ROT
+       STA     FCR2
+       IRS     ROT
+       CALL    M$ROT
+       DAC     MTRX
+FCR2   DAC     0
+       DAC     0
+       JMP*    ROT
 *
 *
 ********************************************************************************
@@ -411,9 +410,21 @@ STPX       DAC     **      X STEP ROUTINE
 STPY   DAC     **      Y STEP ROUTINE
 DIYP   DAC     **      DIAGONAL X-DIR+UP STEP ROUTINE
 DIYN   DAC     **      DIAGONAL X-DIR+DOWN STEP ROUTINE
-TMP    DAC     **      UNIVERSAL POINTER
 *
-*                      GLUE IN THE MOVEMENT
+X1     DEC     0       LINE START POINT, X
+Y1     DEC     0       LINE START POINT, Y
+X2     DEC     0       LINE END POINT, X
+Y2     DEC     0       LINE END POINT, Y
+* 
+XA     DEC     0       REAL FIRST POINT X COORDINATE
+YA     DEC     0       REAL FIRST POINT Y COORDINATE
+XB     DEC     0       REAL SECOND POINT X COORDINATE
+YB     DEC     0       REAL SECOND POINT Y COORDINATE
+D1     DEC     0       ORTHOGONAL WAY LENGTH FROM CURRENT POS TO P1
+D2     DEC     0       ORTHOGONAL WAY LENGTH FROM CURRENT POS TO P2
+* 
+**** GLUE IN THE MOVEMENT ROUTINES
+* 
 MU     XAC     PL$U
 MD     XAC     PL$D
 ML     XAC     PL$L