!
!
! 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