%include "edwin:SPECS.INC" %begin ! EDWIN test program 5 ! A demonstration program for the EDWIN Cursor Addressable terminal 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 (" 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