# VTTEST - TO TEST VTLIB FUNCTIONS ON A VT100. # INCLUDE/NL DEFIN INCLUDE VTDEFIN # MACRO (WAIT=CALL MARK(1,$,2);CALL WAITFR(1)) # INTEGER I, J, LED(5), ATT(4) CHARACTER GRAF(30) INCLUDE CVTLIB # DATA LED /48,49,50,51,52/ #DECIMAL VALUES OF CHARS USED TO CONTROL LEDS DATA ATT /49,52,53,55/ #DECIMAL VALUES OF CHARS USED TO CONTROL CHAR ATTRIBUTES # VTYPE=VT52 VTLUN=5 # CALL VTSET (RESETVT) #RESET TERMINAL(VT100) WAIT(2) CALL VTSET (ANSIMODE) CALL VTDCA (0,0) CALL VTCLRS (ALL) WRITE (5,100) 100 FORMAT (" ANSI-VT100 MODE. SHOULD BE AT HOME (0,0) AND CLEARED") # WAIT(1) CALL VTCLRS (ALL) CALL VTDCA (22,22) WRITE (5,55) 55 FORMAT (" DIRECT CURSOR ADDRESSING TEST") DO J=1,24 { CALL VTDCA (J,J*3) CALL VTSEND ("X") } CALL VTSEND (FLUSH) DO J=24,1,-1 { CALL VTDCA (J,(25-J)*3) CALL VTSEND ("Y") } CALL VTDCA (1,1) CALL VTSEND ("0") CALL VTDCA (1,80) CALL VTSEND ("0") CALL VTDCA (24,1) CALL VTSEND ("0") CALL VTDCA (24,80) CALL VTSEND ("0") CALL VTSEND (FLUSH) WAIT(1) DO J=1,3 { #SCREEN LIGHT/DARK BACKGROUND TEST CALL VTSET (WHITE) WAIT(1) CALL VTSET (BLACK) WAIT(1) } CALL VTDCA (22,1) CALL VTCLRS (ALL) WRITE (5,101) 101 FORMAT (" RELATIVE CURSOR ADDRESSING TEST") CALL VTDCA (1,1) DO J=1,25 { CALL VTSEND ("X") CALL VTCURS (J,0) CALL VTSEND ("X") CALL VTCURS (-J,0) } WAIT(1) CALL VTDCA (18,1) DO J=65,90 { #DECIMAL ALPHABET CALL VTSEND (J) CALL VTCURS(-12,J-41) CALL VTSEND (J+32) CALL VTCURS (12,-(J-40)) } # WAIT(2) CALL VTCLRS(ALL) CALL VTDCA (5,1) WRITE (5,61) 61 FORMAT (" MARK AND CLEAR STANDARD TAB STOPS"/) DO J=1,9 { CALL VTSEND (TAB) CALL VT1TAB (CLRTAB) #TAB STOP TEST CALL VTSEND ("X") #MARK LOCATION OF TAB } CALL VTSEND (FLUSH) WAIT(1) WRITE (5,62) 62 FORMAT (/" SET NEW TABS AT EVERY 5 COLS"/) DO J=1,14 { CALL VTCURS (0,4) CALL VT1TAB (SETTAB) CALL VTSEND ("X") } CALL VTSEND (FLUSH) WAIT(1) WRITE (5,63) 63 FORMAT (/" SHOW NEW TABS"/) DO J=1,14 { CALL VTSEND (TAB) CALL VTSEND ("X") } CALL VTSEND (FLUSH) WAIT (1) WRITE (5,64) 64 FORMAT (/" CLEAR ALL TABS AND TEST THE CLEAR"/) CALL VT1TAB (CLEARALL) CALL VTSEND (TAB) CALL VTSEND ("X") CALL VTSEND (FLUSH) WAIT(4) # CALL VTDCA (11,26) CALL VTCLRS (ALL) WRITE (5,99) 99 FORMAT (" LED TEST, WATCH KEYBOARD") DO J=0,4 { CALL VT1LED (LED(J+1)) WAIT(1) } DO J=1,4 { CALL VTSEND (BELL) CALL VT1LED (LED(1)) CALL VT1LED (LED(J+1)) WAIT(1) } CALL VT1LED (LED(1)) # CALL VTSET (HOME) CALL VTSET (COL132) WRITE (5,98) 98 FORMAT (/" WE ARE NOW DOING A TEST OF 132 COLUMN MODE") WAIT(3) CALL VTSET (COL80) WAIT(1) # CALL VTSET (HOME) CALL VTCLRS (ALL) DO J=1,4 { CALL VT1ATT (ATT(J)) WRITE (5,97) FOR (I=J+1; I <= 4; INCREMENT (I)) { CALL VT1ATT (ATT(I)) WRITE (5,97) 97 FORMAT (" TEST OF ADVANCED VIDIO OPTION CHARACTER ATTRIBUTES") } CALL VT1ATT (48) } WAIT(4) CALL VTCLRS (ALL) CALL VTDCA (8,1) CALL VT1SIZ (HIGHTOP) WRITE (5,94) 94 FORMAT ("+THIS IS AN EXAMPLE OF DOUBLE HEIGHT LINE") CALL VTCURS (1,0) CALL VT1SIZ (HIGHBOT) WRITE (5,94) WAIT(1) CALL VTDCA (14,1) CALL VT1SIZ (WIDECHAR) WRITE (5,93) 93 FORMAT ("+THIS IS AN EXAMPLE OF DOUBLE WIDTH LINE") WAIT(2) CALL VTSET (WRAP) CALL VTDCA (1,55) WRITE (5,66) 66 FORMAT (" EXAMPLE OF WRAP MODE01234567890") WAIT(1) CALL VTSET (NOWRAP) CALL VTDCA (20,54) WRITE (5,67) 67 FORMAT (" EXAMPLE OF NON WRAP MODE01234567890") WAIT(1) CALL VTDCA (8,1) CALL VT1SIZ (NORMAL) CALL VTCURS (1,0) CALL VT1SIZ (NORMAL) #RESET TO STANDARD CHARACTERS WAIT(1) CALL VTDCA (14,1) CALL VT1SIZ (NORMAL) WAIT(2) CALL VTCLRS (ALL) # WAIT(1) CALL VTSEND (ESCAPE) CALL VTSEND (SHARP) CALL VTSEND (DIG8) #SCREEN FULL OF E'S CALL VTSEND (FLUSH) WAIT(2) CALL VTDCA (12,50) CALL VTCLRL (FROMCURS) #ERASE LAST PART OF LINE WAIT(1) CALL VTDCA (12,30) CALL VTCLRL (TOCURS) #ERASE FIRST PART OF LINE WAIT(1) CALL VTCLRL (ALL) #ERASE WHOLE LINE WAIT(2) DO J=24,15,-1 { CALL VTDCA (J,1) CALL VTCLRS (FROMCURS) #BOTTOM HALF OF SCREEN } DO J=1,9,1 { CALL VTDCA (J,80) CALL VTCLRS (TOCURS) #TOP HALF OF SCREEN } WAIT(1) CALL VTCLRS (ALL) #WHOLE SCREEN WAIT(2) # CALL VTDCA (24,1) CALL VTSET (SMOOTH) DO J=1,10 { WRITE (5,96) 96 FORMAT (" THIS IS SMOOTH SCROLL") } WAIT(1) CALL VTSET (JUMP) DO J=1,10 { WRITE (5,95) 95 FORMAT (" THIS IS JUMP SCROLL") } WAIT(1) CALL VTSET (SMOOTH) CALL VTCLRS (ALL) # FOR (J=1; J < 4; INCREMENT(J)) { CALL VTDCA (J,J) CALL VTSET (SAVEC) #CURSOR POSITION SAVE/RESTORE TEST WRITE (5,92) 92 FORMAT (" SAVE CURSOR POSITION HERE") WAIT(1) CALL VTDCA (J+18,J+66) WRITE (5,91) 91 FORMAT (" JUMP HERE") WAIT(1) CALL VTSET (RESTOREC) WRITE (5,90) 90 FORMAT (" RETURN TO HERE ") WAIT(1) } # CALL VTSET (HOME) CALL VTCLRS(ALL) WRITE (5,81) 81 FORMAT (" 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) #SET REGION CALL VTDCA (6,1) DO J=1,30 { CALL VTCURS (0,J) WRITE (5,82) 82 FORMAT (" THIS IS INSIDE THE SCROLL REGION") } DO J=1,22 CALL VTSET (SCROLLDWN) #REVERSE INDEX TO SCROLL DOWNWARD DO J=1,16 CALL VTSET (SCROLLUP) #AND BACK UP TO CENTER WAIT (2) CALL VTDCA (20,1) CALL VTCLRS (FROMCURS) WAIT(1) CALL VTDCA (6,80) CALL VTCLRS (TOCURS) WAIT(2) CALL VT1SR (1,24) #RESET TO FULL SCREEN CALL VTSET (HOME) CALL VTCLRS (ALL) # CALL VTDCA (7,6) CALL VTLABL ("GRAPHICS TEST") DO J=0,30 GRAF(J)=J+95 CALL VTSET (GRAPH) #TEST GRAPHICS CHARACTER SET DO J=1,12 { CALL VTDCA (J+5,20) WRITE (5,83) GRAF 83 FORMAT (1X,30A1) } WAIT(3) CALL VTSET (NOGRAPH) # # # VT52 MODE TESTS************* # CALL VTSET (NONANSI) #SWITCH TO VT52 MODE # CALL VTSET (HOME) CALL VTCLRS (FROMCURS) WRITE (5,77) 77 FORMAT ("+VT52 MODE TESTS, SHOULD BE HOME AND CLEAR") DO J=1,24 { CALL VTDCA (J,J*3) CALL VTSEND ("X") } CALL VTSEND (FLUSH) WAIT(1) DO J=24,1,-1 { #DIRECT CURSOR ADDRESSING TEST CALL VTDCA (J,(25-J)*3) CALL VTSEND ("Y") } CALL VTSEND (FLUSH) WAIT(2) # CALL VTDCA (1,1) CALL VTCLRS (FROMCURS) CALL VTDCA (22,1) WRITE (5,101) CALL VTDCA (1,1) DO J=1,25 { CALL VTSEND ("X") CALL VTCURS (J,0) CALL VTSEND ("X") CALL VTCURS (-J,0) } WAIT(1) CALL VTDCA (18,1) DO J=65,90 { #DECIMAL ALPHABET CALL VTSEND (J) CALL VTCURS(-12,J-51) CALL VTSEND (J+32) CALL VTCURS (12,-(J-50)) } WAIT(2) # CALL VTSET (HOME) CALL VTCLRS(FROMCURS) CALL VTDCA (5,6) CALL VTLABL ("VT52 GRAPHICS TEST") DO J=0,30 GRAF(J)=J+95 CALL VTSET (GRAPH) #TEST GRAPHICS CHARACTER SET DO J=1,12 { CALL VTDCA (J+5,20) WRITE (5,83) GRAF } WAIT(3) CALL VTSET (NOGRAPH) # CALL VTSET (ANSIMODE) #RETURN TO VT100 FOR GRAND ENDING CALL VTCLRS (ALL) CALL VTDCA (11,1) CALL VT1SIZ (HIGHTOP) CALL VTDCA (12,1) CALL VT1SIZ (HIGHBOT) CALL VTDCA (10,1) WRITE (5,70) 70 FORMAT (" VTLIB TEST COMPLETED") WRITE (5,70) # CALL EXIT END