;Controller! by Crispin Bivans 3/3/89
;This program allows you to effectively be typing on somebody
;else's keyboard(While they are typing too)
SEARCH SYS
SEARCH SYSSYM
SEARCH TRM
DEFINE TTAB X
PUSH D1
MOV #<-1_8.+X>,D1
TCRT
POP D1
ENDM
TYPECR <Controller by Crispin A. Bivans!>
TRM
JNE START
CRLF
ERROR: TYPECR <No jobname?>
EXIT
START:
CLR JOBPRG(A0)
LEA A1,BUFFER
PACK
PACK
LEA A1,BUFFER
MOV JOBTBL,A4
JOBSCH: MOV (A4)+,D3
JMI ABORT
JEQ JOBSCH
MOV D3,A3
CMM @A1,JOBNAM(A3)
JNE JOBSCH
MOV JOBTRM(A3),A5
INC A2
JOBIDX A0
TYPECR <Controlling....Press | to exit.>
KEY: MOV JOBTRM(A0),A5
ORW #<T$IMI!T$ECS>,@A5
CLR D1
CTRLC CCC
TCKI
BNE KEY
KBD CCC
RET: CMPB D1,#13.
JNE NORET
CRLF
BR ETI
NORET: CMPB D1,#127.
JNE EIT
MOVB #8.,D1
TTY
MOVB #32.,D1
TTY
MOVB #8.,D1
TTY
MOVB #127.,D1
BR ETI
EIT: CMPB D1,#'|
JEQ ABORT
TTY
ETI: MOV JOBTRM(A3),A5
TRMICP
JMP KEY
CCC: TYPECR <^C>
ANDW #^C<J.CCC>,JOBSTS(A0)
CLRW JOBCMZ(A0)
ORW #J.CCA,JOBTYP(A3)
MOVB #3.,D1
MOV JOBTRM(A3),A5
TRMICP
JMP KEY
ABORT: TYPECR <Bye!>
EXIT
BUFFER: BLKB 30.
BYTE 0
EVEN
EXIT
END