C PROGRAM SENDME.FT C ------------------ C C C C C P. LEMKIN C NATIONAL INSTITUTES OF HEALTH C BETHESDA, MD 20014 C C C C SEPT 23, 1971 C REVISED DECEMBER 4, 1972 C C C INTRODUCTION C ------------- C THE PROGRAM "SENDME" RUNNING ON A PDP8 WITH A PT08 CONNECTION C TO A PDP10 COMPUTER ENABLES THE RECEIPT OF A PDP10 ".DAT" FILE. C 1. RUN "SENDME.SV" ON THE PDP8 TO START THE SYSTEM. C 2. STARTS A SYNCHRONIZING PROGRAM CALLED "SENDIT.SAV" ON C THE PDP10. C 3. REQUESTS A 5 CHARACTER ".DAT" FILE NAME OF THE FILE C LOCATED ON THE PDP10. THE REQUEST IS ON THE PDP8 TTY. C 4. SYNCHRONIZES THE PDP10 WITH THE PDP8 AND SENDS THE C FILE TO THE PDP8 OVER THE PT08. C 4. AN OS/8 ".DA" FILE IS OPENED ON THE PDP8 DSK: AND C THE PDP10 DATA IS ENTERED IN THIS FILE WITH THE SAME C NAME BUT A ".DA" EXTENSION. C 5. THE OS/8 FILE IS CLOSED ON RECEIPT OF THE STRING STARTING C IN COLUMN 1 "ZYXWVU" FROM THE PDP10. C NOTE: TABS ARE CONVERTED BY OS/8 TO A SINGLE SPACE AND C NULL LINES ARE DELETED. C C C C SUBROUTINES USED C --------------- C 1. UTIL2.SB - (IN DECUS, USE PT08 VERSION.) C C C LOADING SEQUENCE C ---------------- C .R LOADER C *SENDME,UTIL2 C *LIB8/L C *$ C .SAVE SYS SENDME.SV C 8K OF CORE IS REQUIRED TO RUN SENDME.SV ON THE PDP8. C C C C C C C SENDS A %%%%%% TO THE PDP10 SENDIT PROGRAM TO REQUEST C THE NEXT LINE OF TEXT. THE ZYXWVU MUST BE TYPED C BY THE DPT USER TO TERMINATE THE FILE. S OPDEF PKCC 6402 S OPDEF PTLS 6416 S OPDEF PKRB 6406 S SKPDF PTSF 6411 S SKPDF PKSF 6401 C DIMENSION JJJ(136),LLL(6),III(3) EQUIVALENCE(ANAME,III(1)) C GO FIND OUT WHAT ITS GOING TO BE CALLED. READ(1,10) ANAME BNAME=ANAME 10 FORMAT(' THE INPUT FILE IS:',A6) C PUT ALL SPACES (.32 DECIMAL) TO 00. DO 777 I=1,3 KKK=III(I) S CLA S TAD \KKK S AND (7700 S TAD (-4000 S SZA CLA S JMP NEXTBYTE S/FIX IT UOP TO ZERO S TAD \KKK S AND (0077 S DCA \KKK SNEXTBYTE, TAD \KKK S AND (0077 S TAD (-40 /SPACE? S SZA CLA S JMP \777 S TAD \KKK S AND (7700 S DCA \KKK 777 III(I)=KKK C FORM THE TERMINATION CONSTANTS -Z,Y,X,W,V,U DO 666 KLM=1,6 666 LLL(KLM)=64*(27-KLM)+32 C C C GO TELL THE PDP10 TO: C TYPE TWO CONTROL/C'S TO GET THE PDP10'S ATTENTION. C .RUN DSK:SENDIT C ANSWER TO THE : WITH CONTENTS OF ANAME CARRIAGRE RETURN C TWO ^C-S DO 543 IJK=1,2 S CLA CLL SZIP3, PTSF S JMP ZIP3 S TAD (203 /CONTROL/C S PTLS S CLA 543 CONTINUE C C C GO RUN "SENDIT" ON THE PDP10. WRITE(2,441)IDUMMY, 441 FORMAT(/,'RUN DSK:SENDIT',I0) S CLA /TYPE A CR NO LF S TAD (215 SZIP1, PTSF S JMP ZIP1 S PTLS S CLA C WAIT FOR : S CLA SZIP2, PKSF S JMP ZIP2 S PKRB S AND (177 S TAD (200 S TAD (-": S SZA CLA S JMP ZIP2 /NOT YET C OK SOCK THE FILE NAME TO IT WRITE(2,442)BNAME 442 FORMAT(A5,/) C C C C GO OPEN THE DISK FILE CALL OOPEN('DSK',ANAME) C C SET THE ECHO CONSTANT XTLINE='%%%%%%' C C SYNCHRONIZE THE PDP10 IFLAG=-1 C C C C LOOP HERE RECEIVING STUFF. 30 WRITE(2,31) XTLINE, 31 FORMAT(A6) C "HAND" PRINT THE CARRAIAGE RETURN- NO LINE FEED SQCQ, CLA S PKCC /CLEAR THE PT08 INPUT S PTSF S JMP QCQ /NO S TAD (215 /CR S PTLS C WAIT FOR THE LINE FEED SQBQ, PKSF S JMP QBQ S PKRB S AND (177 S TAD (200 S TAD (-212 /LINE FEED S SZA CLA S JMP QBQ /NOT YET. C SEE IF STILL SYNCHRONIZING IF(IFLAG)881,882,881 881 IFLAG=0 GOTO 30 882 CONTINUE C 39 READ(3,38) (JJJ(I),I=1,136) C C TEST FOR FILE TERMINATION ZYXW. 37 DO 834 IJK=1,6 JL=JJJ(IJK) LJ=LLL(IJK) C IF(JL-LJ)33,834,33 834 CONTINUE GOTO 34 C C PRINT ONLY THE LAST SPACES. 33 DO 501 K1=1,136 NEND=137-K1 JTRIM=JJJ(NEND) S CLA S TAD \JTRIM S AND (7700 /TOPE BYTE S TAD (-4000 /-SPACE S DCA \JTRIM IF(JTRIM)502,501,502 501 CONTINUE 502 WRITE(4,38) (JJJ(I),I=1,NEND) 38 FORMAT(136A1) GOTO 30 34 CALL OCLOSE READ(1,333)JUNK 333 FORMAT(' DONE!, SWITCH BACK TO DPT:, TYPE CONTINUE.',A5) CALL EXIT 1244 WRITE(1,1245) 1245 FORMAT('ERROR ECHO CHARACTER.') END