1
0
mirror of https://github.com/PDP-10/its.git synced 2026-02-15 04:16:21 +00:00
Files
PDP-10.its/src/gls/check.51
2018-07-02 17:56:04 +02:00

357 lines
6.4 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
TITLE COOKIE BEAR
A=1 ;ACS FOR MAIN PROGRAM
AA=2
B=3
C=4
D=5
E=6
F=7
Q=11 ;ACS FOR INTERRUPT HANDLING
R=12
S=13
T=14
U=15
TYIC=1 ;TTY INPUT
TYOC=2 ;TTY OUTPUT
CLIC=3 ;CORE LINK INTERRUPT OUTPUT
CLAC=4 ;CORE LINK ANSWER INPUT
IF1,[
PRINTX \DEBUGP==\
.TTYMAC DEBUG/
DEBUGP==DEBUG
TERMIN
PRINTX \ITEM: \
.TTYMAC ITEM/
DEFINE MSG X
DEFINE MSGX SUBJ
[ASCIZ \X\]
TERMIN
MSGX ITEM
TERMIN
DEFINE ITEMCHARS
IRPC X,,[ITEM]
"X
TERMIN
TERMIN
TERMIN
PRINTX \SUBJECT: \
.TTYMAC SUBJ
DEFINE SCONC X
X!!SUBJ!!TERMIN
TERMIN
PRINTX \NAME: \
.TTYMAC NAME/
DEFINE NAMEP X
<IFSN X,NAME,[1]>,TERMIN
DEFINE NCONC X
X!!NAME!!TERMIN
TERMIN
] ;END OF IF1
LOC 42
JSR INT ;TO MOBY INTERRUPT HANDLER
LOC 100
GO: .TRANDL UNTRAN
JFCL
.OPEN TYIC,[0,,SIXBIT \ TTYFOOBARTYI \]
JSP AA,KILL
.OPEN TYOC,[1,,SIXBIT \ TTYFOOBARTYO \]
JSP AA,KILL
MOVEI F,50
SETZM JCLBUF
.BREAK 12,[5,,JCLBUF]
READ: SKIPE JCLBUF
JRST READ1
.IOT TYOC,[^M] ;OUTPUT CR, LF, *
.IOT TYOC,[^J]
.IOT TYOC,["*]
READ1: MOVEI A,6
SETZ C,
MOVE E,[440700,,JCLBUF]
SKIPA B,[440600,,C]
IN: IDPB D,B
SKIPN JCLBUF
.IOT TYIC,D
SKIPE JCLBUF
ILDB D,E
CAIN D,177
JRST READ
CAIL D,140
SUBI D,40
CAIL D,40
CAILE D,137
JRST DONE
SUBI D,40
SOJGE A,IN
DONE: MOVEM C,HACKER
SKIPN DEBUG
.VALUE [ASCIZ \:PROCED :DISOWN \]
.SUSET [.SSNAM,,[SIXBIT \.MSGS.\]]
.SUSET [.SMASK,,[400000]]
.SUSET [.SPICL,,[-1]]
.SUSET [.RUIND,,A]
IFE NAMEP ANIMALS, MOVE E,UNAMES(A)
IFN NAMEP ANIMALS, MOVE E,[440700,,[NCONC ASCIZ \,\]]
MOVEM E,MYUNAM
MOVEI A,40.*30.
MOVEI B,0
TRY: .OPEN CLIC,CLIOPN
JSP AA,KILLP
.IOT CLIC,[177]
SKIPA C,[440700,,[SCONC ASCIZ \MESSAGE FROM , \]]
.IOT CLIC,D
ILDB D,C
JUMPN D,.-2
SKIPA C,MYUNAM
.IOT CLIC,D
ILDB D,C
JUMPN D,.-2
.IOT CLIC,[^M]
.IOT CLIC,[^J]
SKIPA C,MYUNAM
.IOT CLIC,D
ILDB D,C
JUMPN D,.-2
.IOT CLIC,["@]
.CALL MACHIN
.VALUE
REPEAT 2,[
SETZ D,
LSHC D,6
ADDI D,40
.IOT CLIC,D
] ;END OF REPEAT 2
.IOT CLIC,[40]
.RTIME E,
MOVEI AA,6
MOVE C,[440600,,E]
TIMOUT: ILDB D,C
ADDI D,40
.IOT CLIC,D
TRNE AA,6
TRNN AA,1
JRST .+2
.IOT CLIC,[":]
SOJG AA,TIMOUT
.IOT CLIC,[40]
HRR C,LMSGS(B)
HRLI C,440700
SHOVE: ILDB D,C
JUMPE D,ALLOUT
.IOT CLIC,D
JRST SHOVE
ALLOUT: .CLOSE CLIC,
CAIL B,NMSGS-1
JSP AA,KILL
MOVE AA,A
.SLEEP AA,
IMULI A,6
IDIVI A,7
CAIGE A,5*30.
MOVEI A,5*30.
AOJ B,
CAIE B,NMSGS-1
JRST TRY
MOVEI AA,15.*30.
.SLEEP AA,
JRST TRY
KILLP: SOJLE F,KILL
MOVEI E,5*30.
.SLEEP E,
JRST -2(AA)
KILL: .LOGOUT
.VALUE
UNTRAN: 0
SIXBIT \HACTRN\
MYUNAM: 0 ;UNAME OF THIS PARTICULAR COOKIE BEAR
CLIOPN: 1,,'CLI ;CLI OPEN SPECS
HACKER: BLOCK 1 ;UNAME OF HACKER TO PESTER
HACTRN: SIXBIT \HACTRN\ ;WE :SEND MESSAGES TO HIS HACTRN
CLAOPN: 2,,'CLA ;CLA OPEN SPECS - TO RECEIVE MESSAGES FROM HIS HACTRN
LCLABF==8
CLABUF: BLOCK LCLABF ;BUFFER FOR CLA INPUT
COOKIE: ITEMCHARS
LCOOKIE==.-COOKIE
INT: 0 ;MOBY INTERRUPT HANDLER
0
.OPEN CLAC,CLAOPN
.DISMISS INT+1
MOVE T,[-LCLABF,,CLABUF]
.IOT CLAC,T
MOVE T,[440700,,CLABUF+2]
MOVE Q,CLABUF
CAME Q,HACKER
JRST YANK
MOVE Q,CLABUF+1
CAME Q,HACTRN
JRST YANK
MOVNI S,LCOOKIE
SKPTIM: JSP Q,GETCLA
CAIE R,":
JRST SKPTIM
JSP Q,GETCLA
CAIE R,":
JRST YANK
FIND: JSP Q,GETCLA
CAME R,COOKIE+LCOOKIE(S)
JRST YANK
AOJL S,FIND
MOVEI U,THANX-LMSGS
EXCH U,B
MOVEI S,TRY
EXCH S,INT+1
JSP Q,GETCLA
MOVEM S,INT+1
MOVEM U,B
YANK: JSP Q,GETCLA
JRST YANK
GETCLA: CAIE T,[010700,,CLABUF+LCLABF-1]
JRST NXTCHR
MOVE T,[-LCLABF,,CLABUF]
.IOT CLAC,T
MOVE T,[440700,,CLABUF]
NXTCHR: ILDB R,T
CAIN R,^C
JRST ENDINT
CAIN R,":
JRST (Q)
CAILE R,"Z
SUBI R,40
CAIG R,"Z
CAIGE R,"A
JRST GETCLA
JRST (Q)
ENDINT: .CLOSE CLAC,
.DISMISS INT+1
LMSGS:
IRP QUUX,,[[!SUBJ!?
],[WILL YOU GIVE ME !SUBJ!?
],[I WANT !SUBJ!. PLEASE GIVE ME !SUBJ!?
],[DON'T YOU WANT TO GIVE ME !SUBJ!?
],[I WANT !SUBJ!! PLEASE GIVE ME !SUBJ!.
],[PLEASE GIVE ME !SUBJ!. ANY KIND IS OK WITH ME.
],[AREN'T YOU GOING TO GIVE ME !SUBJ!?
],[I WANT !SUBJ!!!!!!!
],[!SUBJ! !SUBJ! !SUBJ! !SUBJ! !SUBJ!!!!!!
],[YOU OLD MEANY! COME ON, GIVE ME !SUBJ!!
],[!SUBJ!!!!!!!!!!!!!!!!!
],[YOU'D BETTER GIVE ME !SUBJ!, OR ELSE!
],[YOU MISERABLE HACKER! GIVE ME !SUBJ!!
],[!SUBJ!, !SUBJ!, I WANT !SUBJ!!
],[YOU BETTER GIVE ME !SUBJ!, OR I'LL TELL MY
UNCLE GFR ON YOU! (UNCLE GFR = GR*M F*L* R**P*R)
],[&"%$"@*^@"&$%!!!! I WANT !SUBJ!!!! GIMME !SUBJ!!!!
],[
(OR (GIVEP YOU ME '|!SUBJ!|)
(COND ((ZEROP (BOOLE 1 1 (RANDOM)))
(GFR-DESTROY (DIRECTORY-OF YOU)))
(T (GUN YOU 'HACTRN))))
],[YOU'VE GOT ONE LAST CHANCE TO GIVE ME !SUBJ!!
],[OKAY FOR YOU! I DON'T WANT !SUBJ! FROM YOU ANYWAY!
]]
MSG [QUUX]
TERMIN
NMSGS==.-LMSGS
THANX: MSG [OH THANK YOU, THANK YOU FOR GIVING ME !SUBJ!! GOODBYE!
]
IFE NAMEP ANIMALS,[
UNAMES: 440700,,[ASCIZ \SYSJOB\]
440700,,[ASCIZ \CORJOB\]
440700,,[ASCIZ \RABBIT\]
440700,,[ASCIZ \LION\]
440700,,[ASCIZ \TIGER\]
440700,,[ASCIZ \RABBIT\]
440700,,[ASCIZ \BEETLE\]
440700,,[ASCIZ \TURKEY\]
440700,,[ASCIZ \BEAR\]
440700,,[ASCIZ \WUMPUS\]
440700,,[ASCIZ \MONKEY\]
440700,,[ASCIZ \ORANGUTANG\]
440700,,[ASCIZ \ELEPHANT\]
440700,,[ASCIZ \PUMA\]
440700,,[ASCIZ \HYENA\]
440700,,[ASCIZ \WOLF\]
440700,,[ASCIZ \FOX\]
440700,,[ASCIZ \CREATURE\]
440700,,[ASCIZ \BIRD\]
440700,,[ASCIZ \EAGLE\]
440700,,[ASCIZ \FALCON\]
440700,,[ASCIZ \GIRAFFE\]
440700,,[ASCIZ \BEAGLE\]
440700,,[ASCIZ \PENGUIN\]
440700,,[ASCIZ \AARDVARK\]
440700,,[ASCIZ \PLATYPUS\]
440700,,[ASCIZ \TERMITE\]
440700,,[ASCIZ \CHIMPANZEE\]
440700,,[ASCIZ \KOALA\]
440700,,[ASCIZ \PANDA\]
440700,,[ASCIZ \GAZELLE\]
440700,,[ASCIZ \ANTELOPE\]
440700,,[ASCIZ \DEER\]
440700,,[ASCIZ \GOAT\]
440700,,[ASCIZ \RABBIT\]
440700,,[ASCIZ \LION\]
440700,,[ASCIZ \TIGER\]
440700,,[ASCIZ \RABBIT\]
440700,,[ASCIZ \BEETLE\]
440700,,[ASCIZ \PENGUIN\]
440700,,[ASCIZ \AARDVARK\]
440700,,[ASCIZ \PLATYPUS\]
440700,,[ASCIZ \TERMITE\]
440700,,[ASCIZ \CHIMPANZEE\]
440700,,[ASCIZ \KOALA\]
440700,,[ASCIZ \PANDA\]
440700,,[ASCIZ \GAZELLE\]
440700,,[ASCIZ \ANTELOPE\]
440700,,[ASCIZ \DEER\]
440700,,[ASCIZ \GOAT\]
440700,,[ASCIZ \RABBIT\]
440700,,[ASCIZ \LION\]
440700,,[ASCIZ \TIGER\]
440700,,[ASCIZ \RABBIT\]
440700,,[ASCIZ \BEETLE\]
440700,,[ASCIZ \TURKEY\]
440700,,[ASCIZ \BEAR\]
440700,,[ASCIZ \WUMPUS\]
440700,,[ASCIZ \MONKEY\]
440700,,[ASCIZ \ORANGUTANG\]
440700,,[ASCIZ \ELEPHANT\]
440700,,[ASCIZ \PUMA\]
440700,,[ASCIZ \HYENA\]
440700,,[ASCIZ \WOLF\]
] ;END OF IFE NAMEP ANIMALS,
MACHIN: SETZ
SIXBIT \SSTATU\
REPEAT 5, 2000,,E
402000,,E ;MACHINE NAME
JCLBUF: BLOCK 100
DEBUG: DEBUGP
END GO