TITLE HACK -- MAKE VT100'S FLASH .DECSAV ;OUTPUT CSAVE FORMAT EVEC: JRST HACK ;ENTWEE VECTA JRST HACK .FVERS_6,, HACK: RESET MOVEI 1,.FHSLF RPCAP TRO 3,SC%WHL\SC%OPR EPCAP ;MAKE ME GOD PROM: HRROI 1,[ASCIZ /TTY: /] PSOUT MOVEI 1,.PRIIN MOVEI 3,10 ;OKTAL NIN ERJMP NINERR SETZM WHITE SKIPGE 2 SETOM WHITE MOVM 2,2 MOVEM 2,LOCN MOVEI 1,.TTDES(2) GTTYP ERJMP PROM CAIE 2,20 ;.TT100 JRST NOT100 GETIT: HRROI 1,[ASCIZ /ITERATIONS: /] PSOUT MOVEI 1,.PRIIN MOVEI 3,10. NIN ERJMP ITRERR MOVEM 2,NITER MOVN 14,2 HRLZ 14,14 speed: HRROI 1,[ASCIZ /Ms between flashes: /] PSOUT MOVEI 1,.PRIIN MOVEI 3,10 ;OKTAL NIN ERJMP speed MOVM 2,2 skipn 2 movei 2,333. movem 2,slptim LOOP: JSP 15,X ;REVERSE SCREEN JSP 15,Y ;BLACK SCREEN SKIPLE NITER ;LISTEN OR COUNT? JRST [AOBJN 14,LOOP ;COUNTED JRST FINE] ;COUNT DONE MOVEI 1,.PRIOU ;MUST HAVE WNTED LISTEN SIBE CAIA JRST LOOP FINE: SKIPE WHITE ;LA COMEDIA E'.... JSP 15,X TLAH: HALTF CONT: SKIPG NITER JRST LOOP JRST GETIT Y: SKIPA 2,[-1,,[.BYTE 7 ? 33 ? "[ ? "? ? "5 ? "l ? 0]] ;Black X: HRROI 2,[.BYTE 7 ? 33 ? "[ ? "? ? "5 ? "h ? 0] ;White MOVE 1,LOCN TRO 1,.TTDES TTMSG ERJMP [HRROI 1,[ASCIZ /? TTMSG FAILED /] PSOUT JRST TLAH] SNOZ: MOVE 1,slptim DISMS JRST (15) LOCN: 5 WHITE: 0 slptim: 0 NITER: 0 ITRERR: HRROI 1,[ASCIZ /? Type a decimal number of iterations <= 0 for listen to tty for stop > 0 for n flashes /] PSOUT JRST GETIT NINERR: SKIPA 1,[-1,,[ASCIZ / Type an Octal number, negative if screen is to be left white /]] NOT100: HRROI 1,[ASCIZ /? Not a Vt100 /] PSOUT JRST PROM END 3,,EVEC