.TITLE DAMMIT .IDENT /V01M/ ; ; PROGRAM TO DO RAMDOM MESSAGES TO TERMINAL TO RELIEVE OPERATOR ; FRUSTRATION ; ; WILL OUTPUT RANDOM MESSAGE (DEPENDANT ON SECONDS OF TIME) ; TO TERMINAL ; FROM [1,2]DAMMIT.MSG ; .MCALL DIR$,GTIM$,EXIT$S .MCALL FINIT$,QIOW$,OPEN$,FSRSZ$ .MCALL FDBDF$,FDRC$A,FDOP$A,FDBK$A,READ$,WAIT$ GETTIM: GTIM$ TIMBUF TIMBUF: .BLKW 8. TIOUT: QIOW$ IO.WLB,2,2,,,, MOFDB: FDBDF$ FDRC$A FD.RWM!FD.RAN FDOP$A 1,MODSPT FDBK$A BUFR,512.,,1,IOST MODSPT: .WORD 0,0 .WORD DIRSIZ,DIRNM .WORD FILSIZ,FILNM DIRNM: .ASCII /[1,2]/ DIRSIZ=.-DIRNM FILNM: .ASCII /DAMMIT.MSG/ FILSIZ=.-FILNM .EVEN BUFR: .BLKB 512. .EVEN IOST: .BLKW 2 VBNADR: .WORD 0,0 FSRSZ$ 0 .PAGE DAMMIT:: FINIT$ OPEN$ #MOFDB,#FO.RD!FA.SHR BCS EXIT DIR$ #GETTIM ;GET TIME MOV TIMBUF+G.TISC,R0 ;GET SECONDS .IF DF R$$EIS ASH #-3,R0 .IFF ;DF R$$EIS ASR R0 ASR R0 ASR R0 .ENDC ;DF R$$EIS INC R0 MOV R0,VBNADR+2 READ$ #MOFDB,,,#VBNADR BCS EXIT WAIT$ #MOFDB CMP #1,IOST BNE EXIT MOV TIMBUF+G.TISC,R0 ;GET SECONDS BIC #^C<7>,R0 .IF DF R$$EIS ASH #6,R0 .IFF ;DF R$$EIS ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 ASL R0 .ENDC ;DF R$$EIS ADD #BUFR,R0 MOV R0,TIOUT+Q.IOPL DIR$ #TIOUT EXIT: EXIT$S ;AND LEAVE .END DAMMIT