*20 ///PLOTDOT /PLOTS DOT MATRIX GENERATED BY /PROGRAM DISDOT SEGMNT 5 *20 /BETA REGISTER DEFINITIONS FILLST=1 PLOPTR=2 GETPTR=3 SEGCNT=10 FILCNT=11 SAMCNT=12 ROLCNT=13 /INITIAL QUESTIONS BEG, LIF 4 INUNIT JMP WRDSET /SET WORD1 & 2 D1, LIF 4 INTRACT CJ1 M1 /ALL?: CJ1, T1 J1 T1, YES NO 0 J1, JMP BEG /CR JMP GETALL /YES JMP GETTAB /NO JMP D1 /0 //ROUTINES FOR PLOTING ALL FILES GETALL, LIF 4 DIRINI /GET FIRST FILE NAME LIF 4 MGETNAM JMP END /END OF ALL FILES /INITIALIZE FILE NAME FOR COMPARISON MORALL, JMP COMINI /CHECK FOR MORE FILES IN MATRIX LIF 4 MGETNAM JMP ENDALL /END OF ALL FILES /COMPARE FILE NAME TO SEE IF CONTINUATION /OF CURRENT MATRIX JMP COMPAR JMP .-4 /MATRIX CONT. /GOT ALL FILE NAMES OF MATRIX JMP SETNXT /SET FOR NEXT MATRIX JMP PLOTIT /PLOT MATRIX /INITIALIZE FOR NEXT MATRIX ENDSWA, JMP NXTINI JMP MORALL /GET NEXT MATRIX //ROUTINES TO PLOT FROM A TABLE OF FILE NAMES GETTAB, LIF 4 TABSET 0 /TABLE NUMBER LDF 7 3000 400 LIF 4 INTABLE 0 LIF 4 TABINI 0 /GET FIRST FILE NAME BEGTAB, LIF 4 TABGET 0 JMP FIN /END OF TABLE JMP .-4 /NOT FOUND /ZERO ENTRY LIF 4 TABZER 0 /INITIALIZE FILE NAME FOR COMPARISON MORTAB, JMP COMINI /CHECK FOR MORE FILES IN MATRIX LIF 4 TABGET 0 JMP ENDTAB /END OF TABLE JMP BEGTAB /NOT FOUND /ZERO ENTRY LIF 4 TABZER 0 /COMPARE FILE NAME TO SEE IF CONTINUATION /OF CURRENT MATRIX JMP COMPAR JMP MORTAB+1 /MATRIX CONT. /GOT ALL FILE NAMES OF MATRIX JMP SETNXT /SET FOR NEXT MATRIX JMP PLOTIT /PLOT MATRIX /INITIALIZE FOR NEXT MATRIX ENDSWT, JMP NXTINI JMP MORTAB /GET NEXT MATRIX //ROUTINES USED BY GETALL AND GETTAB /INITIALIZE FILE NAME FOR COMPARISON COMINI, LDF 4 SET I FILLST FILE-1 LDA FILNAM STA I FILLST STC F1 LDA FILNAM+1 STA I FILLST STC F2 JMP 0 /COMPARE CURRENT FILE NAME WITH LAST /FILE NAME TO SEE IF CONTINUATION OF /CURRENT MATRIX COMPAR, SET 17 0 LDF 4 LDA FILNAM SAE I F1, 0 /LAST FILNAM JMP ENDDOT /NOT CONT. /MATCH, STORE IN FILE LIST STA I FILLST /INCREMENT LAST FILE NUMBER FOR COMPARISON LDA I 1 ADM F2 LDA FILNAM+1 SAE I F2, 0 /LAST FILNAM+1 JMP ENDDOT+1 /NOT CONT. /MATCH, STORE IN FILE LIST STA I FILLST JMP 17 ENDDOT, XSK I FILLST CLR STA FILLST XSK I 17 JMP 17 /LIST OF FILE NAMES OF CURRENT MATRIX FILE, 0 /1 0 0 /2 0 0 /3 0 0 /4 0 0 /TERMINATOR /SET UP FOR NEXT MATRIX /SAVE LAST FILE NAME WHICH WAS NOT A /CONTINUATION OF XURRENT MATRIX SETNXT, LDF 4 LDA FILNAM STA I FN1, 0 LDA FILNAM+1 STA I FN2, 0 JMP 0 /INITIALIZE FOR NEXT MATRIX /GET SAVED FILE NAME AND PUT INTO DECODE NXTINI, LDF 4 LDA FN1 STA FILNAM LDA FN2 STA FILNAM+1 JMP 0 /END OF ALL DIRIECTORIES /ALTER PROGRAM TO STOP AFTER NEXT PLOT ENDALL, LDA I JMP END STC ENDSWA JMP ENDSWA-1 /END OF ALL TABLE ENTRIES /ALTER PROGRAM TO STOP AFTER NEXT PLOT ENDTAB, LDA I JMP FIN STC ENDSWT JMP ENDSWT-1 //FINISHED ALL PLOTTING //COME HERE TO STOP FIN, LIF 4 /ENTRY FROM GETTAB MISSNG 0 NOP /MISSING ENTRIES END, LIF 4 /ENTRY FROM GETALL STOP //ROUTINE TO PLOT DOT MATRIX PLOTIT, LDA 0 STC PLOTX SET I FILLST FILE-1 /FILE NAME LIST JMP FILGET /GET 1ST FILE JMP SETPAR /SET PARAMETERS JMP PENINI /INITIALIZE PEN SKP NEWFIL, JMP FILGET /2ND FILE ON JMP SETROL /WORD ROTATION LDA I 3777 STC DSTRT /DATA ADDRESS SET I FILCNT -4 /QUARTERS PER FILE /UNWIND PACKED FILE AND PLOT LINE BY LINE UNWIND, SETPTR /SET STORE PTR SET I GETPTR DSTRT, 0 /DATA POINTER MORDAT, LDF 6 LDA I GETPTR ROTCOM, 0 /ROL N BCL I 7775 LDF 7 STA I PLOPTR XSK I SAMCNT /LINE DONE? JMP MORDAT /NO /LINE UNWOUND, PLOT IT SETPTR LDF 7 MORPLO, LDA I PLOPTR AZE JMP PLOT1 /1, SPIKE JMP PLOT0 /0, NO SPIKE FINDOT, XSK I SAMCNT /DONE? JMP MORPLO /NO /CURRENT LINE PLOTTED /INCREMENT ROTCOM LDA ROTCOM ADD KP1 STC ROTCOM /RESET PEN FOR NEXT LINE STC X ADD Y ADA I 4 /LINE SPACING STC Y STC PC /PEN UP JMP PLO /MOVE PEN /MATRIX DONE? XSK I SEGCNT JMP .+3 /NO /MATRIX DONE, PLOT FILE NAME AND LEAVE JMP NAMSET PLOTX, JMP /QUARTER DONE? XSK I ROLCNT JMP UNWIND /NO, DO NEXT LINE /QUARTER DONE, FILE DONE? XSK I FILCNT SKP /NO JMP NEWFIL /YES, NEXT FILE /FILE NOT DONE, SET DATA PTR TO NEXT QN LDA FILCNT /-3,-2 OR -1 ADA I QNPTR /DATA PTR LIST STC 5 LDA 5 STC DSTRT JMP SETROL JMP UNWIND /DATA PTR LIST. STARTING ADDRESSES OF QNS 2377 2777 3377 QNPTR, 3777 //ROUTINES USED BY PLOTIT /INITIALIZE PEN TO PLOT MATRIX PENINI, SET 17 0 OPR I 4 0 0 -0 LDA I 310 /200(10)=2 INCHES STC Y STC X STC PC JMP PLO JMP 17 /SET WORD1 AND WORD2 FOR FILE INPUT WRDSET, LDF 4 LDA I 7105 /Q7 DF5 STA WORD1 /PBLOCK LDA I 4406 /Q4-7 DF6 STA WORD2 /DATA JMP 0 /GET FIRST FILE NAME OF MATRIX, PUT IN /OUTPUT BUFFER AND PLOT NAMSET, LDA 0 STC SETX LDA FILE /FILE NAME LIST STC NAME SFLOAT FILE+1 SETWRD 0400 OUTPUT NAME+1 /PLOT NAME OPR 11 30 0 5 DISBUF JMP .-5 OPR 1 30 .+3 JMP .-3 OPR 5 OPR 2 30 SETX, JMP /EXIT DISBUF, 0 0 0 /X -300 /Y LDF 5 NAME 4001 4000 NAME, 0 0 0 3400 /ROUTINE TO BRING IN NEXT FILE FROM MATRIX /FILE NAME LIST FILGET, SET 17 0 LDF 4 LDA I FILLST AZE I /END OF LIST JMP PLOTX /YES, LEAVE STA FILNAM LDA I FILLST STA FILNAM+1 LIF 4 MGETFIL JMP PLOTX /NOT FOUND JMP 17 /SET PARAMETERS FOR MATRIX PLOT SETPAR, LDA P0 /DATA TYPE SAE I -0 /DISDOT CODE JMP PLOTX /NOT DOT MATRIX FILE LDA P20 /NO. OF SEGMENTS (LINES) COM STA SEGCNT /CNTR STC DESSEG LDA P17 /SAMPS PER SEG COM STC DESSAM JMP 0 DESSAM, 0 DESSEG, 0 /INITIALIZE WORD ROTATION COMMAND SETROL, SET I ROLCNT -14 /BITS PER WORD LDA I ROL 1 STC ROTCOM JMP 0 /SET POINTER FOR DATA PICK UP SETPTR=JMP . SET I PLOPTR 3777 SET SAMCNT DESSAM /SAMPS PER LINE JMP 0 /ROUTINES TO PLOT LINE /NO SPIKE, LIFT PEN PLOT0, STC PC /CLR PC, PEN UP JMP STUFX /SPIKE, LOWER PEN PLOT1, LDA I KP1, 1 STC PC /PC=1, PEN DOWN /INCREMENT X TO PLOT POINT STUFX, ADD X ADA I 3 /POINT SIZE STC X JMP PLO /PLOT POINT JMP FINDOT /LEAVE /PLOT POINT PLO, LDA 0 STC PLOX OPR I 4 X, 0 Y, 0 PC, 0 /PEN CONTROL OPR 1 25 PLOX JMP .-3 OPR 5 PLOX, JMP /MESSAGES AND BUFFERS M1, TEXT &ALL?: & AAEND, 0 /PBLOCK FOLLOWS NOLIST //PBLOCK /PARAMETER BLOCK ASSIGNMENTS / P0=1400 /DATA TYPE P17=1417 /NO.SAMP IN SEG P20=1420 /NO.SEG IN ENSM / /COMMAND DECODER ASSIGNMENTS / STOP=JMP 20 INUNIT=JMP 22 DIRINI=JMP 26 INTRACT=JMP 42 TABSET=JMP 45 INTABLE=JMP 46 MISSNG=JMP 47 TABGET=JMP 50 TABZER=JMP 52 TABINI=JMP 54 MGETNAM=JMP 55 MGETFIL=JMP 56 / /COMMAND LOCATIONS. / FILNAM=2320 WORD1=2323 WORD2=2324 /COMMAND NUMBERS. / YES=17 NO=20 / /EXEC3 ASSIGNMENTS / OPR=500 /FLOATING POINT DEFINITIONS. / SETWRD=746 OUTPUT=750 SFLOAT=754 / /PBLOCK /JUNE 73 ///END PLOTDOT /DEC 73 /JLB