include "$edwin:.inc"
begin
   ! EDWIN test program 5
   ! A demonstration program for the EDWIN CATs driver.

   const integer GOOD=1, LOW=0
   integer SYM,TYPE

   routine BOX (integer XL,YL,XR,YR)
      MOVE ABS (XL,YL)
      LINE REL (0,YR-YL)
      LINE REL (XR-XL,0)
      LINE REL (0,-(YR-YL))
      LINE REL (-(XR-XL),0)
   end

   routine PAGE 1
      NEWFRAME
      MOVE ABS (12,21)
      TEXT ("This introduces a new version of")
      MOVE ABS (10,6)
      SET CHAR QUALITY (GOOD)
      TEXT ("EDWIN")
      MOVE ABS (41,4)
      SET CHAR QUALITY (LOW)
      TEXT ("for the ")
      TEXT ("Visual 200") if TYPE=200
      TEXT ("Bantam 550") if TYPE=550
      TEXT ("Hazeltine")  if TYPE&95='E'
      TEXT (" terminals")
      BOX (5,3,74,22)
      MOVE ABS (0,1)
      UPDATE
   end

   routine PAGE2
      routine CROSS
         LINE REL (20,20)
         MOVE REL (-20,0)
         LINE REL (20,-20)
      end

      NEW FRAME
      MOVE ABS (0,2)
      CROSS
      MOVE ABS (55,2)
      CROSS
      MOVE ABS (31,12)
      TEXT ("When things go wrong")
      MOVE ABS (32,10)
      TEXT ("Don't get cross!!")
      UPDATE
   end

   Prompt ("Terminal type: ")
   Read (TYPE)
   Initialise for (TYPE)
   Aspect ratioing (0); ! Off
   Window (0, 79, 0, 23)

   Print string ("Enter line style required as a number between 0 and 4")
   Newline
   Prompt ("Number: ")
   Read (SYM) until 0<=SYM<=7
   Set line style (SYM)
   Read symbol (SYM) until SYM=NL

   Prompt ("Hit RETURN key")

   Page1
   Read symbol (SYM) until SYM = NL
   Page2

   Terminate edwin
end of program