diff --git a/Makefile b/Makefile index 5e8f71a7..7025adc2 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ SRC = system syseng sysen1 sysen2 sysen3 sysnet kshack dragon channa \ spcwar rwg libmax rat z emaxim rz maxtul aljabr cffk das ell ellen \ jim jm jpg macrak maxdoc maxsrc mrg munfas paulw reh rlb rlb% share \ tensor transl wgd zz graphs lmlib pratt quux scheme gsb ejs mudsys \ - draw wl taa tj6 budd sharem ucode rvb kldcp math as imsrc + draw wl taa tj6 budd sharem ucode rvb kldcp math as imsrc gls DOC = info _info_ sysdoc sysnet syshst kshack _teco_ emacs emacs1 c kcc \ chprog sail draw wl pc tj6 share _glpr_ _xgpr_ inquir mudman system \ xfont maxout ucode moon acount alan channa fonts games graphs humor \ diff --git a/build/misc.tcl b/build/misc.tcl index 30cd1b00..a703200c 100644 --- a/build/misc.tcl +++ b/build/misc.tcl @@ -478,6 +478,14 @@ expect ":KILL" respond "*" ":cwd budd\r" respond "*" ":palx live palx\r" +# Cookie Bear +respond "*" ":midas gls; ts check_gls; check\r" +respond "DEBUGP==" "0\r" +respond "ITEM:" "COOKIE\r" +respond "SUBJECT:" "COOKIE\r" +respond "NAME:" "BEAR\r" +expect ":KILL" + # itsdev respond "*" ":link syseng;chsdef 999999,system;chsdef >\r" respond "*" ":midas device;chaos itsdev_bawden;itsdev\r" diff --git a/doc/programs.md b/doc/programs.md index 16629932..21d2cea6 100644 --- a/doc/programs.md +++ b/doc/programs.md @@ -39,6 +39,7 @@ - COMIFY, convert HEX to COM format. - COMPLR, Lisp compiler. - COMSAT, mail server. +- COOKIE BEAR, prank. - CMD, DDT subroutines. - CRC, compute file CRC. - CREATE, creates a text file in your home directory from console input. diff --git a/src/gls/check.51 b/src/gls/check.51 new file mode 100644 index 00000000..cc7a6e47 --- /dev/null +++ b/src/gls/check.51 @@ -0,0 +1,357 @@ + +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 + \ No newline at end of file diff --git a/src/gls/check.foo b/src/gls/check.foo new file mode 100644 index 00000000..fe140aa5 --- /dev/null +++ b/src/gls/check.foo @@ -0,0 +1 @@ +SYS:ATSIGN HACTRN,DSK:GLS;TS CHECKîU.  \ No newline at end of file