! ! ! this program will be used for display purposes at a convention. ! ! ++INCLUDE DSK0:AMGSYM.BSI[7,6] ! AMIGOS XCALL library MAP1 BLACK,F,6,0 MAP1 WHITE,F,6,1 MAP1 BLUE,F,6,2 MAP1 MAGENTA,F,6,3 MAP1 RED,F,6,4 MAP1 YELLOW,F,6,5 MAP1 GREEN,F,6,6 MAP1 CYAN,F,6,7 MAP1 COLOR,F,6 MAP1 XLOCATION,F,6 MAP1 YLOCATION,F,6 MAP1 WORDS,S,25 MAP1 FONT,F,6 MAP1 GCB,X,80000 MAP1 STATUS,F,6 MAP1 POINT'ARRAY MAP2 POINT'COUNT,B,2 ! total count of points MAP2 POINTS(25) ! max number of points MAP3 X'POINT,B,2 ! X coordinate MAP3 Y'POINT,B,2 ! Y coordinate ON ERROR GOTO EXIT PRINT TAB(-1,29);!TAB(-1,36); XCALL AMGSBR, G'OPWK, GCB, "", STATUS,, "" ! OPEN THE WORKSTATION XCALL AMGSBR, G'CLRW, GCB, STATUS ! draw a filled screen in white COLOR=9 XCALL AMGSBR, G'SFAS, GCB, 2, STATUS X'POINT(1) = 000 Y'POINT(1) = 00 X'POINT(2) = 32000 Y'POINT(2) = 000 X'POINT(3) = 32000 Y'POINT(3) = 24000 X'POINT(4) = 000 Y'POINT(4) = 24000 X'POINT(5) = 000 Y'POINT(5) = 00 CALL RECT COLOR = MAGENTA ! left face X'POINT(1) = 16000 Y'POINT(1) = 000 X'POINT(2) = 16000 Y'POINT(2) = 2000 X'POINT(3) = 6000 Y'POINT(3) = 4500 X'POINT(4) = 6000 Y'POINT(4) = 2500 X'POINT(5) = 16000 Y'POINT(5) = 000 CALL RECT COLOR = 11 ! right face X'POINT(1) = 16000 Y'POINT(1) = 000 X'POINT(2) = 16000 Y'POINT(2) = 2000 X'POINT(3) = 26000 Y'POINT(3) = 4500 X'POINT(4) = 26000 Y'POINT(4) = 2500 X'POINT(5) = 16000 Y'POINT(5) = 000 CALL RECT COLOR = MAGENTA ! surface X'POINT(1) = 6000 Y'POINT(1) = 4500 X'POINT(2) = 16000 Y'POINT(2) = 2000 X'POINT(3) = 26000 Y'POINT(3) = 4500 X'POINT(4) = 16000 Y'POINT(4) = 7000 X'POINT(5) = 6000 Y'POINT(5) = 4500 CALL RECT COLOR = 15 ! left back X'POINT(1) = 6000 Y'POINT(1) = 4500 X'POINT(2) = 16000 Y'POINT(2) = 7000 X'POINT(3) = 16000 Y'POINT(3) = 19500 X'POINT(4) = 6000 Y'POINT(4) = 17000 X'POINT(5) = 6000 Y'POINT(5) = 4500 CALL RECT ! right right back surface X'POINT(1) = 27000 Y'POINT(1) = 17250 X'POINT(2) = 27000 Y'POINT(2) = 2750 X'POINT(3) = 26000 Y'POINT(3) = 2500 X'POINT(4) = 26000 Y'POINT(4) = 17000 X'POINT(5) = 27000 Y'POINT(5) = 17250 CALL RECT COLOR=CYAN ! left left back surface X'POINT(1) = 6000 Y'POINT(1) = 17000 X'POINT(2) = 6000 Y'POINT(2) = 2500 X'POINT(3) = 5000 Y'POINT(3) = 2750 X'POINT(4) = 5000 Y'POINT(4) = 17250 X'POINT(5) = 6000 Y'POINT(5) = 17000 CALL RECT ! right back X'POINT(1) = 16000 Y'POINT(1) = 7000 X'POINT(2) = 26000 Y'POINT(2) = 4500 X'POINT(3) = 26000 Y'POINT(3) = 17000 X'POINT(4) = 16000 Y'POINT(4) = 19500 X'POINT(5) = 16000 Y'POINT(5) = 7000 CALL RECT ! right up back surface X'POINT(1) = 16000 Y'POINT(1) = 19500 X'POINT(2) = 17000 Y'POINT(2) = 19750 X'POINT(3) = 27000 Y'POINT(3) = 17250 X'POINT(4) = 26000 Y'POINT(4) = 17000 X'POINT(5) = 16000 Y'POINT(5) = 19500 CALL RECT ! left up back surface X'POINT(1) = 16000 Y'POINT(1) = 19500 X'POINT(2) = 15000 Y'POINT(2) = 19750 X'POINT(3) = 5000 Y'POINT(3) = 17250 X'POINT(4) = 6000 Y'POINT(4) = 17000 X'POINT(5) = 16000 Y'POINT(5) = 19500 CALL RECT XSTART = 14000 YSTART = 500 POINT'COUNT=5 FOR I = 1 TO 4 X'POINT(1) = XSTART Y'POINT(1) = YSTART X'POINT(2) = XSTART Y'POINT(2) = YSTART + 2000 X'POINT(3) = XSTART + 10000 Y'POINT(3) = YSTART + 4500 X'POINT(4) = XSTART + 10000 Y'POINT(4) = YSTART + 17000 X'POINT(5) = XSTART + 11000 Y'POINT(5) = YSTART + 17250 CALL LINES XSTART = XSTART - 2000 YSTART = YSTART + 500 NEXT I XSTART = 18000 YSTART = 500 POINT'COUNT=5 FOR I = 1 TO 4 X'POINT(1) = XSTART Y'POINT(1) = YSTART X'POINT(2) = XSTART Y'POINT(2) = YSTART + 2000 X'POINT(3) = XSTART - 10000 Y'POINT(3) = YSTART + 4500 X'POINT(4) = XSTART - 10000 Y'POINT(4) = YSTART + 17000 X'POINT(5) = XSTART - 11000 Y'POINT(5) = YSTART + 17250 CALL LINES XSTART = XSTART + 2000 YSTART = YSTART + 500 NEXT I YSTART = 7000 POINT'COUNT=5 FOR I = 1 TO 4 X'POINT(1) = 5000 Y'POINT(1) = YSTART + 250 X'POINT(2) = 6000 Y'POINT(2) = YSTART X'POINT(3) = 16000 Y'POINT(3) = YSTART + 2500 X'POINT(4) = 26000 Y'POINT(4) = YSTART X'POINT(5) = 27000 Y'POINT(5) = YSTART + 250 CALL LINES YSTART = YSTART + 2500 NEXT I POINT'COUNT=2 X'POINT(1) = 26000 Y'POINT(1) = 4500 X'POINT(2) = 27000 Y'POINT(2) = 4750 CALL LINES X'POINT(1) = 6000 Y'POINT(1) = 4500 X'POINT(2) = 5000 Y'POINT(2) = 4750 CALL LINES XCALL AMGSBR, G'STXF, GCB, 13, STATUS XCALL AMGSBR, G'SCHH, GCB, 1200, STATUS XCALL AMGSBR, G'STXC, GCB, WHITE, STATUS A$="UltraSoft" XCALL AMGSBR, G'TX, GCB, 500, 21000, A$, STATUS WORDS= " Product" XCALL AMGSBR, G'TX, GCB, 5500, 21000, WORDS, STATUS WORDS= " Comparison" XCALL AMGSBR, G'TX, GCB, 600, 19500, WORDS, STATUS XSTART = 3700 YSTART = 4350 XCALL AMGSBR, G'STXF, GCB, 11, STATUS XCALL AMGSBR, G'SCHH, GCB, 600, STATUS XCALL AMGSBR, G'STXC, GCB, WHITE, STATUS A$="(x100)" XCALL AMGSBR, G'TX, GCB, 3000, 3500, A$, STATUS XCALL AMGSBR, G'TX, GCB, 27250, 3500, A$, STATUS XCALL AMGSBR, G'SCHH, GCB, 900, STATUS WORDS="1988" XCALL AMGSBR, G'STXF, GCB, 13, STATUS XCALL AMGSBR, G'SCHH, GCB, 900, STATUS XCALL AMGSBR, G'TX, GCB, 6200, 3000, WORDS, STATUS WORDS="1987" XCALL AMGSBR, G'TX, GCB, 8250, 2500, WORDS, STATUS FOR I = 0 TO 5 A$ = "$" + STR(I * 10) XCALL AMGSBR, G'TX, GCB, XSTART, YSTART, A$, STATUS XCALL AMGSBR, G'TX, GCB, XSTART+23500, YSTART, A$, STATUS YSTART = YSTART + 2500 NEXT I COLOR=WHITE ! legend X'POINT(1) = 22000 Y'POINT(1) = 19500 X'POINT(2) = 22000 Y'POINT(2) = 23800 X'POINT(3) = 31000 Y'POINT(3) = 23800 X'POINT(4) = 31000 Y'POINT(4) = 19500 X'POINT(5) = 22000 Y'POINT(5) = 19500 CALL RECT XCALL AMGSBR, G'STXF, GCB, 11, STATUS XCALL AMGSBR, G'SCHH, GCB, 700, STATUS XCALL AMGSBR, G'STXC, GCB, BLACK, STATUS WORDS="TALKTO: " XCALL AMGSBR, G'TX, GCB, 23000, 22750, WORDS, STATUS WORDS="ULTRASAFE: " XCALL AMGSBR, G'TX, GCB, 23000, 21750, WORDS, STATUS WORDS="ALPHA PAINT: " XCALL AMGSBR, G'TX, GCB, 23000, 20750, WORDS, STATUS WORDS="APPT SCHED: " XCALL AMGSBR, G'TX, GCB, 23000, 19750, WORDS, STATUS XSTART = 28000 YSTART = 23500 FOR I = 1 TO 4 X'POINT(1) = XSTART Y'POINT(1) = YSTART X'POINT(2) = XSTART + 2000 Y'POINT(2) = YSTART X'POINT(3) = XSTART + 2000 Y'POINT(3) = YSTART - 750 X'POINT(4) = XSTART Y'POINT(4) = YSTART - 750 X'POINT(5) = XSTART Y'POINT(5) = YSTART IF I = 1 COLOR = RED IF I = 2 COLOR = BLUE IF I = 3 COLOR = YELLOW IF I = 4 COLOR = GREEN CALL RECT YSTART = YSTART - 1000 NEXT I COLOR=RED ! 1st red block X'POINT(1) = 16000 Y'POINT(1) = 17000 X'POINT(2) = 18000 Y'POINT(2) = 17500 X'POINT(3) = 16000 Y'POINT(3) = 18000 X'POINT(4) = 14000 Y'POINT(4) = 17500 X'POINT(5) = 16000 Y'POINT(5) = 17000 CALL RECT ! 1st left red block X'POINT(1) = 16000 Y'POINT(1) = 17000 X'POINT(2) = 16000 Y'POINT(2) = 6000 X'POINT(3) = 14000 Y'POINT(3) = 6500 X'POINT(4) = 14000 Y'POINT(4) = 17500 X'POINT(5) = 16000 Y'POINT(5) = 17000 CALL RECT COLOR=12 ! 1st right red block X'POINT(1) = 16000 Y'POINT(1) = 17000 X'POINT(2) = 16000 Y'POINT(2) = 6000 X'POINT(3) = 18000 Y'POINT(3) = 6500 X'POINT(4) = 18000 Y'POINT(4) = 17500 X'POINT(5) = 16000 Y'POINT(5) = 17000 CALL RECT COLOR=BLUE ! 1st blue block X'POINT(1) = 14000 Y'POINT(1) = 15000 X'POINT(2) = 16000 Y'POINT(2) = 15500 X'POINT(3) = 14000 Y'POINT(3) = 16000 X'POINT(4) = 12000 Y'POINT(4) = 15500 X'POINT(5) = 14000 Y'POINT(5) = 15000 CALL RECT ! 1st left blue block X'POINT(1) = 14000 Y'POINT(1) = 15000 X'POINT(2) = 14000 Y'POINT(2) = 5500 X'POINT(3) = 12000 Y'POINT(3) = 6000 X'POINT(4) = 12000 Y'POINT(4) = 15500 X'POINT(5) = 14000 Y'POINT(5) = 15000 CALL RECT COLOR=10 ! 1st right blue block X'POINT(1) = 14000 Y'POINT(1) = 15000 X'POINT(2) = 14000 Y'POINT(2) = 5500 X'POINT(3) = 16000 Y'POINT(3) = 6000 X'POINT(4) = 16000 Y'POINT(4) = 15500 X'POINT(5) = 14000 Y'POINT(5) = 15000 CALL RECT COLOR=YELLOW ! 1st yellow block X'POINT(1) = 12000 Y'POINT(1) = 16000 X'POINT(2) = 14000 Y'POINT(2) = 16500 X'POINT(3) = 12000 Y'POINT(3) = 17000 X'POINT(4) = 10000 Y'POINT(4) = 16500 X'POINT(5) = 12000 Y'POINT(5) = 16000 CALL RECT ! 1st left yellow block X'POINT(1) = 12000 Y'POINT(1) = 16000 X'POINT(2) = 12000 Y'POINT(2) = 5000 X'POINT(3) = 10000 Y'POINT(3) = 5500 X'POINT(4) = 10000 Y'POINT(4) = 16500 X'POINT(5) = 12000 Y'POINT(5) = 16000 CALL RECT COLOR=13 ! 1st right yellow block X'POINT(1) = 12000 Y'POINT(1) = 16000 X'POINT(2) = 12000 Y'POINT(2) = 5000 X'POINT(3) = 14000 Y'POINT(3) = 5500 X'POINT(4) = 14000 Y'POINT(4) = 16500 X'POINT(5) = 12000 Y'POINT(5) = 16000 CALL RECT COLOR=GREEN ! 1st green block X'POINT(1) = 10000 Y'POINT(1) = 15000 X'POINT(2) = 12000 Y'POINT(2) = 15500 X'POINT(3) = 10000 Y'POINT(3) = 16000 X'POINT(4) = 8000 Y'POINT(4) = 15500 X'POINT(5) = 10000 Y'POINT(5) = 15000 CALL RECT ! 1st left green block X'POINT(1) = 10000 Y'POINT(1) = 15000 X'POINT(2) = 10000 Y'POINT(2) = 4500 X'POINT(3) = 8000 Y'POINT(3) = 5000 X'POINT(4) = 8000 Y'POINT(4) = 15500 X'POINT(5) = 10000 Y'POINT(5) = 15000 CALL RECT COLOR=14 ! 1st right green block X'POINT(1) = 10000 Y'POINT(1) = 15000 X'POINT(2) = 10000 Y'POINT(2) = 4500 X'POINT(3) = 12000 Y'POINT(3) = 5000 X'POINT(4) = 12000 Y'POINT(4) = 15500 X'POINT(5) = 10000 Y'POINT(5) = 15000 CALL RECT XCALL SLEEP, 5 COLOR=RED ! 2nd red block X'POINT(1) = 18000 Y'POINT(1) = 13000 X'POINT(2) = 20000 Y'POINT(2) = 13550 X'POINT(3) = 18000 Y'POINT(3) = 14000 X'POINT(4) = 16000 Y'POINT(4) = 13550 X'POINT(5) = 18000 Y'POINT(5) = 13000 CALL RECT ! 2nd left red block X'POINT(1) = 18000 Y'POINT(1) = 13000 X'POINT(2) = 18000 Y'POINT(2) = 5500 X'POINT(3) = 16000 Y'POINT(3) = 6000 X'POINT(4) = 16000 Y'POINT(4) = 13500 X'POINT(5) = 18000 Y'POINT(5) = 13000 CALL RECT COLOR=12 ! 2nd right red block X'POINT(1) = 18000 Y'POINT(1) = 13000 X'POINT(2) = 18000 Y'POINT(2) = 5500 X'POINT(3) = 20000 Y'POINT(3) = 6000 X'POINT(4) = 20000 Y'POINT(4) = 13550 X'POINT(5) = 18000 Y'POINT(5) = 13000 CALL RECT COLOR=BLUE ! 2nd blue block X'POINT(1) = 16000 Y'POINT(1) = 9000 X'POINT(2) = 18000 Y'POINT(2) = 9500 X'POINT(3) = 16000 Y'POINT(3) = 10000 X'POINT(4) = 14000 Y'POINT(4) = 9500 X'POINT(5) = 16000 Y'POINT(5) = 9000 CALL RECT ! 2nd left blue block X'POINT(1) = 16000 Y'POINT(1) = 9000 X'POINT(2) = 16000 Y'POINT(2) = 5000 X'POINT(3) = 14000 Y'POINT(3) = 5500 X'POINT(4) = 14000 Y'POINT(4) = 9500 X'POINT(5) = 16000 Y'POINT(5) = 9000 CALL RECT COLOR=10 ! 2nd right blue block X'POINT(1) = 16000 Y'POINT(1) = 9000 X'POINT(2) = 16000 Y'POINT(2) = 5000 X'POINT(3) = 18000 Y'POINT(3) = 5500 X'POINT(4) = 18000 Y'POINT(4) = 9500 X'POINT(5) = 16000 Y'POINT(5) = 9000 CALL RECT COLOR=YELLOW ! 2nd yellow block X'POINT(1) = 14000 Y'POINT(1) = 7000 X'POINT(2) = 16000 Y'POINT(2) = 7500 X'POINT(3) = 14000 Y'POINT(3) = 8000 X'POINT(4) = 12000 Y'POINT(4) = 7500 X'POINT(5) = 14000 Y'POINT(5) = 7000 CALL RECT ! 2nd left yellow block X'POINT(1) = 14000 Y'POINT(1) = 7000 X'POINT(2) = 14000 Y'POINT(2) = 4500 X'POINT(3) = 12000 Y'POINT(3) = 5000 X'POINT(4) = 12000 Y'POINT(4) = 7500 X'POINT(5) = 14000 Y'POINT(5) = 7000 CALL RECT COLOR=13 ! 2nd right yellow block X'POINT(1) = 14000 Y'POINT(1) = 7000 X'POINT(2) = 14000 Y'POINT(2) = 4500 X'POINT(3) = 16000 Y'POINT(3) = 5000 X'POINT(4) = 16000 Y'POINT(4) = 7500 X'POINT(5) = 14000 Y'POINT(5) = 7000 CALL RECT COLOR=GREEN ! 2nd green block X'POINT(1) = 12000 Y'POINT(1) = 6000 X'POINT(2) = 14000 Y'POINT(2) = 6500 X'POINT(3) = 12000 Y'POINT(3) = 7000 X'POINT(4) = 10000 Y'POINT(4) = 6500 X'POINT(5) = 12000 Y'POINT(5) = 6000 CALL RECT ! 2nd left green block X'POINT(1) = 12000 Y'POINT(1) = 6000 X'POINT(2) = 12000 Y'POINT(2) = 4000 X'POINT(3) = 10000 Y'POINT(3) = 4500 X'POINT(4) = 10000 Y'POINT(4) = 6500 X'POINT(5) = 12000 Y'POINT(5) = 6000 CALL RECT COLOR=14 ! 2nd right green block X'POINT(1) = 12000 Y'POINT(1) = 6000 X'POINT(2) = 12000 Y'POINT(2) = 4000 X'POINT(3) = 14000 Y'POINT(3) = 4500 X'POINT(4) = 14000 Y'POINT(4) = 6500 X'POINT(5) = 12000 Y'POINT(5) = 6000 CALL RECT CLOSER: XCALL AMGSBR, G'CLWK, GCB, STATUS EXIT: XCALL SLEEP, 8 : PRINT TAB(23,1); TAB(-1,37);:END RECT: XCALL AMGSBR, G'SFAC, GCB, COLOR,STATUS POINT'COUNT = 5 XCALL AMGSBR, G'FA, GCB, POINT'ARRAY, STATUS IF NO'OUTLINE=1 THEN NO'OUTLINE=0 : RETURN ! outline the right face XCALL AMGSBR, G'SPLC, GCB,BLACK, STATUS ! fill style XCALL AMGSBR, G'PL, GCB, POINT'ARRAY, STATUS RETURN LINES: XCALL AMGSBR, G'SPLC, GCB,BLACK, STATUS ! fill style XCALL AMGSBR, G'PL, GCB, POINT'ARRAY, STATUS RETURN