*20 /THIS ROUTINE READS 1 CHANNEL AT UP /TO 100/SEC AND OUTPUTS TO TAPE VIA /F0S DEFINITION. ASSUMES CALLED BY /S X=FX (CHN,PTS,SYNC,RATE) PMODE INTEGER=53 CHAR=66 PUSHJ=4540 EVAL=1613 ERROR3=4566 FINT=4407 FPUT=6000 FGET=0 FMUL=4000 FSUB=2000 FADD=1000 FNOR=7000 BOTTOM=35 B1FLG=2125 B2FLG=B1FLG+4 FEXP=4620 FEXT=0 FDIV=3000 /A DASH OF INDIVIDUALITY FLAC=44 EFUN3I=136 CLKFLG=2661 CLEN=6134 CLSK=6131 CLSA=6135 CLSA=6135 CLLR=6132 PFX=411 *BOTTOM FX-25 *PFX FX *4200 LISTAPE -7 EJECT /**********CHANNEL********** FX, JMS I INTEGER /CHANNEL NO. AND P37 TAD P1OO /MAKE A SAM DCA I SAMPT TAD CHAR TAD MCCMA /COMMA SZA CLA ERROR3 /17.07 /**********NUMBER OF POINTS********** PUSHJ /GET NO. PTS EVAL-1 FINT FPUT TOTLCT FEXT JMS I INTEGER CMA IAC DCA I COUNTP /NO. POINTS,MOD 4K ISZ I COUNTP /ACCOUNTS FOR INIT READING CMA DCA I PCNT2 /INTEGER IS MOD 4K TAD FLAC+1 /SO SET UP 2ND COUNT SNA JMP .+3 /LESS THAN 4K CMA DCA I PCNT2 TAD FILTAB /F0 PARAMETERS DCA TAPTR CDF 10 TAD I TAPTR /FILE TYPE MUST BE S CDF 0 TAD M2 SZA CLA ERROR3 /17.31 ISZ TAPTR TAD P27 /SET UP LENGTH DCA NOBLKS DCA NOBLKS+1 CDF 10 TAD I TAPTR /LENGTH CDF 0 DCA NOBLKS+2 TAD NOBLKS+2 SPA CLA /ABS TBLK GETS 7777 JMP NOCHK FINT FGET NOBLKS FNOR NOBLKS FPUT NOBLKS FGET TOTLCT FDIV M128 /NO. REQUESTED FADD NOBLKS /ENUF ROOM? FEXT JMS I INTEGER SPA CLA ERROR3 /17.53 EJECT NOCHK, ISZ TAPTR CDF 10 TAD I TAPTR /UNIT CDF 0 RAR /SAV UNIT IN LINK AND P3 /XTENDED UNIT BITS TAD P1030 DCA I PXUNIT TAD I PXUNIT DCA CUNIT RTL /RETRIEVE UNIT RTL /FROM LINK TAD P706 /WRI DCA I TPUPTR TAD I TPUPTR DCA CORDER TAD P6000 DCA I PBUFSW /1ST BUFFER TAD P6000 DCA I PBFSW ISZ TAPTR CDF 10 TAD I TAPTR /1ST TBLK CDF 0 DCA I PBLK TAD I PBLK DCA CBLOCK IOF LINC LMODE LDA I /FLD 1, XTEN ADDR, CUNIT, 1030 /AND NO PAUSE AXO LDA I 6000 TMA CORDER, 0 /WRI 1ST TBLK CBLOCK, 0 /TO BE SURE STD JMP .-1 PDP PMODE CLA ION JMP I PSYNC EJECT P37, 37 P1OO, 100 MCCMA, -254 PCNT2, COUNT2 TOTLCT, 0;0;0 FILTAB, 2135 /FOCAL-12S F0 TABLE /FILE TYPE (1,2,3=U,S,F) -LENGTH - UNIT - 1ST BLOCK TAPTR, 0 NOBLKS, 27;0;0 M128, 10;5777;7777 M1, -1 P27, 27 P3, 3 M2, -2 P1030, 1030 P6000, 6000 PXUNIT, XUNIT PBUFSW, BUFFPT PBFSW, BUFFSW P706, 706 COUNTP, COUNT TPUPTR, TPUNIT PBLK, BLKPTR PSYNC, SYNCH SAMPT, SETSAM EJECT PAGE / /SET UP THE SYNC FUNCTION / SYNCH, TAD CHAR TAD MCOMA SZA CLA ERROR3 /18.03 /**********SYNC********** PUSHJ EVAL-1 JMS I INTEGER DCA TEMP TAD TEMP TAD M31 SMA SZA CLA ERROR3 /TOO BIG 18.05 TAD TEMP TAD M11 SMA SZA CLA JMP SLINE /SYNC ON SENSE LINE TAD TEMP TAD M5 SMA SZA CLA ERROR3 /DONT GOT NONE 18.19 / /SET UP SYNC ON SENSE SWITCH / TAD TEMP /SS NO. TAD P440 /MAKE AN SNS DCA SYNCSW JMP GETIME / /SET UP FOR SENSE LINE SYNC / SLINE, TAD TEMP /LINE NO. (10-25) TAD M12 AND P17 TAD P400 /MAKE AN SXL DCA SYNCSW GETIME, TAD CHAR /GET TIME BEFORE SYNC TAD MCOMA SZA CLA ERROR3 /18.32 /**********RATE********** PUSHJ EVAL-1 / /INITIAL DELAY FOR SYNC / IOF LINC LMODE SYNCSW, 0 /SET TO SNS/SXL JMP .-1 PDP PMODE EJECT / /TAKE FIRST READING AND START CLOCK JUSTGO, IOF JMS SAMRTN /READS, STORES A/D FINT /SECS TO 100HZ FMUL M100 FEXT CLLR /CLR MODES CLEN /CLR ENABLES JMS I INTEGER /-NO. COUNTS CLAB /LOAD PRESET REG CLA TAD P100 CLLR TAD P200 CLEN TAD P4600 /REALLY 5100SINCE NO CLR CLLR CLA FINT FGET I PT1 FEXT JMP I .+1 LOOP /ROUTINE TO READ AND STORE VALUES /USING F0; SET UP TO STORE S TYPE /SWITCHES BUFFS AS NECESSARY AND WRITES / SAMRTN, 0 LINC LMODE SETSAM, 0 PDP PMODE CLL RAL /EXP 0 CLL RAL CDF 10 DCA I BUFFPT ISZ BUFFPT DCA I BUFFPT /INSUFFICIENT CDF 0 ISZ BUFFPT /CHECK FOR FULL BUFFER TAD BUFFPT AND P377 SZA CLA JMP I SAMRTN /NOT FULL /TIME TO SWITCH BUFFERS AND /WRITE OUT THIS ONE FULBUF, LINC LMODE STD JMP .-1 LDA I XUNIT, 1030 /FLD1,XTEN ADDR, NO PAUS AXO LDA I BUFFSW, 6000 TMA TPUNIT, 0 /WRI BLKPTR, 0 /TBLK PDP PMODE CLA TAD BUFFSW /SWITCH BUFFERS TAD P400 AND P6400 DCA BUFFSW TAD BUFFSW DCA BUFFPT ISZ BLKPTR NOP JMP I SAMRTN /XIT M100, 7;4700;0 P100, 100 P400, 400 P6400, 6400 P377, 377 BUFFPT, 6000 MCOMA, -254 M11, -11 M12, -12 M5, -5 PT1, TOTLCT P17, 17 TEMP, 0 M31, -31 P440, 440 P200, 200 P4600, 4600 PX1, RTN / /MAKE SURE LAST BUFFER IS MT / CHKLST, CLA TAD PX1 /SET UP FOR PARTIAL BUFF DCA SAMRTN /WHICH SHOULD BE SENT OUT TAD BUFFPT AND P377 SZA CLA JMP FULBUF /WRITE OUT PARTIAL RTN, LINC LMODE STD JMP .-1 PDP PMODE CDF 10 /IN CASE FILES WERE ACTIVE DCA I PB1FLAG /LET FOCAL-12 KNOW THEY DCA I PB2FLAG /ARE GONE CDF 0 ION JMP I EFUN3I /XIT TO FOCAL PB1FLAG, B1FLG PB2FLAG, B2FLG EJECT / /LOOP TO KEEP THINGS GOING / *4154 LOOP, ISZ I PCLKFLG /SET UP WAIT FOR CLOCK TIC ION TAD I PCLKFLG /CLEARED ON CLK INT SZA CLA JMP LOOP+2 /NOT YET IOF JMS I PSAMRTN /ITS TIME ISZ COUNT JMP LOOP ISZ COUNT2 /CHK IF MORE JMP LOOP /YES-KEEP GOING JMP I PCHKLST /FINI COUNT, 0 COUNT2, 0 F4000, 14;3720;0 PSAMRTN, SAMRTN PCHKLST, CHKLST PCLKFLG, CLKFLG