1 * (PL$MV) REV 1.0 INCREMENTAL PLOTTER ROUTINES
5 * PL$MV (PL$MV,PL$RST,PL$LN)
7 * PLOTTER MOVEMENT ROUTINES
12 * 1.1 (2007-11-08) - ADDED INTELLIGENT LINE DRAWING ROUTINE
23 * PROVIDE SIMPLE LIBRARY FUNCTIONS FOR INCREMENTAL PLOTTERS
34 * CALL PL$RST - SET VIRTUAL PLOT POSITION TO ZERO
36 * CALL PL$MV - MOVE TO POINT SPECIFIED
40 * CALL PL$LN - DRAW LINE AND LEAVE PEN DOWN
48 ********************************************************************************
57 REL THIS IS A RELOCATABLE OBJECT
60 ********************************************************************************
62 LINE DAC 0 DRAW A LINE FROM NEAR STARTING POINT
74 IRS LINE TALLY RETURN ADDRESS
75 IRS LINE AGAIN FOR FORTRAN IV COMPATIBILITY
80 TCA TWO'S COMPLEMENT IF NEEDED
92 TCA TWO'S COMPLEMENT IF NEEDED
100 JMP D2BG D2 IS BIGGER!
103 D1BG LDA* X2P DIFFERENCE 1 IS BIGGER, SO START AT POINT X2,Y2
113 D2BG LDA* X1P DIFFERENCE 2 IS BIGGER, SO START AT POINT X1,Y1
122 WOKI LDA X TEST IF STARTING POINT IST CURRENT POSITION
134 MV1 CALL PL$PU MOVE TO THE STARTING POSITION
139 NM1 CALL PL$PD WE ARE AT BEGINNING OF LINE
144 JMP* LINE END OF THE LINE :-)
147 X1P DAC 0 ARGUMENT POINER TO X1
148 Y1P DAC 0 ARGUMENT POINER TO Y1
149 X2P DAC 0 ARGUMENT POINER TO X2
150 Y2P DAC 0 ARGUMENT POINER TO Y2
151 XA DEC 0 REAL FIRST POINT X COORDINATE
152 YA DEC 0 REAL FIRST POINT Y COORDINATE
153 XB DEC 0 REAL SECOND POINT X COORDINATE
154 YB DEC 0 REAL SECOND POINT Y COORDINATE
155 D1 DEC 0 ORTHOGONAL WAY LENGTH FROM CURRENT POS TO P1
156 D2 DEC 0 ORTHOGONAL WAY LENGTH FROM CURRENT POS TO P2
159 ********************************************************************************
161 RST DAC ** SET POINT ZERO
171 LDA* MOVE GET PARAMETERS
185 IRS MOVE CORRECT RETURN ADDRESS
199 STA DX NOW, DX IS POSITIVE!
220 STA DY NOW, DY IS POSITIVE!
233 JMP XGTY DX GREATER DY
234 YGTX NOP DY GREATER OR EQUAL DX
254 GTE LDA DL LONG DISTANCE
256 STA ERR INITIALIZE ERROR COUNTER
262 JMP FNSH END OF WORK - HOPE SO....
268 SMI SKIP IF NOT OVERFLOWN (MINUS)
269 JMP NDIA NO DIAG STEP
277 NDIA JST* STPL LONG DIR STEP ONLY
284 JMP* MOVE END OF THE ROUTINE
285 **********************
289 X DEC 0 PEN POSITION, X VALUE
290 Y DEC 0 PEN POSITION, Y VALUE
291 XN DEC 0 NEW PEN POSITION, X VALUE
292 YN DEC 0 NEW PEN POSITION, Y VALUE
293 DX DEC 0 X DIFFERENCE TO GO
294 DY DEC 0 Y DIFFERENCE TO GO
296 DL DEC 0 LONG DISTANCE NEGATIVE
297 DS DEC 0 SHORT DISTANCE NEGATIVE
298 STPL DAC ** ROUTINE TO LONG DISTANCE STEP
299 STPS DAC ** ROUTINE TO SHORT DISTANCE STEP
300 STPD DAC ** ROUTINE TO DIAGONAL STEP
301 ERR DEC 0 ERROR COUNTER
303 STPX DAC ** X STEP ROUTINE
304 STPY DAC ** Y STEP ROUTINE
305 DIYP DAC ** DIAGONAL X-DIR+UP STEP ROUTINE
306 DIYN DAC ** DIAGONAL X-DIR+DOWN STEP ROUTINE
307 TMP DAC ** UNIVERSAL POINTER
309 * GLUE IN THE MOVEMENT