;-*-Midas-*- TITLE Super Sender! ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; Format: ;;; ;;; :PSEND ^C ;;; ;;; Output: ;;; ;;; [Msg from UNAME:] ;;; ;;; ;;; ;;; Only one line JCL sent, and only same-site sends allowed. ;;; ;;; Written By SPC@AI ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; A=1 ;General purpose B=2 C=3 J=10 ;Pointer to JCL CLIC==1 ;CLI output chnl USRC==2 ;USR: chnml to see if target logged in JCLEN==20 ;Allow 80. chars of jcl UNAME: 0 ;Your uname TARGET: 0 ;Uname of who you're sending to. COLON: ": BLM: "M LS: "s LG: "g LEF: "f LR: "r LO: "o LM: "m SP: 40 ;Space OPENB: "[ CLOSEB: "] CR: 15 ;Carriage Return JCLBUF: BLOCK JCLEN -1 DEFINE SYSCAL OP,ARGS .CALL [SETZ ? SIXBIT /OP/ ? ARGS ((SETZ))] TERMIN BEGIN: .BREAK 12,[..RJCL,,JCLBUF] ;Get JCL MOVE J,[440700,,JCLBUF] ;Make pointer to same MOVE A,[440600,,TARGET] ;Pointer (6bit) to target .SUSET [.RUNAME,,UNAME] GETARG: ILDB B,J ;Get a char from JCL CAME B,SP ;Uname ends in any of ^C, ^M, ^_, or Space CAIN B,^M JRST GETEXT CAIE B,^_ CAIN B,^C JRST GETEXT AOS C ;This is the Cth char CAMG B,SP ADDI B,100 CAIL B,140 SUBI B,40 SUBI B,40 ;Make sixbit IDPB B,A ;Put chr in Target CAIE C,6 ;Was this 6th char (last possible)? JRST GETARG ;Nope. ILDB B,J GETEXT: CAME B,SP .VALUE [ASCIZ / :No message??  :KILL /] SYSCAL OPEN,[%CLBIT,,.BII %CLIMM,,USRC [SIXBIT /USR/] ;Target logged in? TARGET [SIXBIT /HACTRN/]] .VALUE [ASCIZ / :Not logged in.  :KILL /] .CLOSE USRC, SENDIT: SYSCAL OPEN,[%CLBIT,,.UAO %CLIMM,,CLIC [SIXBIT /CLI/] ;Open CLI to send TARGET [SIXBIT /HACTRN/]] .VALUE [ASCIZ / :The cretin is gagged..  :KILL /] .IOT CLIC,[177] .IOT CLIC,OPENB ;"[" .IOT CLIC,BLM .IOT CLIC,LS .IOT CLIC,LG .IOT CLIC,SP .IOT CLIC,LEF .IOT CLIC,LR .IOT CLIC,LO .IOT CLIC,LM .IOT CLIC,SP MOVE A,UNAME SETZ B, ROTC A,6 ;UNAME ADDI B,40 .IOT CLIC,B JUMPN A,.-4 .IOT CLIC,CLOSEB .IOT CLIC,COLON .IOT CLIC,CR .IOT CLIC,SP .IOT CLIC,SP OUTMSG: ILDB C,J CAIE C,^M CAIN C,^C JRST CLOSE CAIN C,^_ JRST CLOSE .IOT CLIC,C JRST OUTMSG CLOSE: .CLOSE CLIC, .BREAK 16,44000 END BEGIN