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 ,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