; HP-Style Screen Words... 11/5/07 ; ESC - outputs escape sequence ; row column POS - positions cursor for next print ; CLS - clear the screen ; forground background COLOR - ANSI only ; -COLOR - ANSI only ; TERMINAL - toggle HP (default) and ANSI terminal OCTAL VARIABLE TTYPE TTYPE 0 PUT ;set to HP by default DEFINE TERMINAL "Changing to " $PRINT TTYPE DUP GET IFZ #1 ELSE #0 ENDIF PUT TTYPE GET IFZ "HP" ELSE "ANSI" ENDIF $PRINT " Terminal" $PRINT END DEFINE ESC TTYPE GET IFZ 33 PCHR ;esc ELSE 15533 PWRD ;esc[ ENDIF END DEFINE POS TTYPE GET IFZ ESC 23141 PWRD ;"&a" SWAP DEC #0 SWAP $DSTR $PRINT 162 PCHR ;"r" DEC #0 SWAP $DSTR $PRINT 103 PCHR ;"C" ELSE ESC SWAP #0 SWAP $DSTR $PRINT 73 PCHR ;";" #0 SWAP $DSTR $PRINT 110 PCHR ;"H" ENDIF END DEFINE CLS TTYPE GET IFZ 15510 PWRD ;ESC H 15512 PWRD ;ESC J ELSE ESC 31112 PWRD ;"2J" #1 #1 POS ENDIF END DEFINE COLOR TTYPE GET IFZ DROP DROP ELSE ;not optimizing this... good enough... ESC #0 SWAP 000050 ADD $DSTR "0;" $PRINT $PRINT 000155 PCHR ESC DUP CASE > 000007 "1;" 000026 DEFAULT "0;" 000036 ENDCASE $PRINT ADD #0 SWAP $DSTR $PRINT 000155 PCHR ENDIF END DEFINE -COLOR TTYPE GET IFNZ ESC "0m" $PRINT ENDIF END CONSOLE