!!!!!!!!!!!!!!  Standard Video Terminal Interface  !!!!!!!!!!!!!
! ASCII control characters:
constinteger  BS=8, TAB=9, LF=10, FF=12, RT=13, ESC=27
constinteger  DEL=127
! Terminal mode:
constinteger  SINGLE=1<<0, NOECHO=1<<2, PASSDEL=1<<3,
              NOTYPEAHEAD=1<<4, NOTERMECHO=1<<5,
              CONTROLTERM=1<<6, NOEVENT9=1<<7, LEAVECONTROLS=1<<8,
              SPECIALPAD=1<<13, NODELECHO=1<<14, INSERTMODE=1<<15
constinteger  SCREENMODE=controlterm+notermecho+leavecontrols+passdel
! Video FUNction/MODE flag values:
constinteger  INTENSE=1, REVERSE=2, UNDERLINE=4, BLINK=8,
              GRAPHICAL=16, SHADE=31
constinteger  FULLSCROLL=64, ANYSCROLL=128; !FUN only
constinteger  CANINSERT=32;                !FUN only
constinteger  NOSCROLL=64, FREEZE=128; !MODE only
recordformat  WININFO(byteinteger  top,rows,left,cols,
                                   row,col,fun,mode)
externalrecord (wininfo)spec  VDU
externalrecord (wininfo)spec  WIN
externalintegerspec  key u, key d, key l, key r
externalintegerspec  VTTYPE
!
externalroutinespec  DEFINE VIDEO   alias  "VTDEFVIDEO"(integer  emastype)
externalroutinespec  SET VIDEO MODE alias  "VTSETVIDEO"(integer  mode)
externalroutinespec  PUSH WINDOW    alias  "VTPUSH"
externalroutinespec  POP WINDOW     alias  "VTPOP"
externalroutinespec  SWOP WINDOW    alias  "VTSWOP"
externalroutinespec  SET FRAME      alias  "VTSETFRAME"(integer  t,r,l,c)
externalroutinespec  SET MODE       alias  "VTSETMODE"(integer  m)
externalroutinespec  SET SHADE      alias  "VTSETSHADE"(integer  s)
externalroutinespec  CLEAR LINE     alias  "VTCROL"
externalroutinespec  CLEAR FRAME   alias  "VTCFRAME"
externalroutinespec  SCROLL         alias  "VTSCROLL"(integer  t,b,n)
externalroutinespec  VT AT          alias  "VTSETCURSOR"(integer  row,col)
externalroutinespec  GOTOXY        alias  "VTGOTOXY"(integer  x,y)
!
!$IF AMDAHL
{%recordformat EVENTFM(%integer event,sub,extra, %string(255) message)
{%externalrecord(eventfm)%spec EVENT %alias "VTEVENT"
{%externalroutinespec OPEN INPUT    %alias "VTOPIN"(%integer s,
{                                          %string(255) file)
{%externalroutinespec OPEN OUTPUT   %alias "VTOPOUT"(%integer s,
{                                          %string(255) file)
{%externalroutinespec CLOSE INPUT   %alias "VTCLIN"
{%externalroutinespec CLOSE OUTPUT  %alias "VTCLOUT"
{%externalintegerfnspec OUTSTREAM   %alias "VTOUTS"
!$FINISH
externalroutinespec  SELECT INPUT   alias  "VTSELIN"(integer  i)
externalroutinespec  SELECT OUTPUT  alias  "VTSELOUT"(integer  i)
externalroutinespec  PRINT SYMBOL   alias  "VTPSYM"(integer  sym)
externalroutinespec  SPACE          alias  "VTSP"
externalroutinespec  SPACES         alias  "VTSPS"(integer  n)
externalroutinespec  NEWLINE        alias  "VTNL"
externalroutinespec  NEWLINES       alias  "VTNLS"(integer  n)
externalroutinespec  PRINT STRING   alias  "VTPSTRING"(string (255) s)
externalroutinespec  WRITE          alias  "VTWRITE"(integer  v,p)
externalroutinespec  VTPROMPT       alias  "VTPROMPT"(string (255) s)
externalroutinespec  READ SYMBOL    alias  "VTRSYM"(integername  k)
externalintegerfnspec  NEXT SYMBOL  alias  "VTNSYM"
externalroutinespec  SKIP SYMBOL    alias  "VTSSYM"
externalroutinespec  READ           alias  "VTREAD"(integername  v)

constinteger  BANTAM=6, ESPRIT=13
end  of  file