C VTTEST - TO TEST VTLIB FUNCTIONS ON A VT100. C CFILE=DEFIN.RAT ===== GENERAL CHARACTER SET DEFINITIONS =============== C PCN #73, DEC 79, ADD CARET,TILDE FOR .NOT. C C C FILE=VTDEFIN.RAT DEFINES FOR VTLIB C C INTEGER I, J, LED ( 5 ), ATT ( 4 ) LOGICAL * 1 GRAF ( 30 ) C FILE= CVTLIB.RAT FOR USE WITH VTLIB ROUTINES COMMON / CVTLIB / VTYPE, VTLUN INTEGER VTYPE INTEGER VTLUN C DATA LED / 48, 49, 50, 51, 52 / DATA ATT / 49, 52, 53, 55 / C VTYPE = - 99 VTLUN = 5 C CALL VTSET ( - 102 ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( 60 ) CALL VTDCA ( 0, 0 ) CALL VTCLRS ( 50 ) WRITE ( 5, 100 ) 100 FORMAT ( 54H ANSI-VT100 MODE. SHOULD BE AT HOME (0,0) AND CLEARED $ ) C CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTCLRS ( 50 ) CALL VTDCA ( 22, 22 ) WRITE ( 5, 55 ) 55 FORMAT ( 30H DIRECT CURSOR ADDRESSING TEST ) DO 20000 J = 1, 24 CALL VTDCA ( J, J * 3 ) CALL VTSEND ( 1HX ) 20000 CONTINUE 20001 CONTINUE CALL VTSEND ( 0 ) DO 20002 J = 24, 1, - 1 CALL VTDCA ( J, ( 25 - J ) * 3 ) CALL VTSEND ( 1HY ) 20002 CONTINUE 20003 CONTINUE CALL VTDCA ( 1, 1 ) CALL VTSEND ( 1H0 ) CALL VTDCA ( 1, 80 ) CALL VTSEND ( 1H0 ) CALL VTDCA ( 24, 1 ) CALL VTSEND ( 1H0 ) CALL VTDCA ( 24, 80 ) CALL VTSEND ( 1H0 ) CALL VTSEND ( 0 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) DO 20004 J = 1, 3 CALL VTSET ( 53 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( - 53 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) 20004 CONTINUE 20005 CONTINUE CALL VTDCA ( 22, 1 ) CALL VTCLRS ( 50 ) WRITE ( 5, 101 ) 101 FORMAT ( 32H RELATIVE CURSOR ADDRESSING TEST ) CALL VTDCA ( 1, 1 ) DO 20006 J = 1, 25 CALL VTSEND ( 1HX ) CALL VTCURS ( J, 0 ) CALL VTSEND ( 1HX ) CALL VTCURS ( - J, 0 ) 20006 CONTINUE 20007 CONTINUE CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 18, 1 ) DO 20008 J = 65, 90 CALL VTSEND ( J ) CALL VTCURS ( - 12, J - 41 ) CALL VTSEND ( J + 32 ) CALL VTCURS ( 12, - ( J - 40 ) ) C 20008 CONTINUE 20009 CONTINUE CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) CALL VTCLRS ( 50 ) CALL VTDCA ( 5, 1 ) WRITE ( 5, 61 ) 61 FORMAT ( 34H MARK AND CLEAR STANDARD TAB STOPS / ) DO 20010 J = 1, 9 CALL VTSEND ( 9 ) CALL VT1TAB ( 48 ) CALL VTSEND ( 1HX ) 20010 CONTINUE 20011 CONTINUE CALL VTSEND ( 0 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) WRITE ( 5, 62 ) 62 FORMAT ( / 29H SET NEW TABS AT EVERY 5 COLS / ) DO 20012 J = 1, 14 CALL VTCURS ( 0, 4 ) CALL VT1TAB ( 72 ) CALL VTSEND ( 1HX ) 20012 CONTINUE 20013 CONTINUE CALL VTSEND ( 0 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) WRITE ( 5, 63 ) 63 FORMAT ( / 14H SHOW NEW TABS / ) DO 20014 J = 1, 14 CALL VTSEND ( 9 ) CALL VTSEND ( 1HX ) 20014 CONTINUE 20015 CONTINUE CALL VTSEND ( 0 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) WRITE ( 5, 64 ) 64 FORMAT ( / 34H CLEAR ALL TABS AND TEST THE CLEAR / ) CALL VT1TAB ( 51 ) CALL VTSEND ( 9 ) CALL VTSEND ( 1HX ) CALL VTSEND ( 0 ) CALL MARK ( 1, 4, 2 ) CALL WAITFR ( 1 ) C CALL VTDCA ( 11, 26 ) CALL VTCLRS ( 50 ) WRITE ( 5, 99 ) 99 FORMAT ( 25H LED TEST, WATCH KEYBOARD ) DO 20016 J = 0, 4 CALL VT1LED ( LED ( J + 1 ) ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) 20016 CONTINUE 20017 CONTINUE DO 20018 J = 1, 4 CALL VTSEND ( 7 ) CALL VT1LED ( LED ( 1 ) ) CALL VT1LED ( LED ( J + 1 ) ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) 20018 CONTINUE 20019 CONTINUE CALL VT1LED ( LED ( 1 ) ) C CALL VTSET ( 72 ) CALL VTSET ( 51 ) WRITE ( 5, 98 ) 98 FORMAT ( / 44H WE ARE NOW DOING A TEST OF 132 COLUMN MODE ) CALL MARK ( 1, 3, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( - 51 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) C CALL VTSET ( 72 ) CALL VTCLRS ( 50 ) DO 20020 J = 1, 4 CALL VT1ATT ( ATT ( J ) ) WRITE ( 5, 97 ) I = J + 1 20022 IF (.NOT.( I .LE. 4)) GOTO 20024 CALL VT1ATT ( ATT ( I ) ) WRITE ( 5, 97 ) 97 FORMAT ( 51H TEST OF ADVANCED VIDIO OPTION CHARACTER ATTRIBUTES ) 20023 I = I + 1 GOTO 20022 20024 CONTINUE CALL VT1ATT ( 48 ) 20020 CONTINUE 20021 CONTINUE CALL MARK ( 1, 4, 2 ) CALL WAITFR ( 1 ) CALL VTCLRS ( 50 ) CALL VTDCA ( 8, 1 ) CALL VT1SIZ ( 51 ) WRITE ( 5, 94 ) 94 FORMAT ( 41H+THIS IS AN EXAMPLE OF DOUBLE HEIGHT LINE ) CALL VTCURS ( 1, 0 ) CALL VT1SIZ ( 52 ) WRITE ( 5, 94 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 14, 1 ) CALL VT1SIZ ( 54 ) WRITE ( 5, 93 ) 93 FORMAT ( 40H+THIS IS AN EXAMPLE OF DOUBLE WIDTH LINE ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( 55 ) CALL VTDCA ( 1, 55 ) WRITE ( 5, 66 ) 66 FORMAT ( 32H EXAMPLE OF WRAP MODE01234567890 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( - 55 ) CALL VTDCA ( 20, 54 ) WRITE ( 5, 67 ) 67 FORMAT ( 36H EXAMPLE OF NON WRAP MODE01234567890 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 8, 1 ) CALL VT1SIZ ( 53 ) CALL VTCURS ( 1, 0 ) CALL VT1SIZ ( 53 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 14, 1 ) CALL VT1SIZ ( 53 ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) CALL VTCLRS ( 50 ) C CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTSEND ( 27 ) CALL VTSEND ( 35 ) CALL VTSEND ( 56 ) CALL VTSEND ( 0 ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 12, 50 ) CALL VTCLRL ( 48 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 12, 30 ) CALL VTCLRL ( 49 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTCLRL ( 50 ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) DO 20025 J = 24, 15, - 1 CALL VTDCA ( J, 1 ) CALL VTCLRS ( 48 ) 20025 CONTINUE 20026 CONTINUE DO 20027 J = 1, 9, 1 CALL VTDCA ( J, 80 ) CALL VTCLRS ( 49 ) 20027 CONTINUE 20028 CONTINUE CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTCLRS ( 50 ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) C CALL VTDCA ( 24, 1 ) CALL VTSET ( 52 ) DO 20029 J = 1, 10 WRITE ( 5, 96 ) 96 FORMAT ( 22H THIS IS SMOOTH SCROLL ) 20029 CONTINUE 20030 CONTINUE CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( - 52 ) DO 20031 J = 1, 10 WRITE ( 5, 95 ) 95 FORMAT ( 20H THIS IS JUMP SCROLL ) 20031 CONTINUE 20032 CONTINUE CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( 52 ) CALL VTCLRS ( 50 ) C J = 1 20033 IF (.NOT.( J .LT. 4)) GOTO 20035 CALL VTDCA ( J, J ) CALL VTSET ( - 100 ) WRITE ( 5, 92 ) 92 FORMAT ( 26H SAVE CURSOR POSITION HERE ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( J + 18, J + 66 ) WRITE ( 5, 91 ) 91 FORMAT ( 10H JUMP HERE ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( - 101 ) WRITE ( 5, 90 ) 90 FORMAT ( 27H RETURN TO HERE ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) C 20034 J = J + 1 GOTO 20033 20035 CONTINUE CALL VTSET ( 72 ) CALL VTCLRS ( 50 ) WRITE ( 5, 81 ) 81 FORMAT ( 34H THIS IS OUTSIDE THE SCROLL REGION ) WRITE ( 5, 81 ) WRITE ( 5, 81 ) WRITE ( 5, 81 ) CALL VTDCA ( 19, 1 ) WRITE ( 5, 81 ) WRITE ( 5, 81 ) WRITE ( 5, 81 ) WRITE ( 5, 81 ) CALL VT1SR ( 7, 18 ) CALL VTDCA ( 6, 1 ) DO 20036 J = 1, 30 CALL VTCURS ( 0, J ) WRITE ( 5, 82 ) 82 FORMAT ( 33H THIS IS INSIDE THE SCROLL REGION ) 20036 CONTINUE 20037 CONTINUE DO 20038 J = 1, 22 CALL VTSET ( - 103 ) 20038 CONTINUE 20039 CONTINUE DO 20040 J = 1, 16 CALL VTSET ( - 104 ) 20040 CONTINUE 20041 CONTINUE CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 20, 1 ) CALL VTCLRS ( 48 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 6, 80 ) CALL VTCLRS ( 49 ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) CALL VT1SR ( 1, 24 ) CALL VTSET ( 72 ) CALL VTCLRS ( 50 ) C CALL VTDCA ( 7, 6 ) CALL VTLABL ( 13HGRAPHICS TEST ) DO 20042 J = 0, 30 GRAF ( J ) = J + 95 20042 CONTINUE 20043 CONTINUE CALL VTSET ( 70 ) DO 20044 J = 1, 12 CALL VTDCA ( J + 5, 20 ) WRITE ( 5, 83 ) GRAF 83 FORMAT ( 1X, 30A1 ) 20044 CONTINUE 20045 CONTINUE CALL MARK ( 1, 3, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( 71 ) C C C VT52 MODE TESTS************* C CALL VTSET ( 50 ) C CALL VTSET ( 72 ) CALL VTCLRS ( 48 ) WRITE ( 5, 77 ) 77 FORMAT ( 42H+VT52 MODE TESTS, SHOULD BE HOME AND CLEAR ) DO 20046 J = 1, 24 CALL VTDCA ( J, J * 3 ) CALL VTSEND ( 1HX ) 20046 CONTINUE 20047 CONTINUE CALL VTSEND ( 0 ) CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) DO 20048 J = 24, 1, - 1 CALL VTDCA ( J, ( 25 - J ) * 3 ) CALL VTSEND ( 1HY ) 20048 CONTINUE 20049 CONTINUE CALL VTSEND ( 0 ) CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) C CALL VTDCA ( 1, 1 ) CALL VTCLRS ( 48 ) CALL VTDCA ( 22, 1 ) WRITE ( 5, 101 ) CALL VTDCA ( 1, 1 ) DO 20050 J = 1, 25 CALL VTSEND ( 1HX ) CALL VTCURS ( J, 0 ) CALL VTSEND ( 1HX ) CALL VTCURS ( - J, 0 ) 20050 CONTINUE 20051 CONTINUE CALL MARK ( 1, 1, 2 ) CALL WAITFR ( 1 ) CALL VTDCA ( 18, 1 ) DO 20052 J = 65, 90 CALL VTSEND ( J ) CALL VTCURS ( - 12, J - 51 ) CALL VTSEND ( J + 32 ) CALL VTCURS ( 12, - ( J - 50 ) ) 20052 CONTINUE 20053 CONTINUE CALL MARK ( 1, 2, 2 ) CALL WAITFR ( 1 ) C CALL VTSET ( 72 ) CALL VTCLRS ( 48 ) CALL VTDCA ( 5, 6 ) CALL VTLABL ( 18HVT52 GRAPHICS TEST ) DO 20054 J = 0, 30 GRAF ( J ) = J + 95 20054 CONTINUE 20055 CONTINUE CALL VTSET ( 70 ) DO 20056 J = 1, 12 CALL VTDCA ( J + 5, 20 ) WRITE ( 5, 83 ) GRAF 20056 CONTINUE 20057 CONTINUE CALL MARK ( 1, 3, 2 ) CALL WAITFR ( 1 ) CALL VTSET ( 71 ) C CALL VTSET ( 60 ) CALL VTCLRS ( 50 ) CALL VTDCA ( 11, 1 ) CALL VT1SIZ ( 51 ) CALL VTDCA ( 12, 1 ) CALL VT1SIZ ( 52 ) CALL VTDCA ( 10, 1 ) WRITE ( 5, 70 ) 70 FORMAT ( 21H VTLIB TEST COMPLETED ) WRITE ( 5, 70 ) C CALL EXIT END