mirror of
https://github.com/PDP-10/its.git
synced 2026-02-09 18:01:01 +00:00
PSEND - super sender.
This commit is contained in:
committed by
Eric Swenson
parent
21896d5513
commit
942faf8f57
@@ -192,6 +192,7 @@ A list of [known ITS machines](doc/machines.md).
|
||||
- PRINT, print long-named files.
|
||||
- PROBE, probe inside job and display various information about it.
|
||||
- PRUFD, list files on disk volume.
|
||||
- PSEND, super sender.
|
||||
- PTY, pseudo-tty.
|
||||
- PWMAIL, a limited version of MAIL when not yet logged in under PWORD.
|
||||
- PWORD, replacement for sys;atsign hactrn that requires registered logins.
|
||||
|
||||
@@ -792,6 +792,10 @@ respond "*" ":link sys1;ts s,sys;ts send\r"
|
||||
respond "*" ":link sys3;ts snd,sys;ts send\r"
|
||||
respond "*" ":link sys3;ts sned,sys;ts send\r"
|
||||
|
||||
# psend
|
||||
respond "*" ":midas sys3;ts psend_sysen2;b\r"
|
||||
expect ":KILL"
|
||||
|
||||
# more lisp packages
|
||||
respond "*" ":link lisp;tty fasl,liblsp;tty fasl\r"
|
||||
respond "*" "complr\013"
|
||||
|
||||
132
src/sysen2/b.5
Executable file
132
src/sysen2/b.5
Executable file
@@ -0,0 +1,132 @@
|
||||
;-*-Midas-*-
|
||||
|
||||
TITLE Super Sender!
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;
|
||||
;;; Format:
|
||||
;;;
|
||||
;;; :PSEND <uname> <message> ^C
|
||||
;;;
|
||||
;;; Output:
|
||||
;;;
|
||||
;;; [Msg from UNAME:]
|
||||
;;; <Message>
|
||||
;;;
|
||||
;;;
|
||||
;;; 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
|
||||
Reference in New Issue
Block a user