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
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
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
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
*
*
********************************************************************************
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